From 72137466dc08f9d2e81da692b0ab52ce0dfd49e1 Mon Sep 17 00:00:00 2001 From: Valentijn Date: Fri, 15 May 2026 14:19:45 +0200 Subject: [PATCH] added experience page --- src/components/Experience/ExperienceBox.astro | 135 ++++++++++++++++++ src/components/Experience/Page.astro | 65 +++++++++ src/data/site.ts | 16 ++- src/pages/index.astro | 4 +- 4 files changed, 218 insertions(+), 2 deletions(-) create mode 100644 src/components/Experience/ExperienceBox.astro create mode 100644 src/components/Experience/Page.astro diff --git a/src/components/Experience/ExperienceBox.astro b/src/components/Experience/ExperienceBox.astro new file mode 100644 index 0000000..380e0bf --- /dev/null +++ b/src/components/Experience/ExperienceBox.astro @@ -0,0 +1,135 @@ +--- +const { experience } = Astro.props; + +const color: string = experience.color +--- + + + +
+
+ +
+
+
+

{experience.name}

+

{experience.role}

+ +

+ {experience.description} +

+
+ +
+

+ {experience.start.toLocaleDateString('en-US', { year: 'numeric', month: 'short' })} + - + {experience.end + ? experience.end.toLocaleDateString('en-US', { year: 'numeric', month: 'short' }) + : 'Nu'} +

+
+
+
+
+ + \ No newline at end of file diff --git a/src/components/Experience/Page.astro b/src/components/Experience/Page.astro new file mode 100644 index 0000000..8fd0ff1 --- /dev/null +++ b/src/components/Experience/Page.astro @@ -0,0 +1,65 @@ +--- +import { siteData } from '../../data/site'; +import ExperienceBox from './ExperienceBox.astro'; +import TitleCard from '../TitleCard.astro'; + +const experience = [...siteData.experience]; +const sortedExperience = experience.sort((a, b) => b.start.getTime() - a.start.getTime()); +--- + +
+
+
+ + {sortedExperience.map((experience) => ( + + ))} +
+
+
+ + \ No newline at end of file diff --git a/src/data/site.ts b/src/data/site.ts index d634a5b..2303560 100644 --- a/src/data/site.ts +++ b/src/data/site.ts @@ -35,6 +35,17 @@ export const siteData = { end: new Date("2025-06-18"), color: "#8FE508" } + ], + experience: [ + { + name: "Brightpark", + role: "Stagaire Junior Developer", + description: "Bij Brightpark heb ik mijn eerste ervaring opgedaan in het werkveld van Software Ontwikkeling. Ik heb hier gewerkt aan meerdere projecten. Een van de leukere was een iOS app die helpt bij het meten van huizen door gebruik te maken van de Bosch GLM- series meetapperatuur. Deze app heb ik gemaakt in Flutter, met wat kleine stappen Swift in om de meetapperatuur werkend te krijgen.", + start: new Date("2024-09-10"), + end: new Date("2025-05-1"), + tech: ["Flutter", "Swift", "Svelte", "Laravel"], + color: "#30e7ffe9" + } ] } @@ -47,5 +58,8 @@ export const techColors = { "Tkinter": "#3e759e", "Spotify API": "#1DB954", "C++": "#00599C", - "Arduino": "#00979D" + "Arduino": "#00979D", + "Flutter": "#02569B", + "Svelte": "#FF3E00", + "Laravel": "#FF2D20", }; \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro index 2f27e68..71f67fa 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -3,11 +3,13 @@ import Layout from '../layouts/Layout.astro'; 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" --- - + +