From 9691ceca4310c78f3042e3a3d47b226f8abc4dc6 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 18 Nov 2025 20:10:01 -0500 Subject: [PATCH] feat: Add form-based UIs and view toggles for event settings This commit introduces form-based UI components for 'mod_badges_json' and 'mod_abstracts_json', and expands the form for 'mod_pres_mgmt_json'. It also adds view toggles to switch between form and raw JSON editing for each of these sections, providing greater flexibility for the user. --- .../events/[event_id]/settings/+page.svelte | 162 +++++++++++++----- ...comp__event_settings_abstracts_form.svelte | 99 +++++++++++ ...ae_comp__event_settings_badges_form.svelte | 90 ++++++++++ ...comp__event_settings_pres_mgmt_form.svelte | 130 ++++++++++++-- 4 files changed, 427 insertions(+), 54 deletions(-) create mode 100644 src/routes/events/[event_id]/settings/ae_comp__event_settings_abstracts_form.svelte create mode 100644 src/routes/events/[event_id]/settings/ae_comp__event_settings_badges_form.svelte diff --git a/src/routes/events/[event_id]/settings/+page.svelte b/src/routes/events/[event_id]/settings/+page.svelte index 4a1cb22a..43f51bef 100644 --- a/src/routes/events/[event_id]/settings/+page.svelte +++ b/src/routes/events/[event_id]/settings/+page.svelte @@ -9,9 +9,15 @@ import Ae_comp_event_settings_form from './ae_comp__event_settings_form.svelte'; import Ae_comp_event_settings_pres_mgmt_form from './ae_comp__event_settings_pres_mgmt_form.svelte'; import Ae_comp_event_settings_basic_form from './ae_comp__event_settings_basic_form.svelte'; + import Ae_comp_event_settings_badges_form from './ae_comp__event_settings_badges_form.svelte'; + import Ae_comp_event_settings_abstracts_form from './ae_comp__event_settings_abstracts_form.svelte'; let event_id = $page.params.event_id; let event_obj = $state(null); + let cfg_json_view = $state('form'); + let pres_mgmt_json_view = $state('form'); + let badges_json_view = $state('form'); + let abstracts_json_view = $state('form'); onMount(() => { const observable = liveQuery(() => db_events.event.get(event_id)); @@ -65,64 +71,140 @@
General Config (cfg_json)
- handle_save('cfg_json', e.detail)} - /> +
+ + +
+ {#if cfg_json_view === 'form'} + handle_save('cfg_json', e.detail)} + /> + {:else} + { + event_obj.cfg_json = e.detail; + }} + /> + + {/if}
Presentation Management (mod_pres_mgmt_json)
- handle_save('mod_pres_mgmt_json', e.detail)} - /> +
+ + +
+ {#if pres_mgmt_json_view === 'form'} + handle_save('mod_pres_mgmt_json', e.detail)} + /> + {:else} + { + event_obj.mod_pres_mgmt_json = e.detail; + }} + /> + + {/if}
Badges (mod_badges_json)
- { - event_obj.mod_badges_json = e.detail; - }} - /> - +
+ + +
+ {#if badges_json_view === 'form'} + handle_save('mod_badges_json', e.detail)} + /> + {:else} + { + event_obj.mod_badges_json = e.detail; + }} + /> + + {/if}
Abstracts (mod_abstracts_json)
- { - event_obj.mod_abstracts_json = e.detail; - }} - /> - +
+ + +
+ {#if abstracts_json_view === 'form'} + handle_save('mod_abstracts_json', e.detail)} + /> + {:else} + { + event_obj.mod_abstracts_json = e.detail; + }} + /> + + {/if}
diff --git a/src/routes/events/[event_id]/settings/ae_comp__event_settings_abstracts_form.svelte b/src/routes/events/[event_id]/settings/ae_comp__event_settings_abstracts_form.svelte new file mode 100644 index 00000000..54525c0c --- /dev/null +++ b/src/routes/events/[event_id]/settings/ae_comp__event_settings_abstracts_form.svelte @@ -0,0 +1,99 @@ + + +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + +
diff --git a/src/routes/events/[event_id]/settings/ae_comp__event_settings_badges_form.svelte b/src/routes/events/[event_id]/settings/ae_comp__event_settings_badges_form.svelte new file mode 100644 index 00000000..26048445 --- /dev/null +++ b/src/routes/events/[event_id]/settings/ae_comp__event_settings_badges_form.svelte @@ -0,0 +1,90 @@ + + +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + +
diff --git a/src/routes/events/[event_id]/settings/ae_comp__event_settings_pres_mgmt_form.svelte b/src/routes/events/[event_id]/settings/ae_comp__event_settings_pres_mgmt_form.svelte index 89032a47..61414323 100644 --- a/src/routes/events/[event_id]/settings/ae_comp__event_settings_pres_mgmt_form.svelte +++ b/src/routes/events/[event_id]/settings/ae_comp__event_settings_pres_mgmt_form.svelte @@ -16,21 +16,123 @@
-
- +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
-
- + +
+
+ +
+
+ +
+
+ +
+