2021-11-22 12:47:00 -05:00
|
|
|
import { GetStaticProps } from "next";
|
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
import { Link } from "@/components/Link";
|
|
|
|
import { Table } from "@/components/Table";
|
2021-11-30 01:32:53 -05:00
|
|
|
import { Title } from "@/components/Title";
|
2021-11-22 12:47:00 -05:00
|
|
|
import { getMembers, Member } from "@/lib/members";
|
2022-08-08 04:31:15 -04:00
|
|
|
import { Term, capitalize, getCurrentTermYear } from "@/utils";
|
2021-11-22 12:47:00 -05:00
|
|
|
|
|
|
|
import styles from "./members.module.css";
|
|
|
|
|
|
|
|
interface Props {
|
|
|
|
members: Member[];
|
2022-08-08 04:31:15 -04:00
|
|
|
year: number;
|
2022-01-19 20:19:13 -05:00
|
|
|
term: Term;
|
2021-11-22 12:47:00 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
export default function Members(props: Props) {
|
|
|
|
return (
|
|
|
|
<>
|
2021-11-30 01:32:53 -05:00
|
|
|
<Title>Members</Title>
|
2022-06-08 08:45:28 -04:00
|
|
|
<h1 className={styles.title}>Members</h1>
|
2021-11-22 12:47:00 -05:00
|
|
|
<p>
|
|
|
|
{`The members for ${capitalize(props.term)} ${
|
|
|
|
props.year
|
|
|
|
} are listed here. We currently
|
|
|
|
have ${props.members.length} members. Use of this list for solicitation
|
|
|
|
of any form is prohibited, if you wish to get in touch with the
|
|
|
|
membership as a whole please contact the Executive.`}
|
|
|
|
</p>
|
|
|
|
<Table className={styles.table}>
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Name / Webpage</th>
|
|
|
|
<th>Program</th>
|
|
|
|
<th>Userid</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
{props.members.map((member) => (
|
|
|
|
<tr key={member.id}>
|
|
|
|
<td>
|
|
|
|
<Link href={`https://csclub.uwaterloo.ca/~${member.id}/`}>
|
|
|
|
{member.name}
|
|
|
|
</Link>
|
|
|
|
</td>
|
|
|
|
<td>{member.program}</td>
|
|
|
|
<td>{member.id}</td>
|
|
|
|
</tr>
|
|
|
|
))}
|
|
|
|
</tbody>
|
|
|
|
</Table>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
export const getStaticProps: GetStaticProps<Props> = async () => {
|
2022-08-08 04:31:15 -04:00
|
|
|
const curTerm = getCurrentTermYear();
|
2021-11-22 12:47:00 -05:00
|
|
|
return {
|
|
|
|
props: {
|
|
|
|
year: curTerm.year,
|
|
|
|
term: curTerm.term,
|
|
|
|
members: await getMembers(curTerm.year, curTerm.term),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
};
|