From 3994f3dff1cb8cd8403327808cfc147080534f03 Mon Sep 17 00:00:00 2001 From: alex 3 Date: Sun, 22 Oct 2023 21:13:05 -0400 Subject: [PATCH] Index page updates --- src/components/Dropdown.tsx | 22 ++++++++++++++++ src/components/ProjectsCard.tsx | 23 +++++++++++++++++ src/components/footer.tsx | 3 +++ src/pages/index.tsx | 45 +++++++++++++++++++++++++++++++-- 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 src/components/Dropdown.tsx create mode 100644 src/components/ProjectsCard.tsx diff --git a/src/components/Dropdown.tsx b/src/components/Dropdown.tsx new file mode 100644 index 0000000..a4db05d --- /dev/null +++ b/src/components/Dropdown.tsx @@ -0,0 +1,22 @@ +import React, {useState} from 'react'; + +type DropdownProps = { + name: string, + content: React.JSX.Element[] +} + +export default function Dropdown(props: DropdownProps) { + const [active, setActive] = useState(false) + return ( + <> +
active ? setActive(false) : setActive(true)}> + {props.name} +
+
+ +
+ {props.content} +
+ + ) +} \ No newline at end of file diff --git a/src/components/ProjectsCard.tsx b/src/components/ProjectsCard.tsx new file mode 100644 index 0000000..c5ef4c1 --- /dev/null +++ b/src/components/ProjectsCard.tsx @@ -0,0 +1,23 @@ +import Link from "next/link" + +type ProjectCardProps = { + name: string, + key: string, + description: string, + urlTo: string +} + +export default function ProjectCard(props: ProjectCardProps) { + return ( + +
+
+
+

{props.name}

+

{props.description}

+
+
+
+ + ) +} \ No newline at end of file diff --git a/src/components/footer.tsx b/src/components/footer.tsx index 066108d..e948732 100644 --- a/src/components/footer.tsx +++ b/src/components/footer.tsx @@ -10,6 +10,9 @@ export default function Footer() { alex@alexavfrantz.com

+

+ All music, game, TV and movie covers are owned by their respective authors. +

© Alex Frantz, 2023

diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 98e4614..934d1fb 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,14 +1,55 @@ import Header from "@/components/header"; import Footer from "@/components/footer"; +import Dropdown from "@/components/Dropdown"; +import ProjectCard from "@/components/ProjectsCard"; +import Image from 'next/image'; export default function Home() { return (
-

test

+ + + + +
) -} \ No newline at end of file +} + +function Projects() { + return [ + , + + ] +} + +function Games() { + return [ + TLOU Firefly, + Spiderman, + Red Dead Redemption 2 + ] +} + +function Music() { + return [ + 5 Seconds of Summer Cover, + TLOU Covers and Rarities Cover, + Zach Bryan Cover, + Reputation Cover + ] +} \ No newline at end of file