feat: add static demo site at demo.snapotter.com

- New apps/demo/ that reuses apps/web components with mocked API layer
- Full UI shell: login, change password, analytics consent, dashboard, all tool pages
- Stateful mock tracks session flow (password change, analytics consent)
- Demo banner with link to GitHub repo
- Processing attempts show info message with GitHub link
- Deployed to Cloudflare Pages as static site (no backend)

Also links demo across all surfaces:
- README: "Live Demo" badge
- Landing navbar: "Try Demo" CTA button (replaces "Book a Demo")
- Landing hero: "No sign-ups. No credit card." tagline
- Docs getting-started: "Try before installing" tip box

Other changes:
- Docs: move NVIDIA GPU section above GHCR, demote GHCR to collapsed details
- Fix before-after slider checkerboard background for transparency
- Fix remove-bg preview reset when no effects applied
This commit is contained in:
SnapOtter
2026-05-17 09:25:12 +08:00
parent df2d1286d6
commit 228f70d011
20 changed files with 697 additions and 16 deletions
@@ -618,7 +618,7 @@ export function RemoveBgSettings({ onBgPreview }: RemoveBgSettingsProps = {}) {
const shadowOpacity = (settings.shadowOpacity as number) ?? 35;
if (!blurEnabled && !shadowEnabled && bgType === "transparent") {
onBgPreview({ showCheckerboard: true });
onBgPreview(null);
return;
}