From 738972087bb708979c5836cacebb9658771d0caf Mon Sep 17 00:00:00 2001 From: Zachary MacArthur <91560582+Zachary-MacArthur@users.noreply.github.com> Date: Thu, 12 Dec 2024 12:24:18 -0500 Subject: [PATCH] 2 --- .gitignore | 2 + app/(site)/page.tsx | 50 +++++++++++++- components/Button.tsx | 41 ++++++++++++ components/Header.tsx | 143 ++++++++++++++++++++++++++++++++++++++++ components/ListItem.tsx | 76 +++++++++++++++++++++ public/images/liked.png | Bin 0 -> 20686 bytes 6 files changed, 310 insertions(+), 2 deletions(-) create mode 100644 components/Button.tsx create mode 100644 components/Header.tsx create mode 100644 components/ListItem.tsx create mode 100644 public/images/liked.png diff --git a/.gitignore b/.gitignore index 5ef6a52..e8ccb8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. +password.txt + # dependencies /node_modules /.pnp diff --git a/app/(site)/page.tsx b/app/(site)/page.tsx index d8669da..5fe0886 100644 --- a/app/(site)/page.tsx +++ b/app/(site)/page.tsx @@ -1,7 +1,53 @@ - +import Header from "@/components/Header" +import ListItem from "@/components/ListItem" export default function Home() { return ( -
Main Content
+
+
+
+

+ Welcome back +

+
+ +
+
+
+
+
+

+ New songs +

+
+
+ List of songs +
+
+
); } diff --git a/components/Button.tsx b/components/Button.tsx new file mode 100644 index 0000000..7c11698 --- /dev/null +++ b/components/Button.tsx @@ -0,0 +1,41 @@ +import { forwardRef } from "react"; +import { twMerge } from "tailwind-merge" +interface ButtonProps extends React.ButtonHTMLAttributes{} +const Button = forwardRef(({ + className, + children, + disabled, + type = "button", + ...props +}, ref) => { + return ( + + ) +}) + +Button.displayName = "Button" +export default Button; \ No newline at end of file diff --git a/components/Header.tsx b/components/Header.tsx new file mode 100644 index 0000000..6f9e0a9 --- /dev/null +++ b/components/Header.tsx @@ -0,0 +1,143 @@ +"use client" +import { useRouter } from "next/navigation" +import { twMerge } from "tailwind-merge" +import { RxCaretLeft, RxCaretRight } from "react-icons/rx" +import { HiHome } from "react-icons/hi"; +import { BiSearch } from "react-icons/bi"; +import Button from "./Button" +interface HeaderProps { + children: React.ReactNode; + className?: string; +} + const Header: React.FC = ({ + children, + className + }) => { + const router = useRouter(); + + const handleLogout = () => { + //handle logout + } + return ( +
+
+
+ + +
+
+ + +
+
+ <> +
+ +
+
+ +
+ + +
+ +
+ {children} +
+ ); +} + +export default Header; \ No newline at end of file diff --git a/components/ListItem.tsx b/components/ListItem.tsx new file mode 100644 index 0000000..768fcb4 --- /dev/null +++ b/components/ListItem.tsx @@ -0,0 +1,76 @@ +"use client" + +import Image from "next/image" +import { useRouter } from "next/navigation" +import { FaPlay } from "react-icons/fa" +interface ListItemProps { + image: string; + name: string; + href: string; +} + +const ListItem: React.FC = ({ + image, + name, + href +}) => { + const router = useRouter(); + + const onClick = () => { + //add authentication before push + router.push(href) + } + return ( + + ); +} + +export default ListItem \ No newline at end of file diff --git a/public/images/liked.png b/public/images/liked.png new file mode 100644 index 0000000000000000000000000000000000000000..d7884da9f9236160255cd961b2cb6b0bdf0c3a07 GIT binary patch literal 20686 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

    ^_Ept&-~6UE;6Oz$Qn@7Nt=$t zO=G~c_z}?8L<3RMJHl|WAqhZk8DMg7vB4C~3(5bztrf#%zAO`)P^VSN$-BhpYd_is ubP(c~{x1s0{kMW>|Fc?pFGGK9N>68AN>B2f&;m6GCET37agVSk=>G(j-z+8o literal 0 HcmV?d00001