diff --git a/src/routes/events/[event_id]/settings/+page.svelte b/src/routes/events/[event_id]/settings/+page.svelte index a315790b..a617dd7a 100644 --- a/src/routes/events/[event_id]/settings/+page.svelte +++ b/src/routes/events/[event_id]/settings/+page.svelte @@ -5,6 +5,9 @@ import { onMount } from 'svelte'; import { events_func } from '$lib/ae_events_functions'; import { ae_api } from '$lib/stores/ae_stores'; + import E_app_codemirror_v5 from '$lib/app_components/e_app_codemirror_v5.svelte'; + 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'; let event_id = $page.params.event_id; let event_obj = $state(null); @@ -20,10 +23,11 @@ }; }); - async function handle_save(field_name: string, json_string: string) { + async function handle_save(field_name: string, json_data: string | object) { try { - const parsed_json = JSON.parse(json_string); - const data_kv = { [field_name]: parsed_json }; + const data_to_save = + typeof json_data === 'string' ? JSON.parse(json_data) : json_data; + const data_kv = { [field_name]: data_to_save }; await events_func.update_ae_obj__event({ api_cfg: $ae_api, @@ -45,28 +49,33 @@

General Config (cfg_json)

- - + handle_save('cfg_json', e.detail)} + />

Presentation Management (mod_pres_mgmt_json)

- - + handle_save('mod_pres_mgmt_json', e.detail)} + />

Badges (mod_badges_json)

- + { + event_obj.mod_badges_json = e.detail; + }} + />

Abstracts (mod_abstracts_json)

- + { + event_obj.mod_abstracts_json = e.detail; + }} + /> +
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 new file mode 100644 index 00000000..56753e9c --- /dev/null +++ b/src/routes/events/[event_id]/settings/ae_comp__event_settings_pres_mgmt_form.svelte @@ -0,0 +1,38 @@ + + +
+
+ +
+
+ +
+ +