refactor: force ui refreshe after group changes

This commit is contained in:
zhom
2025-08-07 01:11:19 +04:00
parent 58d82d12c4
commit 63e125738d
2 changed files with 27 additions and 11 deletions
+22 -11
View File
@@ -30,11 +30,13 @@ import type { ProfileGroup } from "@/types";
interface GroupManagementDialogProps {
isOpen: boolean;
onClose: () => void;
onGroupManagementComplete: () => void;
}
export function GroupManagementDialog({
isOpen,
onClose,
onGroupManagementComplete,
}: GroupManagementDialogProps) {
const [groups, setGroups] = useState<ProfileGroup[]>([]);
const [isLoading, setIsLoading] = useState(false);
@@ -60,21 +62,30 @@ export function GroupManagementDialog({
}
}, []);
const handleGroupCreated = useCallback((newGroup: ProfileGroup) => {
setGroups((prev) => [...prev, newGroup]);
}, []);
const handleGroupCreated = useCallback(
(newGroup: ProfileGroup) => {
setGroups((prev) => [...prev, newGroup]);
onGroupManagementComplete();
},
[onGroupManagementComplete],
);
const handleGroupUpdated = useCallback((updatedGroup: ProfileGroup) => {
setGroups((prev) =>
prev.map((group) =>
group.id === updatedGroup.id ? updatedGroup : group,
),
);
}, []);
const handleGroupUpdated = useCallback(
(updatedGroup: ProfileGroup) => {
setGroups((prev) =>
prev.map((group) =>
group.id === updatedGroup.id ? updatedGroup : group,
),
);
onGroupManagementComplete();
},
[onGroupManagementComplete],
);
const handleGroupDeleted = useCallback(() => {
void loadGroups();
}, [loadGroups]);
onGroupManagementComplete();
}, [loadGroups, onGroupManagementComplete]);
const handleEditGroup = useCallback((group: ProfileGroup) => {
setSelectedGroup(group);