Initial adjustments to the website
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 552 KiB |
@@ -3,6 +3,7 @@ import Projects from "@/src/portfolio/sections/Projects";
|
|||||||
import Experience from "@/src/portfolio/sections/Experience";
|
import Experience from "@/src/portfolio/sections/Experience";
|
||||||
import Achievements from "@/src/portfolio/sections/Achievements";
|
import Achievements from "@/src/portfolio/sections/Achievements";
|
||||||
import Footer from "@/src/portfolio/sections/Footer";
|
import Footer from "@/src/portfolio/sections/Footer";
|
||||||
|
import SkillsAndLinks from "@/src/portfolio/sections/SkillsAndLinks";
|
||||||
|
|
||||||
const MainPage = () => {
|
const MainPage = () => {
|
||||||
return (
|
return (
|
||||||
@@ -11,6 +12,7 @@ const MainPage = () => {
|
|||||||
<Achievements/>
|
<Achievements/>
|
||||||
<Experience/>
|
<Experience/>
|
||||||
<Projects/>
|
<Projects/>
|
||||||
|
<SkillsAndLinks/>
|
||||||
<Footer/>
|
<Footer/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ const Education : FC<EducationArgs> = (props) => {
|
|||||||
case "Warsaw":
|
case "Warsaw":
|
||||||
return ", Poland";
|
return ", Poland";
|
||||||
case "London":
|
case "London":
|
||||||
return ", England, UK";
|
return ", UK";
|
||||||
case "Edinburgh":
|
case "Edinburgh":
|
||||||
return ", Scotland, UK";
|
return ", UK";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -45,7 +45,16 @@ const Education : FC<EducationArgs> = (props) => {
|
|||||||
<span className={styles.otherDetails}>
|
<span className={styles.otherDetails}>
|
||||||
<div className={styles.location}>{props.city}{getCountryEmoji()}</div>
|
<div className={styles.location}>{props.city}{getCountryEmoji()}</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
{props.endDate ? props.startDate + " - " + props.endDate : "Since " + props.startDate}
|
{props.endDate ?
|
||||||
|
<>
|
||||||
|
<i>From: </i>
|
||||||
|
<span style={{float:"right"}}>{props.startDate}</span>
|
||||||
|
<br/>
|
||||||
|
<i>To: </i>
|
||||||
|
<span style={{float:"right"}}>{props.endDate}</span>
|
||||||
|
</>:
|
||||||
|
"Since " + props.startDate
|
||||||
|
}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import {FC} from "react";
|
|||||||
import styles from "../styling/experience.module.scss";
|
import styles from "../styling/experience.module.scss";
|
||||||
|
|
||||||
export type WorkExperienceArgs = {
|
export type WorkExperienceArgs = {
|
||||||
industry? : "Education" | "Software" | "Hospitality",
|
industry? : "Education" | "Software" | "Hospitality" | "Artificial Intelligence",
|
||||||
company : string,
|
company : string,
|
||||||
startDate : string,
|
startDate : string,
|
||||||
title : string,
|
title : string,
|
||||||
@@ -21,6 +21,8 @@ const WorkExperience : FC<WorkExperienceArgs> = (props) => {
|
|||||||
return "👨💻";
|
return "👨💻";
|
||||||
case "Hospitality":
|
case "Hospitality":
|
||||||
return "🛎️";
|
return "🛎️";
|
||||||
|
case "Artificial Intelligence":
|
||||||
|
return "🤖";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -23,31 +23,6 @@ const Achievements = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
{/*
|
|
||||||
<h2>Programming Languages</h2>
|
|
||||||
<Skill name={"Java"} score={95} />
|
|
||||||
<Skill name={"Python"} score={90} />
|
|
||||||
<Skill name={"JavaScript"} score={85} />
|
|
||||||
<Skill name={"Typescript"} score={80} />
|
|
||||||
<Skill name={"C++"} score={60} />
|
|
||||||
<Skill name={"PHP"} score={30} />
|
|
||||||
<h2>Human Languages</h2>
|
|
||||||
<Skill name={"English"} score={80} customScore={"Fluent"}/>
|
|
||||||
<Skill name={"Polish"} score={100} customScore={"Native"}/>
|
|
||||||
<Skill name={"German"} score={65} customScore={"Intermediate"}/>
|
|
||||||
</div>
|
|
||||||
<div className={"col-md-4"}>
|
|
||||||
<h2>Other Skills</h2>
|
|
||||||
<Skill name={"HTML"} score={100} />
|
|
||||||
<Skill name={"CSS"} score={100} />
|
|
||||||
<Skill name={"SQL"} score={95} />
|
|
||||||
<Skill name={"React.js"} score={90} />
|
|
||||||
<Skill name={"Bootstrap"} score={70} />
|
|
||||||
<Skill name={"Photo-editing"} score={65} />
|
|
||||||
<Skill name={"Express.js"} score={60} />
|
|
||||||
<Skill name={"Linux"} score={55} />
|
|
||||||
<Skill name={"3D Design"} score={50} />
|
|
||||||
*/}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import workExperienceData, {workExperienceParagraph} from "@/src/portfolio/data/
|
|||||||
|
|
||||||
const Experience = () => {
|
const Experience = () => {
|
||||||
const calcPagesOnWidth = (width : number) => {
|
const calcPagesOnWidth = (width : number) => {
|
||||||
return Math.floor(width / 900 + 1);
|
return Math.floor(width / 700 + 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
const [pages, setPages] = useState(calcPagesOnWidth(1000));
|
const [pages, setPages] = useState(calcPagesOnWidth(1000));
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import styles from "../styling/footer.module.scss";
|
|||||||
const Footer = () => {
|
const Footer = () => {
|
||||||
return (
|
return (
|
||||||
<footer className={styles.section}>
|
<footer className={styles.section}>
|
||||||
Copyright © Patryk Kuchta 2023
|
Copyright © Patryk Kuchta 2024
|
||||||
</footer>
|
</footer>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,12 +27,12 @@ const Intro = () => {
|
|||||||
<a href={"#achievements"}>Achievements</a>
|
<a href={"#achievements"}>Achievements</a>
|
||||||
<a href={"#experience"}>Experience</a>
|
<a href={"#experience"}>Experience</a>
|
||||||
<a href={"#projects"}>Projects</a>
|
<a href={"#projects"}>Projects</a>
|
||||||
{/*<a href={"#skills"}>Skills</a>*/}
|
<a href={"#skills"}>Skills</a>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.left}>
|
<div className={styles.left}>
|
||||||
<a href={"mailto: patrick@kuchta.uk"}>patrick@kuchta.uk</a>
|
<a href={"mailto: patrick@kuchta.uk"}>patrick@kuchta.uk</a>
|
||||||
<span>/</span>
|
<span>/</span>
|
||||||
<a href={"tel:07467174589"}>07467174589</a>
|
<a href={"mailto: patryk@kuchta.uk"}>patryk@kuchta.uk</a>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<div className={styles.mainContent}>
|
<div className={styles.mainContent}>
|
||||||
@@ -47,7 +47,7 @@ const Intro = () => {
|
|||||||
<br/>
|
<br/>
|
||||||
an aspiring
|
an aspiring
|
||||||
<br/>
|
<br/>
|
||||||
<b>Computer Scientist</b>.
|
<b>Artificial Intelligence Scientist</b>.
|
||||||
</div>
|
</div>
|
||||||
<span data-aos={"fade-in"} data-aos-offset={"200"}><i>and yes, the greeting is synced to your time.</i></span>
|
<span data-aos={"fade-in"} data-aos-offset={"200"}><i>and yes, the greeting is synced to your time.</i></span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,21 +4,6 @@ import projectData from "@/src/portfolio/data/projectData";
|
|||||||
import styles from "../styling/projects.module.scss";
|
import styles from "../styling/projects.module.scss";
|
||||||
|
|
||||||
const Projects = () => {
|
const Projects = () => {
|
||||||
const otherLinks = [
|
|
||||||
{
|
|
||||||
title: "Github",
|
|
||||||
link: "https://github.com/KuchtaVR6/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "LinkedIn",
|
|
||||||
link: "https://linkedin.com/in/kuchtap"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Curriculum Vitae",
|
|
||||||
link: "/PatrykKuchta_CV.pdf"
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.section} id={"projects"}>
|
<div className={styles.section} id={"projects"}>
|
||||||
<Splide
|
<Splide
|
||||||
@@ -34,25 +19,7 @@ const Projects = () => {
|
|||||||
<Project {...entry}/>
|
<Project {...entry}/>
|
||||||
</SplideSlide> ); })
|
</SplideSlide> ); })
|
||||||
}
|
}
|
||||||
|
|
||||||
</Splide>
|
</Splide>
|
||||||
<div data-aos = {"fade-left"} className={styles.otherLinks}>
|
|
||||||
<h2>Other useful links about me:</h2>
|
|
||||||
<ul>
|
|
||||||
{
|
|
||||||
otherLinks.map(({title, link}, key) => {
|
|
||||||
return (
|
|
||||||
<li key = {key}>
|
|
||||||
<a href={link}>
|
|
||||||
{title}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
96
src/portfolio/sections/SkillsAndLinks.tsx
Normal file
96
src/portfolio/sections/SkillsAndLinks.tsx
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
import styles from "../styling/extraLinks.module.scss";
|
||||||
|
|
||||||
|
const SkillsAndLinks = () => {
|
||||||
|
const moreInfoLinks = [
|
||||||
|
{
|
||||||
|
title: "Github",
|
||||||
|
link: "https://github.com/KuchtaVR6/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "LinkedIn",
|
||||||
|
link: "https://linkedin.com/in/kuchtap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Curriculum Vitae",
|
||||||
|
link: "/PatrykKuchta_CV.pdf"
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const contactLinks = [
|
||||||
|
{
|
||||||
|
title: "Email",
|
||||||
|
link: "mailto:patryk@kuchta.uk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "LinkedIn",
|
||||||
|
link: "https://linkedin.com/in/kuchtap"
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={styles.section} id={"skills"}>
|
||||||
|
<div data-aos = {"fade-left"} className={styles.otherLinks}>
|
||||||
|
|
||||||
|
<h2>Find out more about me:</h2>
|
||||||
|
<ul>
|
||||||
|
{
|
||||||
|
moreInfoLinks.map(({title, link}, key) => {
|
||||||
|
return (
|
||||||
|
<li key = {key}>
|
||||||
|
<a href={link}>
|
||||||
|
{title}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div data-aos = {"fade-right"} className={styles.otherLinks}>
|
||||||
|
<h2>Contact me through:</h2>
|
||||||
|
<ul>
|
||||||
|
{
|
||||||
|
contactLinks.map(({title, link}, key) => {
|
||||||
|
return (
|
||||||
|
<li key = {key}>
|
||||||
|
<a href={link}>
|
||||||
|
{title}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{/*
|
||||||
|
<h2>Programming Languages</h2>
|
||||||
|
<Skill name={"Java"} score={95} />
|
||||||
|
<Skill name={"Python"} score={90} />
|
||||||
|
<Skill name={"JavaScript"} score={85} />
|
||||||
|
<Skill name={"Typescript"} score={80} />
|
||||||
|
<Skill name={"C++"} score={60} />
|
||||||
|
<Skill name={"PHP"} score={30} />
|
||||||
|
<h2>Human Languages</h2>
|
||||||
|
<Skill name={"English"} score={80} customScore={"Fluent"}/>
|
||||||
|
<Skill name={"Polish"} score={100} customScore={"Native"}/>
|
||||||
|
<Skill name={"German"} score={65} customScore={"Intermediate"}/>
|
||||||
|
</div>
|
||||||
|
<div className={"col-md-4"}>
|
||||||
|
<h2>Other Skills</h2>
|
||||||
|
<Skill name={"HTML"} score={100} />
|
||||||
|
<Skill name={"CSS"} score={100} />
|
||||||
|
<Skill name={"SQL"} score={95} />
|
||||||
|
<Skill name={"React.js"} score={90} />
|
||||||
|
<Skill name={"Bootstrap"} score={70} />
|
||||||
|
<Skill name={"Photo-editing"} score={65} />
|
||||||
|
<Skill name={"Express.js"} score={60} />
|
||||||
|
<Skill name={"Linux"} score={55} />
|
||||||
|
<Skill name={"3D Design"} score={50} />
|
||||||
|
*/}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SkillsAndLinks;
|
||||||
@@ -8,8 +8,10 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: $largeGap;
|
gap: $smallGap;
|
||||||
padding-top: 2em;
|
padding: 1em 0 2em;
|
||||||
|
|
||||||
|
font-size: 1.15em;
|
||||||
|
|
||||||
& > div {
|
& > div {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -28,7 +30,7 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
column-gap: $largeGap;
|
column-gap: $mediumGap;
|
||||||
row-gap: $smallGap;
|
row-gap: $smallGap;
|
||||||
|
|
||||||
|
|
||||||
@@ -38,7 +40,7 @@
|
|||||||
|
|
||||||
.notes {
|
.notes {
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
margin: 0.4em 0 0em;
|
margin-top: 0.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.otherDetails {
|
.otherDetails {
|
||||||
|
|||||||
@@ -10,10 +10,10 @@
|
|||||||
padding-top: 2em;
|
padding-top: 2em;
|
||||||
|
|
||||||
p {
|
p {
|
||||||
text-align: left;
|
text-align: justify;
|
||||||
text-justify: distribute-all-lines;
|
text-justify: distribute-all-lines;
|
||||||
margin: 0 auto 0 auto;
|
margin: 0 auto 0 auto;
|
||||||
width: 40em;
|
width: 42em;
|
||||||
max-width: 70vw;
|
max-width: 70vw;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
}
|
}
|
||||||
@@ -21,8 +21,9 @@
|
|||||||
|
|
||||||
.job {
|
.job {
|
||||||
@include lightSection;
|
@include lightSection;
|
||||||
|
width: 100%;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
margin: 1em;
|
margin: auto 1em;
|
||||||
|
|
||||||
.largerText {
|
.largerText {
|
||||||
font-size: 1.3em;
|
font-size: 1.3em;
|
||||||
|
|||||||
21
src/portfolio/styling/extraLinks.module.scss
Normal file
21
src/portfolio/styling/extraLinks.module.scss
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
@import "@/src/styles/helpers.scss";
|
||||||
|
|
||||||
|
.section {
|
||||||
|
@include lightSection;
|
||||||
|
@include regularFont;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
|
||||||
|
padding: 3em 6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section .otherLinks{
|
||||||
|
margin: auto 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section .otherLinks h2{
|
||||||
|
font-size: 115%;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mainContent {
|
.mainContent {
|
||||||
margin: auto 0 0;
|
margin: 0;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
@@ -70,7 +70,6 @@
|
|||||||
|
|
||||||
.text {
|
.text {
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
margin: 0 0 auto;
|
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +84,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.profileContainer {
|
.profileContainer {
|
||||||
max-width: 30em;
|
max-width: 35em;
|
||||||
height: max-content;
|
height: max-content;
|
||||||
display: flex;
|
display: flex;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
@@ -2,12 +2,11 @@
|
|||||||
|
|
||||||
.section {
|
.section {
|
||||||
@include lightSection;
|
@include lightSection;
|
||||||
@include fullPage;
|
|
||||||
@include regularFont;
|
@include regularFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
.technology {
|
.technology {
|
||||||
font-family: 'Share Tech Mono', monospace;
|
font-family: 'Ubuntu Mono', monospace;
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
color: $black;
|
color: $black;
|
||||||
margin: 0.1em;
|
margin: 0.1em;
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ $smallGap: 15px;
|
|||||||
@mixin regularFont {
|
@mixin regularFont {
|
||||||
font-family: Work Sans, sans-serif;
|
font-family: Work Sans, sans-serif;
|
||||||
|
|
||||||
font-size: 25px;
|
font-size: 20px;
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
|
|||||||
@@ -37,4 +37,8 @@ body {
|
|||||||
.splide__arrow.splide__arrow--prev {
|
.splide__arrow.splide__arrow--prev {
|
||||||
height: 5em !important;
|
height: 5em !important;
|
||||||
width: 5em !important;
|
width: 5em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splide__slide {
|
||||||
|
display: flex;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user