From b7b5b4b4e30a976974171098bf02f09e6a263d6e Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Thu, 11 Dec 2025 19:04:17 -0800 Subject: [PATCH] fix store reactivity with getter/setter fields was losing reactivity when passed to child components. use getter/setter to maintain proxy reference. --- src/lib/stores/project-form.svelte.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib/stores/project-form.svelte.ts b/src/lib/stores/project-form.svelte.ts index 7cf4c65..2164699 100644 --- a/src/lib/stores/project-form.svelte.ts +++ b/src/lib/stores/project-form.svelte.ts @@ -46,11 +46,16 @@ export function createProjectFormStore(initialProject?: Project | null) { } return { - // State is returned directly - it's already reactive in Svelte 5 - // Components can read: formStore.fields.title - // Mutation should go through methods below for validation - fields, - validationErrors, + // Use getters to maintain reactivity when accessing state from outside the store + get fields() { + return fields + }, + set fields(value: ProjectFormData) { + fields = value + }, + get validationErrors() { + return validationErrors + }, isDirty, // Methods for controlled mutation