Rinomina le tab del profilo in Documenti e Opzioni.

«Tesseramento» nominava lo scopo invece del contenuto (dati personali,
documento, certificato medico, foto tessera); cambia anche la rotta in
/profilo?tab=documenti. «Impostazioni» diventa «Opzioni» così le quattro
etichette stanno in uno schermo da telefono: le voci della barra si
dividono la riga in parti uguali (grow basis-0) e tornano a scorrere solo
se non ci stanno, quindi vale anche per Squadra e Classifica.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 23:37:41 +02:00
co-authored by Claude Opus 5
parent 366928b61f
commit 107407b854
6 changed files with 22 additions and 10 deletions
+3 -1
View File
@@ -80,7 +80,9 @@ export function BarraSottosezioni({
vaiA(i);
}}
className={cn(
"snap-center shrink-0 rounded-full px-3.5 py-2 text-xs font-bold uppercase tracking-wide transition-colors",
// grow+basis-0: se le voci ci stanno riempiono la riga in parti uguali,
// altrimenti shrink-0 le tiene leggibili e la barra torna a scorrere.
"snap-center shrink-0 grow basis-0 rounded-full px-3.5 py-2 text-xs font-bold uppercase tracking-wide transition-colors",
"min-h-11 touch-manipulation whitespace-nowrap",
selezionata
? "bg-accent text-accent-foreground shadow-pop"
@@ -418,7 +418,7 @@ export function CompletaProfilo({
<Reveal indice={indice} className="px-5 pt-4">
<Link
to="/profilo"
search={{ tab: "tesseramento" }}
search={{ tab: "documenti" }}
className="premi block rounded-3xl bg-card p-4 shadow-card"
>
<div className="flex items-center justify-between gap-3">
+4 -4
View File
@@ -29,7 +29,7 @@ import { esci } from "@/lib/auth";
import { useIsAdmin } from "@/lib/ruoli";
import { Reveal } from "@/components/motion/Reveal";
const TAB_PROFILO = ["stagione", "badge", "tesseramento", "impostazioni"] as const;
const TAB_PROFILO = ["stagione", "badge", "documenti", "impostazioni"] as const;
type TabProfilo = (typeof TAB_PROFILO)[number];
function isTabProfilo(v: unknown): v is TabProfilo {
@@ -233,13 +233,13 @@ function Profilo() {
contenuto: <CollezioneBadge g={g} votiSocial={votiSocial.data ?? []} />,
},
{
id: "tesseramento",
label: "Tesseramento",
id: "documenti",
label: "Documenti",
contenuto: <ProfiloAmministrativo giocatoreId={g.id} conTendina={false} />,
},
{
id: "impostazioni",
label: "Impostazioni",
label: "Opzioni",
contenuto: (
<div className="space-y-3">
<div className="divide-y divide-border overflow-hidden rounded-3xl bg-card shadow-card">