diff --git a/app/[locale]/home/multi-bill-edit/[year]/[month]/MultiBillEdit.tsx b/app/[locale]/home/multi-bill-edit/[year]/[month]/MultiBillEdit.tsx index cf483d5..00af55e 100644 --- a/app/[locale]/home/multi-bill-edit/[year]/[month]/MultiBillEdit.tsx +++ b/app/[locale]/home/multi-bill-edit/[year]/[month]/MultiBillEdit.tsx @@ -26,18 +26,21 @@ export const MultiBillEdit: FC = ({ locations, year, month } const t = useTranslations("multi-bill-edit"); const router = useRouter(); - // Initialize bill states from locations - const initialBillStates: BillState[] = locations.flatMap(location => - location.bills.map(bill => ({ - locationId: location._id, - billId: bill._id, - paid: bill.paid, - })) + const [isSaving, setIsSaving] = useState(false); + + const [billStates, setBillStates] = useState(() => + locations.flatMap(location => + location.bills.map(bill => ({ + locationId: location._id, + billId: bill._id, + paid: bill.paid, + })) + ) ); - const [billStates, setBillStates] = useState(initialBillStates); - const [isSaving, setIsSaving] = useState(false); - const [allPaidMode, setAllPaidMode] = useState(false); + const [allPaidMode, setAllPaidMode] = useState(() => + billStates.length > 0 && billStates.every(bill => bill.paid) + ); // Toggle individual bill paid status const handleBillToggle = (locationId: string, billId: string) => {