"use client";
import { ChevronDown, Download, Server } from "lucide-react";
import { useEffect, useMemo, useState } from "react";
import { createInstallOptions, type InstallOption } from "@/lib/downloadLinks";
import { fetchLatestReleaseInfo } from "@/lib/latestRelease";
type InstallTabsProps = {
lang: "en" | "cn";
version: string;
};
const downloadLabel = { en: "Download DBX", cn: "下载 DBX" };
const platformIconPaths = {
dark: {
"linux-arm": "/icons/platform/linux.svg",
linux: "/icons/platform/linux.svg",
"macos-arm": "/icons/platform/macos.png",
"macos-intel": "/icons/platform/macos.png",
windows: "/icons/platform/windows.png",
},
light: {
"linux-arm": "/icons/platform/linux.svg",
linux: "/icons/platform/linux.svg",
"macos-arm": "/icons/platform/macos-white.png",
"macos-intel": "/icons/platform/macos-white.png",
windows: "/icons/platform/windows.png",
},
};
function detectPlatformId(): string {
if (typeof navigator === "undefined") return "macos-arm";
const ua = navigator.userAgent.toLowerCase();
if (ua.includes("win")) return "windows";
if (ua.includes("linux")) return ua.includes("aarch64") || ua.includes("arm") ? "linux-arm" : "linux";
return "macos-arm";
}
function PlatformIcon({ id, size, variant }: { id: string; size: number; variant: "dark" | "light" }) {
const src = platformIconPaths[variant][id as keyof (typeof platformIconPaths)["dark"]];
if (!src) return