Sostituisco l'admin per nome con un login vero (account Strapi)
Le azioni da referente (/scout, /eventi, sollecito presenze, export CSV scout) non dipendono più da quale giocatore hai scelto di essere in /benvenuto (chiunque poteva scegliere "Ivan Cacciari" senza password), ma da un login reale contro l'account admin di Strapi (già usato per gestire rosa/classifica/storico), verificato via /admin/login. Nuovi src/lib/admin-auth.ts (loginAdmin/logoutAdmin/useAdminSession, sessione locale di 8h) e src/components/crapp/AdminLogin.tsx (form riutilizzabile), raggiungibile da /profilo e dalle schermate riservate. Rimossi adminNomi/ isAdmin da crapp-data.ts. Resta un limite noto: questo protegge solo la UI dell'app, le tabelle Supabase coinvolte hanno ancora RLS aperta e restano scrivibili in diretto con la chiave anon — un fix più ampio (Supabase Auth + RLS reale) è documentato ma non ancora fatto. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -76,10 +76,3 @@ export function formatData(iso: string) {
|
||||
const d = new Date(iso + "T00:00:00");
|
||||
return d.toLocaleDateString("it-IT", { weekday: "short", day: "2-digit", month: "long" });
|
||||
}
|
||||
|
||||
/** Referenti che possono gestire eventi e sollecitare le risposte. */
|
||||
export const adminNomi = ["Ivan Cacciari", "Iacopo Ricci", "Cristina Titone"];
|
||||
|
||||
export function isAdmin(giocatore: Pick<Giocatore, "nome"> | null | undefined) {
|
||||
return Boolean(giocatore && adminNomi.includes(giocatore.nome));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user