From b6819d91422adc10ea71ea5174c8e3e2badd1340 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 9 Oct 2026 00:24:25 -0700 Subject: Footer: "Show your support" beside How it works opens the hat shop from any page (shown once a wallet is open, since the shop pays from it) Co-Authored-By: Claude Opus 5.5 --- src/app.js | 5 +++++ src/features/hats.js | 2 ++ src/i18n.js | 1 + 3 files changed, 8 insertions(+) (limited to 'src') diff --git a/src/app.js b/src/app.js index 6945c10..1bb837e 100644 --- a/src/app.js +++ b/src/app.js @@ -381,6 +381,11 @@ function footer() { 'div', { style: 'margin-top:4px' }, h('button', { class: 'linklike', style: 'font-weight:400', onClick: openHowItWorks }, t('howItWorks')), + // the hat shop: needs a wallet to pay from, so only once one is open + activeAccount() && FEATURES.some((f) => f.openHatShop) + ? h('span', {}, h('span', { class: 'faint' }, ' · '), + h('button', { class: 'linklike', style: 'font-weight:400', onClick: () => { clearFeatureNav(); ui.screen = 'wallet'; featureHook('openHatShop'); } }, t('footerSupport'))) + : null, // Chrome no longer prompts to install on its own — surface our own link // once it reports the app is installable. We render from a persisted flag // (not the live event) so the link is present on the first paint after a diff --git a/src/features/hats.js b/src/features/hats.js index 16849f2..a14fc2b 100644 --- a/src/features/hats.js +++ b/src/features/hats.js @@ -438,6 +438,8 @@ export function hatsFeature(ctx) { node, h('span', { class: 'ava-hat', style: posStyle(hat), html: hat.art })); }, + // The footer's "Show your support" link: straight into the shop. + openHatShop() { openShop(); try { window.scrollTo(0, 0); } catch {} return true; }, // Own-profile editor entry: the door to the shop. hatShopEntry() { return h('button', { diff --git a/src/i18n.js b/src/i18n.js index 0ec6366..e6452e1 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -658,6 +658,7 @@ const STR = { profSaved: 'Profile published', hats: 'Hats', hatShopSupport: 'Support Coinos, Buy a Hat!', + footerSupport: 'Show your support', hatShopTitle: 'Hat shop', hatShopBlurb: 'Support Coinos and wear the proof on your avatar.', hatShopOffline: 'The hat stand is unreachable right now.', -- cgit v1.2.3