website: add back download buttons

This commit is contained in:
Kingkor Roy Tirtho 2025-09-12 00:19:00 +06:00
parent c36e819ba3
commit 97370712bc
3 changed files with 87 additions and 109 deletions

View File

@ -1,105 +1,110 @@
import type { IconType } from "react-icons"; import type { IconType } from "react-icons";
import { import {
FaAndroid, FaAndroid,
FaApple, FaApple,
FaDebian, FaDebian,
FaFedora, FaFedora,
FaOpensuse, FaOpensuse,
FaUbuntu, FaUbuntu,
FaWindows, FaWindows,
FaRedhat, FaRedhat,
} from "react-icons/fa6"; } from "react-icons/fa6";
import { LuHouse, LuNewspaper, LuDownload, LuBook } from "react-icons/lu"; import { LuHouse, LuNewspaper, LuDownload, LuBook } from "react-icons/lu";
export const routes: Record<string, [string, IconType|null]> = { export const routes: Record<string, [string, IconType | null]> = {
"/": ["Home", LuHouse], "/": ["Home", LuHouse],
"/blog": ["Blog", LuNewspaper], "/blog": ["Blog", LuNewspaper],
"/docs": ["Docs", LuBook], "/docs": ["Docs", LuBook],
"/downloads": ["Downloads", LuDownload], "/downloads": ["Downloads", LuDownload],
"/about": ["About", null], "/about": ["About", null],
}; };
const releasesUrl = const releasesUrl =
"https://github.com/KRTirtho/Spotube/releases/latest/download"; "https://github.com/KRTirtho/Spotube/releases/latest/download";
export const downloadLinks: Record<string, [string, IconType[]]> = { export const downloadLinks: Record<string, [string, IconType[]]> = {
"Android Apk": [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid]], "Android Apk": [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid]],
"Windows Executable": [ "Windows Executable": [
`${releasesUrl}/Spotube-windows-x86_64-setup.exe`, `${releasesUrl}/Spotube-windows-x86_64-setup.exe`,
[FaWindows], [FaWindows],
], ],
"macOS Dmg": [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple]], "macOS Dmg": [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple]],
"Ubuntu, Debian": [ "Ubuntu, Debian": [
`${releasesUrl}/Spotube-linux-x86_64.deb`, `${releasesUrl}/Spotube-linux-x86_64.deb`,
[FaUbuntu, FaDebian], [FaUbuntu, FaDebian],
], ],
"Fedora, Redhat, Opensuse": [ "Fedora, Redhat, Opensuse": [
`${releasesUrl}/Spotube-linux-x86_64.rpm`, `${releasesUrl}/Spotube-linux-x86_64.rpm`,
[FaFedora, FaRedhat, FaOpensuse], [FaFedora, FaRedhat, FaOpensuse],
], ],
"iPhone Ipa": [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple]], "iPhone Ipa": [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple]],
}; };
export const extendedDownloadLinks: Record< export const extendedDownloadLinks: Record<
string, string,
[string, IconType[], string] [string, IconType[], string]
> = { > = {
Android: [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid], "apk"], Android: [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid], "apk"],
Windows: [ Windows: [
`${releasesUrl}/Spotube-windows-x86_64-setup.exe`, `${releasesUrl}/Spotube-windows-x86_64-setup.exe`,
[FaWindows], [FaWindows],
"exe", "exe",
], ],
macOS: [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"], macOS: [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"],
"Ubuntu, Debian": [ "Ubuntu, Debian (x64)": [
`${releasesUrl}/Spotube-linux-x86_64.deb`, `${releasesUrl}/Spotube-linux-x86_64.deb`,
[FaUbuntu, FaDebian], [FaUbuntu, FaDebian],
"deb", "deb",
], ],
"Fedora, Redhat, Opensuse": [ "Ubuntu, Debian (arm64)": [
`${releasesUrl}/Spotube-linux-x86_64.rpm`, `${releasesUrl}/Spotube-linux-aarch64.deb`,
[FaFedora, FaRedhat, FaOpensuse], [FaUbuntu, FaDebian],
"rpm", "deb",
], ],
iPhone: [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"], // "Fedora, Redhat, Opensuse": [
// `${releasesUrl}/Spotube-linux-x86_64.rpm`,
// [FaFedora, FaRedhat, FaOpensuse],
// "rpm",
// ],
iPhone: [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"],
}; };
const nightlyReleaseUrl = const nightlyReleaseUrl =
"https://github.com/KRTirtho/Spotube/releases/download/nightly"; "https://github.com/KRTirtho/Spotube/releases/download/nightly";
export const extendedNightlyDownloadLinks: Record< export const extendedNightlyDownloadLinks: Record<
string, string,
[string, IconType[], string] [string, IconType[], string]
> = { > = {
Android: [ Android: [
`${nightlyReleaseUrl}/Spotube-android-all-arch.apk`, `${nightlyReleaseUrl}/Spotube-android-all-arch.apk`,
[FaAndroid], [FaAndroid],
"apk", "apk",
], ],
Windows: [ Windows: [
`${nightlyReleaseUrl}/Spotube-windows-x86_64-setup.exe`, `${nightlyReleaseUrl}/Spotube-windows-x86_64-setup.exe`,
[FaWindows], [FaWindows],
"exe", "exe",
], ],
macOS: [`${nightlyReleaseUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"], macOS: [`${nightlyReleaseUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"],
"Ubuntu, Debian": [ "Ubuntu, Debian": [
`${nightlyReleaseUrl}/Spotube-linux-x86_64.deb`, `${nightlyReleaseUrl}/Spotube-linux-x86_64.deb`,
[FaUbuntu, FaDebian], [FaUbuntu, FaDebian],
"deb", "deb",
], ],
"Fedora, Redhat, Opensuse": [ "Fedora, Redhat, Opensuse": [
`${nightlyReleaseUrl}/Spotube-linux-x86_64.rpm`, `${nightlyReleaseUrl}/Spotube-linux-x86_64.rpm`,
[FaFedora, FaRedhat, FaOpensuse], [FaFedora, FaRedhat, FaOpensuse],
"rpm", "rpm",
], ],
iPhone: [`${nightlyReleaseUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"], iPhone: [`${nightlyReleaseUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"],
}; };
export const ADS_SLOTS = Object.freeze({ export const ADS_SLOTS = Object.freeze({
rootPageDisplay: 5979549631, rootPageDisplay: 5979549631,
blogPageInFeed: 3386010031, blogPageInFeed: 3386010031,
downloadPageDisplay: 9928443050, downloadPageDisplay: 9928443050,
packagePageArticle: 9119323068, packagePageArticle: 9119323068,
// This is being used for rehype-auto-ads in svelte.config.js // This is being used for rehype-auto-ads in svelte.config.js
blogArticlePageArticle: 6788673194, blogArticlePageArticle: 6788673194,
}); });

View File

@ -22,34 +22,7 @@ const otherDownloads: [string, string, IconType][] = [
<br /><br /> <br /><br />
<h5 class="h5">Spotube is available for every platform</h5> <h5 class="h5">Spotube is available for every platform</h5>
<br /> <br />
<!-- WARNING! --> <DownloadItems links={extendedDownloadLinks} />
<h3 class="h3 text-red-500" data-svelte-h="svelte-1l4b696">
Versions of Spotube (&lt;=v4.0.2) are ceased to work with Spotify™ API.
<br />
So users can no longer use/download those versions.
<br />
Please wait for the next version that will remedy this issue by not using such
APIs.
</h3>
<p class="text-surface-500 mt-5" data-svelte-h="svelte-1nkw9cu">
Spotube has no affiliation with Spotify™ or any of its subsidiaries.
</p>
<br />
<br />
<!-- <DownloadItems links={extendedDownloadLinks} /> -->
<h6 class="h6 mb-5" data-svelte-h="svelte-1ws2638">
The new Spotube v5 is still under beta. Please use the Nightly version
until stable release.
</h6>
<!-- WARNING! -->
<div class="flex">
<a href="/downloads/nightly" class="flex gap-2 btn btn-lg preset-filled">
<LuDownload />
Download Nightly
</a>
</div>
<br />
<br /> <br />
<Ads adSlot={ADS_SLOTS.downloadPageDisplay} adFormat="auto" /> <Ads adSlot={ADS_SLOTS.downloadPageDisplay} adFormat="auto" />
<br /> <br />

View File

@ -53,11 +53,11 @@ import { ADS_SLOTS } from "~/collections/app";
</div> </div>
<div class="flex justify-center"> <div class="flex justify-center">
<a <a
href="/downloads/nightly" href="/downloads"
class="flex gap-2 btn btn-lg preset-filled" class="flex gap-2 btn btn-lg preset-filled"
> >
<LuDownload /> <LuDownload />
Download Nightly Download
</a> </a>
</div> </div>
</div> </div>