-
- Get started by editing
- src/app/page.tsx
-
-
+ );
}
diff --git a/src/components/landing/landing.tsx b/src/components/landing/landing.tsx
new file mode 100644
index 0000000..3b5b8ea
--- /dev/null
+++ b/src/components/landing/landing.tsx
@@ -0,0 +1,27 @@
+import Image from "next/image";
+import LandingTitle from "./title";
+
+export default function Landing() {
+ return (
+
+
+
+
+
+ A place where students interested in coding can discuss the CS
+ major,
+
+ interact outside of classes, and work on cool projects.
+
+
+
+
+
+ );
+}
diff --git a/src/components/landing/title.tsx b/src/components/landing/title.tsx
new file mode 100644
index 0000000..11c0680
--- /dev/null
+++ b/src/components/landing/title.tsx
@@ -0,0 +1,95 @@
+"use client";
+import { useEffect, useState } from "react";
+
+export default function LandingTitle() {
+ const [title, setTitle] = useState(" ");
+
+ const landings = [
+ {
+ lang: "js",
+ start: "const name = ",
+ },
+ {
+ lang: "python",
+ start: "name = ",
+ },
+ {
+ lang: "java",
+ start: "String name = ",
+ },
+ {
+ lang: "C++",
+ start: "std::string name = ",
+ },
+ {
+ lang: "swift",
+ start: "let name = ",
+ },
+ {
+ lang: "go",
+ start: "var name string = ",
+ },
+ {
+ lang: "goShort",
+ start: "name := "
+ },
+ {
+ lang: "PHP",
+ start: "$name = ",
+ },
+ {
+ lang: "lua",
+ start: "local name = "
+ },
+ {
+ lang: "R",
+ start: "name <- "
+ },
+ {
+ lang: "Perl",
+ start: "my $myString = "
+ },
+ ];
+
+ function chooseLang(len: number): number {
+ return Math.floor(Math.random() * len);
+ }
+
+ async function type(str: string) {
+ for (let i = 1; i <= str.length; i++) {
+ setTitle(str.substring(0, i) + "|");
+ await new Promise((res) => setTimeout(res, 50));
+ }
+
+ for (let i = 0; i < 3; i++){
+ await new Promise((res) => setTimeout(res, 700));
+ setTitle(str)
+ await new Promise((res) => setTimeout(res, 300));
+ setTitle(str + "|")
+ }
+ await new Promise((res) => setTimeout(res, 700));
+ setTitle(str)
+ await new Promise((res) => setTimeout(res, 300));
+
+ for (let i = str.length; i > 0; i--) {
+ setTitle(str.substring(0, i) + "|");
+ await new Promise((res) => setTimeout(res, 25));
+ }
+
+ setTitle("|");
+ await new Promise((res) => setTimeout(res, 500));
+ }
+
+ async function runTitle() {
+ const langnum = chooseLang(landings.length);
+ const choice = landings[langnum];
+ await type(choice.start + '"We are Code_Wes!"');
+ runTitle()
+ }
+
+ useEffect(() => {
+ runTitle()
+ }, []);
+
+ return
{title}
;
+}
diff --git a/src/components/links/links.tsx b/src/components/links/links.tsx
new file mode 100644
index 0000000..a280d0c
--- /dev/null
+++ b/src/components/links/links.tsx
@@ -0,0 +1,10 @@
+import LinkTags from "./linktags";
+
+export default function Links() {
+ return (
+
+ );
+}
diff --git a/src/components/links/linktags.tsx b/src/components/links/linktags.tsx
new file mode 100644
index 0000000..143a018
--- /dev/null
+++ b/src/components/links/linktags.tsx
@@ -0,0 +1,60 @@
+import Image from "next/image";
+
+export default function LinkTags() {
+ const sources = [
+ {
+ thing: "Discord",
+ img: "/vectors/discord-icon-svgrepo-com.svg",
+ typ: "svg",
+ link: "https://discord.gg/abTZpXBM7",
+ bg: "bg-[#0d1117] ",
+ },
+ {
+ thing: "GitHub",
+ img: "/vectors/github-color-svgrepo-com.svg",
+ typ: "svg",
+ link: "https://github.com/orgs/Code-Wes/repositories",
+ bg: "bg-[#0d1117] ",
+ },
+ {
+ thing: "WesNest",
+ img: "/vectors/wesnest.png",
+ typ: "png",
+ link: "https://wesleyan.campuslabs.com/engage/organization/code_wes",
+ bg: "bg-white ",
+ },
+ ];
+
+ return (
+
+
{/* Here to take the first col */}
+ {sources.map((source) => {
+ if (source.typ == "svg") {
+ return (
+
+
+
+ );
+ } else {
+ return (
+
+
+
+ );
+ }
+ })}
+
+ );
+}
diff --git a/src/components/team/person.tsx b/src/components/team/person.tsx
new file mode 100644
index 0000000..56d1ba1
--- /dev/null
+++ b/src/components/team/person.tsx
@@ -0,0 +1,23 @@
+import Image from "next/image";
+
+interface personinput {
+ name: string;
+ img: string;
+ desc: string;
+}
+
+export default function Person({ name, img, desc }: personinput) {
+ return (
+
+ );
+}
diff --git a/src/components/team/team.tsx b/src/components/team/team.tsx
new file mode 100644
index 0000000..e9fad91
--- /dev/null
+++ b/src/components/team/team.tsx
@@ -0,0 +1,25 @@
+import Person from "./person";
+
+export default function Team() {
+ const people = [
+ { name: "Daniel Goldelman", img: "/Daniel.jpg", desc: "Masters Student, Founder" },
+ { name: "Gunn Jungpaibul", img: "/Daniel.jpg", desc: "Senior" },
+ { name: "Anan Afrida", img: "/Daniel.jpg", desc: "Sophomore, FM, President" },
+ { name: "Nishant Aggarwal Kim", img: "/Daniel.jpg", desc: "Sophomore, Kim's Baby Momma" },
+ ];
+
+ return (
+
+
Code_Wes Leadership
+
+ {people.map((person) => {
+ return (
+
+ );
+ })}
+
+
+ );
+}