diff --git a/src/app.html b/src/app.html
index d772768..bfd3cb5 100644
--- a/src/app.html
+++ b/src/app.html
@@ -96,7 +96,6 @@
}
.container {
- padding-top: 3em;
max-width: 90%;
margin: auto;
}
diff --git a/src/lib/api/git.ts b/src/lib/api/git.ts
index bb44000..cdef558 100644
--- a/src/lib/api/git.ts
+++ b/src/lib/api/git.ts
@@ -23,4 +23,27 @@ export async function fetchRepos(): Promise {
console.error("Failed to fetch repos:", error);
return [];
}
+}
+
+export function timeSince(inputDate: Date | string): string {
+ const date = new Date(inputDate); // Ensure it's a Date object
+ if (isNaN(date.getTime())) {
+ throw new Error("Invalid date provided");
+ }
+
+ const now: Date = new Date();
+ const diffInMs: number = now.getTime() - date.getTime();
+ const diffInSeconds: number = Math.floor(diffInMs / 1000);
+ const diffInMinutes: number = Math.floor(diffInSeconds / 60);
+ const diffInHours: number = Math.floor(diffInMinutes / 60);
+ const diffInDays: number = Math.floor(diffInHours / 24);
+ const diffInMonths: number = Math.floor(diffInDays / 30); // Approximate
+ const diffInYears: number = Math.floor(diffInDays / 365); // Approximate
+
+ if (diffInDays === 0) return "Today";
+ if (diffInDays === 1) return "Yesterday";
+ if (diffInDays < 7) return `${diffInDays} days ago`;
+ if (diffInDays < 30) return `${Math.floor(diffInDays / 7)} week${diffInDays >= 14 ? 's' : ''} ago`;
+ if (diffInMonths < 12) return `${diffInMonths} month${diffInMonths > 1 ? 's' : ''} ago`;
+ return `${diffInYears} year${diffInYears > 1 ? 's' : ''} ago`;
}
\ No newline at end of file
diff --git a/src/lib/components/Cards/Card.svelte b/src/lib/components/Cards/Card.svelte
index c5f4ab9..d13957c 100644
--- a/src/lib/components/Cards/Card.svelte
+++ b/src/lib/components/Cards/Card.svelte
@@ -20,7 +20,9 @@
border-radius: .5em;
scroll-snap-align: start;
transition: all 0.2s;
+ box-shadow: .25em .25em .5em var(--hover);
}
+
.card:hover {
box-shadow: .5em .5em .5em var(--hover);
}
diff --git a/src/main.svelte b/src/main.svelte
index 3214fba..ef2b849 100644
--- a/src/main.svelte
+++ b/src/main.svelte
@@ -14,6 +14,7 @@
border-radius: 1em;
padding: .2em 2em 2em 2em;
box-shadow: .5em .5em .5em var(--glow);
+ margin-bottom: 4em;
}
.flex-container {
diff --git a/src/routes/repos/+page.svelte b/src/routes/repos/+page.svelte
index 88d0848..017d0b1 100644
--- a/src/routes/repos/+page.svelte
+++ b/src/routes/repos/+page.svelte
@@ -1,15 +1,19 @@
My Projects
+
This here is a list of my most recently worked on projects. Note this does not show any private repositories. For more in depth information Click Here.
{#if $repos.length > 0}
+
{addToast(new Toast("See a snapshot of my latest work.", ToastType.Info, true, 8_000))}
{/each}
diff --git a/static/json/me.json b/static/json/me.json
index 1ac2375..df11f9d 100644
--- a/static/json/me.json
+++ b/static/json/me.json
@@ -44,7 +44,12 @@
{
"duration" : "September 2022 - Present",
"title" : "Thales UK - Software Engineer",
- "description" : "As a software engineering apprentice at Thales UK, I find myself partaking in agile / scrum development methodologies in a strong team of 6 other engineers. The team iterates on a pre-existing system designed for the MOD, written in C++, using internal frameworks to assist.
To extend this, the apprenticeship includes allocated time for studying a Digital and Thechnology Solutions degree with the University of Warwick, including modules relevant to business management, devlopment processes and data integrity etc..."
+ "description" : "As a software engineering apprentice at Thales UK, I find myself partaking in agile / scrum development methodologies in a strong team of 6 other engineers. The team iterates on a pre-existing system designed for the MOD, written in C++, using internal frameworks to assist."
+ },
+ {
+ "duration" : "September 2022 - Present",
+ "title" : "University of Warwick - Digital and Technology Solutions",
+ "description" : "The apprenticeship includes allocated time for studying a Digital and Thechnology Solutions degree with the University of Warwick, including modules relevant to business management, devlopment processes and data integrity etc..."
},
{
"duration" : "September 2020 - July 2022",
@@ -54,7 +59,7 @@
{
"duration" : "September 2015 - July 2020",
"title" : "The Norton Knatchbull School (GCSEs)",
- "description" : "FSMQ (C) Maths (8) Geography (9) Biology (9) Chemistry (9) Physics (9) Spanish (7) English (Literature & Language) (7, 7) Computer Science (9)"
+ "description" : "Computer Science (9) Physics (9) Chemistry (9) Biology (9) Geography (9) FSMQ (C) Maths (8) Spanish (7) English (Literature & Language) (7, 7) "
}
]
}
\ No newline at end of file