import React, { ComponentType, ReactNode, useState } from "react"; import { MDXProvider } from "@mdx-js/react"; import { Image } from "../../components/Image"; import { TeamMemberCard } from "../../components/TeamMemberCard"; import { TeamMember } from "../../components/TeamMember"; import { Link } from "../../components/Link"; import ElectionContent from "../../content/meet-the-team/elections.mdx"; import programme from "../../content/meet-the-team/programme-committee.json"; import website from "../../content/meet-the-team/website-committee.json"; import systems from "../../content/meet-the-team/systems-committee.json"; import styles from "./team.module.css"; import KallenTu, { metadata as KallenMetadata, } from "../../content/meet-the-team/execs/Kallen-Tu.team-member.mdx"; import GordonLe, { metadata as GordonMetadata, } from "../../content/meet-the-team/execs/Gordon-Le.team-member.mdx"; import RavinduAngammana, { metadata as RavinduMetadata, } from "../../content/meet-the-team/execs/Ravindu-Angammana.team-member.mdx"; import NeilParikh, { metadata as NeilMetadata, } from "../../content/meet-the-team/execs/Neil-Parikh.team-member.mdx"; import MaxErenberg, { metadata as MaxMetadata, } from "../../content/meet-the-team/execs/Max-Erenberg.team-member.mdx"; // TODO: get hotdog for elections export default function MeetTheTeam() { return ( <>

Meet the Team!

The Executives Programme Committee Website Committee Systems Committee

The Executives

{/* {props.execs.map((exec) => { return (
{exec.content}
); })} */}

Programme Committee

Website Committee

Systems Committee

Elections

); } interface MembersProps { team: Array; } interface Metadata { name: string; role: string; image?: string; } interface MobileExecProps { metadata: Metadata; content: ComponentType; } interface Propup extends MobileExecProps { handleClose: () => void; } function MembersList(props: MembersProps) { return (
{props.team.map((member) => ( ))}
); } function MobileExec(props: MobileExecProps) { const [isOpen, setIsOpen] = useState(false); const togglePopup = () => { setIsOpen(!isOpen); }; return ( <> {isOpen && ( <>
)} ); } function ExecPopup(props: Propup) { return (
); } // -- Dynamic Import logic -- // import { readdirSync } from "fs"; // import { InferGetStaticPropsType } from "next"; // import dynamic from "next/dynamic"; // const files = readdirSync("content/meet-the-team/execs/") // const components = files.map((file) => // dynamic(() => import("../../" + execsPath + file)) // ); // props: InferGetStaticPropsType // export async function getStaticProps() { // // const execs: ExecProps[] = []; // const files = readdirSync(execsPath); // console.log(files); // // files.map(async (file: string) => { // // // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment // // const exec = await import("../../" + execsPath + file); // // exec.content = ; // // execs.push(exec); // // }); // return { props: { files } }; // }