diff --git a/components/EventDescriptionCard.module.css b/components/EventDescriptionCard.module.css index 93364b1e..323fbfec 100644 --- a/components/EventDescriptionCard.module.css +++ b/components/EventDescriptionCard.module.css @@ -14,8 +14,9 @@ } .details { - position: relative; width: 100%; + display: flex; + flex-direction: column; } .name { @@ -31,21 +32,9 @@ margin-top: calc(12rem / 16); } -.spacer { - height: calc(35rem / 16); -} - -.button { - position: absolute; - bottom: 0; - left: 0; -} - .logo { width: calc(32rem / 16); - position: absolute; - bottom: 0; - right: 0; + margin-left: auto; } .setting { @@ -55,6 +44,14 @@ font-size: calc(14rem / 16); } +.details > footer { + display: flex; + align-items: center; + justify-content: space-between; + padding-top: 1rem; + margin-top: auto; +} + @media only screen and (max-width: calc(768rem / 16)) { .card { padding: 0; diff --git a/components/EventDescriptionCard.tsx b/components/EventDescriptionCard.tsx index 0767c2a0..69e22887 100644 --- a/components/EventDescriptionCard.tsx +++ b/components/EventDescriptionCard.tsx @@ -3,6 +3,7 @@ import { Button } from "./Button"; import { Image } from "./Image"; import { EventSetting } from "./EventSetting"; import styles from "./EventDescriptionCard.module.css"; +import { Discord, Twitch, Instagram, Facebook } from "./SocialLinks"; interface Props { name: string; @@ -14,21 +15,6 @@ interface Props { children: ReactNode; } -function getPlatformURL(platform: string) { - switch (platform) { - case "Twitch": - return "https://www.twitch.tv/uwcsclub"; - case "Discord": - return "https://discord.gg/pHfYBCg"; - case "Facebook": - return "https://www.facebook.com/uw.computerscienceclub"; - case "Instagram": - return "https://www.instagram.com/uwcsclub/"; - default: - return; - } -} - /** * @remarks * - Child elements will display as the event's description @@ -48,7 +34,7 @@ export function EventDescriptionCard({ registerLink, children, }: Props) { - const platformURL = getPlatformURL(location); + const Icon = getIcon(location); return (
@@ -60,7 +46,6 @@ export function EventDescriptionCard({
{children}
-
); } + +function getIcon(platform: string) { + switch (platform) { + case "Twitch": + return Twitch; + case "Discord": + return Discord; + case "Instagram": + return Instagram; + case "Facebook": + return Facebook; + default: + return null; + } +} diff --git a/components/Navbar.tsx b/components/Navbar.tsx index 3c603984..8bb7155b 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -38,6 +38,10 @@ const menu: NavLink[] = [ name: "Code of Conduct", route: "/about/code-of-conduct", }, + { + name: "Our Supporters", + route: "/about/our-supporters", + }, ], }, { diff --git a/components/SocialLinks.module.css b/components/SocialLinks.module.css index 99ca6366..98f5e00b 100644 --- a/components/SocialLinks.module.css +++ b/components/SocialLinks.module.css @@ -13,3 +13,11 @@ width: calc(40rem / 16); height: calc(40rem / 16); } + +.blue { + fill: var(--blue-1); +} + +.white { + fill: var(--white); +} diff --git a/components/SocialLinks.tsx b/components/SocialLinks.tsx index 7f8714d3..91847ac4 100644 --- a/components/SocialLinks.tsx +++ b/components/SocialLinks.tsx @@ -2,7 +2,7 @@ import React from "react"; import styles from "./SocialLinks.module.css"; interface Props { - color: "white" | "gradient"; + color: "white" | "gradient" | "blue"; size: "small" | "big"; } @@ -75,10 +75,11 @@ function InstagramSvg(color: string) { ); @@ -104,7 +105,8 @@ function DiscordSvg(color: string) { fillRule="evenodd" clipRule="evenodd" d="M24.4845 0.872314C26.1684 0.872314 27.5394 2.20412 27.5394 3.85441V29.8247L24.3355 27.0742L22.5323 25.4529L20.6249 23.7302L21.4147 26.4083H4.51584C2.83192 26.4083 1.46094 25.0765 1.46094 23.4262V3.85441C1.46094 2.20412 2.83192 0.872314 4.51584 0.872314H24.4845V0.872314ZM18.7323 19.7782C22.0256 19.6769 23.2923 17.5778 23.2923 17.5778C23.2923 12.9165 21.1464 9.13822 21.1464 9.13822C19.0005 7.57479 16.959 7.61822 16.959 7.61822L16.7504 7.84984C19.2837 8.6026 20.4609 9.68831 20.4609 9.68831C18.9111 8.86317 17.3911 8.45784 15.9755 8.2986C14.9025 8.18279 13.8743 8.21174 12.9653 8.32755L12.7119 8.35651C12.1904 8.39993 10.9237 8.58812 9.32917 9.26851C8.7778 9.5146 8.44996 9.68831 8.44996 9.68831C8.44996 9.68831 9.68682 8.5447 12.3692 7.79193L12.2202 7.61822C12.2202 7.61822 10.1786 7.57479 8.0327 9.13822C8.0327 9.13822 5.88682 12.9165 5.88682 17.5778C5.88682 17.5778 7.13859 19.6769 10.4319 19.7782C10.4319 19.7782 10.9833 19.1268 11.4304 18.5767C9.5378 18.0266 8.82251 16.8685 8.82251 16.8685L9.23976 17.1146L9.29937 17.158L9.35774 17.1906L9.37512 17.1978L9.43349 17.2304C9.80604 17.4331 10.1786 17.5923 10.5213 17.7226C11.1323 17.9542 11.8625 18.1858 12.7119 18.3451C13.8296 18.5477 15.1409 18.6201 16.5715 18.3596C17.2719 18.2437 17.9872 18.0411 18.7323 17.7371C19.2539 17.5489 19.8351 17.2738 20.446 16.883C20.446 16.883 19.7009 18.07 17.7488 18.6056C18.1958 19.1557 18.7323 19.7782 18.7323 19.7782ZM11.8029 13.0178C10.9535 13.0178 10.2829 13.7416 10.2829 14.6247C10.2829 15.5077 10.9684 16.2316 11.8029 16.2316C12.6523 16.2316 13.3229 15.5077 13.3229 14.6247C13.3378 13.7416 12.6523 13.0178 11.8029 13.0178ZM17.2421 13.0178C16.3927 13.0178 15.7221 13.7416 15.7221 14.6247C15.7221 15.5077 16.4076 16.2316 17.2421 16.2316C18.0915 16.2316 18.7621 15.5077 18.7621 14.6247C18.7621 13.7416 18.0915 13.0178 17.2421 13.0178Z" - fill={color === "gradient" ? "url(#bluegreen-gradient)" : "white"} + className={color !== "gradient" ? styles[color] : ""} + fill={color === "gradient" ? "url(#bluegreen-gradient)" : ""} /> @@ -112,7 +114,8 @@ function DiscordSvg(color: string) { @@ -137,15 +140,18 @@ function TwitchSvg(color: string) { @@ -153,7 +159,8 @@ function TwitchSvg(color: string) { @@ -179,7 +186,8 @@ function FacebookSvg(color: string) { fillRule="evenodd" clipRule="evenodd" d="M5.33268 2.66675H26.666C28.1388 2.66675 29.3327 3.86066 29.3327 5.33342V26.6668C29.3327 28.1395 28.1388 29.3334 26.666 29.3334H5.33268C3.85992 29.3334 2.66602 28.1395 2.66602 26.6668V5.33342C2.66602 3.86066 3.85992 2.66675 5.33268 2.66675ZM5.3311 5.33333V26.6667H26.6644V5.33333H5.3311ZM14.8428 16.0059H17.332V24H19.9987V16.0059H22.6419V13.3392H19.9987V12C19.9987 11.2636 20.5957 10.6667 21.332 10.6667H22.6654V8H21.332C19.1229 8 17.332 9.79086 17.332 12V13.3392H14.8428V16.0059Z" - fill={color === "gradient" ? "url(#bluegreen-gradient)" : "white"} + className={color !== "gradient" ? styles[color] : ""} + fill={color === "gradient" ? "url(#bluegreen-gradient)" : ""} /> ); diff --git a/content/our-supporters.mdx b/content/our-supporters.mdx new file mode 100644 index 00000000..10e6003c --- /dev/null +++ b/content/our-supporters.mdx @@ -0,0 +1,31 @@ +## Mathematics Endowment Fund + +The [Mathematics Endowment Fund](https://uwaterloo.ca/math-endowment-fund/) has provided funding for a variety of projects, events, and hardware: + +- A new disk shelf (24 disks x 2TB) for the NetApp filers donated by CSCF and MFCF, to be used to improve home directories +- Ginkgo, a server to improve CSC web hosting services +- Drives for Potassium-Benzoate, the server that runs [mirror.csclub.uwaterloo.ca](http://mirror.csclub.uwaterloo.ca/) +- Potassium-Benzoate, the server that runs [mirror.csclub.uwaterloo.ca](http://mirror.csclub.uwaterloo.ca/) +- High-Fructose Corn Syrup, a server used for high performance computing +- Sodium-Benzoate, the server that previously ran [mirror.csclub.uwaterloo.ca](http://mirror.csclub.uwaterloo.ca/) +- A gigabit switch for the MathSoc offices (including ours) +- Academic talks +- Linux CDs for first-year students +- Caffeine, our primary server +- Various books for the CSC library + +The Computer Science club graciously thanks the Mathematics Endowment Fund for their financial support. + +## MathSoc Capital Improvements Fund + +The [MathSoc Capital Improvements Fund](http://mathsoc.uwaterloo.ca/council/policies/Capital+Improvements+Fund) has provided funding of new office hardware: + +- Strombola and Bit-Shifter hardware upgrade (new motherboard, CPU and RAM) +- 2x 8-port 10Gbps SFP+ network cards for the Math Student Orgs routers/switches +- Natural-Flavours hardware upgrade (new motherboard, CPU and RAM) + +## Student Life Endowment Fund + +The [Student Life Endowment Fund](https://feds.ca/funding#fund-slef) has provided funding of new hardware: + +- Biloba, a server to improve CSC web hosting services diff --git a/pages/about/our-supporters.module.css b/pages/about/our-supporters.module.css new file mode 100644 index 00000000..0ee1b98c --- /dev/null +++ b/pages/about/our-supporters.module.css @@ -0,0 +1,56 @@ +.container { + margin: 0 auto; + max-width: calc(806rem / 16); + padding: 0 calc(60rem / 16); +} + +.headerContainer { + display: flex; + flex-direction: row; + align-items: flex-end; + padding-bottom: 1rem; + border-bottom: calc(1rem / 16) solid var(--purple-2); +} + +.header { + color: var(--purple-2); + font-size: calc(48rem / 16); + margin: 0 1rem 0 0; + text-align: center; +} + +.title { + font-weight: 600; + font-size: calc(24rem / 16); + line-height: calc(36 / 24); + color: var(--blue-2); + margin-top: calc(35rem / 16); +} + +.text { + line-height: calc(24 / 16); +} + +@media only screen and (max-width: calc(768rem / 16)) { + .container { + padding: 0 calc(45rem / 16); + } + + .headerContainer { + flex-direction: column-reverse; + align-items: center; + border: none; + } + + .header { + font-size: calc(24rem / 16); + } + + .codey { + width: calc(100rem / 16); + } + + .list { + padding: 0 calc(18rem / 16); + } +} diff --git a/pages/about/our-supporters.tsx b/pages/about/our-supporters.tsx new file mode 100644 index 00000000..dc79825b --- /dev/null +++ b/pages/about/our-supporters.tsx @@ -0,0 +1,34 @@ +import { MDXProvider } from "@mdx-js/react"; +import React, { HTMLAttributes } from "react"; +import { Image } from "../../components/Image"; +import Content from "../../content/our-supporters.mdx"; +import styles from "./our-supporters.module.css"; + +export default function OurSupporters() { + return ( + +
+
+

Our Supporters

+ +
+ +
+
+ ); +} + +function H2(props: HTMLAttributes) { + return

; +} + +function Text(props: HTMLAttributes) { + return

; +} + +function UL(props: HTMLAttributes) { + return

    ; +} diff --git a/public/our-supporters/supporters-codey.svg b/public/our-supporters/supporters-codey.svg new file mode 100644 index 00000000..d6e9872a --- /dev/null +++ b/public/our-supporters/supporters-codey.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +