diff --git a/components/TeamMember.tsx b/components/TeamMember.tsx index 9ff19891..9d038f31 100644 --- a/components/TeamMember.tsx +++ b/components/TeamMember.tsx @@ -6,13 +6,13 @@ import styles from "./TeamMember.module.css"; interface TeamMemberProps { name: string; - role: string; + role?: string; image: string; } export const TeamMember: React.FC = ({ name, - role, + role = "", image, }) => { return ( diff --git a/components/TeamMemberCard.tsx b/components/TeamMemberCard.tsx index 479598ab..a2ff6352 100644 --- a/components/TeamMemberCard.tsx +++ b/components/TeamMemberCard.tsx @@ -8,14 +8,14 @@ import styles from "./TeamMemberCard.module.css"; export interface TeamMemberCardProps { name: string; - role: string; + role?: string; image: string; children: React.ReactNode; } export function TeamMemberCard({ name, - role, + role = "", image, children, }: TeamMemberCardProps) { @@ -48,7 +48,12 @@ export function TeamMemberCard({ ); } -function TeamMemberInfo({ name, role, image, children }: TeamMemberCardProps) { +function TeamMemberInfo({ + name, + role = "", + image, + children, +}: TeamMemberCardProps) { return ( <>
@@ -69,7 +74,13 @@ interface PopupProps extends TeamMemberCardProps { handleClick: () => void; } -function ExecPopup({ name, role, image, children, handleClick }: PopupProps) { +function ExecPopup({ + name, + role = "", + image, + children, + handleClick, +}: PopupProps) { return ( <>
diff --git a/content/team/coordinators-team.json b/content/team/coordinators-team.json new file mode 100644 index 00000000..45e97f6a --- /dev/null +++ b/content/team/coordinators-team.json @@ -0,0 +1,36 @@ +[ + { + "name": "Sat Arora", + "role": "Team Lead" + }, + { + "name": "Ivy Lei" + }, + { + "name": "Govind Varma" + }, + { + "name": "Guneet Bola" + }, + { + "name": "Mayank Mehra" + }, + { + "name": "Olivia Liu" + }, + { + "name": "Colby Wang" + }, + { + "name": "Harshitha Durai Babu", + "image": "/images/team/HarshithaDurai.jpg" + }, + { + "name": "Amy Luo", + "role": "Advisor" + }, + { + "name": "Juthika Hoque", + "role": "Advisor" + } +] diff --git a/content/team/design-team.json b/content/team/design-team.json index f3dac9c4..19a6235a 100644 --- a/content/team/design-team.json +++ b/content/team/design-team.json @@ -1,18 +1,21 @@ [ { - "name": "Jenny Zhang", - "role": "Team Lead" + "name": "Jenny Zhang" }, { - "name": "Vivian Guo", - "role": "Team Lead" + "name": "Alice Li" }, { - "name": "Rachel Ma", - "role": "Design" + "name": "Rachel Ma" }, { "name": "Aaryan Shroff", - "role": "Design" + "role": "Team Lead" + }, + { + "name": "Joyce Ye" + }, + { + "name": "Jessica Chan" } ] \ No newline at end of file diff --git a/content/team/discord-team.json b/content/team/discord-team.json index be392f2c..4d6c94fc 100644 --- a/content/team/discord-team.json +++ b/content/team/discord-team.json @@ -1,39 +1,50 @@ [ { - "name": "Andy Wang", + "name": "Mark Chen", "role": "Team Lead" }, { "name": "Alex Zhang", - "role": "Developer" + "role": "Team Lead" }, { - "name": "Allen Qin Lu", - "role": "Developer", - "image": "/images/team/AllenLu.png" + "name": "Allen Lu" }, { - "name": "Chris Xie", - "role": "Developer" + "name": "Andrew Wang" }, { - "name": "Edwin Yang", - "role": "Developer" + "name": "Edwin Yi-Jan Yang", + "image": "/images/team/EdwinYang.jpg" }, { - "name": "Laura Nguyen", - "role": "Developer" + "name": "Elaine Han" }, { - "name": "Marcus Chan", - "role": "Developer" + "name": "Laura Nguyen" }, { - "name": "Mark Chen", - "role": "Developer" + "name": "Marcus Chan" }, { - "name": "Victor Zheng", - "role": "Developer" + "name": "Victor Zheng" + }, + { + "name": "Howe Wang" + }, + { + "name": "Daniel Jemin Kim", + "image": "/images/team/DanielKim.jpg" + }, + { + "name": "Andy Li" + }, + { + "name": "Gen Nishiwaki" + }, + + { + "name": "Charles Zhang", + "role": "Advisor" } -] \ No newline at end of file +] diff --git a/content/team/events-team.json b/content/team/events-team.json index cdf3a9ab..84d4159b 100644 --- a/content/team/events-team.json +++ b/content/team/events-team.json @@ -1,75 +1,44 @@ [ { - "name": "Eden Chan", + "name": "Bonnie Peng", "role": "Team Lead" }, - { - "name": "Eric Huang", - "role": "Team Lead" - }, - { - "name": "Adele Chen", - "role": "Events" - }, - { - "name": "Amya Singhal", - "role": "Events" - }, - { - "name": "Anna Wang", - "role": "Events" - }, { "name": "Catherine Wan", - "role": "Events" + "role": "Team Lead" }, { - "name": "Diana Brebeanu", - "role": "Events" + "name": "Ethan Hong" }, { - "name": "Elaine Han", - "role": "Events" + "name": "Naman Chhawchharia" }, { - "name": "Jonathan Cui", - "role": "Events" + "name": "Diana Brebeanu" }, { - "name": "Kenson Hui", - "role": "Events" + "name": "Stephanie Xu" }, { - "name": "Mabel Kwok", - "role": "Events" + "name": "Alan Wang" }, { - "name": "Mashrur Chowdhury", - "role": "Events" + "name": "Freya Zhang" }, { - "name": "Matthew Wang", - "role": "Events" + "name": "Siting Ban" }, { - "name": "Naman Chhawchharia", - "role": "Events" + "name": "Keane Moraes" }, { - "name": "Riddhi Bajaj", - "role": "Events" + "name": "Celine Chung" }, { - "name": "Santiago Montemayor Gomez", - "role": "Events", - "image": "/images/team/SantiagoMontemayor.jpg" + "name": "Jenn Zhang" }, { - "name": "Tommy Jiang", - "role": "Events" - }, - { - "name": "William Tran", - "role": "Events" + "name": "Eric Huang", + "role": "Advisor" } -] \ No newline at end of file +] diff --git a/content/team/execs/raymond-li.md b/content/team/execs/raymond-li.md index 23d611b3..862e19ca 100644 --- a/content/team/execs/raymond-li.md +++ b/content/team/execs/raymond-li.md @@ -3,4 +3,4 @@ name: Raymond Li role: Systems Administrator --- -Hey there! I'm [Raymond Li](https://raymond.li). I'm on co-op after my 2B term of CS. As sysadmin, I lead syscom and termcom in maintaining all the club infrastructure, including our [machines](https://wiki.csclub.uwaterloo.ca/Machine_List), [mirror](https://mirror.csclub.uwaterloo.ca/stats), [wiki](https://wiki.csclub.uwaterloo.ca), [email service](https://mail.csclub.uwaterloo.ca), [Gitea instance](https://git.csclub.uwaterloo.ca), [Mattermost instance](https://mattermost.csclub.uwaterloo.ca), [TheLounge instance](https://chat.csclub.uwaterloo.ca), and much much more. Major projects I've got planned this term include setting up NextCloud and our own self-hosted URL shortener at csclub.ca! In my spare time, I like to code, ski, and play chess and violin.
#btwiusearch (at least until [Linux expires in 2038](https://youtu.be/dQw4w9WgXcQ)) +Hey there! I'm [Raymond Li](https://raymond.li). I'm on co-op after my 2B term of CS. As sysadmin, I lead [syscom](https://csclub.uwaterloo.ca/about/team/#system) and [termcom](https://csclub.uwaterloo.ca/about/team/#terminal) in maintaining all the club infrastructure, including our [machines](https://wiki.csclub.uwaterloo.ca/Machine_List), [mirror](https://mirror.csclub.uwaterloo.ca/stats), [wiki](https://wiki.csclub.uwaterloo.ca), [email service](https://mail.csclub.uwaterloo.ca), [Gitea instance](https://git.csclub.uwaterloo.ca), [Mattermost instance](https://mattermost.csclub.uwaterloo.ca), [TheLounge instance](https://chat.csclub.uwaterloo.ca), and much much more. Major projects I've got planned this term include setting up NextCloud and our own self-hosted URL shortener at csclub.ca! In my spare time, I like to code, ski, and play chess and violin.
#btwiusearch (at least until [Linux expires in 2038](https://youtu.be/dQw4w9WgXcQ)) diff --git a/content/team/external-affairs-team.json b/content/team/external-affairs-team.json index 691943e8..5d0e06b8 100644 --- a/content/team/external-affairs-team.json +++ b/content/team/external-affairs-team.json @@ -1,22 +1,22 @@ [ { - "name": "David Chen", + "name": "Eric Liu", "role": "Team Lead" }, { - "name": "Daniel Kim", - "role": "External Affairs" + "name": "David Chen", + "role": "Advisor" }, { - "name": "Eric Liu", - "role": "External Affairs" + "name": "Ernest Wong" }, { - "name": "Victor Wu", - "role": "External Affairs" + "name": "Jason D'Souza" }, { - "name": "Wanda Song", - "role": "External Affairs" + "name": "Oren Leung" + }, + { + "name": "Sameer Fettes" } -] \ No newline at end of file +] diff --git a/content/team/marketing-team.json b/content/team/marketing-team.json index 7033dce4..ec1fa914 100644 --- a/content/team/marketing-team.json +++ b/content/team/marketing-team.json @@ -1,31 +1,26 @@ [ { - "name": "Dina Orucevic", + "name": "Haley Song", "role": "Team Lead" }, + { + "name": "Amy Lai" + }, + { + "name": "Kshama Patel" + }, + { + "name": "Dina Orucevic", + "role": "Advisor" + }, { "name": "Arjun Amit Athalye", - "role": "Marketing", "image": "/images/team/ArjunAthalye.jpeg" }, { - "name": "Catherine Tao", - "role": "Marketing" + "name": "Joyce Ye" }, { - "name": "Ethan Hong", - "role": "Marketing" - }, - { - "name": "Gurnika Kaur", - "role": "Marketing" - }, - { - "name": "Haley Song", - "role": "Marketing" - }, - { - "name": "Kshama Patel", - "role": "Marketing" + "name": "Rasta Ranjbar" } -] \ No newline at end of file +] diff --git a/content/team/photography-team.json b/content/team/photography-team.json index 4830e49c..7a7a1e39 100644 --- a/content/team/photography-team.json +++ b/content/team/photography-team.json @@ -1,18 +1,18 @@ [ { - "name": "Bonnie Peng", + "name": "Annie Zhang", "role": "Team Lead" }, { - "name": "Annie Zhang", - "role": "Photographer" + "name": "Ethan Hong" }, { - "name": "Calvin Zhong", - "role": "Photographer" + "name": "Bonnie Peng" }, { - "name": "Jesse Liu", - "role": "Photographer" + "name": "Matthew Wang" + }, + { + "name": "Bryan Wang" } ] \ No newline at end of file diff --git a/content/team/representative-team.json b/content/team/representative-team.json deleted file mode 100644 index a19aeeec..00000000 --- a/content/team/representative-team.json +++ /dev/null @@ -1,42 +0,0 @@ -[ - { - "name": "Amy Luo", - "role": "Team Lead" - }, - { - "name": "Govind Varma", - "role": "Representative" - }, - { - "name": "Guneet Bola", - "role": "Representative" - }, - { - "name": "Ivy Lei", - "role": "Representative" - }, - { - "name": "Jasmine Bal", - "role": "Representative" - }, - { - "name": "Mayank Mehra", - "role": "Representative" - }, - { - "name": "Olivia Liu", - "role": "Representative" - }, - { - "name": "Sat Arora", - "role": "Representative" - }, - { - "name": "Star Xie", - "role": "Representative" - }, - { - "name": "Tracy Dong", - "role": "Representative" - } -] \ No newline at end of file diff --git a/content/team/systems-committee.json b/content/team/systems-committee.json index 2afea448..01bafa1b 100644 --- a/content/team/systems-committee.json +++ b/content/team/systems-committee.json @@ -1,24 +1,28 @@ [ { "name": "Raymond Li", - "role": "Sysadmin" + "role": "Team Lead" + }, + { + "name": "Max Erenberg", + "role": "Alumni" + }, + { + "name": "Andrew Wang" + }, + { + "name": "Rio Liu" }, { "name": "Amin Bandali", "role": "Alumni" }, - { - "name": "Andrew Wang", - "role": "", - "image": "/images/team/AndrewWang-Syscom.jpg" - }, { "name": "Anthony Brennan", "role": "Alumni" }, { - "name": "Edwin Zhang", - "role": "Alumni" + "name": "Edwin Zhang" }, { "name": "Elana Hashman", @@ -28,14 +32,6 @@ "name": "Jennifer Zhou", "role": "Alumni" }, - { - "name": "Max Erenberg", - "role": "" - }, - { - "name": "Rio Liu", - "role": "" - }, { "name": "Zachary Seguin", "role": "Alumni" diff --git a/content/team/terminal-committee.json b/content/team/terminal-committee.json index 76620c52..470f3072 100644 --- a/content/team/terminal-committee.json +++ b/content/team/terminal-committee.json @@ -1,22 +1,29 @@ [ { - "name": "Daniel Liu", - "role": "" + "name": "Yiao Shen" }, { - "name": "David Hui", - "role": "" + "name": "Devin Lin" }, { - "name": "Devin Lin", - "role": "" + "name": "Seshan Ravikumar" }, { - "name": "Joseph Wang", - "role": "" + "name": "Daniel Liu" }, { - "name": "Seshan Ravikumar", - "role": "" + "name": "Joseph Wang" + }, + { + "name": "David Hui" + }, + { + "name": "Rahul Tandon" + }, + { + "name": "Justin Toft" + }, + { + "name": "Patrick Luo" } -] \ No newline at end of file +] diff --git a/content/team/web-committee.json b/content/team/web-committee.json index ae579b56..088248ee 100644 --- a/content/team/web-committee.json +++ b/content/team/web-committee.json @@ -8,23 +8,19 @@ "role": "Team Lead" }, { - "name": "Beihao Zhou", - "role": "Developer" + "name": "Beihao Zhou" }, { - "name": "Emily Chiu", - "role": "Developer" + "name": "Emily Chiu" }, { - "name": "Jared He", - "role": "Developer" + "name": "Jared He" }, { - "name": "Shahan NedaDahandeh", - "role": "Developer" + "name": "Shahan NedaDahandeh" }, { "name": "Aditya Thakral", - "role": "Alumni" + "role": "Advisor" } ] diff --git a/images/team/AaronChoo.jpg b/images/team/AaronChoo.jpg deleted file mode 100644 index 9586be87..00000000 Binary files a/images/team/AaronChoo.jpg and /dev/null differ diff --git a/images/team/AdeleChen.jpg b/images/team/AdeleChen.jpg deleted file mode 100644 index c24025ce..00000000 Binary files a/images/team/AdeleChen.jpg and /dev/null differ diff --git a/images/team/AmyaSinghal.jpg b/images/team/AmyaSinghal.jpg deleted file mode 100644 index 096df9e6..00000000 Binary files a/images/team/AmyaSinghal.jpg and /dev/null differ diff --git a/images/team/AndrewWang-Syscom.jpg b/images/team/AndrewWang.jpg similarity index 100% rename from images/team/AndrewWang-Syscom.jpg rename to images/team/AndrewWang.jpg diff --git a/images/team/AndyLi.JPG b/images/team/AndyLi.JPG new file mode 100644 index 00000000..1e2f904b Binary files /dev/null and b/images/team/AndyLi.JPG differ diff --git a/images/team/AndyWang.jpeg b/images/team/AndyWang.jpeg deleted file mode 100644 index f08b47c1..00000000 Binary files a/images/team/AndyWang.jpeg and /dev/null differ diff --git a/images/team/AnjingLi.jpg b/images/team/AnjingLi.jpg deleted file mode 100644 index cdbf3c94..00000000 Binary files a/images/team/AnjingLi.jpg and /dev/null differ diff --git a/images/team/AnnaWang.jpg b/images/team/AnnaWang.jpg deleted file mode 100644 index 514e775b..00000000 Binary files a/images/team/AnnaWang.jpg and /dev/null differ diff --git a/images/team/ArjunAthalye.jpeg b/images/team/ArjunAthalye.jpeg index 2db4718f..b1b9e0e5 100644 Binary files a/images/team/ArjunAthalye.jpeg and b/images/team/ArjunAthalye.jpeg differ diff --git a/images/team/BryanWang.jpg b/images/team/BryanWang.jpg new file mode 100644 index 00000000..e55f7359 Binary files /dev/null and b/images/team/BryanWang.jpg differ diff --git a/images/team/CalvinZhong.jpg b/images/team/CalvinZhong.jpg deleted file mode 100644 index ad2513b7..00000000 Binary files a/images/team/CalvinZhong.jpg and /dev/null differ diff --git a/images/team/CatherineTao.jpg b/images/team/CatherineTao.jpg deleted file mode 100644 index 60957b20..00000000 Binary files a/images/team/CatherineTao.jpg and /dev/null differ diff --git a/images/team/CelineChung.jpg b/images/team/CelineChung.jpg new file mode 100644 index 00000000..03c3ebbc Binary files /dev/null and b/images/team/CelineChung.jpg differ diff --git a/images/team/ChrisXie.jpg b/images/team/ChrisXie.jpg deleted file mode 100644 index 0c36c30d..00000000 Binary files a/images/team/ChrisXie.jpg and /dev/null differ diff --git a/images/team/ColbyWang.JPG b/images/team/ColbyWang.JPG new file mode 100644 index 00000000..a8e09b7b Binary files /dev/null and b/images/team/ColbyWang.JPG differ diff --git a/images/team/DoraSu.jpg b/images/team/DoraSu.jpg deleted file mode 100644 index 9e6d579a..00000000 Binary files a/images/team/DoraSu.jpg and /dev/null differ diff --git a/images/team/FelixYang.jpg b/images/team/FelixYang.jpg deleted file mode 100644 index 0352da41..00000000 Binary files a/images/team/FelixYang.jpg and /dev/null differ diff --git a/images/team/GenNishiwaki.JPG b/images/team/GenNishiwaki.JPG new file mode 100644 index 00000000..1e7af2f9 Binary files /dev/null and b/images/team/GenNishiwaki.JPG differ diff --git a/images/team/GurnikaKaur.jpg b/images/team/GurnikaKaur.jpg deleted file mode 100644 index d8521902..00000000 Binary files a/images/team/GurnikaKaur.jpg and /dev/null differ diff --git a/images/team/HarshithaDurai.jpg b/images/team/HarshithaDurai.jpg new file mode 100644 index 00000000..869e58e2 Binary files /dev/null and b/images/team/HarshithaDurai.jpg differ diff --git a/images/team/JasmineBal.jpg b/images/team/JasmineBal.jpg deleted file mode 100644 index 7ea0662f..00000000 Binary files a/images/team/JasmineBal.jpg and /dev/null differ diff --git a/images/team/JasonD'Souza.png b/images/team/JasonD'Souza.png new file mode 100644 index 00000000..b4e8faf5 Binary files /dev/null and b/images/team/JasonD'Souza.png differ diff --git a/images/team/JasonSang.jpg b/images/team/JasonSang.jpg deleted file mode 100644 index 4c19c952..00000000 Binary files a/images/team/JasonSang.jpg and /dev/null differ diff --git a/images/team/JesseLiu.jpg b/images/team/JesseLiu.jpg deleted file mode 100644 index 6315b257..00000000 Binary files a/images/team/JesseLiu.jpg and /dev/null differ diff --git a/images/team/JonathanCui.jpg b/images/team/JonathanCui.jpg deleted file mode 100644 index cfccf4e6..00000000 Binary files a/images/team/JonathanCui.jpg and /dev/null differ diff --git a/images/team/JosephWang.jpg b/images/team/JosephWang.jpg index 953fbb97..af197ddb 100644 Binary files a/images/team/JosephWang.jpg and b/images/team/JosephWang.jpg differ diff --git a/images/team/JoyceYe.jpg b/images/team/JoyceYe.jpg new file mode 100644 index 00000000..0e730d02 Binary files /dev/null and b/images/team/JoyceYe.jpg differ diff --git a/images/team/JustinToft.jpg b/images/team/JustinToft.jpg new file mode 100644 index 00000000..ab8f93ae Binary files /dev/null and b/images/team/JustinToft.jpg differ diff --git a/images/team/KallenTu.jpg b/images/team/KallenTu.jpg deleted file mode 100644 index f1573d01..00000000 Binary files a/images/team/KallenTu.jpg and /dev/null differ diff --git a/images/team/KensonHui.jpg b/images/team/KensonHui.jpg deleted file mode 100644 index f77dcc59..00000000 Binary files a/images/team/KensonHui.jpg and /dev/null differ diff --git a/images/team/MabelKwok.jpg b/images/team/MabelKwok.jpg deleted file mode 100644 index 0fbee3f9..00000000 Binary files a/images/team/MabelKwok.jpg and /dev/null differ diff --git a/images/team/MarcusChan.jpg b/images/team/MarcusChan.jpg index 227fe8d2..7fdd988d 100644 Binary files a/images/team/MarcusChan.jpg and b/images/team/MarcusChan.jpg differ diff --git a/images/team/MashrurChowdhury.jpg b/images/team/MashrurChowdhury.jpg deleted file mode 100644 index 65051029..00000000 Binary files a/images/team/MashrurChowdhury.jpg and /dev/null differ diff --git a/images/team/PatrickLuo.jpg b/images/team/PatrickLuo.jpg new file mode 100644 index 00000000..71c71a80 Binary files /dev/null and b/images/team/PatrickLuo.jpg differ diff --git a/images/team/RahulTandon.jpg b/images/team/RahulTandon.jpg new file mode 100644 index 00000000..65d6e43c Binary files /dev/null and b/images/team/RahulTandon.jpg differ diff --git a/images/team/RiddhiBajaj.jpg b/images/team/RiddhiBajaj.jpg deleted file mode 100644 index 0de0b934..00000000 Binary files a/images/team/RiddhiBajaj.jpg and /dev/null differ diff --git a/images/team/SamHonoridez.jpg b/images/team/SamHonoridez.jpg deleted file mode 100644 index 364ac3a6..00000000 Binary files a/images/team/SamHonoridez.jpg and /dev/null differ diff --git a/images/team/SantiagoMontemayor.jpg b/images/team/SantiagoMontemayor.jpg deleted file mode 100644 index 52a0ed08..00000000 Binary files a/images/team/SantiagoMontemayor.jpg and /dev/null differ diff --git a/images/team/SherryLev.jpg b/images/team/SherryLev.jpg deleted file mode 100644 index 949283c1..00000000 Binary files a/images/team/SherryLev.jpg and /dev/null differ diff --git a/images/team/SitingBan.jpg b/images/team/SitingBan.jpg new file mode 100644 index 00000000..0de39600 Binary files /dev/null and b/images/team/SitingBan.jpg differ diff --git a/images/team/StarXie.jpg b/images/team/StarXie.jpg deleted file mode 100644 index 97c64b27..00000000 Binary files a/images/team/StarXie.jpg and /dev/null differ diff --git a/images/team/TracyDong.jpg b/images/team/TracyDong.jpg deleted file mode 100644 index 91cb2997..00000000 Binary files a/images/team/TracyDong.jpg and /dev/null differ diff --git a/images/team/VictorWu.jpg b/images/team/VictorWu.jpg deleted file mode 100644 index 8482bced..00000000 Binary files a/images/team/VictorWu.jpg and /dev/null differ diff --git a/images/team/VivianGuo.jpg b/images/team/VivianGuo.jpg deleted file mode 100644 index 9c616a7e..00000000 Binary files a/images/team/VivianGuo.jpg and /dev/null differ diff --git a/images/team/WandaSong.jpg b/images/team/WandaSong.jpg deleted file mode 100644 index 68da8756..00000000 Binary files a/images/team/WandaSong.jpg and /dev/null differ diff --git a/images/team/WilliamTran.jpg b/images/team/WilliamTran.jpg deleted file mode 100644 index fdce1353..00000000 Binary files a/images/team/WilliamTran.jpg and /dev/null differ diff --git a/images/team/YanniWang.jpg b/images/team/YanniWang.jpg deleted file mode 100644 index 1ad4e540..00000000 Binary files a/images/team/YanniWang.jpg and /dev/null differ diff --git a/lib/team.ts b/lib/team.ts index 0875e5d5..662f39a0 100644 --- a/lib/team.ts +++ b/lib/team.ts @@ -30,7 +30,7 @@ const orderedExecPositions: string[] = [ export interface Metadata { name: string; - role: string; + role?: string; image: string; } diff --git a/pages/about/team.tsx b/pages/about/team.tsx index 5c2bf065..99084f32 100644 --- a/pages/about/team.tsx +++ b/pages/about/team.tsx @@ -16,13 +16,13 @@ import { getMemberImagePath, } from "@/lib/team"; +import coordinatorsData from "../../content/team/coordinators-team.json"; import designData from "../../content/team/design-team.json"; import discordData from "../../content/team/discord-team.json"; import eventsData from "../../content/team/events-team.json"; import externalData from "../../content/team/external-affairs-team.json"; import marketingData from "../../content/team/marketing-team.json"; import photographyData from "../../content/team/photography-team.json"; -import repsData from "../../content/team/representative-team.json"; import systemsData from "../../content/team/systems-committee.json"; import terminalData from "../../content/team/terminal-committee.json"; import webData from "../../content/team/web-committee.json"; @@ -36,13 +36,13 @@ interface SerializedExec { interface Props { execs: SerializedExec[]; + coordinators: Metadata[]; design: Metadata[]; discord: Metadata[]; events: Metadata[]; external: Metadata[]; marketing: Metadata[]; photography: Metadata[]; - reps: Metadata[]; website: Metadata[]; systems: Metadata[]; terminal: Metadata[]; @@ -50,18 +50,23 @@ interface Props { export default function Team({ execs, + coordinators, design, discord, events, external, marketing, photography, - reps, website, systems, terminal, }: Props) { const teams = [ + { + id: "coordinators", + name: "Community Coordinators", + members: coordinators, + }, { id: "design", name: "Design Team", @@ -92,14 +97,9 @@ export default function Team({ name: "Photography Team", members: photography, }, - { - id: "reps", - name: "Class Representatives", - members: reps, - }, { id: "website", - name: "Website Committee", + name: "Web Committee", members: website, }, { @@ -122,14 +122,14 @@ export default function Team({

Meet the Team!

The Executives + Community Coordinators Design Discord Events External Affairs Marketing Photography - Class Representatives - Website Committee + Web Committee Systems Committee Terminal Committee
@@ -207,6 +207,22 @@ async function getTeamWithImages(team: TeamMember[]) { ); } +function memberComparer(a: Metadata, b: Metadata) { + return a.name.localeCompare(b.name); +} + +function sortTeam(team: Metadata[]): Metadata[] { + const leads = team + .filter(({ role }) => role === "Team Lead") + .sort(memberComparer); + const general = team.filter(({ role }) => !role).sort(memberComparer); + const others = team + .filter(({ role }) => !!role && role !== "Team Lead") + .sort(memberComparer); + + return [...leads, ...general, ...others]; +} + export const getStaticProps: GetStaticProps = async () => { const execNamePosPairs = await getExecNamePosPairs(); @@ -216,40 +232,51 @@ export const getStaticProps: GetStaticProps = async () => { ) )) as SerializedExec[]; - const [ + let [ + coordinators, design, discord, events, external, marketing, photography, - reps, website, systems, terminal, ] = await Promise.all([ + getTeamWithImages(coordinatorsData), getTeamWithImages(designData), getTeamWithImages(discordData), getTeamWithImages(eventsData), getTeamWithImages(externalData), getTeamWithImages(marketingData), getTeamWithImages(photographyData), - getTeamWithImages(repsData), getTeamWithImages(webData), getTeamWithImages(systemsData), getTeamWithImages(terminalData), ]); + coordinators = sortTeam(coordinators); + design = sortTeam(design); + discord = sortTeam(discord); + events = sortTeam(events); + external = sortTeam(external); + marketing = sortTeam(marketing); + photography = sortTeam(photography); + website = sortTeam(website); + systems = sortTeam(systems); + terminal = sortTeam(terminal); + return { props: { execs, + coordinators, design, discord, events, external, marketing, photography, - reps, website, systems, terminal,