-
Notifications
You must be signed in to change notification settings - Fork 55
Portfolio Hand-in #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
0dcde30
6861d6e
32ae606
8dc927e
c62bc94
4034b17
066f599
c247565
289a5e1
fca6fc8
e5d93f6
74d288d
c556a94
ff0836a
2209a92
dcdd826
bb9a764
800cfb2
bdf87c8
cc9a7ac
9185505
af15b11
4179192
943ee42
ad82709
b8d396d
1a6b819
2fc7760
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,3 @@ | ||
| # Portfolio | ||
|
|
||
| netlify link: https://carolina-oldertz-portfolio.netlify.app/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,13 +1,88 @@ | ||
| <!doctype html> | ||
| <html lang="en"> | ||
| <head> | ||
| <meta charset="UTF-8" /> | ||
| <link rel="icon" type="image/svg+xml" href="/vite.svg" /> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
| <title>Portfolio</title> | ||
| </head> | ||
| <body> | ||
| <div id="root"></div> | ||
| <script type="module" src="/src/main.jsx"></script> | ||
| </body> | ||
| </html> | ||
|
|
||
| <head> | ||
| <meta charset="UTF-8" /> | ||
| <link | ||
| rel="icon" | ||
| type="image/x-icon" | ||
| href="/favicon/favicon.ico" | ||
| > | ||
| <link | ||
| rel="icon" | ||
| type="image/png" | ||
| sizes="32x32" | ||
| href="/favicon/favicon-32x32.png" | ||
| > | ||
| <link | ||
| rel="icon" | ||
| type="image/png" | ||
| sizes="16x16" | ||
| href="/favicon/favicon-16x16.png" | ||
| > | ||
|
|
||
| <link | ||
| rel="manifest" | ||
| href="/favicon/site.webmanifest" | ||
| > | ||
|
|
||
| <link | ||
| rel="apple-touch-icon" | ||
| sizes="180x180" | ||
| href="/favicon/apple-touch-icon.png" | ||
| > | ||
|
|
||
| <meta | ||
| name="theme-color" | ||
| content="#ffffff" | ||
| > | ||
| <meta | ||
| name="viewport" | ||
| content="width=device-width, initial-scale=1.0" | ||
| /> | ||
| <link | ||
| rel="preconnect" | ||
| href="https://fonts.googleapis.com" | ||
| > | ||
| <link | ||
| rel="preconnect" | ||
| href="https://fonts.gstatic.com" | ||
| crossorigin | ||
| > | ||
| <link | ||
| href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" | ||
| rel="stylesheet" | ||
| > | ||
| <title>Portfolio</title> | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Small SEO suggestion: |
||
| <meta | ||
| property="og:title" | ||
| content="Carolina Oldertz | Front-End Developer Portfolio" | ||
| /> | ||
| <meta | ||
| property="og:description" | ||
| content="Check out my portfolio! I'm a Web Developer with a background in Content Creation and Marketing." | ||
| /> | ||
| <meta | ||
| property="og:image" | ||
| content="https://www.carolina-oldertz-portfolio.com/images/hero/Headshot-heroImg-1.png" | ||
| /> | ||
| <meta | ||
| property="og:url" | ||
| content="https://www.carolina-oldertz-portfolio.com" | ||
| /> | ||
| <meta | ||
| property="og:type" | ||
| content="website" | ||
| /> | ||
|
|
||
| </head> | ||
|
|
||
| <body> | ||
| <div id="root"></div> | ||
| <script | ||
| type="module" | ||
| src="/src/main.jsx" | ||
| ></script> | ||
| </body> | ||
|
|
||
| </html> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,3 @@ | ||
| Please include a link to your Figma design and a Netlify link. | ||
| Please include a link to your Figma design and a Netlify link. | ||
|
|
||
| figma design: https://www.figma.com/design/YFJswIB708jYUoHg3swht2/Portfolio-designs--Copy-?node-id=0-1&p=f&t=lRVOFqJdJeShs1sk-0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,33 @@ | ||
| import styled, { createGlobalStyle } from "styled-components" | ||
| import { HeroSection } from "./components/hero/HeroSection" | ||
| import { TechSection } from "./components/Tech/TechSection" | ||
| import { ProjectSection } from "./components/projects/ProjectSection" | ||
| import { SkillSection } from "./components/Skills/SkillSection" | ||
| import { ArticleSection } from "./components/articles/ArticleSection" | ||
| import { FooterSection } from "./components/footer/FooterSection" | ||
|
Comment on lines
+1
to
+7
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Clean imports, nicely organized. |
||
|
|
||
| const GlobalStyles = createGlobalStyle` | ||
| * { | ||
| box-sizing: border-box; | ||
| } | ||
| body { | ||
| font-family: "Poppins", sans-serif; | ||
| margin: 0; | ||
| } | ||
| ` | ||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. GlobalStyles in the same file keeps things together nicely |
||
| export const App = () => { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Simple and readable component structure |
||
| return ( | ||
| <> | ||
| <h1>Portfolio</h1> | ||
| <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatem, laborum! Maxime animi nostrum facilis distinctio neque labore consectetur beatae eum ipsum excepturi voluptatum, dicta repellendus incidunt fugiat, consequatur rem aperiam.</p> | ||
| <GlobalStyles></GlobalStyles> | ||
| <HeroSection></HeroSection> | ||
| <TechSection></TechSection> | ||
| <ProjectSection></ProjectSection> | ||
| <SkillSection></SkillSection> | ||
| <ArticleSection></ArticleSection> | ||
| <FooterSection></FooterSection> | ||
| </> | ||
| ) | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| import styled from "styled-components" | ||
| import { H2 } from "../typography/H2" | ||
|
|
||
| const StyledHeading = styled(H2)` | ||
| color: ${({ theme }) => theme.color.secondary}; | ||
| ` | ||
|
|
||
| export const SkillHeading = () => { | ||
| return <StyledHeading>Skills</StyledHeading> | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| import styled from "styled-components" | ||
| import { P } from "../typography/P" | ||
|
|
||
| const StyledInfoContainer = styled.div` | ||
| display: flex; | ||
| flex-direction: column; | ||
| align-items: flex-start; | ||
| gap: 8px; | ||
|
|
||
| @media (min-width: ${({ theme }) => theme.breakpoints.tablet}) { | ||
| align-items: center; | ||
| } | ||
| @media (min-width: ${({ theme }) => theme.breakpoints.desktop}) { | ||
| align-items: flex-start; | ||
| } | ||
| ` | ||
|
|
||
| export const SkillInfo = ({ info }) => { | ||
| const skillItems = info.split('\n') | ||
|
|
||
| return ( | ||
| <StyledInfoContainer> | ||
| {skillItems.map((item, index) => ( | ||
| <P key={index} style={{ color: 'white' }}> | ||
| {item.trim()} | ||
| </P> | ||
| ))} | ||
| </StyledInfoContainer> | ||
| ) | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| import styled from "styled-components" | ||
| import { SkillInfo } from "./SkillInfo" | ||
| import { SkillTags } from "./SkillTags" | ||
|
|
||
| const StyledInfoCard = styled.div` | ||
| display: flex; | ||
| width: 250px; | ||
| flex-direction: column; | ||
| align-items: flex-start; | ||
| gap: 16px; | ||
| flex-shrink: 0; | ||
|
|
||
| @media (min-width: ${({ theme }) => theme.breakpoints.tablet}) { | ||
| align-items: center; | ||
| } | ||
|
|
||
| @media (min-width: ${({ theme }) => theme.breakpoints.desktop}) { | ||
| align-items: flex-start; | ||
| } | ||
| ` | ||
|
|
||
| export const SkillInfoCard = ({ tag, info }) => { | ||
| return ( | ||
| <StyledInfoCard> | ||
| <SkillTags tag={tag} /> | ||
| <SkillInfo info={info} /> | ||
| </StyledInfoCard> | ||
| ) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thorough favicon setup for all devices