www-new/pages/index.tsx

92 lines
3.3 KiB
TypeScript
Raw Normal View History

2021-07-09 13:02:51 -04:00
import React from "react";
2021-07-09 14:00:37 -04:00
import { Image } from "../components/Image";
import { SocialLinks } from "../components/SocialLinks";
2021-07-09 15:21:29 -04:00
import { EventDescriptionCard } from "../components/EventDescriptionCard";
import { NewsCard } from "../components/NewsCard";
import { ConnectWithUs } from "../components/ConnectWithUs";
import { EmailSignup } from "../components/EmailSignup";
2021-07-27 01:39:38 -04:00
import { DefaultLayout } from "../components/DefaultLayout";
2021-07-09 13:02:51 -04:00
import styles from "./index.module.css";
2021-07-09 15:21:29 -04:00
// temporary event and news imports
import OOTBReact, {
metadata as OOTBReactEventMetadata,
} from "../content/playground/ootb-react.event.mdx";
import AltTab, {
metadata as altTabEventMetadata,
} from "../content/playground/alt-tab.event.mdx";
import UnavailableContent, {
metadata as unavailableMetadata,
} from "../content/playground/unavailable.news.mdx";
2021-07-09 13:02:51 -04:00
export default function Home() {
2021-07-09 15:21:29 -04:00
const events = [
{ Content: OOTBReact, metadata: OOTBReactEventMetadata },
{ Content: AltTab, metadata: altTabEventMetadata },
];
2021-07-09 13:02:51 -04:00
return (
<>
2021-07-27 01:39:38 -04:00
<DefaultLayout>
<header className={styles.intro}>
<div className={styles.introTop} />
<div className={styles.introContent}>
<div className={styles.clubTitleWrapper}>
<Image src="/images/logo-icon.svg" alt="CSC Logo" />
<h1 className={styles.clubTitle}>Computer Science Club</h1>
</div>
<p className={styles.clubDescription}>
University of Waterloo&apos;s <br />
student computing community
</p>
<SocialLinks color="gradient" size="big" />
2021-07-13 02:25:50 -04:00
</div>
2021-07-27 01:39:38 -04:00
<div className={styles.introBottom} />
<Image
className={styles.codey}
src="/images/home/codey_sitting.svg"
alt="CSC mascot Codey, a blue shiba with circular glasses"
/>
</header>
</DefaultLayout>
2021-07-09 15:21:29 -04:00
<div className={styles.cardsBackground}>
<div className={styles.cards}>
{/* TODO: add links to past events and past news */}
2021-07-13 01:33:23 -04:00
<section className={styles.events}>
2021-07-23 01:33:59 -04:00
<h1 className={styles.cardsHeading}>Upcoming Events</h1>
2021-07-13 01:33:23 -04:00
<p className={styles.cardsDescription}>See past events here</p>
2021-07-13 02:25:50 -04:00
<hr className={styles.cardsDividingLine} />
2021-07-09 15:21:29 -04:00
<div className={styles.eventCards}>
{events.map(({ metadata }) => (
<EventDescriptionCard
{...metadata}
key={metadata.name + metadata.date.toString()}
/>
))}
</div>
2021-07-13 01:33:23 -04:00
</section>
<section className={styles.news}>
2021-07-23 01:33:59 -04:00
<h1 className={styles.cardsHeading}>News</h1>
2021-07-13 01:33:23 -04:00
<p className={styles.cardsDescription}>
2021-07-13 02:25:50 -04:00
Updates from our execs! <br />
See past news here
2021-07-13 01:33:23 -04:00
</p>
2021-07-13 02:25:50 -04:00
<hr className={styles.cardsDividingLine} />
2021-07-09 15:21:29 -04:00
<NewsCard {...unavailableMetadata}>
<UnavailableContent />
</NewsCard>
2021-07-13 01:33:23 -04:00
</section>
2021-07-09 13:02:51 -04:00
</div>
</div>
2021-07-27 01:39:38 -04:00
<DefaultLayout>
<ConnectWithUs />
<EmailSignup />
2021-07-27 01:39:38 -04:00
</DefaultLayout>
2021-07-09 13:02:51 -04:00
</>
);
}
2021-07-09 15:21:29 -04:00
Home.Layout = function HomeLayout(props: { children: React.ReactNode }) {
2021-07-27 01:39:38 -04:00
return <div className={styles.page}>{props.children}</div>;
2021-07-09 15:21:29 -04:00
};