52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
export type InstallLang = "en" | "cn";
|
|
|
|
export type InstallOption = {
|
|
id: string;
|
|
label: string;
|
|
href: string;
|
|
};
|
|
|
|
type DownloadArtifact = {
|
|
id: string;
|
|
labels: Record<InstallLang, string>;
|
|
suffix: string;
|
|
};
|
|
|
|
const DOWNLOAD_BASE_URL = "https://dl.dbxio.com/releases/latest";
|
|
|
|
const downloadArtifacts: DownloadArtifact[] = [
|
|
{
|
|
id: "macos-arm",
|
|
labels: { en: "For macOS (Apple Silicon)", cn: "适用于 macOS (Apple Silicon)" },
|
|
suffix: "aarch64.dmg",
|
|
},
|
|
{
|
|
id: "macos-intel",
|
|
labels: { en: "For macOS (Intel)", cn: "适用于 macOS (Intel)" },
|
|
suffix: "x64.dmg",
|
|
},
|
|
{
|
|
id: "windows",
|
|
labels: { en: "For Windows", cn: "适用于 Windows" },
|
|
suffix: "x64-setup.exe",
|
|
},
|
|
{
|
|
id: "linux",
|
|
labels: { en: "For Linux x64", cn: "适用于 Linux x64" },
|
|
suffix: "amd64.AppImage",
|
|
},
|
|
{
|
|
id: "linux-arm",
|
|
labels: { en: "For Linux ARM64", cn: "适用于 Linux ARM64" },
|
|
suffix: "aarch64.AppImage",
|
|
},
|
|
];
|
|
|
|
export function createInstallOptions(lang: InstallLang, version: string): InstallOption[] {
|
|
return downloadArtifacts.map((artifact) => ({
|
|
id: artifact.id,
|
|
label: artifact.labels[lang],
|
|
href: `${DOWNLOAD_BASE_URL}/DBX_${version}_${artifact.suffix}?v=${version}`,
|
|
}));
|
|
}
|