From 4078797ad4bcfdfa0b32a7cc66cf09614b294542 Mon Sep 17 00:00:00 2001 From: Sam Chau Date: Sat, 14 Dec 2024 04:51:55 +1030 Subject: [PATCH] fix: use negative IDs for quality groups --- frontend/src/components/profile/CreateGroupModal.jsx | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/profile/CreateGroupModal.jsx b/frontend/src/components/profile/CreateGroupModal.jsx index 5a778f9..3fa5d4d 100644 --- a/frontend/src/components/profile/CreateGroupModal.jsx +++ b/frontend/src/components/profile/CreateGroupModal.jsx @@ -13,22 +13,20 @@ const CreateGroupModal = ({ const [selectedQualities, setSelectedQualities] = useState([]); const [groupName, setGroupName] = useState(''); const [description, setDescription] = useState(''); + const [nextId, setNextId] = useState(-1); useEffect(() => { if (isOpen && editingGroup) { setGroupName(editingGroup.name); setDescription(editingGroup.description || ''); - // Set selected qualities from the editing group const existingQualities = editingGroup.qualities.map(quality => { - // Find the quality in availableQualities to get the most up-to-date version return ( availableQualities.find(q => q.id === quality.id) || quality ); }); setSelectedQualities(existingQualities); } else if (!isOpen) { - // Reset state when modal closes setGroupName(''); setDescription(''); setSelectedQualities([]); @@ -45,19 +43,18 @@ const CreateGroupModal = ({ const handleSave = () => { if (groupName && selectedQualities.length > 0) { const groupData = { - // If editing, keep the same ID; otherwise generate new one - id: editingGroup ? editingGroup.id : Date.now(), + id: editingGroup ? editingGroup.id : nextId, name: groupName, description, qualities: selectedQualities, - // Preserve enabled state if editing, default to true for new groups enabled: editingGroup ? editingGroup.enabled : true, - // Preserve radarr/sonarr settings if editing radarr: editingGroup?.radarr, sonarr: editingGroup?.sonarr }; onCreateGroup(groupData); + // Decrement the ID counter for next time + setNextId(prev => prev - 1); } };