From bfad01fc91f6dc9590dd1d6d93b64d1ffb64f5c1 Mon Sep 17 00:00:00 2001 From: Bram Suurd Date: Mon, 29 Sep 2025 16:54:51 +0200 Subject: [PATCH] refactor: replace useQueryState with useSuspenseQueryState in ScriptContent and MobileSidebar components; add use-suspense-query-state hook --- frontend/src/app/scripts/page.tsx | 6 ++--- .../components/navigation/mobile-sidebar.tsx | 18 +++++++++---- .../src/hooks/use-suspense-query-state.ts | 27 +++++++++++++++++++ 3 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 frontend/src/hooks/use-suspense-query-state.ts diff --git a/frontend/src/app/scripts/page.tsx b/frontend/src/app/scripts/page.tsx index 906611216..f930f35a1 100644 --- a/frontend/src/app/scripts/page.tsx +++ b/frontend/src/app/scripts/page.tsx @@ -1,10 +1,10 @@ "use client"; import { Suspense, useEffect, useState } from "react"; import { Loader2 } from "lucide-react"; -import { useQueryState } from "nuqs"; import type { Category, Script } from "@/lib/types"; +import { useSuspenseQueryState } from "@/hooks/use-suspense-query-state"; import { ScriptItem } from "@/app/scripts/_components/script-item"; import { fetchCategories } from "@/lib/data"; @@ -14,8 +14,8 @@ import Sidebar from "./_components/sidebar"; export const dynamic = "force-static"; function ScriptContent() { - const [selectedScript, setSelectedScript] = useQueryState("id"); - const [selectedCategory, setSelectedCategory] = useQueryState("category"); + const [selectedScript, setSelectedScript] = useSuspenseQueryState("id"); + const [selectedCategory, setSelectedCategory] = useSuspenseQueryState("category"); const [links, setLinks] = useState([]); const [item, setItem] = useState