diff --git a/apps/web/src/components/AppFooter.tsx b/apps/web/src/components/AppFooter.tsx index 30a7e16..eb32777 100644 --- a/apps/web/src/components/AppFooter.tsx +++ b/apps/web/src/components/AppFooter.tsx @@ -1,4 +1,4 @@ -// One centered line: libreble · GitHub · Report an issue · build version. Colours come from the +// One centered line: libreble · GitHub · Report an issue · Ko-fi · build version. Colours come from the // zinc ramp, which index.css mirrors per theme; the libreble accent opts in via `dark:`. const REPO = 'https://github.com/libreble/multimeter'; @@ -7,6 +7,16 @@ const RELEASE = /^v\d+\.\d+\.\d+$/.test(__APP_VERSION__) ? `${REPO}/releases/tag/${__APP_VERSION__}` : null; +/** The Ko-fi link wears a different joke each page load; its title/aria-label says what it is. */ +const KOFI_JOKES = [ + 'Buy me a 9V battery', + 'Buy me a 10A fuse', + 'Buy me new test leads', + 'Buy me some electrical tape', +]; +const KOFI_JOKE = KOFI_JOKES[Math.floor(Math.random() * KOFI_JOKES.length)]; +const KOFI_TITLE = 'Support libreble on Ko-fi'; + const LINK = 'inline-flex items-center gap-1.5 hover:text-zinc-300'; export function AppFooter() { @@ -34,6 +44,17 @@ export function AppFooter() { > Report an issue + + + {KOFI_JOKE} + {RELEASE ? ( + + + + + ); +} + function GitHubMark() { return (