From dbb45e10aea979fbc120260441e5e65d4b1ec94b Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 14 Jan 2026 18:52:45 -0500 Subject: [PATCH] style(journals): standardize and stabilize 'Config' interfaces across all levels --- src/routes/journals/+page.svelte | 2 +- .../journals/JournalEntry_Header.svelte | 4 +- .../ae_comp__journal_obj_id_edit.svelte | 42 ++- .../ae_comp__journal_obj_id_view.svelte | 257 ++++-------------- .../modal_journal_entry_config.svelte | 7 +- .../journals/modal_journals_config.svelte | 7 +- 6 files changed, 102 insertions(+), 217 deletions(-) diff --git a/src/routes/journals/+page.svelte b/src/routes/journals/+page.svelte index ebf63730..c7a6e78e 100644 --- a/src/routes/journals/+page.svelte +++ b/src/routes/journals/+page.svelte @@ -144,7 +144,7 @@ onclick={() => $journals_sess.show__modal__journals_config = true} > - Configure + Config {/if} diff --git a/src/routes/journals/JournalEntry_Header.svelte b/src/routes/journals/JournalEntry_Header.svelte index b4a68fdd..3da44b0c 100644 --- a/src/routes/journals/JournalEntry_Header.svelte +++ b/src/routes/journals/JournalEntry_Header.svelte @@ -118,12 +118,12 @@
- + diff --git a/src/routes/journals/ae_comp__journal_obj_id_edit.svelte b/src/routes/journals/ae_comp__journal_obj_id_edit.svelte index 18a803e5..d6b0ed7c 100644 --- a/src/routes/journals/ae_comp__journal_obj_id_edit.svelte +++ b/src/routes/journals/ae_comp__journal_obj_id_edit.svelte @@ -24,6 +24,8 @@ MessageSquareWarning, Copy, FilePlus, + FileDown, + FileUp, Globe, BookHeart, BriefcaseBusiness, @@ -34,7 +36,8 @@ X, Settings, CalendarClock, - MousePointerClick + MousePointerClick, + Zap } from '@lucide/svelte'; import { Modal } from 'flowbite-svelte'; import { goto } from '$app/navigation'; @@ -57,16 +60,22 @@ log_lvl?: number; lq__journal_obj: any; show?: boolean; + onNewEntry?: () => void; + onShowExport?: () => void; + onShowImport?: () => void; } let { log_lvl = $bindable(0), lq__journal_obj, - show = $bindable(false) + show = $bindable(false), + onNewEntry, + onShowExport, + onShowImport }: Props = $props(); // *** Internal State - let tab: 'general' | 'security' | 'ui' | 'json' = $state('general'); + let tab: 'actions' | 'general' | 'security' | 'ui' | 'json' = $state('actions'); let tmp__journal_obj: any = $state({}); // Deep copy on mount or when lq changes to ensure we have a working copy @@ -118,7 +127,8 @@ default_private: tmp__journal_obj.default_private, default_public: tmp__journal_obj.default_public, default_personal: tmp__journal_obj.default_personal, - default_professional: tmp__journal_obj.default_professional + default_professional: tmp__journal_obj.default_professional, + code: tmp__journal_obj.code }; await journals_func.update_ae_obj__journal({ @@ -163,14 +173,17 @@ > {#snippet header()}

- - Edit Journal: {$lq__journal_obj?.name ?? '--'} + + Journal Config: {$lq__journal_obj?.name ?? '--'}

{/snippet}
+ @@ -185,7 +198,22 @@
- {#if tab === 'general'} + {#if tab === 'actions'} +
+
+ + + +
+
+ + {:else if tab === 'general'}
diff --git a/src/routes/journals/ae_comp__journal_obj_id_view.svelte b/src/routes/journals/ae_comp__journal_obj_id_view.svelte index 88264e43..ec26333f 100644 --- a/src/routes/journals/ae_comp__journal_obj_id_view.svelte +++ b/src/routes/journals/ae_comp__journal_obj_id_view.svelte @@ -3,7 +3,7 @@ import { goto } from '$app/navigation'; // *** Import other supporting libraries - import { BookPlus, BookOpenText, FilePlus, Menu, Pencil, FileDown, FileUp } from '@lucide/svelte'; + import { BookPlus, BookOpenText, FilePlus, Menu, Pencil, FileDown, FileUp, Settings } from '@lucide/svelte'; // *** Import Aether specific variables and functions import { ae_util } from '$lib/ae_utils/ae_utils'; @@ -24,6 +24,7 @@ journals_prom } from '$lib/ae_journals/ae_journals_stores'; import { journals_func } from '$lib/ae_journals/ae_journals_functions'; + import Journal_obj_id_edit from './ae_comp__journal_obj_id_edit.svelte'; interface Props { log_lvl?: number; @@ -40,7 +41,6 @@ // let ae_trigger: any = null; // let ae_triggers: key_val = {}; - let show_menu: boolean = $state(false); let typed_journal_passcode: string = $state(''); let passcode_timer: any = $state(null); @@ -119,6 +119,33 @@ } else { } } + + async function handle_new_entry() { + let data_kv = { + category_code: null + }; + if ($journals_loc.qry__category_code) { + data_kv.category_code = $journals_loc.qry__category_code; + } + + try { + const results = await journals_func.create_ae_obj__journal_entry({ + api_cfg: $ae_api, + journal_id: $lq__journal_obj?.journal_id, + data_kv: data_kv, + log_lvl: log_lvl + }); + + if (results?.journal_entry_id_random) { + $journals_slct.journal_entry_id = results.journal_entry_id_random; + $journals_loc.entry.edit_kv[$journals_slct.journal_entry_id] = 'current'; + goto(`/journals/${$lq__journal_obj?.journal_id}/entry/${results.journal_entry_id_random}`); + } + } catch (error) { + console.error('Error creating journal entry:', error); + alert('Failed to create new journal entry.'); + } + }
-
- - + + - - -
-
- - - Journal ID: {$lq__journal_obj?.id} - - - - - - {#if $lq__journal_entry_obj_li && $lq__journal_entry_obj_li.length > 0} - - {/if} - - -
- - - + + {#if !$journals_sess?.journal_kv[$lq__journal_obj?.id]?.journal_passcode_verified} +
{ - // console.log('HERE'); - // verify_journal_passcode(); - }} - class="input input-sm input-bordered w-full mb-2" - title="Enter private passcode of this journal" + placeholder="Passcode" + class="input input-sm variant-form-material w-32" /> - - {#if $journals_sess?.journal_kv[$lq__journal_obj?.id]?.journal_passcode_verified} -
- - Journal passcode verified -
- {:else} -
- - Journal passcode not verified {$lq__journal_obj?.private_passcode ?? - '??'} -
- {/if}
- -
+ {/if}
- - - {#if $lq__journal_obj?.description && $ae_loc.edit_mode}
- Entry Settings: {tmp_entry_obj.name || '--'} + Entry Config: {tmp_entry_obj.name || '--'} {/snippet} @@ -80,7 +81,7 @@