diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 5e73bda..fa1d288 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -1,6 +1,6 @@ --- import { execSync } from 'child_process'; -import { Mail } from '@lucide/astro'; +import { Mail, ArrowUpRight } from '@lucide/astro'; import { version } from '../../package.json'; import { resolveLocale, localesForPath, localizedPath, t } from '../lib/i18n'; @@ -9,14 +9,38 @@ const ui = t(lang); const localeHref = (path: string) => localesForPath(path).includes(lang) ? localizedPath(path, lang) : path; -// Sitemap links reuse the localized chrome strings — no new translations needed. -const links = [ - { href: localeHref('/voice/'), label: ui.navVoice }, - { href: localeHref('/voice/download/'), label: ui.subDownload }, - { href: localeHref('/voice/changelog/'), label: ui.subChangelog }, - { href: '/docs', label: ui.navDocs }, - { href: localeHref('/blog/'), label: ui.navBlog }, - { href: localeHref('/about/'), label: ui.footerAbout }, +// Three columns: the WaveKat Voice desktop app, the hosted tools, then +// everything sitewide. Tools links straight to the live app rather than to a +// marketing page — someone reaching for it in the footer wants the tool, not a +// description of it — and is a separate group because it's a different product +// from the Voice desktop app. +const groups = [ + { + heading: 'WaveKat Voice', // brand name — never translated + links: [ + { href: localeHref('/voice/'), label: ui.subOverview }, + { href: localeHref('/voice/alternatives/'), label: ui.subAlternatives }, + { href: localeHref('/voice/download/'), label: ui.subDownload }, + { href: localeHref('/voice/changelog/'), label: ui.subChangelog }, + ], + }, + { + heading: ui.footerTools, + links: [ + { + href: 'https://platform.wavekat.com/voice/prompts', + label: ui.footerPrompts, + external: true, + }, + ], + }, + { + heading: ui.footerMore, + links: [ + { href: localeHref('/blog/'), label: ui.navBlog }, + { href: localeHref('/about/'), label: ui.footerAbout }, + ], + }, ]; let siteVersion: string; @@ -66,14 +90,36 @@ try { -