feat(journals): implement Quick Add and unified Append/Prepend shared component

- Created AeCompJournalEntryQuickAdd for high-velocity note creation
- Extracted robust append/prepend logic from List View into AeCompModalJournalEntryAppend
- Unified List and Detail views to use the shared modal for content manipulation
- Added explicit Append/Prepend actions to Journal Entry settings menu
- Updated TODO.md and Journals module documentation
This commit is contained in:
Scott Idem
2026-01-13 22:59:08 -05:00
parent 80bc5e453a
commit 8fd11d7224
9 changed files with 403 additions and 398 deletions

View File

@@ -9,7 +9,8 @@
Eye, EyeOff, ShieldCheck, ShieldMinus,
Clock, X, Trash2, Settings, Shapes,
Copy, RemoveFormatting, CodeXml, TypeOutline,
History, Pencil, PenLine, FileX, SquareLibrary
History, Pencil, PenLine, FileX, SquareLibrary,
ArrowUpToLine, ArrowDownToLine
} from '@lucide/svelte';
import { ae_loc, ae_api } from '$lib/stores/ae_stores';
import { journals_slct, journals_loc, journals_sess } from '$lib/ae_journals/ae_journals_stores';
@@ -26,6 +27,8 @@
onSave: () => void;
onDecryptHistory: () => void;
onChangeJournal: () => void;
onAppend?: () => void;
onPrepend?: () => void;
log_lvl?: number;
}
@@ -37,6 +40,8 @@
onSave,
onDecryptHistory,
onChangeJournal,
onAppend,
onPrepend,
log_lvl = 0
}: Props = $props();
@@ -83,6 +88,16 @@
</script>
<div class="space-y-4 min-w-[280px]">
<!-- Append/Prepend Actions -->
<div class="grid grid-cols-2 gap-2">
<button class="btn btn-sm variant-soft-secondary" onclick={onPrepend} title="Prepend to Note">
<ArrowUpToLine size="1.2em" class="mr-1"/> Prepend
</button>
<button class="btn btn-sm variant-soft-secondary" onclick={onAppend} title="Append to Note">
<ArrowDownToLine size="1.2em" class="mr-1"/> Append
</button>
</div>
<!-- Category selection -->
<div class="flex items-center gap-2">
<Shapes size="1.1em" class="text-surface-500" />