"use client"; import Image from "next/image"; import { Suspense, useEffect, useState, useMemo } from "react"; import { extractDate } from "@/lib/time"; import { Button } from "./ui/button"; import { toast } from "sonner"; import { Clipboard, Info, X, Code, Globe, BookOpenText, ExternalLink, Copy, } from "lucide-react"; import { Separator } from "@/components/ui/separator"; import Link from "next/link"; import { Category, Script } from "@/lib/types"; import { useSearchParams } from "next/navigation"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import LatestScripts from "./LatestScripts"; import MostViewedScripts from "./MostViewedScripts"; import RecentlyUpdatedScripts from "./RecentlyUpdatedScripts"; function ScriptItem({ items, selectedScript, setSelectedScript, }: { items: Category[]; selectedScript: string | null; setSelectedScript: (script: string | null) => void; }) { const [item, setItem] = useState