From 776ee11962bc8278008af0047048778c49354e3e Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 16 Oct 2026 02:44:57 +0000 Subject: [PATCH] feat(ui): add a first-visit welcome and a crawlable what-is page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A first visit landed on a screen of controls for a machine that is not connected yet, with nothing saying what the app is or what it needs. The static intro in index.html says it, but main.tsx removes it the moment the app mounts. Two pieces, because the app has no URL of its own to give a crawler: - A welcome sheet that opens on its own once, for a browser with no stored walks and no record of having seen it. It is short on purpose: what it does, what it needs, and the safety rule. A "What is Belt Control?" button in the footer reopens it from any screen. - /what-is-belt-control, a written page like the other four in public/, which the sheet's "Read more" links to. It carries the long version, is in the sitemap, is excluded from the SPA rewrite and given the revalidate header, and is linked from the static intro and the footer of every written page — the five edits docs/deploying.md lists for a new page. The seen flag is its own storage key, so Recovery's dump and clear pick it up. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01XyxvATqpdrFdrGbkCMayk6 --- apps/web/index.html | 2 + .../public/compatible-treadmills/index.html | 1 + apps/web/public/sitemap.xml | 6 + apps/web/public/troubleshooting/index.html | 1 + .../walkingpad-bluetooth-protocol/index.html | 1 + .../walkingpad-without-the-app/index.html | 1 + .../public/what-is-belt-control/index.html | 131 ++++++++++++++++++ apps/web/src/app.tsx | 3 + apps/web/src/components/Disclaimer.tsx | 5 + apps/web/src/components/WelcomeSheet.tsx | 112 +++++++++++++++ apps/web/src/lib/analytics.ts | 4 + apps/web/src/lib/storage.ts | 1 + apps/web/src/styles/app.css | 5 + docs/deploying.md | 7 +- vercel.json | 4 +- 15 files changed, 279 insertions(+), 5 deletions(-) create mode 100644 apps/web/public/what-is-belt-control/index.html create mode 100644 apps/web/src/components/WelcomeSheet.tsx diff --git a/apps/web/index.html b/apps/web/index.html index 44ae8c5..5081721 100644 --- a/apps/web/index.html +++ b/apps/web/index.html @@ -128,6 +128,8 @@

Which treadmills work

More