Update landing page to remove Linux support and adjust platform descriptions

- Modified metadata and various components to reflect the removal of Linux support, focusing on macOS and Windows.
- Updated descriptions in the layout, page, and footer components for consistency.
- Adjusted download links and icons to align with the new platform availability.
This commit is contained in:
Jamie Pine
2026-01-26 01:56:44 -08:00
parent 85935c1bbb
commit 595d735143
4 changed files with 20 additions and 11 deletions
+5 -3
View File
@@ -151,11 +151,13 @@ export default function Home() {
<span className="flex-1 text-center px-4">Windows</span>
</a>
</Button>
<Button asChild size="lg" className="w-full px-0">
<Button asChild size="lg" className="w-full px-0" disabled>
<a
href={downloadLinks.linux}
download
className="flex items-center w-full relative"
onClick={(e) => e.preventDefault()}
className="flex items-center w-full relative opacity-50 cursor-not-allowed"
title="Linux builds coming soon — Currently blocked by GitHub runner disk space limitations."
aria-label="Linux builds coming soon — Currently blocked by GitHub runner disk space limitations."
>
<div className="flex items-center gap-2 flex-shrink-0 pl-4">
<LinuxIcon className="h-5 w-5" />
+11 -4
View File
@@ -12,18 +12,21 @@ export function DownloadSection() {
icon: Laptop,
link: DOWNLOAD_LINKS.macArm,
description: 'macOS (Intel + Apple Silicon)',
disabled: false,
},
{
platform: 'Windows',
icon: Monitor,
link: DOWNLOAD_LINKS.windows,
description: 'Windows x64',
disabled: false,
},
{
platform: 'Linux',
icon: Terminal,
link: DOWNLOAD_LINKS.linux,
description: 'Linux AppImage',
disabled: true,
},
];
@@ -34,10 +37,14 @@ export function DownloadSection() {
<p className="text-2xl font-bold">{LATEST_VERSION}</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 sm:gap-6">
{downloads.map(({ platform, icon: Icon, link, description }) => (
{downloads.map(({ platform, icon: Icon, link, description, disabled }) => (
<Card
key={platform}
className="hover:border-primary/20 hover:shadow-lg hover:shadow-primary/3 transition-all duration-200 hover:-translate-y-0.5"
className={`transition-all duration-200 ${
disabled
? 'opacity-50'
: 'hover:border-primary/20 hover:shadow-lg hover:shadow-primary/3 hover:-translate-y-0.5'
}`}
>
<CardContent className="p-6">
<div className="flex flex-col items-center text-center space-y-4">
@@ -48,8 +55,8 @@ export function DownloadSection() {
<h3 className="text-lg font-semibold mb-1">{platform}</h3>
<p className="text-sm text-muted-foreground">{description}</p>
</div>
<Button asChild size="lg" className="w-full">
<a href={link} download>
<Button asChild size="lg" className="w-full" disabled={disabled}>
<a href={link} download className={disabled ? 'pointer-events-none' : ''}>
<Download className="h-4 w-4 mr-2" />
Download
</a>
+4 -4
View File
@@ -52,9 +52,9 @@ export async function getLatestRelease(): Promise<ReleaseInfo> {
const name = asset.name.toLowerCase();
const url = asset.browser_download_url;
if (name.includes('aarch64') || name.includes('arm64')) {
if ((name.includes('aarch64') || name.includes('arm64')) && name.includes('.app.tar.gz')) {
downloadLinks.macArm = url;
} else if (name.includes('x64') && name.includes('.dmg')) {
} else if (name.includes('x64') && name.includes('.app.tar.gz')) {
downloadLinks.macIntel = url;
} else if (name.includes('.msi')) {
downloadLinks.windows = url;
@@ -70,9 +70,9 @@ export async function getLatestRelease(): Promise<ReleaseInfo> {
version,
downloadLinks: {
macArm:
downloadLinks.macArm || `${baseUrl}/voicebox_${version.replace('v', '')}_aarch64.dmg`,
downloadLinks.macArm || `${baseUrl}/voicebox_aarch64.app.tar.gz`,
macIntel:
downloadLinks.macIntel || `${baseUrl}/voicebox_${version.replace('v', '')}_x64.dmg`,
downloadLinks.macIntel || `${baseUrl}/voicebox_x64.app.tar.gz`,
windows:
downloadLinks.windows || `${baseUrl}/voicebox_${version.replace('v', '')}_x64_en-US.msi`,
linux: downloadLinks.linux || `${baseUrl}/voicebox_x86_64-unknown-linux-gnu.AppImage`,
Binary file not shown.