"use client"; import { extractDate } from "@/lib/time"; import { AppVersion, Script } from "@/lib/types"; import { X } from "lucide-react"; import Image from "next/image"; import { Separator } from "@/components/ui/separator"; import { basePath } from "@/config/siteConfig"; import { useVersions } from "@/hooks/useVersions"; import { cleanSlug } from "@/lib/utils/resource-utils"; import { Suspense } from "react"; import { ResourceDisplay } from "./ResourceDisplay"; import { getDisplayValueFromType } from "./ScriptInfoBlocks"; import Alerts from "./ScriptItems/Alerts"; import DefaultPassword from "./ScriptItems/DefaultPassword"; import Description from "./ScriptItems/Description"; import InstallCommand from "./ScriptItems/InstallCommand"; import Tooltips from "./ScriptItems/Tooltips"; import InterFaces from "./ScriptItems/InterFaces"; import Buttons from "./ScriptItems/Buttons"; interface ScriptItemProps { item: Script; setSelectedScript: (script: string | null) => void; } function ScriptHeader({ item }: { item: Script }) { const defaultInstallMethod = item.install_methods?.[0]; const os = defaultInstallMethod?.resources?.os || "Proxmox Node"; const version = defaultInstallMethod?.resources?.version || ""; return (
Loading versions...
; } const matchedVersion = versions.find((v: AppVersion) => { const cleanName = v.name.replace(/[^a-z0-9]/gi, "").toLowerCase(); return cleanName === cleanSlug(item.slug) || cleanName.includes(cleanSlug(item.slug)); }); if (!matchedVersion) return null; return {matchedVersion.version}; } export function ScriptItem({ item, setSelectedScript }: ScriptItemProps) { const closeScript = () => { window.history.pushState({}, document.title, window.location.pathname); setSelectedScript(null); }; return (