fix(journals): standardize component naming, props, and libraries

- Renamed all Journal components to follow the ae_comp__* snake_case convention.
- Normalized all custom event handler props from PascalCase (onSave) to snake_case (on_save) across the module.
- Migrated all icon imports from @lucide/svelte to lucide-svelte for consistency.
- Resolved ReferenceErrors and file corruption issues in Journals config and entry views.
- Updated qry__journal_entry logic to support category filtering.
- Verified module integrity and component interop.
This commit is contained in:
Scott Idem
2026-01-26 20:18:39 -05:00
parent 6858052e7d
commit ae86d0aede
23 changed files with 437 additions and 465 deletions

View File

@@ -0,0 +1,40 @@
<script lang="ts">
/**
* JournalEntry_Metadata.svelte
* Extracted 2026-01-08 to modularize the massive Journal Entry God Component.
* Displays creation, update, and original datetime/timezone information.
*/
import { ae_util } from '$lib/ae_utils/ae_utils';
import { ae_loc } from '$lib/stores/ae_stores';
import type { ae_JournalEntry } from '$lib/types/ae_types';
interface Props {
entry: ae_JournalEntry;
}
let { entry }: Props = $props();
</script>
<section class="journal-metadata w-full space-y-4">
<!-- System Timestamps -->
<div class="flex flex-col sm:flex-row justify-between items-center gap-2 px-1 text-xs text-surface-500">
<div class="flex gap-4">
<span title="Creation date">
<span class="font-semibold">Created:</span>
{ae_util.iso_datetime_formatter(entry.created_on, 'datetime_12_long')}
</span>
{#if entry.updated_on}
<span title="Last update">
<span class="font-semibold">Updated:</span>
{ae_util.iso_datetime_formatter(entry.updated_on, 'datetime_12_long')}
</span>
{/if}
</div>
{#if entry.journal_entry_type}
<span class="badge variant-soft-surface">
Type: {entry.journal_entry_type}
</span>
{/if}
</div>
</section>