From 596986afb7be5c1d052d5198d82779310f121299 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 20 Mar 2025 11:59:48 -0400 Subject: [PATCH] Work on the new Journals module. Journal entries are now partially viewable. --- src/lib/ae_journals/ae_journals__journal.ts | 6 +- .../ae_journals/ae_journals__journal_entry.ts | 19 +- src/lib/ae_journals/db_journals.ts | 9 + src/routes/journals/[journal_id]/+page.svelte | 6 +- src/routes/journals/[journal_id]/+page.ts | 2 +- .../entry/[journal_entry_id]/+page.svelte | 320 ++++++++++++++++++ .../entry/[journal_entry_id]/+page.ts | 46 +++ .../ae_comp__journal_entry_obj_id_view.svelte | 55 +++ 8 files changed, 454 insertions(+), 9 deletions(-) create mode 100644 src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.svelte create mode 100644 src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.ts create mode 100644 src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte diff --git a/src/lib/ae_journals/ae_journals__journal.ts b/src/lib/ae_journals/ae_journals__journal.ts index 7b88d73b..8ea6829a 100644 --- a/src/lib/ae_journals/ae_journals__journal.ts +++ b/src/lib/ae_journals/ae_journals__journal.ts @@ -45,7 +45,8 @@ export async function load_ae_obj_id__journal( // This is expecting a list db_save_ae_obj_li__journal({ obj_type: 'journal', - obj_li: [journal_obj_get_result] + obj_li: [journal_obj_get_result], + log_lvl: log_lvl }); } return journal_obj_get_result; @@ -152,7 +153,8 @@ export async function load_ae_obj_li__journal( if (try_cache) { db_save_ae_obj_li__journal({ obj_type: 'journal', - obj_li: journal_obj_li_get_result + obj_li: journal_obj_li_get_result, + log_lvl: log_lvl }); } return journal_obj_li_get_result; diff --git a/src/lib/ae_journals/ae_journals__journal_entry.ts b/src/lib/ae_journals/ae_journals__journal_entry.ts index 17991197..62f920d0 100644 --- a/src/lib/ae_journals/ae_journals__journal_entry.ts +++ b/src/lib/ae_journals/ae_journals__journal_entry.ts @@ -39,10 +39,10 @@ export async function load_ae_obj_id__journal_entry( if (journal_entry_obj_get_result) { if (try_cache) { // This is expecting a list - await db_save_ae_obj_li__journal_entry({ + db_save_ae_obj_li__journal_entry({ obj_type: 'journal_entry', - obj_li: [journal_entry_obj_get_result] - + obj_li: [journal_entry_obj_get_result], + log_lvl: log_lvl }); } return journal_entry_obj_get_result; @@ -121,7 +121,9 @@ export async function load_ae_obj_li__journal_entry( if (journal_entry_obj_li_get_result) { if (try_cache) { await db_save_ae_obj_li__journal_entry({ - obj_type: 'journal_entry', obj_li: journal_entry_obj_li_get_result + obj_type: 'journal_entry', + obj_li: journal_entry_obj_li_get_result, + log_lvl: log_lvl }); } return journal_entry_obj_li_get_result; @@ -346,6 +348,15 @@ export async function db_save_ae_obj_li__journal_entry( person_id: obj.person_id_random, + activity: obj.activity, + category: obj.category, + topic: obj.topic, + + public: obj.public, + private: obj.private, + personal: obj.personal, + professional: obj.professional, + name: obj.name, summary: obj.summary, outline: obj.outline, diff --git a/src/lib/ae_journals/db_journals.ts b/src/lib/ae_journals/db_journals.ts index 477a418d..d71eb650 100644 --- a/src/lib/ae_journals/db_journals.ts +++ b/src/lib/ae_journals/db_journals.ts @@ -155,6 +155,15 @@ export interface Journal_Entry { // event_id?: null|string; // Assign to an event??? // location_id?: null|string; // Assign to a location??? + activity?: null|string; + category?: null|string; + topic?: null|string; + + public?: null|boolean; + private?: null|boolean; + personal?: null|boolean; + professional?: null|boolean; + name: string; // or the title summary?: null|string; // LLM (AI) generated summary...??? outline?: null|string; // LLM (AI) generated outline...??? diff --git a/src/routes/journals/[journal_id]/+page.svelte b/src/routes/journals/[journal_id]/+page.svelte index 453caa1e..b9d8e6b5 100644 --- a/src/routes/journals/[journal_id]/+page.svelte +++ b/src/routes/journals/[journal_id]/+page.svelte @@ -54,6 +54,7 @@ let lq__journal_obj = $derived(liveQuery(async () => { } let results = await db_journals.journal .get($journals_slct?.journal_id ?? ''); // null or undefined does not reset things like '' does + console.log(`lq__journal_obj: results = `, results); return results; })); @@ -170,7 +171,7 @@ if (browser) {
- View Other Journals + + View Other Journals diff --git a/src/routes/journals/[journal_id]/+page.ts b/src/routes/journals/[journal_id]/+page.ts index 007473ba..025ded47 100644 --- a/src/routes/journals/[journal_id]/+page.ts +++ b/src/routes/journals/[journal_id]/+page.ts @@ -77,7 +77,7 @@ export async function load({ params, parent }) { // route } - // WARNING: Precaution against shared data between sites and presentations. + // WARNING: Precaution against shared data between sites. data[account_id] = ae_acct; return data; diff --git a/src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.svelte b/src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.svelte new file mode 100644 index 00000000..1a7f97be --- /dev/null +++ b/src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.svelte @@ -0,0 +1,320 @@ + + + + + + +
+ + + + + + + Back to Journal Entries + + +{#if $lq__journal_entry_obj} + +{/if} + +
+ + + + + + {#snippet header()} + +
+

+ {#if $ae_loc.trusted_access} + + + + {/if} + + + Edit Journal: + + {$lq__journal_entry_obj?.name} +

+
+ + + {/snippet} + + + + + + +
+ + + + + + + + diff --git a/src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.ts b/src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.ts new file mode 100644 index 00000000..89593322 --- /dev/null +++ b/src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.ts @@ -0,0 +1,46 @@ +/** @type {import('./$types').PageLoad} */ +import { error } from '@sveltejs/kit'; +console.log(`ae_p_journals [journal_entry_id] +page.ts start`); + +import { browser } from '$app/environment'; +import { journals_func } from '$lib/ae_journals/ae_journals_functions'; + +export async function load({ params, parent }) { // route + let log_lvl: number = 1; + + let data = await parent(); + data.log_lvl = log_lvl; + + let account_id = data.account_id; + let ae_acct = data[account_id]; + + let journal_entry_id = params.journal_entry_id; + if (!journal_entry_id) { + console.log(`ae_journals journals [journal_entry_id] +page.ts: The journal_entry_id was not found in the params!!!`); + error(404, { + message: 'Journals - Journal Entry ID not found' + }); + } + ae_acct.slct.journal_entry_id = journal_entry_id; + console.log(`ae_journals journals [journal_entry_id] +page.ts: journal_entry_id = `, ae_acct.slct.journal_entry_id); + + if (browser) { + if (log_lvl) { + console.log(`ae_journals journals [journal_entry_id] +page.ts: journal_entry_id = `, journal_entry_id); + } + // Load event journal entry object + let load_journal_obj = journals_func.load_ae_obj_id__journal_entry({ + api_cfg: ae_acct.api, + journal_entry_id: journal_entry_id, + try_cache: true, + log_lvl: 2 + }); + + ae_acct.slct.journal_obj = load_journal_obj; + } + + // WARNING: Precaution against shared data between sites. + data[account_id] = ae_acct; + + return data; +} diff --git a/src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte b/src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte new file mode 100644 index 00000000..3696f129 --- /dev/null +++ b/src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte @@ -0,0 +1,55 @@ + + + +
+ +
+

+ {@html $lq__journal_entry_obj?.name ?? 'Loading...'} + {#await $journals_prom.load__journal_entry_obj_li} + + {:then} + + {/await} +

+ + {$lq__journal_entry_obj?.private} + {$lq__journal_entry_obj?.public} + {$lq__journal_entry_obj?.personal} + {$lq__journal_entry_obj?.professional} +
+ +
+{$lq__journal_entry_obj?.content}
+
+ +
+{$lq__journal_entry_obj?.keywords} +{#if $ae_loc.trusted_access && $ae_loc.edit_mode} + ({$lq__journal_entry_obj?.created_on} {$lq__journal_entry_obj?.updated_on ?? ''}) +{/if} +
+ +
\ No newline at end of file