From 733a4188c10bd9dbe389e83177c2bf7cb63f7924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Gustavo?= Date: Thu, 4 Dec 2025 01:09:26 -0300 Subject: [PATCH] fix: appoiment-date --- .../features/forms/availability-form.tsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/susconecta/components/features/forms/availability-form.tsx b/susconecta/components/features/forms/availability-form.tsx index 2b6af56..e449b86 100644 --- a/susconecta/components/features/forms/availability-form.tsx +++ b/susconecta/components/features/forms/availability-form.tsx @@ -1,6 +1,6 @@ "use client" -import { useState, useEffect } from 'react' +import { useState, useEffect, useMemo } from 'react' import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from '@/components/ui/dialog' import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogFooter, AlertDialogAction, AlertDialogCancel } from '@/components/ui/alert-dialog' import { Button } from '@/components/ui/button' @@ -46,12 +46,14 @@ export function AvailabilityForm({ open, onOpenChange, doctorId = null, onSaved, }; // Get list of already used weekdays (excluding current one in edit mode) - const usedWeekdays = new Set( - (existingAvailabilities || []) - .filter(a => mode === 'edit' ? a.id !== availability?.id : true) - .map(a => normalizeWeekdayForComparison(a.weekday)) - .filter(Boolean) - ); + const usedWeekdays = useMemo(() => { + return new Set( + (existingAvailabilities || []) + .filter(a => mode === 'edit' ? a.id !== availability?.id : true) + .map(a => normalizeWeekdayForComparison(a.weekday)) + .filter(Boolean) + ); + }, [existingAvailabilities, mode, availability?.id]); // When editing, populate state from availability prop useEffect(() => {