From bbf148704b138b32ad9035a42f581547d27eb7e2 Mon Sep 17 00:00:00 2001 From: Antoine Phan Date: Sat, 19 Jul 2025 16:36:29 -0400 Subject: [PATCH] Council page layout update --- src/components/CouncilCard.svelte | 54 +++---------- src/components/CouncilCardPopUp.svelte | 56 ++++++-------- src/routes/council/+page.svelte | 100 +++++++++++-------------- 3 files changed, 80 insertions(+), 130 deletions(-) diff --git a/src/components/CouncilCard.svelte b/src/components/CouncilCard.svelte index 0959cf1..27d7993 100644 --- a/src/components/CouncilCard.svelte +++ b/src/components/CouncilCard.svelte @@ -1,49 +1,17 @@ - - -
-
- {name} +
+ +
+ {name} +
+
+
{name}
+
{position}
+
-
-
{name}
-
{position}
- - -
- - - diff --git a/src/components/CouncilCardPopUp.svelte b/src/components/CouncilCardPopUp.svelte index 802e16b..45933a9 100644 --- a/src/components/CouncilCardPopUp.svelte +++ b/src/components/CouncilCardPopUp.svelte @@ -1,41 +1,33 @@ - - -
-
-
- {name} -
- {yearProgram} +
+ +
+
+ {name} +
+ Major: {yearProgram}
+
-

{name}

-

{position}

-

{positionDescription}

- {email} +

{name}

+
+
+

{position}

+

+ Email: {email} +

+
+
+

{positionDescription}

diff --git a/src/routes/council/+page.svelte b/src/routes/council/+page.svelte index 6cf1964..4a5c717 100644 --- a/src/routes/council/+page.svelte +++ b/src/routes/council/+page.svelte @@ -2,30 +2,34 @@ import CouncilCardPopUp from 'components/CouncilCardPopUp.svelte'; import Section from 'components/Section.svelte'; import CardCouncil from 'components/CouncilCard.svelte'; - import type CouncilMember from 'utils/schemas'; + import type { CouncilMember } from '$lib/schemas'; + import { fly, slide } from 'svelte/transition'; let { data } = $props(); + + // Get members by 3 main categories: + // - Preseident + // - VPs + Equity and Mental Health Officer + // - UReps + let president: CouncilMember = data.members.filter((member: CouncilMember) => + member.position.includes('President') + )[0]; + + let vps: CouncilMember[] = data.members.filter( + (member: CouncilMember) => + member.position.includes('VP') || member.position.includes('Equity and Mental Health Officer') + ); + + let ureps: CouncilMember[] = data.members.filter((member: CouncilMember) => + member.position.includes('Representative') + ); + let years = ['U4', 'U3', 'U2', 'U1', 'U0']; - let vps: CouncilMember[] = []; - let ureps: CouncilMember[] = []; - // svelte-ignore non_reactive_update - let president: CouncilMember | null = null; - data.members.forEach((member: CouncilMember) => { - if ( - member.position.includes('VP') || - member.position.includes('Equity and Mental Health Officer') - ) { - vps.push(member); - } else if (member.position.includes('Representative')) { - ureps.push(member); - ureps.sort((a, b) => { - const aYear = years.findIndex((y) => a.position.includes(y)); - const bYear = years.findIndex((y) => b.position.includes(y)); - return aYear - bYear; - }); - } else if (member.position.includes('President')) { - president = member; - } + + ureps.sort((a, b) => { + const aYear = years.findIndex((year) => a.position.includes(year)); + const bYear = years.findIndex((year) => b.position.includes(year)); + return aYear - bYear; }); let selectedMember = $state(null); @@ -33,11 +37,6 @@ function handleViewProfile(member: CouncilMember) { selectedMember = member; } - - console.log(ureps); - - // svelte-ignore state_referenced_locally - // console.log(selectedMember); ECSESS council @@ -45,39 +44,39 @@

Meet the council!

Our Student Council

- ECSESS Council, but we are goofy + ECSESS Council, but we are goofy
-
- {#if president} - handleViewProfile(president!)} - /> - {/if} +
+ handleViewProfile(president!)} + />
+
- {#each vps as councilMember} + {#each vps as vp} handleViewProfile(councilMember)} + name={vp.name} + position={vp.position} + image={vp.image} + onViewProfile={() => handleViewProfile(vp)} /> {/each} - {#each ureps as councilMember} + {#each ureps as urep} handleViewProfile(councilMember)} + name={urep.name} + position={urep.position} + image={urep.image} + onViewProfile={() => handleViewProfile(urep)} /> {/each}
+ {#if selectedMember} @@ -97,12 +96,3 @@ {/if}
- -