From 4eddbde67b8d2e59b9c28d053ae77c57da86b91d Mon Sep 17 00:00:00 2001 From: Bram Suurd Date: Sat, 24 Aug 2024 11:19:32 +0200 Subject: [PATCH] refactor: Optimize fetching categories and remove unused code in page.tsx --- src/app/scripts/page.tsx | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/app/scripts/page.tsx b/src/app/scripts/page.tsx index 15b2f70..49e6196 100644 --- a/src/app/scripts/page.tsx +++ b/src/app/scripts/page.tsx @@ -1,9 +1,10 @@ "use client"; + +import { useEffect, useState } from "react"; +import { Loader2 } from "lucide-react"; import ScriptItem from "@/app/scripts/_components/ScriptItem"; import ScriptBrowser from "@/app/scripts/_components/ScriptBrowser"; import { Category } from "@/lib/types"; -import { useEffect, useState } from "react"; -import { Loader2 } from "lucide-react"; const sortCategories = (categories: Category[]): Category[] => { return categories.sort((a: Category, b: Category) => { @@ -29,20 +30,13 @@ export default function Page() { const [loading, setLoading] = useState(true); useEffect(() => { - const fetchCategories = async (): Promise => { - const response = await fetch("/api/categories", { - next: { revalidate: 60 * 60 * 24 }, - }); - if (!response.ok) { - throw new Error("Failed to fetch categories"); - } - return response.json(); - }; - - const fetchAndSortCategories = async () => { + const fetchCategories = async (): Promise => { try { - setLoading(true); - const categories = await fetchCategories(); + const response = await fetch("/api/categories"); + if (!response.ok) { + throw new Error("Failed to fetch categories"); + } + const categories: Category[] = await response.json(); if (categories.length === 0) { throw new Error("Empty response"); } @@ -55,7 +49,7 @@ export default function Page() { } }; - fetchAndSortCategories(); + fetchCategories(); }, []); if (loading) {