diff --git a/src/app/[stream]/podcasts/addPodcastCard.tsx b/src/app/common/components/buttons/addButton.tsx
similarity index 93%
rename from src/app/[stream]/podcasts/addPodcastCard.tsx
rename to src/app/common/components/buttons/addButton.tsx
index 8812e60..cb9e530 100644
--- a/src/app/[stream]/podcasts/addPodcastCard.tsx
+++ b/src/app/common/components/buttons/addButton.tsx
@@ -3,7 +3,7 @@
import { useRouter } from 'next/navigation';
import { useState, useEffect } from 'react';
-export default function AddPodcastCard({ stream }: { stream?: string | string[] }) {
+export default function AddButton({ stream }: { stream?: string | string[] }) {
const router = useRouter(),
defaultBottomOffset = 16,
[bottomOffset, setBottomOffset] = useState(defaultBottomOffset);
diff --git a/src/app/common/components/buttons/DownloadButton.tsx b/src/app/common/components/buttons/downloadIconButton.tsx
similarity index 86%
rename from src/app/common/components/buttons/DownloadButton.tsx
rename to src/app/common/components/buttons/downloadIconButton.tsx
index 66e8c76..b102c4f 100644
--- a/src/app/common/components/buttons/DownloadButton.tsx
+++ b/src/app/common/components/buttons/downloadIconButton.tsx
@@ -1,8 +1,8 @@
"use client";
-import IconExpandTextButton from "./IconExpandTextButton";
+import IconExpandTextButton from "./iconExpandTextButton";
-type DownloadButtonProps = {
+type DownloadIconButtonProps = {
href: string;
iconSrc: string;
iconAlt?: string;
@@ -13,7 +13,7 @@ type DownloadButtonProps = {
disabled?: boolean;
};
-export default function DownloadButton({
+export default function DownloadIconButton({
href,
iconSrc,
iconAlt = "icon",
@@ -22,7 +22,7 @@ export default function DownloadButton({
className = "",
debounceMs,
disabled = false
-}: DownloadButtonProps) {
+}: DownloadIconButtonProps) {
const onClick = (e: React.MouseEvent
) => {
e.preventDefault();
if (disabled) return;
diff --git a/src/app/common/components/buttons/linkIconButton.tsx b/src/app/common/components/buttons/linkIconButton.tsx
new file mode 100644
index 0000000..29d9d47
--- /dev/null
+++ b/src/app/common/components/buttons/linkIconButton.tsx
@@ -0,0 +1,42 @@
+"use client";
+
+import IconExpandTextButton from "./iconExpandTextButton";
+import { useRouter } from "next/navigation";
+
+type LinkIconButtonProps = {
+ href: string;
+ iconSrc: string;
+ iconAlt?: string;
+ text: string;
+ className?: string;
+ debounceMs?: number;
+ disabled?: boolean;
+};
+
+export default function LinkIconButton({
+ href,
+ iconSrc,
+ iconAlt = "icon",
+ text,
+ className = "",
+ debounceMs,
+ disabled = false
+}: LinkIconButtonProps) {
+ const router = useRouter(),
+ onClick = (e: React.MouseEvent) => {
+ e.preventDefault();
+ if (disabled || href == null) return;
+ router.push(href);
+ };
+ return (
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 2cd2b51..66911d2 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -79,7 +79,7 @@ export default function Home() {
{podcasts.map(podcast => (