'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