From 88d9f186aa07eeca7eaaf2fb08e20b7a20542261 Mon Sep 17 00:00:00 2001 From: silentoplayz Date: Thu, 11 Jun 2026 16:37:04 -0400 Subject: [PATCH] fix(ui): reset Default Permissions modal state on close without save --- src/lib/components/admin/Users/Groups.svelte | 2 +- .../admin/Users/Groups/EditGroupModal.svelte | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/components/admin/Users/Groups.svelte b/src/lib/components/admin/Users/Groups.svelte index c9c57ea582..f8e9daf852 100644 --- a/src/lib/components/admin/Users/Groups.svelte +++ b/src/lib/components/admin/Users/Groups.svelte @@ -224,7 +224,7 @@ diff --git a/src/lib/components/admin/Users/Groups/EditGroupModal.svelte b/src/lib/components/admin/Users/Groups/EditGroupModal.svelte index d446f9f62a..c6cc90f33c 100644 --- a/src/lib/components/admin/Users/Groups/EditGroupModal.svelte +++ b/src/lib/components/admin/Users/Groups/EditGroupModal.svelte @@ -52,10 +52,17 @@ await onSubmit(group); + // Update saved snapshot so next open reflects the just-saved state + _savedPermissions = JSON.parse(JSON.stringify(permissions)); + loading = false; show = false; }; + // Deep-clone the parent's permissions at creation time so we can + // reset on close-without-save without mutating the parent's object. + let _savedPermissions = JSON.parse(JSON.stringify(permissions)); + const init = () => { if (group) { name = group.name; @@ -73,6 +80,9 @@ data = group?.data ?? {}; userCount = group?.member_count ?? 0; + } else { + // Reset to last-saved permissions (e.g. Default Permissions modal) + permissions = JSON.parse(JSON.stringify(_savedPermissions)); } };