diff --git a/src/app/themes/[theme]/page.tsx b/src/app/themes/[theme]/page.tsx
new file mode 100644
index 0000000..2487886
--- /dev/null
+++ b/src/app/themes/[theme]/page.tsx
@@ -0,0 +1,24 @@
+"use client";
+import Footer from "@/components/footer";
+import { Navigation } from "@/components/navigation";
+import ThemePage from "@/components/theme-page";
+import { getThemeFromId } from "@/lib/themes";
+import { useParams } from "next/navigation";
+
+export default function ThemeInfoPage() {
+ const params = useParams<{ theme: string }>();
+ const { theme: themeID } = params;
+
+ const theme = getThemeFromId(themeID);
+ if (!theme) {
+ return
Theme not found
;
+ }
+
+ return (
+
+
+
+ {/* At the bottom of the page */}
+
+ );
+}
\ No newline at end of file
diff --git a/src/components/theme-card.tsx b/src/components/theme-card.tsx
index 085507b..42aef0f 100644
--- a/src/components/theme-card.tsx
+++ b/src/components/theme-card.tsx
@@ -1,6 +1,6 @@
import { ZenTheme } from "@/lib/themes";
import styled from "styled-components";
-import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "./ui/dialog";
+import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "./ui/dialog";
import { Button } from "./ui/button";
const ThemeCardWrapepr = styled.div`
@@ -12,37 +12,19 @@ export default function ThemeCard({
theme: ZenTheme;
}) {
return (
-
+ {
+ window.open(`/themes/${theme.id}`, "_self");
+ }} className="flex flex-col justify-start p-6 rounded-lg shadow-md bg-muted/50 border border-muted w-full hover:shadow-lg transition duration-300 ease-in-out hover:bg-muted/100 hover:border-blue-500 cursor-pointer select-none hover:border-blue-500 hover:shadow-lg">
+
+
+ {theme.description}
+
);
}
diff --git a/src/components/theme-page.tsx b/src/components/theme-page.tsx
new file mode 100644
index 0000000..c793b1b
--- /dev/null
+++ b/src/components/theme-page.tsx
@@ -0,0 +1,27 @@
+import { ZenTheme } from "@/lib/themes";
+import { Button } from "./ui/button";
+
+export default function ThemePage({ theme }: { theme: ZenTheme }) {
+ return (
+
+
+
{theme.name}
+
{theme.description}
+ {theme.homepage && (
+
+ Visit Homepage
+
+ )}
+
+
+
+
+ );
+}