feat: enhance default open logic for service rows and improve transition effects

This commit is contained in:
Marco Pedone 2025-10-14 16:53:15 +02:00
parent cdcc92173c
commit e6a4843586

View file

@ -32,12 +32,20 @@ export const TabRicerca = ({
); );
} }
const first_choice = data.findIndex((s) => !s.isInterrotto && s.isOkAcconto);
const second_choice = data.findIndex((s) => !s.isInterrotto);
const getDefaultOpen = (idx: number) => {
if (first_choice !== -1) return idx === first_choice;
if (second_choice !== -1) return idx === second_choice;
return idx === 0;
};
return ( return (
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
{data.map((servizio, idx) => { {data.map((servizio, idx) => {
return ( return (
<Row <Row
defaultOpen={idx === 0} defaultOpen={getDefaultOpen(idx)}
isAdmin={isAdmin} isAdmin={isAdmin}
key={idx} key={idx}
servizio={servizio} servizio={servizio}
@ -72,7 +80,9 @@ const Row = ({
<div className="flex items-center rounded-md border border-border py-2 shadow-sm hover:shadow-md"> <div className="flex items-center rounded-md border border-border py-2 shadow-sm hover:shadow-md">
<CollapsibleTrigger className="grid w-full cursor-pointer grid-cols-10 items-center"> <CollapsibleTrigger className="grid w-full cursor-pointer grid-cols-10 items-center">
<div className="col-span-2 sm:col-span-1"> <div className="col-span-2 sm:col-span-1">
<span className="text-xl">{isOpen ? "👇" : "👉"}</span> <span className="text-xl transition-all duration-300 ease-in-out">
{isOpen ? "👇" : "👉"}
</span>
</div> </div>
<div className="col-span-6 flex items-center gap-2 font-semibold sm:text-lg"> <div className="col-span-6 flex items-center gap-2 font-semibold sm:text-lg">
<Package className="size-6 text-primary" /> <Package className="size-6 text-primary" />