"use client"; import Image from "next/image"; import { useEffect, useState, useMemo } from "react"; import { extractDate } from "@/lib/time"; import { Button } from "../../../components/ui/button"; import { Info, X, Code, Globe, BookOpenText, ExternalLink, ClipboardCheck, } 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 { MostViewedScripts, LatestScripts } from "./ScriptInfoBlocks"; import { Badge } from "@/components/ui/badge"; import { toast } from "sonner"; import CodeCopyButton from "@/components/ui/code-copy-button"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; function ScriptItem({ items, selectedScript, setSelectedScript, }: { items: Category[]; selectedScript: string | null; setSelectedScript: (script: string | null) => void; }) { const [item, setItem] = useState