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 0000000..d7884da
Binary files /dev/null and b/public/images/liked.png differ