diff --git a/src/components/Contact/ContactForm.astro b/src/components/Contact/ContactForm.astro new file mode 100644 index 0000000..471c39b --- /dev/null +++ b/src/components/Contact/ContactForm.astro @@ -0,0 +1,101 @@ +--- +const { title, description } = Astro.props; +--- + +
+
+
+ + + + +
+
+
+ + \ No newline at end of file diff --git a/src/components/Contact/Page.astro b/src/components/Contact/Page.astro new file mode 100644 index 0000000..0c3701a --- /dev/null +++ b/src/components/Contact/Page.astro @@ -0,0 +1,48 @@ +--- +import TitleCard from '../TitleCard.astro'; +import ContactForm from './ContactForm.astro'; + +--- + +
+
+ + +
+
+ + \ No newline at end of file diff --git a/src/components/Experience/ExperienceBox.astro b/src/components/Experience/ExperienceBox.astro index 380e0bf..ed20c2e 100644 --- a/src/components/Experience/ExperienceBox.astro +++ b/src/components/Experience/ExperienceBox.astro @@ -48,6 +48,7 @@ const color: string = experience.color box-shadow: 0 8px 20px rgba(0,0,0,0.18); color: white; transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; + margin-top: 0.5rem; } .container:hover { diff --git a/src/components/Experience/Page.astro b/src/components/Experience/Page.astro index 8fd0ff1..babc12f 100644 --- a/src/components/Experience/Page.astro +++ b/src/components/Experience/Page.astro @@ -8,8 +8,8 @@ const sortedExperience = experience.sort((a, b) => b.start.getTime() - a.start.g ---
-
-
+
+
{sortedExperience.map((experience) => ( @@ -37,11 +37,11 @@ const sortedExperience = experience.sort((a, b) => b.start.getTime() - a.start.g align-items: start; } -.studies-section { +.experience-section { min-width: 0; } -.studies-list { +.experience-list { display: flex; flex-direction: column; gap: 1.3rem; @@ -49,7 +49,7 @@ const sortedExperience = experience.sort((a, b) => b.start.getTime() - a.start.g } /* Mobile: collapse to one column, - so "Kennis" ends up fully under studies */ + so "Kennis" ends up fully under experience */ @media (max-width: 768px) { #container { margin: 5px; @@ -58,7 +58,7 @@ const sortedExperience = experience.sort((a, b) => b.start.getTime() - a.start.g gap: 1rem; } - .studies-section { + .experience-section { margin-top: 2rem; } } diff --git a/src/components/Hero/EmailButton.astro b/src/components/Hero/EmailButton.astro index 606d312..52f5716 100644 --- a/src/components/Hero/EmailButton.astro +++ b/src/components/Hero/EmailButton.astro @@ -56,6 +56,7 @@ const clipboardHandler = `navigator.clipboard.writeText('${safeEmail}').then(()= transform: translateY(-2px); box-shadow: 0 24px 65px rgba(0, 0, 0, 0.22); width: min(15rem, 100%); + transition: all .3s; } .email-button:hover .label { diff --git a/src/components/Projects/Page.astro b/src/components/Projects/Page.astro index be41e27..dd8ee0c 100644 --- a/src/components/Projects/Page.astro +++ b/src/components/Projects/Page.astro @@ -7,8 +7,8 @@ const projects = [...siteData.projects]; ---
-
-
+
+
{projects.map((project) => ( @@ -36,11 +36,11 @@ const projects = [...siteData.projects]; align-items: start; } -.studies-section { +.projects-section { min-width: 0; } -.studies-list { +.projects-list { display: flex; flex-direction: column; gap: 1.3rem; @@ -57,7 +57,7 @@ const projects = [...siteData.projects]; gap: 1rem; } - .studies-section { + .projects-section { margin-top: 2rem; } } diff --git a/src/components/Projects/ProjectBox.astro b/src/components/Projects/ProjectBox.astro index c4881ff..35eb0ad 100644 --- a/src/components/Projects/ProjectBox.astro +++ b/src/components/Projects/ProjectBox.astro @@ -12,6 +12,9 @@ import Button from "../Button.astro";
+ +

{project.title}

+

{project.description}

{project.tech.map((item: string) => { const color = colors[item] || colors["Default"]; @@ -22,8 +25,6 @@ import Button from "../Button.astro"; ); })}
-

{project.title}

-

{project.description}

@@ -46,6 +47,7 @@ import Button from "../Button.astro"; box-shadow: 0 8px 20px rgba(0,0,0,0.18); color: white; transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; + margin-top:0.5rem; } .container:hover { @@ -91,7 +93,7 @@ import Button from "../Button.astro"; display: flex; flex-wrap: wrap; gap: 0.6rem; - margin-bottom: 0.5rem; /* Space between tags and title */ + margin-top: 1rem; /* Space between tags and title */ } .tech-badge { diff --git a/src/pages/index.astro b/src/pages/index.astro index 71f67fa..e3a2082 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -4,6 +4,7 @@ import Hero from '../components/Hero/Page.astro'; import Studies from "../components/Studies/Page.astro" import Projects from "../components/Projects/Page.astro" import Experience from "../components/Experience/Page.astro" +import Contact from "../components/Contact/Page.astro" --- @@ -12,4 +13,5 @@ import Experience from "../components/Experience/Page.astro" +