Sostituisce l'input libero del ruolo con un menu a tendina
Evita ruoli scritti in modo incoerente (maiuscole, refusi) sia in modifica che in aggiunta giocatore.
This commit is contained in:
@@ -33,6 +33,9 @@ export type RigaGiocatoreSquadra = {
|
|||||||
data_tessera: string | null;
|
data_tessera: string | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Ruoli ammessi in campo (pallavolo): usati per il menu a tendina del profilo squadra. */
|
||||||
|
export const RUOLI = ["Palleggiatore", "Banda", "Opposto", "Centrale", "Libero", "Jolly"] as const;
|
||||||
|
|
||||||
export const SQUADRA_KEY = ["giocatori-squadra"] as const;
|
export const SQUADRA_KEY = ["giocatori-squadra"] as const;
|
||||||
|
|
||||||
/** Rosa di riserva quando il database non risponde o non è ancora popolato. */
|
/** Rosa di riserva quando il database non risponde o non è ancora popolato. */
|
||||||
|
|||||||
+19
-6
@@ -22,6 +22,7 @@ import {
|
|||||||
nomeCompleto,
|
nomeCompleto,
|
||||||
numeroGiaUsato,
|
numeroGiaUsato,
|
||||||
prossimoIdGiocatore,
|
prossimoIdGiocatore,
|
||||||
|
RUOLI,
|
||||||
useAggiungiGiocatore,
|
useAggiungiGiocatore,
|
||||||
useGiocatoriSquadra,
|
useGiocatoriSquadra,
|
||||||
useImpostaAttivo,
|
useImpostaAttivo,
|
||||||
@@ -223,12 +224,18 @@ function ModificaGiocatore({ g, profilo }: { g: GiocatoreSquadra; profilo: Profi
|
|||||||
/>
|
/>
|
||||||
</Campo>
|
</Campo>
|
||||||
<Campo label="Ruolo">
|
<Campo label="Ruolo">
|
||||||
<input
|
<select
|
||||||
value={squadraCorrente.ruolo}
|
value={squadraCorrente.ruolo}
|
||||||
maxLength={30}
|
|
||||||
onChange={(e) => setDatiSquadra({ ...squadraCorrente, ruolo: e.target.value })}
|
onChange={(e) => setDatiSquadra({ ...squadraCorrente, ruolo: e.target.value })}
|
||||||
className={classiInput}
|
className={classiInput}
|
||||||
/>
|
>
|
||||||
|
<option value="">—</option>
|
||||||
|
{RUOLI.map((r) => (
|
||||||
|
<option key={r} value={r}>
|
||||||
|
{r}
|
||||||
|
</option>
|
||||||
|
))}
|
||||||
|
</select>
|
||||||
</Campo>
|
</Campo>
|
||||||
</div>
|
</div>
|
||||||
<Campo label="Email (collegamento automatico al login, DD-018)">
|
<Campo label="Email (collegamento automatico al login, DD-018)">
|
||||||
@@ -540,12 +547,18 @@ function AggiungiGiocatore({ righe }: { righe: GiocatoreSquadra[] }) {
|
|||||||
/>
|
/>
|
||||||
</Campo>
|
</Campo>
|
||||||
<Campo label="Ruolo">
|
<Campo label="Ruolo">
|
||||||
<input
|
<select
|
||||||
value={dati.ruolo}
|
value={dati.ruolo}
|
||||||
maxLength={30}
|
|
||||||
onChange={(e) => setDati({ ...dati, ruolo: e.target.value })}
|
onChange={(e) => setDati({ ...dati, ruolo: e.target.value })}
|
||||||
className={classiInput}
|
className={classiInput}
|
||||||
/>
|
>
|
||||||
|
<option value="">—</option>
|
||||||
|
{RUOLI.map((r) => (
|
||||||
|
<option key={r} value={r}>
|
||||||
|
{r}
|
||||||
|
</option>
|
||||||
|
))}
|
||||||
|
</select>
|
||||||
</Campo>
|
</Campo>
|
||||||
</div>
|
</div>
|
||||||
<Campo label="Email (collegamento automatico al login, opzionale)">
|
<Campo label="Email (collegamento automatico al login, opzionale)">
|
||||||
|
|||||||
Reference in New Issue
Block a user