refactor: simplify document step logic in ContattiProprietarioModal

This commit is contained in:
Marco Pedone 2025-12-30 17:25:37 +01:00
parent 12c9f1a63f
commit 511423a6b6

View file

@ -28,20 +28,17 @@ export const ContattiProprietarioModal = () => {
const { data } = useServizioAnnuncio(); const { data } = useServizioAnnuncio();
const { t } = useTranslation(); const { t } = useTranslation();
const isUnlocked = data.open_contatti_at != null; const isUnlocked = data.open_contatti_at != null;
const needsDocuments = const needsDocuments =
!servizio.skipControlloDoc && !servizio.skipControlloDoc &&
(!servizio.doc_personale_fronte || !servizio.doc_personale_retro); (!servizio.doc_personale_fronte || !servizio.doc_personale_retro);
const [showDocStep, setShowDocStep] = useState(
open && (needsDocuments || !isUnlocked), console.log("needsDocuments", needsDocuments, servizio);
);
return ( return (
<Credenza <Credenza
onOpenChange={(o) => { onOpenChange={(o) => {
setOpen(o); setOpen(o);
if (o && (needsDocuments || !isUnlocked)) {
setShowDocStep(true);
}
}} }}
open={open} open={open}
> >
@ -73,8 +70,8 @@ export const ContattiProprietarioModal = () => {
{t.contatto.descrizione} {t.contatto.descrizione}
</CredenzaDescription> </CredenzaDescription>
</CredenzaHeader> </CredenzaHeader>
{showDocStep ? ( {needsDocuments ? (
<DocCheckpoint setStep={setShowDocStep} /> <DocCheckpoint />
) : isUnlocked ? ( ) : isUnlocked ? (
<PostUnlock /> <PostUnlock />
) : ( ) : (
@ -85,7 +82,7 @@ export const ContattiProprietarioModal = () => {
); );
}; };
const DocCheckpoint = ({ setStep }: { setStep: (value: boolean) => void }) => { const DocCheckpoint = () => {
const { t } = useTranslation(); const { t } = useTranslation();
const { userId, servizio, isAdmin } = useServizio(); const { userId, servizio, isAdmin } = useServizio();
const utils = api.useUtils(); const utils = api.useUtils();
@ -170,18 +167,6 @@ const DocCheckpoint = ({ setStep }: { setStep: (value: boolean) => void }) => {
</div> </div>
</CredenzaBody> </CredenzaBody>
<CredenzaFooter> <CredenzaFooter>
<Button
aria-label="Procedi"
disabled={
isPending ||
!servizio.doc_personale_fronte?.storageId ||
!servizio.doc_personale_retro?.storageId
}
onClick={() => setStep(false)}
variant="success"
>
Procedi
</Button>
<CredenzaClose asChild> <CredenzaClose asChild>
<Button aria-label="Chiudi" disabled={isPending} variant="outline"> <Button aria-label="Chiudi" disabled={isPending} variant="outline">
{t.chiudi} {t.chiudi}