+
+
+ );
+}
diff --git a/components/Input.module.css b/components/Input.module.css
new file mode 100644
index 00000000..7fcb4c83
--- /dev/null
+++ b/components/Input.module.css
@@ -0,0 +1,37 @@
+.input {
+ display: block;
+ width: 100%;
+ margin: calc(21rem / 16) 0;
+ padding: calc(10rem / 16) calc(32rem / 16);
+
+ box-sizing: border-box;
+ border: 0;
+ border-radius: calc(20rem / 16);
+
+ background-color: var(--grey-1-24);
+ font-size: calc(18rem / 16);
+ line-height: calc(30rem / 16);
+ color: var(--grey-3);
+}
+
+.input::placeholder {
+ color: var(--grey-2);
+ font-weight: 700;
+}
+
+.input:is(:active, :hover, :focus) {
+ box-sizing: border-box;
+ border: calc(3rem / 16) solid var(--blue-1);
+ border-radius: calc(20rem / 16);
+ outline: none;
+ padding: calc(7rem / 16) calc(28rem / 16);
+}
+
+/* TODO: make this only happen if the form is clicked on? */
+/* .form input:invalid {
+ box-sizing: border-box;
+ border: calc(3rem / 16) solid var(--red);
+ border-radius: calc(20rem / 16);
+ outline: none;
+ padding: calc(7rem / 16) calc(28rem / 16);
+} */
diff --git a/components/Input.tsx b/components/Input.tsx
new file mode 100644
index 00000000..477b3045
--- /dev/null
+++ b/components/Input.tsx
@@ -0,0 +1,8 @@
+import React, { InputHTMLAttributes } from "react";
+import styles from "./Input.module.css";
+
+export function Input(props: InputHTMLAttributes) {
+ return (
+
+ );
+}
diff --git a/components/SocialLinks.module.css b/components/SocialLinks.module.css
index 98f5e00b..200a8587 100644
--- a/components/SocialLinks.module.css
+++ b/components/SocialLinks.module.css
@@ -1,12 +1,15 @@
.link,
.links {
- display: flex;
+ display: inline-flex;
align-items: center;
- justify-content: center;
}
-.links > * {
- margin: 0 calc(10rem / 16);
+.link {
+ margin-left: calc(20rem / 16);
+}
+
+.link:first-child {
+ margin-left: 0;
}
.big > * {
diff --git a/content/get-involved.mdx b/content/get-involved.mdx
new file mode 100644
index 00000000..fef63b05
--- /dev/null
+++ b/content/get-involved.mdx
@@ -0,0 +1,85 @@
+**Everyone at the University of Waterloo is welcome to come to our events and to
+use our resources!** Feel free to join our communities and chat with our
+members. However, if you wanted to officially become a member or support our
+vision of creating a supportive environment for all computing students, there's
+a bunch of ways you can join and help out.
+
+## How to Join
+
+### General Membership
+
+
+ In-person Term
+
+1. Drop by our office in **MC 3036/3037** with
+ - your WatCard, and
+ - $2 for term that you would like to pay for
+2. Sign our [Machine Usage Agreement](https://csclub.uwaterloo.ca/services/machine_usage)
+
+That's all! After your account created, you'll have access to all the
+[services](https://csclub.uwaterloo.ca/services/) available to members.
+
+#### Membership Renewal
+
+If you are already a member of the CSC and want to renew your membership, you
+can do so by coming in person to our office.
+
+
+
+
+ Online Term
+
+Email the CSC Systems Committee at
+[syscom@csclub.uwaterloo.ca](mailto:syscom@csclub.uwaterloo.ca) from your
+University of Waterloo email address with the following:
+
+1. a scan or photograph copy of your **WatCard**,
+2. your **WatIAM userid**, and
+3. your acknowledgement of having read, understood, and agreeing with our
+[Machine Usage Agreement](https://csclub.uwaterloo.ca/services/machine_usage).
+
+#### Membership Renewal
+
+For this online term, you do not need to pay the $2 fee to renew your
+membership. We have extended the memberships of all members who had already
+previously paid for membership or have joined CS Club during an online term.
+
+
+
+### Executive Committees
+
+Are you interested in using your skills to get involved with CSC? We have
+committees covering everything from design to development, so no matter your
+interests, we’ve got a place for you.
+
+**CSC hires at the end of every term**, so make sure to stay connected through
+social media to keep up to date on when applications open!
+
+#### Programme Committee
+
+- In charge of planning, advertising, and running all events hosted by CSC.
+- Voices concerns/ideas on behalf of the CS community.
+
+#### Website Committee
+
+- Creates functional and modern design for the CSC website.
+- Builds and maintains the static website, updating content for events and news.
+
+#### Systems Committee
+
+- Maintaining all services that CSC provides which includes file share, DNS,
+mail, configuration for IRC, Mattermost, Git hosting.
+- Managing mirrors used by large public organizations and 1000s of people
+internationally.
+
+### Elected Roles
+Each term the CSC holds elections to determine the executive council.
+
+- President
+- Vice-President
+- Assistant Vice-President
+- Treasurer
+
+To find out when and where the next elections will be held, keep an eye on on the [News](/).
+
+For details on the elections, see the [Constitution](https://csclub.uwaterloo.ca/about/constitution).
\ No newline at end of file
diff --git a/pages/_app.css b/pages/_app.css
index 2e36b3df..49ea8800 100644
--- a/pages/_app.css
+++ b/pages/_app.css
@@ -17,6 +17,11 @@ body {
--purple-1: #525284;
--purple-2: #2a2a62;
--black: #000000;
+ --grey-1: #c4c4c4;
+ --grey-1-24: #c4c4c440;
+ --grey-2: #bbbbbb;
+ --grey-3: #6b6b6b;
+ --red: #9f616a;
--gradient-blue-green: linear-gradient(
99.94deg,
#1481e3 -17.95%,
@@ -85,3 +90,7 @@ h4 {
font-size: calc(18rem / 16);
font-weight: 600;
}
+
+input {
+ font-family: "Poppins", "sans-serif";
+}
diff --git a/pages/about/our-supporters.tsx b/pages/about/our-supporters.tsx
index 68925bd6..426cadee 100644
--- a/pages/about/our-supporters.tsx
+++ b/pages/about/our-supporters.tsx
@@ -8,10 +8,7 @@ export default function OurSupporters() {
<>
+ If you’re interested in helping out with CS Club, don’t hesitate to
+ get in touch with us!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/pages/playground.mdx b/pages/playground.mdx
index 3a38453a..af488e24 100644
--- a/pages/playground.mdx
+++ b/pages/playground.mdx
@@ -9,6 +9,8 @@ import {
OrganizedContentDemo,
ButtonDemo,
} from "../components/playground";
+import { ConnectWithUs } from "../components/ConnectWithUs"
+import { EmailSignup } from "../components/EmailSignup"
import { TeamMemberCard } from "../components/TeamMemberCard";
@@ -90,3 +92,19 @@ The `` component is used on various pages such as Meet the Team! and Our
---
+
+## ``
+
+The `` component is used on various pages such as the About page and the Get Involved Page!
+
+
+
+---
+
+## ``
+
+The `` component is used on various pages such as the About page and the Get Involved Page!
+
+
+
+---
diff --git a/public/images/get-involved/codey.svg b/public/images/get-involved/codey.svg
new file mode 100644
index 00000000..26a7897a
--- /dev/null
+++ b/public/images/get-involved/codey.svg
@@ -0,0 +1,41 @@
+
diff --git a/public/our-supporters/supporters-codey.svg b/public/images/our-supporters/codey.svg
similarity index 100%
rename from public/our-supporters/supporters-codey.svg
rename to public/images/our-supporters/codey.svg