No description
Das Team-Submenue stand auf einem DropdownMenu, und alles, was ein
Menuepunkt braucht und ein Dropdown nicht kann, stand hier als
Handarbeit daneben: ein Zeitgeber fuers Aufklappen, ueberschriebene
Zeigerhandler gegen das Flackern beim Klick, unterdrueckter Fokus gegen
den Ring nach dem Zeigerbesuch.
NavigationMenu kann das von sich aus. Es hat openOnHover samt
delayDuration, es haelt seinen eigenen onclick zurueck, wenn per Zeiger
aufgeklappt wurde ("if opened via pointer move, we prevent the click
event"), es faengt keinen Fokus und sperrt kein Scrollen. Der Trigger
bleibt ueber das child-Snippet ein Link auf die Teamseite.
viewport={false}: Das Panel haengt unter seinem Menuepunkt, statt als
animierte Flaeche ueber die ganze Leiste zu fahren. Bei einem einzigen
aufklappbaren Punkt waere das grosses Kino ohne Stueck.
Das mobile Menue bekommt die Teams stattdessen eingerueckt und
aufgeklappt untergestellt. Auf dem Touchscreen gibt es kein
Ueberfahren — mit dem Menue allein waere seit dem Wegfall der Liste
"Meine Teams" gar kein Wechsel mehr moeglich gewesen.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P32KoesVtABd6xWsqMKzhr
|
||
|---|---|---|
| backend | ||
| docs/superpowers | ||
| frontend | ||
| .gitignore | ||
| CLAUDE.md | ||
| NAMING.md | ||
| README.md | ||
| TODO.md | ||
| UML_basic.png | ||
stammtisch-hersbruck.de
Zeitmessung und Verwaltung für Läufe des Stammtisch Hersbruck.
Das Repository enthält beide Teile der Anwendung:
| Verzeichnis | Inhalt |
|---|---|
frontend/ |
SvelteKit-5-Anwendung (Svelte 5 Runes, Tailwind 4) |
backend/ |
PocketBase-Instanz — Dockerfile, Schema-Migrationen |
Schnellstart
Frontend gegen die produktive Instanz:
cd frontend
cp .env.example .env # Werte eintragen
npm ci
npm run dev
Die App läuft dann auf http://stammtisch-hersbruck.de.localhost:31337
Backend lokal (optional — der Default zeigt auf die produktive Instanz):
cd backend
cp .env.example .env # Werte eintragen
docker compose up -d --build
Danach in frontend/.env PUBLIC_PB_URL=http://127.0.0.1:8090 setzen.
Details stehen in backend/README.md.
PocketBase
Produktiv: https://api.stammtisch-hersbruck.de
Welche Instanz das Frontend anspricht, entscheidet PUBLIC_PB_URL in
frontend/.env. Das Schema ist als Migration in backend/pb_migrations/
versioniert.