From 9f49ab9b680fd40657ae576c6889b4c4e7ce5a8a Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Fri, 9 Jan 2026 15:00:48 +0100 Subject: [PATCH] super nit --- .../workspaceSettings/StorageSettings.svelte | 26 +++++++------------ frontend/src/lib/utils.ts | 2 +- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/frontend/src/lib/components/workspaceSettings/StorageSettings.svelte b/frontend/src/lib/components/workspaceSettings/StorageSettings.svelte index e3330b3f02..82d1763bdc 100644 --- a/frontend/src/lib/components/workspaceSettings/StorageSettings.svelte +++ b/frontend/src/lib/components/workspaceSettings/StorageSettings.svelte @@ -72,22 +72,16 @@ }) ?? [] ) ) - let primaryStorageIsDirty: boolean = $derived( - !deepEqual( - pick(s3ResourceSavedSettings, [ - 'resourcePath', - 'resourceType', - 'publicResource', - 'advancedPermissions' - ]), - pick(s3ResourceSettings, [ - 'resourcePath', - 'resourceType', - 'publicResource', - 'advancedPermissions' - ]) - ) - ) + + let primaryStorageIsDirty: boolean = $derived.by(() => { + const fields = [ + 'resourcePath', + 'resourceType', + 'publicResource', + 'advancedPermissions' + ] as const + return !deepEqual(pick(s3ResourceSavedSettings, fields), pick(s3ResourceSettings, fields)) + }) function isDirty(name: string | null): boolean { return name === null ? primaryStorageIsDirty : secondaryStorageIsDirty[name] } diff --git a/frontend/src/lib/utils.ts b/frontend/src/lib/utils.ts index 0ae0475a92..d548772fd0 100644 --- a/frontend/src/lib/utils.ts +++ b/frontend/src/lib/utils.ts @@ -1972,7 +1972,7 @@ export function buildReactiveObj(fields: { return obj } -export function pick(obj: T, keys: K[]): Pick { +export function pick(obj: T, keys: readonly K[]): Pick { const result = {} as Pick for (const key of keys) { if (key in obj) {