Files
CRAPP/src/routes
davideandClaude Opus 5.5 2ec72fd08f Implementa il ruolo allenatore nell'app
- Modello: tipo sugli slot, inRosa() al posto del filtro su attivo in tutte le
  letture della rosa di gioco (presenze, convocati, voti, palloni, classifiche,
  badge, sollecito); gli allenatori restano solo nei compleanni e in Squadra.
- Permessi: user_roles letto una volta per tutti i ruoli; usePuoGestireEventi()
  apre /eventi e il sollecito presenze anche all'allenatore, lato server con
  richiediGestoreEventi(). Palloni, sondaggio e messaggi restano all'admin.
- Identità: useGiocatoreInCampo() è null per l'allenatore, così non risponde alle
  presenze e non vota; useSonoAllenatore() decide cosa si vede.
- Profilo: per l'allenatore solo Docs (nome, cognome, nascita, telefono, email) e
  Opzioni; card avatar e tab Opzioni estratte per riusarle.
- Home, Squadra e partita: niente statistiche personali, badge, cacche e
  obiettivi per l'allenatore; in Rosa compare con la dicitura «Allenatore».
- Admin: tipo in «Aggiungi», allenatori a parte in Profili, fuori da conteggi ed
  export CSI.

Test unit su rosa di gioco e completamento, route test sull'allenatore.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:54:35 +02:00
..

Routes

TanStack Start uses file-based routing. Every .tsx file in this directory defines a route. Do not create src/pages/, src/routes/_app/index.tsx, or app/layout.tsx — those are Next.js / Remix conventions. The only root layout is src/routes/__root.tsx.

Conventions

File URL
index.tsx /
about.tsx /about
users/index.tsx /users
users/$id.tsx /users/:id (dynamic — bare $, no curly braces)
posts/{-$category}.tsx /posts/:category? (optional segment)
files/$.tsx /files/* (splat — read via _splat param, never *)
_layout.tsx layout route (renders children via <Outlet />)
__root.tsx app shell — wraps every page; preserve <Outlet />

routeTree.gen.ts is auto-generated. Don't edit it by hand.