diff --git a/src/app/[locale]/admin/clubs/[club_id]/tabs/ClubCourtsTab.tsx b/src/app/[locale]/admin/clubs/[club_id]/tabs/ClubCourtsTab.tsx index 23198c4..8b4bc88 100644 --- a/src/app/[locale]/admin/clubs/[club_id]/tabs/ClubCourtsTab.tsx +++ b/src/app/[locale]/admin/clubs/[club_id]/tabs/ClubCourtsTab.tsx @@ -253,9 +253,8 @@ function CourtFormModal({ clubId, court, onClose, onSuccess }: CourtFormModalPro const isEditing = !!court; const [name, setName] = useState(court?.name || ''); // Get sport_variation_id from nested structure or fall back to deprecated flat field - const [sportVariationId, setSportVariationId] = useState( - court?.sport_variation?.sport_variation_id || court?.sport_variation_id || 0 - ); + const initialSportVariationId = court?.sport_variation?.sport_variation_id || court?.sport_variation_id || 0; + const [sportVariationId, setSportVariationId] = useState(initialSportVariationId); const [sports, setSports] = useState([]); const [loadingSports, setLoadingSports] = useState(true); const [saving, setSaving] = useState(false); @@ -263,6 +262,12 @@ function CourtFormModal({ clubId, court, onClose, onSuccess }: CourtFormModalPro const [fieldError, setFieldError] = useState(''); const [sportVariationError, setSportVariationError] = useState(''); + // Debug: log the court data and extracted sport variation ID + useEffect(() => { + console.log('Court data:', court); + console.log('Extracted sport_variation_id:', initialSportVariationId); + }, [court]); + useEffect(() => { async function loadSports() { setLoadingSports(true); @@ -395,7 +400,7 @@ function CourtFormModal({ clubId, court, onClose, onSuccess }: CourtFormModalPro sportVariationError ? 'border-red-300 focus:border-red-500' : 'border-slate-200 focus:border-slate-900' - } focus:outline-none`} + } focus:outline-none ${(saving || isEditing) ? 'bg-slate-100 cursor-not-allowed' : ''}`} disabled={saving || isEditing} >