diff --git a/public/Daniel.jpg b/public/Daniel.jpg new file mode 100644 index 0000000..00729bc Binary files /dev/null and b/public/Daniel.jpg differ diff --git a/public/cwlogo.png b/public/cwlogo.png new file mode 100644 index 0000000..4510e9e Binary files /dev/null and b/public/cwlogo.png differ diff --git a/public/next.svg b/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/vectors/discord-icon-svgrepo-com.svg b/public/vectors/discord-icon-svgrepo-com.svg new file mode 100644 index 0000000..c03e8e1 --- /dev/null +++ b/public/vectors/discord-icon-svgrepo-com.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/public/vectors/github-color-svgrepo-com.svg b/public/vectors/github-color-svgrepo-com.svg new file mode 100644 index 0000000..e15fa07 --- /dev/null +++ b/public/vectors/github-color-svgrepo-com.svg @@ -0,0 +1,17 @@ + + + + + Github-color + Created with Sketch. + + + + + + + + + + + \ No newline at end of file diff --git a/public/vectors/wesnest.png b/public/vectors/wesnest.png new file mode 100644 index 0000000..f85e8da Binary files /dev/null and b/public/vectors/wesnest.png differ diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index d2f8422..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 71b3fbf..2e0cdd8 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -4,8 +4,8 @@ import { Inter } from 'next/font/google' const inter = Inter({ subsets: ['latin'] }) export const metadata = { - title: 'Create Next App', - description: 'Generated by create next app', + title: 'Code_Wes', + description: 'Code_Wes Website', } export default function RootLayout({ diff --git a/src/app/page.tsx b/src/app/page.tsx index 7e80296..162bad8 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,113 +1,17 @@ -import Image from 'next/image' +import Landing from "@/components/landing/landing"; +// import Team from "@/components/team/team"; +import Links from "@/components/links/links"; export default function Home() { return ( -
-
-

- Get started by editing  - src/app/page.tsx -

-
- - By{' '} - Vercel Logo - +
+
+
+ + {/* */} +
-
- -
- Next.js Logo -
- -
- -

- Docs{' '} - - -> - -

-

- Find in-depth information about Next.js features and API. -

-
- - -

- Learn{' '} - - -> - -

-

- Learn about Next.js in an interactive course with quizzes! -

-
- - -

- Templates{' '} - - -> - -

-

- Explore the Next.js 13 playground. -

-
- - -

- Deploy{' '} - - -> - -

-

- Instantly deploy your Next.js site to a shareable URL with Vercel. -

-
-
-
- ) + + + ); } 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. +

+
+ Code_Wes Logo +
+
+ ); +} 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 ( +
+
Important Links
+ +
+ ); +} 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 ( + + {source.thing + + ); + } else { + return ( + + {source.thing + + ); + } + })} +
+ ); +} 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 ( +
+ {"Photo +
{name}
+
{desc}
+
+ ); +} 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 ( +
+ +
+ ); + })} +
+
+ ); +}