feat: Phasen 3-8 (CRUD, Realtime, Matching, Push, Polish, Admin, Deploy) - #5
Merged
Merged
Conversation
- useListings Hook mit CRUD, Gruppierung nach Stadt, Type-Filter - useGeolocation Hook fuer Browser GPS - useGeocoding Hook mit Photon Autocomplete + Nominatim Reverse - useProfiles Hook fuer Profil-Laden nach User-IDs - AutocompleteInput mit debounced Photon-Suche - GpsButton fuer GPS + Reverse Geocoding - ListingCard mit Avatar, Route, Zeit, Plaetze, Kontakt-Buttons - ListingList mit Sticky-City-Headers und Empty-State - ListingForm fuer Erstellen/Bearbeiten (Type-Toggle, Autocomplete, Stepper) - ListingDetail mit Profil-Card, Kontakt-Buttons, Edit/Delete - Avatar-Komponente mit Initialen und deterministischer Farbe - AppShell Layout mit Header, Logo, FAB - Home-Seite mit Segmented Control (Alle/Angebote/Anfragen) - Create, Edit, Detail Seiten mit vollem CRUD - format.ts mit Datum/Zeit/Telefon-Formatierung https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- Realtime-Subscription auf listings (INSERT/UPDATE/DELETE) - Neue Eintraege sammeln sich als Pending, Banner zeigt Anzahl - RealtimeBanner mit Animation: "2 neue Eintraege" — Klick zeigt sie - useMatches Hook ruft find_matches RPC nach Listing-Erstellung auf - MatchSheet Bottom-Sheet zeigt passende Gegen-Eintraege - Create-Seite integriert Matching: Sheet bei Treffern, sonst Redirect https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- usePush Hook: subscribe/unsubscribe mit VAPID, speichert in push_subscriptions - sw-push.js Service Worker fuer Push-Empfang und Notification-Click - send-push Edge Function: findet Matches, sendet Web Push an alle Subscriptions - Raeumt abgelaufene Subscriptions (410 Gone) automatisch auf - Create-Seite ruft send-push nach Matching auf (fire-and-forget) - Service Worker Registration beim App-Start in main.tsx https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- 3-Slide Onboarding mit Framer Motion (ueberspringbar, localStorage-Flag) - Profil-Seite: Avatar, Name editierbar, Abmelden - Settings-Seite: Push-Toggle, Telefonnummer-Sichtbarkeit, Admin-Link - useProfile Hook fuer Profil-Updates - Header erweitert mit Settings-Icon - App.tsx mit Onboarding-Gate und neuen Routen (Profil, Settings) https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- AdminGuard schuetzt Admin-Route (role-Check) - AdminTable mit Typ-/Stadt-Filtern und Archiv-Toggle - Admin kann alle Eintraege bearbeiten und loeschen - Tabelle zeigt User, Route, Zeit, Typ, Plaetze, Erstellt-Datum - Admin-Route in App.tsx mit doppeltem Guard (Auth + Admin) https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- GitHub Actions CI Pipeline (type-check, lint, build) - Datenschutzerklaerung-Seite (Verantwortlicher, Daten, Speicherdauer, Rechte) - Impressum-Seite (§5 TMG, Haftungsausschluss) - Beide Seiten oeffentlich erreichbar (kein Auth noetig) - Routen in App.tsx eingebunden https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Fixes Vercel build failure: ERR_PNPM_OUTDATED_LOCKFILE Lockfile was missing the supabase@^2.101.0 devDependency that was added to package.json but never propagated to the lock. https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
Pascal's supabase init merge accidentally added npm's package-lock.json. Removing it to avoid lockfile confusion — pnpm-lock.yaml is the source of truth. https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
2 tasks
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Schliesst die V1-Implementation von Kommit ab — Phasen 3-8 vom Projektplan, plus Lockfile-Sync und Branch-Cleanup.
Was ist drin
Phase 3 — Core CRUD
use-listingsHook (CRUD, Gruppierung nach Stadt, Type-Filter)use-geolocation+use-geocoding(Photon Autocomplete, Nominatim Reverse)listing-card,listing-list,listing-form,listing-detailautocomplete-input,gps-button,avatarapp-shellLayout mit Header + FABPhase 4 — Realtime + Matching
listings(INSERT/UPDATE/DELETE)realtime-bannermit Animation ("2 neue Eintraege")use-matchesHook ruftfind_matchesRPC aufmatch-sheetBottom-Sheet bei TreffernPhase 5 — Notifications
use-pushHook (VAPID subscribe/unsubscribe)sw-push.jsService Worker fuer Push-Empfangsend-pushEdge Function — findet Matches und sendet Web PushPhase 6 — Polish + Onboarding
Phase 7 — Admin
admin-guardmit role-Checkadmin-tablemit Typ-/Stadt-Filter und Archiv-TogglePhase 8 — Deploy + Rechtliches
Cleanup
pnpm-lock.yamlsynchronisiert (fixtERR_PNPM_OUTDATED_LOCKFILEauf Vercel)package-lock.jsonentfernt (versehentlicher npm-Lockfile)Test plan
TODO nach dem Merge
.env-Variablen in Vercel setzen:VITE_SUPABASE_URL,VITE_SUPABASE_ANON_KEY,VITE_VAPID_PUBLIC_KEYUPDATE profiles SET role = 'admin' WHERE id = '...'https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb