diff --git a/src/lib/ae_core/ae_comp__site_config_editor.svelte b/src/lib/ae_core/ae_comp__site_config_editor.svelte new file mode 100644 index 00000000..7b72e599 --- /dev/null +++ b/src/lib/ae_core/ae_comp__site_config_editor.svelte @@ -0,0 +1,304 @@ + + +
+ +
+ + + + + + +
+ + +
+ + {#if active_tab === 'visuals'} +
+ + + +
+ + {:else if active_tab === 'email'} +
+
+

Admin Contact

+ + +
+
+

System (No-Reply)

+ + +
+
+ + {:else if active_tab === 'ai'} +
+
+ + +
+ + + +
+ + {:else if active_tab === 'refresh'} +
+ + + + +
+ + {:else if active_tab === 'idaa'} +
+ +
+

+ Novi API Connection +

+
+ + +
+
+ + +
+ {#each [ + { key: 'novi_admin_li', label: 'Novi Admins', color: 'text-error-500' }, + { key: 'novi_trusted_li', label: 'Novi Trusted', color: 'text-warning-500' }, + { key: 'novi_jitsi_mod_li', label: 'Jitsi Moderators', color: 'text-primary-500' }, + { key: 'novi_idaa_group_guid_li', label: 'Member Group GUIDs', color: 'text-secondary-500' } + ] as list} +
+
+ {list.label} + +
+
+ {#each cfg_json[list.key] ?? [] as uuid, i} +
+ {uuid} + +
+ {/each} +
+
+ {/each} +
+ + +
+
+

Bulletin Board

+ + + + +
+
+

Recovery Meetings

+ + +
+
+
+ + {:else if active_tab === 'raw'} +
+ +
+ {/if} +
+ + +
+
+ +
+ +
+
diff --git a/src/routes/core/sites/[site_id]/+page.svelte b/src/routes/core/sites/[site_id]/+page.svelte index 4fffcca6..f9f98276 100644 --- a/src/routes/core/sites/[site_id]/+page.svelte +++ b/src/routes/core/sites/[site_id]/+page.svelte @@ -14,7 +14,8 @@ import { editable_fields__site_domain } from '$lib/ae_core/ae_core__site_domain.editable_fields'; import { ae_api, ae_loc } from '$lib/stores/ae_stores'; import { goto } from '$app/navigation'; - import { Save, Trash2, ArrowLeft, Globe, Plus, ExternalLink, Key, Settings, Activity, Info } from 'lucide-svelte'; + import { Save, Trash2, ArrowLeft, Globe, Plus, ExternalLink, Key, Settings, Activity, Info, Database } from 'lucide-svelte'; + import AE_Comp_Site_Config_Editor from '$lib/ae_core/ae_comp__site_config_editor.svelte'; let site_id = $page.params.site_id; let site: any = $state(null); @@ -56,6 +57,9 @@ } }); + // Ensure cfg_json is included explicitly + data_kv.cfg_json = site.cfg_json; + await update_ae_obj__site({ api_cfg: $ae_api, site_id, @@ -157,6 +161,17 @@ + +
+

+ Site Settings (cfg_json) +

+ +
+

Access Control