From 4a13bfbd1684d095d10f9403bde88359174456c7 Mon Sep 17 00:00:00 2001 From: Ku6epXBOCTuK Date: Sat, 5 Sep 2026 15:56:21 +0500 Subject: [PATCH] refactor: separate schema fields components --- .../lib/components/kit/SchemaFields.svelte | 152 +++--------------- .../kit/fields/DimensionField.svelte | 99 +++++++++--- .../kit/fields/schema/CheckboxControl.svelte | 47 ++++++ .../kit/fields/schema/ColorControl.svelte | 59 +++++++ .../kit/fields/schema/RangeControl.svelte | 58 +++++++ .../kit/fields/schema/SelectControl.svelte | 51 ++++++ .../kit/fields/schema/TextControl.svelte | 45 ++++++ 7 files changed, 356 insertions(+), 155 deletions(-) create mode 100644 web/src/lib/components/kit/fields/schema/CheckboxControl.svelte create mode 100644 web/src/lib/components/kit/fields/schema/ColorControl.svelte create mode 100644 web/src/lib/components/kit/fields/schema/RangeControl.svelte create mode 100644 web/src/lib/components/kit/fields/schema/SelectControl.svelte create mode 100644 web/src/lib/components/kit/fields/schema/TextControl.svelte diff --git a/web/src/lib/components/kit/SchemaFields.svelte b/web/src/lib/components/kit/SchemaFields.svelte index 576cca8..9597fce 100644 --- a/web/src/lib/components/kit/SchemaFields.svelte +++ b/web/src/lib/components/kit/SchemaFields.svelte @@ -1,6 +1,11 @@ {#each Object.entries(schema.fields) as [id, field] (id)} - {#if field.spec.kind === "number" || field.spec.kind === "slider"} - - {:else if field.spec.kind === "color"} - - {:else if field.spec.kind === "select"} - - {:else if field.spec.kind === "checkbox"} - - {:else if field.spec.kind === "dimension"} -
- onchange(id, v)} - /> -
- {/if} + {@const Control = FIELDS[field.spec.kind]} + onchange(id, v)} + /> {/each}
@@ -97,67 +52,6 @@
diff --git a/web/src/lib/components/kit/fields/schema/CheckboxControl.svelte b/web/src/lib/components/kit/fields/schema/CheckboxControl.svelte new file mode 100644 index 0000000..ea9df92 --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/CheckboxControl.svelte @@ -0,0 +1,47 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/ColorControl.svelte b/web/src/lib/components/kit/fields/schema/ColorControl.svelte new file mode 100644 index 0000000..b33f0ac --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/ColorControl.svelte @@ -0,0 +1,59 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/RangeControl.svelte b/web/src/lib/components/kit/fields/schema/RangeControl.svelte new file mode 100644 index 0000000..4502554 --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/RangeControl.svelte @@ -0,0 +1,58 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/SelectControl.svelte b/web/src/lib/components/kit/fields/schema/SelectControl.svelte new file mode 100644 index 0000000..a4dce31 --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/SelectControl.svelte @@ -0,0 +1,51 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/TextControl.svelte b/web/src/lib/components/kit/fields/schema/TextControl.svelte new file mode 100644 index 0000000..bce062e --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/TextControl.svelte @@ -0,0 +1,45 @@ + + + + +