From afd0381243d679b1b0b77e6c886bbb0a3a80ccbf Mon Sep 17 00:00:00 2001 From: Jamie Pine Date: Mon, 26 Jan 2026 00:52:03 -0800 Subject: [PATCH] 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. --- landing/public/favicon.ico | Bin 4286 -> 5430 bytes landing/src/app/layout.tsx | 10 ++++------ scripts/update-icons.sh | 17 ++++++++++++----- tauri/src-tauri/gen/Assets.car | Bin 3847048 -> 3847048 bytes 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/landing/public/favicon.ico b/landing/public/favicon.ico index 00e2309e5ef256339d899faf400ef6caa611297f..d96121e0f4271f0daf602a5ef43f9b048630b42d 100644 GIT binary patch delta 1113 zcmXX_TTok76uq_8FD+3Tk{c3}5c41r^0*0J9K}Z|W}z7U5@I_}6T|Eocd7)fR?Di@YF;6i zr(WtgSqP6`$KcHsygKM0$EWJ#C?`!VKSLEo12>hB3;Z&TwzNtmqQ$)Kx=zDf|*OO zcJ-n!{}uMPM<9FRacN(~6c-o6Y&LI+Mo54cMM(q-N+72_Z+jRmqcd>ChtV+h33_j> z!PC-#eNR2PjZ-K0V(pl%XYg0arJE!}%}1MqTDz*xGn>WG-T2?I-jvtiluOgn^P9jYhcL zZX}aQp&*hi77I)y>I+41W_cYS-Q7TRDv$C|7n;tThj3#NOMm@?h;WGnv=ZLq@f3KT zPuuNw*ladf%ge!4??=bj3`Q4j@BVX#n>95x z(!ErY5u4Qtca0a%zgR~^2d$|(j+2g!42xK)jdnVb$>;NIJRawx(P%1@$rRG*G)^ZH u=hRI%SlW~t_cQMTR?xlScUc1_m*P%{?ru1OQ5l1p)v7 diff --git a/landing/src/app/layout.tsx b/landing/src/app/layout.tsx index 36cd6ab4..fb9e625a 100644 --- a/landing/src/app/layout.tsx +++ b/landing/src/app/layout.tsx @@ -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', diff --git a/scripts/update-icons.sh b/scripts/update-icons.sh index 23640d05..10a36339 100755 --- a/scripts/update-icons.sh +++ b/scripts/update-icons.sh @@ -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 diff --git a/tauri/src-tauri/gen/Assets.car b/tauri/src-tauri/gen/Assets.car index 25aab4df7990f7b1e6ed31fce13c630282dd45a3..0efa3de05b1022242ac90fea9f3d5122980331da 100644 GIT binary patch delta 827 zcmZwGyKWOf6b4{B#$V*Z}kCuzUXW%)oQgxn1c*junY?@fA*_$ z(K?~c;gP1ppNbB@sNRt3owIkk)yNB-gpeWUAPZ>@BljS5FWu}cmhwW2inT?pf~z!ESn2=mT38)S;?inS;? z<^Nu}-9PO;2Lk)h1quu}2#}zv)1Iz=;Y!F1r@gDj@6X#_jJXj;Fa6#FrNA!t1 onZ)D~+x_#d0Sm4=?;h;EU0JQwbPxZ)49+8*>(%#92Onqu0_OhVh5!Hn delta 826 zcmZwGJ5Ll*6bJBKR%CguC@8FpEaLjUaNiFKXYXr5Ny#^`GnN(>CKkIbZtVO3BsL}# zL+Ll*W4JNK#7ay5#I*q?`Q=WgIOqJ&%nZMMuMgqNS#M*uR;x9k1xv693os9JC%<}U zts^=;>gxUn-5nihI{K>U$vfR@6jtXbyi0`f5QwzSlb~^@X$Y$HUSt{wV_Yag&o3#I zw<5-z{LbrFFORm`@5gR1c6FG723&(_xDGSb*fsNX5u9fwF9R{!W+J^c#9FOM7K&yX zW%33yT{ z)(e(nG+G#vlTkz_j)}a=ggYI*Id>#0iHQuh=S-=H zSCpL>VhN8gMw78Ld=hPKaJb)uS(t-)Sb#-Xf)?C>Ww;5qUp8tc%8yU>9R zxCfiig)O)b+wcH-@DLusV|W5jtHb?ge}2Ev#tK#%LXD1iU7{pT2}w#VV&*<`t@Pzg z%&I)e)E*r7p96s%*aZpNF>kibT9&lqB?LJY~;E?`}hT>a30`XseXLk`!w?x6l~t^