commit a6657fbe80afa63aaf5fb38131113c3a435ab664
parent c05af751a0b7eac0416e091c9772ad074e2c8ea2
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Wed, 1 Jul 2026 23:57:44 -0400
Gate the footer "Offline" link behind the per-site pwa flag
The Offline (PWA downloads) entry point now only appears when a site opts in
via site.json `pwa: true` (default off), so a plain deploy no longer advertises
it until configured. The /offline/ page itself is unchanged and still reachable
by URL; the service worker/manifest are unaffected.
Verified: export typecheck clean; pwa.spec 3/3 green (page + manifest + SW
intact); no e2e asserts the footer link's presence.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/export/app/components/Footer.tsx b/export/app/components/Footer.tsx
@@ -29,12 +29,17 @@ export default function Footer() {
>
code.tar.gz
</a>
- <a
- href="/offline/"
- className="underline underline-offset-2 hover:text-foreground transition-colors"
- >
- Offline
- </a>
+ {/* The Offline (PWA download) entry point only shows on sites that
+ opt into shipping an installable, offline-capable PWA (site.json
+ `pwa: true`). Default-off keeps it hidden until configured. */}
+ {site.pwa && (
+ <a
+ href="/offline/"
+ className="underline underline-offset-2 hover:text-foreground transition-colors"
+ >
+ Offline
+ </a>
+ )}
</div>
{socialLinks.length > 0 && (
<ul className="flex items-center gap-3 list-none">