Update landing page metadata and reintroduce Header component

- Changed the title in metadata to reflect the open-source nature of the app.
- Reorganized the import statements to include the Header component for better structure.
- Streamlined the apple touch icon configuration in metadata.
This commit is contained in:
Jamie Pine
2026-01-26 00:52:03 -08:00
parent 2ceccaec51
commit afd0381243
4 changed files with 16 additions and 11 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

+4 -6
View File
@@ -1,24 +1,22 @@
import type { Metadata } from 'next';
import { Inter } from 'next/font/google';
import './globals.css';
import { Header } from '@/components/Header';
import { Footer } from '@/components/Footer';
import { Header } from '@/components/Header';
const inter = Inter({ subsets: ['latin'], variable: '--font-sans' });
export const metadata: Metadata = {
title: 'voicebox - Professional Voice Cloning Desktop App',
title: 'Voicebox - Open Source Voice Cloning Desktop App Powered by Qwen3-TTS',
description:
'Near-perfect voice cloning powered by Qwen3-TTS. Desktop app for Mac, Windows, and Linux. Multi-sample support, smart caching, local or remote inference.',
keywords: ['voice cloning', 'TTS', 'Qwen3', 'desktop app', 'AI voice'],
icons: {
icon: [
{ url: '/favicon.ico', sizes: 'any' },
{ url: '/favicon.png', type: 'image/png' },
{ url: '/favicon.ico', sizes: 'any' },
],
apple: [
{ url: '/apple-touch-icon.png', sizes: '180x180', type: 'image/png' },
],
apple: [{ url: '/apple-touch-icon.png', sizes: '180x180', type: 'image/png' }],
},
openGraph: {
title: 'voicebox',
+12 -5
View File
@@ -161,14 +161,21 @@ sips -s format png -z 1024 1024 "$SOURCE_ICON" --out "$LANDING_LOGO" 2>/dev/null
echo "Generating landing page favicon..."
# Generate favicon.png (32x32 is standard for favicons)
sips -s format png -z 32 32 "$SOURCE_ICON" --out "$LANDING_PUBLIC/favicon.png" 2>/dev/null
# Generate favicon.ico - try ImageMagick if available, otherwise use PNG (Next.js handles PNG favicons)
# Generate proper multi-size favicon.ico using ImageMagick if available
if command -v convert &> /dev/null; then
convert "$LANDING_PUBLIC/favicon.png" "$LANDING_PUBLIC/favicon.ico" 2>/dev/null || \
cp "$LANDING_PUBLIC/favicon.png" "$LANDING_PUBLIC/favicon.ico" 2>/dev/null
# Create temporary PNG files at different sizes for ICO
sips -s format png -z 16 16 "$SOURCE_ICON" --out /tmp/favicon-16.png 2>/dev/null
sips -s format png -z 32 32 "$SOURCE_ICON" --out /tmp/favicon-32.png 2>/dev/null
# Combine into proper multi-size ICO file
convert /tmp/favicon-16.png /tmp/favicon-32.png "$LANDING_PUBLIC/favicon.ico" 2>/dev/null
rm -f /tmp/favicon-16.png /tmp/favicon-32.png 2>/dev/null
echo " ✓ Generated proper multi-size favicon.ico"
else
# Fallback: copy PNG as ICO (Next.js and modern browsers handle this)
cp "$LANDING_PUBLIC/favicon.png" "$LANDING_PUBLIC/favicon.ico" 2>/dev/null
# Fallback: skip ICO if ImageMagick not available (PNG will be used)
echo " ⚠ ImageMagick not found - skipping favicon.ico (using favicon.png instead)"
fi
# Also generate apple-touch-icon (180x180 for iOS)
sips -s format png -z 180 180 "$SOURCE_ICON" --out "$LANDING_PUBLIC/apple-touch-icon.png" 2>/dev/null
Binary file not shown.