Sposto rosa, classifica e storico partite dagli array hardcoded al CMS Strapi

Nuovi moduli src/lib/strapi-client.ts + rosa-base.ts/classifica-csi.ts/
storico-match.ts (hook TanStack Query, cache lunga, nessun polling). L'id
stabile gN diventa il campo `codice` su Strapi, per non rompere le FK verso
pagelle/cacche/mvp/palloni/presenze/azioni scout già chiavate su quella
stringa. isAdmin ora prende il Giocatore invece di un id, così non dipende
più dal roster. Rifattorizzati di conseguenza tutti i punti che importavano
`giocatori`/`classifica`/`storicoMatch` come array sincroni (componenti,
hook, due route server) per usare gli hook o un parametro esplicito.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 15:39:40 +02:00
co-authored by Claude Sonnet 5
parent 3f61b32219
commit 953908388d
36 changed files with 678 additions and 364 deletions
+21
View File
@@ -23,6 +23,7 @@ import { Route as ApiPublicPromemoriaPalloniRouteImport } from './routes/api/pub
import { Route as ApiPublicPushConfigRouteImport } from './routes/api/public/push-config'
import { Route as ApiPublicPushMessaggioRouteImport } from './routes/api/public/push-messaggio'
import { Route as ApiPublicPushSubscribeRouteImport } from './routes/api/public/push-subscribe'
import { Route as ApiPublicScoutFinaleRouteImport } from './routes/api/public/scout-finale'
import { Route as ApiPublicSollecitaPresenzeRouteImport } from './routes/api/public/sollecita-presenze'
const IndexRoute = IndexRouteImport.update({
@@ -96,6 +97,11 @@ const ApiPublicPushSubscribeRoute = ApiPublicPushSubscribeRouteImport.update({
path: '/api/public/push-subscribe',
getParentRoute: () => rootRouteImport,
} as any)
const ApiPublicScoutFinaleRoute = ApiPublicScoutFinaleRouteImport.update({
id: '/api/public/scout-finale',
path: '/api/public/scout-finale',
getParentRoute: () => rootRouteImport,
} as any)
const ApiPublicSollecitaPresenzeRoute =
ApiPublicSollecitaPresenzeRouteImport.update({
id: '/api/public/sollecita-presenze',
@@ -118,6 +124,7 @@ export interface FileRoutesByFullPath {
'/api/public/push-config': typeof ApiPublicPushConfigRoute
'/api/public/push-messaggio': typeof ApiPublicPushMessaggioRoute
'/api/public/push-subscribe': typeof ApiPublicPushSubscribeRoute
'/api/public/scout-finale': typeof ApiPublicScoutFinaleRoute
'/api/public/sollecita-presenze': typeof ApiPublicSollecitaPresenzeRoute
}
export interface FileRoutesByTo {
@@ -135,6 +142,7 @@ export interface FileRoutesByTo {
'/api/public/push-config': typeof ApiPublicPushConfigRoute
'/api/public/push-messaggio': typeof ApiPublicPushMessaggioRoute
'/api/public/push-subscribe': typeof ApiPublicPushSubscribeRoute
'/api/public/scout-finale': typeof ApiPublicScoutFinaleRoute
'/api/public/sollecita-presenze': typeof ApiPublicSollecitaPresenzeRoute
}
export interface FileRoutesById {
@@ -153,6 +161,7 @@ export interface FileRoutesById {
'/api/public/push-config': typeof ApiPublicPushConfigRoute
'/api/public/push-messaggio': typeof ApiPublicPushMessaggioRoute
'/api/public/push-subscribe': typeof ApiPublicPushSubscribeRoute
'/api/public/scout-finale': typeof ApiPublicScoutFinaleRoute
'/api/public/sollecita-presenze': typeof ApiPublicSollecitaPresenzeRoute
}
export interface FileRouteTypes {
@@ -172,6 +181,7 @@ export interface FileRouteTypes {
| '/api/public/push-config'
| '/api/public/push-messaggio'
| '/api/public/push-subscribe'
| '/api/public/scout-finale'
| '/api/public/sollecita-presenze'
fileRoutesByTo: FileRoutesByTo
to:
@@ -189,6 +199,7 @@ export interface FileRouteTypes {
| '/api/public/push-config'
| '/api/public/push-messaggio'
| '/api/public/push-subscribe'
| '/api/public/scout-finale'
| '/api/public/sollecita-presenze'
id:
| '__root__'
@@ -206,6 +217,7 @@ export interface FileRouteTypes {
| '/api/public/push-config'
| '/api/public/push-messaggio'
| '/api/public/push-subscribe'
| '/api/public/scout-finale'
| '/api/public/sollecita-presenze'
fileRoutesById: FileRoutesById
}
@@ -224,6 +236,7 @@ export interface RootRouteChildren {
ApiPublicPushConfigRoute: typeof ApiPublicPushConfigRoute
ApiPublicPushMessaggioRoute: typeof ApiPublicPushMessaggioRoute
ApiPublicPushSubscribeRoute: typeof ApiPublicPushSubscribeRoute
ApiPublicScoutFinaleRoute: typeof ApiPublicScoutFinaleRoute
ApiPublicSollecitaPresenzeRoute: typeof ApiPublicSollecitaPresenzeRoute
}
@@ -327,6 +340,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof ApiPublicPushSubscribeRouteImport
parentRoute: typeof rootRouteImport
}
'/api/public/scout-finale': {
id: '/api/public/scout-finale'
path: '/api/public/scout-finale'
fullPath: '/api/public/scout-finale'
preLoaderRoute: typeof ApiPublicScoutFinaleRouteImport
parentRoute: typeof rootRouteImport
}
'/api/public/sollecita-presenze': {
id: '/api/public/sollecita-presenze'
path: '/api/public/sollecita-presenze'
@@ -352,6 +372,7 @@ const rootRouteChildren: RootRouteChildren = {
ApiPublicPushConfigRoute: ApiPublicPushConfigRoute,
ApiPublicPushMessaggioRoute: ApiPublicPushMessaggioRoute,
ApiPublicPushSubscribeRoute: ApiPublicPushSubscribeRoute,
ApiPublicScoutFinaleRoute: ApiPublicScoutFinaleRoute,
ApiPublicSollecitaPresenzeRoute: ApiPublicSollecitaPresenzeRoute,
}
export const routeTree = rootRouteImport