Merge branch 'iipbs/st/dev' of https://www.onasys.co.kr:3000/ONAANDALL/frontend into iipbs/st/dev

This commit is contained in:
2026-03-17 10:49:08 +09:00
@@ -165,8 +165,16 @@ const HbStatisticsVerification = () => {
[filteredVerificationTargetCodes],
);
const isAllSelected = useMemo(() => {
const count = filteredVerificationTargetCodes?.length ?? 0;
return count > 0 && selectedTargets.length === count;
}, [filteredVerificationTargetCodes, selectedTargets]);
const handleToggleAll = () => {
setSelectedTargets(isAllSelected ? [] : allVerificationTargetIds);
};
useEffect(() => {
if (!allVerificationTargetIds.length) return;
setSelectedTargets(allVerificationTargetIds);
}, [allVerificationTargetIds]);
@@ -476,42 +484,59 @@ const HbStatisticsVerification = () => {
filteredVerificationTargetCodes &&
filteredVerificationTargetCodes.length >
0 ? (
<div className="grid grid-cols-3 gap-4">
{filteredVerificationTargetCodes.map(
(item) => (
<div
key={
item.vrfcTrgtSn
}
className="flex items-center gap-2"
>
<Checkbox
id={
<>
<div className="flex items-center gap-2">
<Checkbox
id="select-all-targets"
checked={isAllSelected}
onCheckedChange={
handleToggleAll
}
/>
<Label
htmlFor="select-all-targets"
className="cursor-pointer !font-bold"
>
전체 선택
</Label>
</div>
<div className="grid grid-cols-3 gap-4">
{filteredVerificationTargetCodes.map(
(item) => (
<div
key={
item.vrfcTrgtSn
}
checked={selectedTargets.includes(
item.vrfcTrgtSn,
)}
onCheckedChange={() =>
handleTargetToggle(
item.vrfcTrgtSn,
)
}
/>
<Label
htmlFor={
item.vrfcTrgtSn
}
className="cursor-pointer text-label"
className="flex items-center gap-2"
>
{
item.vrfcTrgtNm
}
</Label>
</div>
),
)}
</div>
<Checkbox
id={
item.vrfcTrgtSn
}
checked={selectedTargets.includes(
item.vrfcTrgtSn,
)}
onCheckedChange={() =>
handleTargetToggle(
item.vrfcTrgtSn,
)
}
/>
<Label
htmlFor={
item.vrfcTrgtSn
}
className="cursor-pointer text-label"
>
{
item.vrfcTrgtNm
}
</Label>
</div>
),
)}
</div>
</>
) : (
<div className="flex items-center justify-center py-4">
<p className="text-[1.3rem] text-muted-foreground">