diff --git a/public/icons/pause.svg b/public/icons/pause.svg
new file mode 100644
index 0000000..afadaa4
--- /dev/null
+++ b/public/icons/pause.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/play.svg b/public/icons/play.svg
new file mode 100644
index 0000000..d40e7d6
--- /dev/null
+++ b/public/icons/play.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/search.svg b/public/icons/search.svg
new file mode 100644
index 0000000..1aaa56f
--- /dev/null
+++ b/public/icons/search.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/app/[stream]/podcasts/podcastCard.tsx b/src/app/[stream]/podcasts/podcastCard.tsx
index 786d639..d76b33d 100644
--- a/src/app/[stream]/podcasts/podcastCard.tsx
+++ b/src/app/[stream]/podcasts/podcastCard.tsx
@@ -21,7 +21,7 @@ export default function PodcastCard({
return (
-
+
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 5a52c13..2cd2b51 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,10 +1,101 @@
+"use client";
+
+import Image from 'next/image';
import Main from './layout/main';
+import { useRef, useState, useEffect } from 'react';
+import { PodcastDto } from '@/common/dtos/podcastDto';
+import { useRouter } from 'next/navigation';
export default function Home() {
+ const inputRef = useRef(null),
+ [podcasts, setPodcasts] = useState([]),
+ router = useRouter(),
+ handleSearchClick = () => {
+ alert(inputRef.current?.value);
+ },
+ handlePodcastClick = (podcast: PodcastDto) => {
+ if (podcast.streamId != null) {
+ router.push(`${process.env.NEXT_PUBLIC_API_BASE_URL}/${podcast.streamId}/podcasts`); // TODO: This should eventually go to the individual player page.
+ }
+ };
+
+ useEffect(() => {
+ fetch(`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/podcasts/random?limit=12`)
+ .then(res => res.json())
+ .then(setPodcasts)
+ .catch(() => setPodcasts([]));
+ }, []);
+
return (
-