From cb1676f95fe1c6e982a98dd0cd6b8becedfbc652 Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner Date: Mon, 28 Apr 2025 10:11:17 +0200 Subject: [PATCH] Add Random-Script Site --- frontend/src/app/random-script/page.tsx | 68 +++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 frontend/src/app/random-script/page.tsx diff --git a/frontend/src/app/random-script/page.tsx b/frontend/src/app/random-script/page.tsx new file mode 100644 index 0000000..8118b29 --- /dev/null +++ b/frontend/src/app/random-script/page.tsx @@ -0,0 +1,68 @@ +"use client"; + +import { useEffect, useState } from "react"; +import { fetchCategories } from "@/lib/data"; +import { Category, Script } from "@/lib/types"; +import { ScriptItem } from "@/app/scripts/_components/ScriptItem"; +import { Loader2, RefreshCw } from "lucide-react"; + +function getRandomScript(categories: Category[]): Script | null { + const allScripts = categories.flatMap((cat) => cat.scripts || []); + if (allScripts.length === 0) return null; + const idx = Math.floor(Math.random() * allScripts.length); + return allScripts[idx]; +} + +export default function RandomScriptPage() { + const [categories, setCategories] = useState([]); + const [randomScript, setRandomScript] = useState