Dashboard amministratore e profilo per il tesseramento
Implementa la voce "Dashboard amministratore" della roadmap v1.1, come descritta in docs/modules/profilo-giocatore.md, insieme alla parte di profilo che la alimenta. - /admin: stato dei profili della squadra, download di documento, certificato e foto tessera, export CSV con i 12 campi del tesseramento CSI. Un certificato scaduto non conta come valido. - Profilo giocatore: dati personali, documento (fronte e retro), certificato e foto tessera, con widget di completamento in Home che sparisce al 100%. - I permessi di amministrazione arrivano da user_roles (DD-011) e non più dalla lista di nomi in crapp-data.ts, che resta come ponte finché VITE_AUTH_OBBLIGATORIA non viene acceso in produzione. - Login Google via Supabase Auth: al primo accesso l'account si collega a uno slot libero di giocatori_squadra, e il vincolo lo fa rispettare il trigger di M1 (DD-016 regola 2). Migration additive: M2 crea profili_giocatore, M3 il bucket privato profili-giocatore. Nessuna tabella v1.0 viene toccata, quindi si possono applicare senza cambiare il comportamento attuale dell'app. supabase/config.toml e seed.sql configurano lo stack locale: serve perché il progetto Supabase è uno solo, condiviso tra sviluppo e produzione. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+22
-1
@@ -1 +1,22 @@
|
||||
project_id = "kfkcldwncxqaixetsjes"
|
||||
project_id = "kfkcldwncxqaixetsjes"
|
||||
|
||||
# Configurazione dell'istanza locale (`supabase start`). Non tocca il progetto cloud:
|
||||
# lì le stesse impostazioni si mettono dalla dashboard Supabase.
|
||||
|
||||
[auth]
|
||||
site_url = "http://localhost:8080"
|
||||
additional_redirect_urls = ["http://localhost:8080"]
|
||||
|
||||
# Accesso via email con Mailpit (http://127.0.0.1:54324) per le prove locali:
|
||||
# nessuna mail esce dalla macchina e non serve confermare l'indirizzo.
|
||||
[auth.email]
|
||||
enable_signup = true
|
||||
enable_confirmations = false
|
||||
|
||||
# Google in locale: metti client id e secret in `.env` e porta `enabled` a true.
|
||||
# Il redirect da registrare in Google Cloud è http://127.0.0.1:54321/auth/v1/callback,
|
||||
# che convive con quello di produzione sulla stessa credenziale.
|
||||
[auth.external.google]
|
||||
enabled = false
|
||||
client_id = "env(SUPABASE_AUTH_GOOGLE_CLIENT_ID)"
|
||||
secret = "env(SUPABASE_AUTH_GOOGLE_SECRET)"
|
||||
|
||||
Reference in New Issue
Block a user