From 05ec176c7ab01e18478d5ab00794c44403c69bf1 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Wed, 8 Apr 2026 19:23:27 +0700 Subject: [PATCH] refactor: improve module save functionality and nullable value handling Updated the saveMod function to ensure the module is reloaded after a successful update, enhancing data consistency. Refined the nullableSelectValue and fromNullableSelect functions to handle empty string cases, improving input validation and user experience in module pages. --- web/src/routes/modules/[moduleId]/+page.svelte | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/web/src/routes/modules/[moduleId]/+page.svelte b/web/src/routes/modules/[moduleId]/+page.svelte index 9fc5722..4bdffb4 100644 --- a/web/src/routes/modules/[moduleId]/+page.svelte +++ b/web/src/routes/modules/[moduleId]/+page.svelte @@ -271,7 +271,8 @@ async function saveMod() { editSaving = true; try { - mod = await apiMutate(`/v1/modules/${moduleId}`, 'PATCH', editForm); + await apiMutate(`/v1/modules/${moduleId}`, 'PATCH', editForm); + await loadMod(); toast.success('Модуль обновлён'); editDialog = false; } catch (e) { @@ -723,11 +724,13 @@ } function nullableSelectValue(value: string | null | undefined): string { - return value ?? NONE_OPTION; + if (value === null || value === undefined || value === '') return NONE_OPTION; + return value; } function fromNullableSelect(value: string): string | null { - return value === NONE_OPTION ? null : value; + if (value === NONE_OPTION || value === '') return null; + return value; } const activeTab = $derived.by(() => {