The existing peek animation (row nudges right and back on first load)
only demonstrated that the row moves, not how to move it - ambiguous
now that mouse-drag is gone. On non-touch devices it's paired with a
small pill ("Mit dem Mausrad blättern" / "Scroll to browse", mouse icon
flanked by chevrons) that fades in around the peek and out ~1.2s later,
floating centered over the row at a z-index above even the frontmost
coverflow card. Touch devices keep just the peek, since swiping is
already self-explanatory there. Plays once per page load, gated behind
the same reduced-motion check as the peek itself.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The client's hosting (All-Inkl) has no GitHub integration, so the
two-branch model - source on main, CI force-pushing the built hifi/
folder to a machine-generated deploy branch for Plesk to pull - doesn't
work there. main is now simultaneously the source of truth and the
deployable artifact:
- hifi/index.html, hifi/assets/, favicon, robots.txt and hifi/api/vendor
are committed instead of git-ignored. Secrets (db.php, setup.php,
ga-service-account.json) stay ignored as before.
- A prebuild script wipes hifi/assets + index.html before every vite
build, so the tree always holds exactly the current build - this was
the stale-hash-chunk problem that originally justified ignoring the
output (emptyOutDir stays false to protect hifi/api). Builds are
deterministic: rebuilding without source changes yields zero diffs.
- .github/workflows/build-deploy.yml is deleted; nothing writes to the
deploy branch anymore. The convention is to run npm run build before
committing (DEPLOY.md documents the workflow, the All-Inkl setup via
SSH clone/pull with docroot on <checkout>/hifi, and the Plesk test
server switch from deploy to main).
The remote deploy branch is left in place for now so the Plesk test
server keeps working until its Git source is switched to main; it can
be deleted afterwards.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>