diff --git a/src/components/layout/NavBar.svelte b/src/components/layout/NavBar.svelte
index b998b7c..36193b3 100644
--- a/src/components/layout/NavBar.svelte
+++ b/src/components/layout/NavBar.svelte
@@ -35,6 +35,7 @@
Meet the council
Events
Resources
+ Dev Team
{#if isElectionTime}
Join ECSESS
{/if}
@@ -52,6 +53,7 @@
Meet the council
Events
Resources
+ Dev Team
{#if isElectionTime}
Join ECSESS
{/if}
diff --git a/src/components/team/CommitDot.svelte b/src/components/team/CommitDot.svelte
new file mode 100644
index 0000000..fb9698f
--- /dev/null
+++ b/src/components/team/CommitDot.svelte
@@ -0,0 +1,19 @@
+
+
+
+
+ {#if active}
+
+ {/if}
+
+
diff --git a/src/components/team/ContribTimeline.svelte b/src/components/team/ContribTimeline.svelte
new file mode 100644
index 0000000..7b46f4a
--- /dev/null
+++ b/src/components/team/ContribTimeline.svelte
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+ {#each members as member}
+
+ {/each}
+
+
diff --git a/src/components/team/DevCard.svelte b/src/components/team/DevCard.svelte
new file mode 100644
index 0000000..3718acc
--- /dev/null
+++ b/src/components/team/DevCard.svelte
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+ {year}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/team/YearLine.svelte b/src/components/team/YearLine.svelte
new file mode 100644
index 0000000..ea2baa1
--- /dev/null
+++ b/src/components/team/YearLine.svelte
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+ {term}
+
+
+
+
+
diff --git a/src/lib/schemas.ts b/src/lib/schemas.ts
index d3522ee..e3a4d38 100644
--- a/src/lib/schemas.ts
+++ b/src/lib/schemas.ts
@@ -72,3 +72,15 @@ export type Redirect = {
shortname: string;
url: string;
};
+
+export type DevTeam = {
+ name: string;
+ role: string;
+ yearProgram: string;
+ email: string;
+ active: boolean;
+ term: string;
+ funFact: string;
+ github: string;
+ image: string; //URL
+};
diff --git a/src/routes/devteam/+page.server.ts b/src/routes/devteam/+page.server.ts
new file mode 100644
index 0000000..2969234
--- /dev/null
+++ b/src/routes/devteam/+page.server.ts
@@ -0,0 +1,23 @@
+//Wait for CMS to setup
+import type { DevTeam } from '$lib/schemas';
+import { getFromCMS } from '$lib/utils';
+
+const query = `*[_type == "devTeam"]{
+ name,
+ role,
+ yearProgram,
+ email,
+ active,
+ term,
+ funFact,
+ github,
+ "image": image.asset->url+"?h=300&fm=webp",
+}`;
+
+export const load = async ({ url }) => {
+ let devTeam: DevTeam[] = await getFromCMS(query);
+ return {
+ devTeam: devTeam,
+ canonical: url.href
+ };
+};
diff --git a/src/routes/devteam/+page.svelte b/src/routes/devteam/+page.svelte
new file mode 100644
index 0000000..a54cb6c
--- /dev/null
+++ b/src/routes/devteam/+page.svelte
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
git log --dev-team
+
+ Want to build the future of ECSESS?
+
+
+ Contribute on GitHub →
+
+
+
+
+
+
+
+
+
+
+
+
+ {#each groupedTeam as { group, members, active }}
+
+
+
+ {/each}
+
+
+
+
+