From 80bc5e453ad3549104a2ffb7850d36a270611976 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 13 Jan 2026 14:42:02 -0500 Subject: [PATCH] Changes related to the directory name change. --- README.md | 4 +- ...ace => aether_app_sveltekit.code-workspace | 0 .../AE_UI_Journals_module_update_2026.md | 93 +++++++++++++++++++ 3 files changed, 95 insertions(+), 2 deletions(-) rename ae_app_svelte_tailwind_skeleton.code-workspace => aether_app_sveltekit.code-workspace (100%) create mode 100644 documentation/AE_UI_Journals_module_update_2026.md diff --git a/README.md b/README.md index 4caa62db..03aaf74d 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ npm run build If this is just a quick build update then only the build directory needs to be copied (rsync). ```bash -rsync -vhrz --exclude 'node_modules' ~/OSIT_dev/ae_app_svelte_tailwind_skeleton/build/ ~/OSIT_dev/ae_env_node_app/npm_deploy/build/ --delete +rsync -vhrz --exclude 'node_modules' ~/OSIT_dev/aether_app_sveltekit/build/ ~/OSIT_dev/ae_env_node_app/npm_deploy/build/ --delete rsync -vhrz ~/OSIT_dev/ae_env_node_app/npm_deploy/build/ scott@linode.oneskyit.com:/srv/env/prod_aether_sveltekit/npm_deploy/build/ --delete ``` @@ -71,7 +71,7 @@ Run the --omit dev to clear out the node_modules directory. Copy the root node_m npm ci --omit dev # copy/paste, rsync, or cp -rsync -vhrz ~/OSIT_dev/ae_app_svelte_tailwind_skeleton/node_modules ~/OSIT_dev/ae_env_node_app/npm_deploy/build/ --delete +rsync -vhrz ~/OSIT_dev/aether_app_sveltekit/node_modules ~/OSIT_dev/ae_env_node_app/npm_deploy/build/ --delete # copy package.json as well diff --git a/ae_app_svelte_tailwind_skeleton.code-workspace b/aether_app_sveltekit.code-workspace similarity index 100% rename from ae_app_svelte_tailwind_skeleton.code-workspace rename to aether_app_sveltekit.code-workspace diff --git a/documentation/AE_UI_Journals_module_update_2026.md b/documentation/AE_UI_Journals_module_update_2026.md new file mode 100644 index 00000000..40c4fab8 --- /dev/null +++ b/documentation/AE_UI_Journals_module_update_2026.md @@ -0,0 +1,93 @@ +# Aether Journals UI Update (2026) + +> **Status:** Active +> **Last Updated:** 2026-01-13 +> **Primary Agent:** Frontend SvelteKit Agent + +## 1. Project Overview +This document outlines the modernization of the Journals module UI in the SvelteKit frontend (`aether_app_sveltekit`). The primary goals are to fully leverage the generic V3 API architecture and introduce high-velocity productivity features for journal management. + +**Context:** The backend transition to the generic `api_crud_v3` router is complete. Custom legacy routers have been removed. The frontend must now fully align with this pattern and provide a frictionless user experience. + +--- + +## 2. Core Objectives + +### 🎯 Primary Goals +1. **V3 API Verification:** Ensure all CRUD operations utilize the generic `api_crud_v3` endpoints (Verified). +2. **Quick Add UI:** Implement a specialized interface for rapid, friction-free entry creation. +3. **Append/Prepend UI:** Allow users to quickly add text to the beginning or end of existing entries without full edit mode. +4. **Interop & Portability:** Robust import/export logic for Markdown/HTML (Nextcloud Notes compatibility). +5. **Security Hardening:** Review and harden client-side encryption logic. + +--- + +## 3. Technical Architecture + +### Backend (Completed) +* **Router:** `api_crud_v3` (Generic) +* **Definitions:** `app/ae_obj_types_def.py` -> `app/object_definitions/journals.py` +* **Endpoints:** `/v3/crud/journal/...` and `/v3/crud/journal_entry/...` + +### Frontend (In Progress) +* **State Management:** `src/lib/ae_journals/ae_journals_stores.ts` +* **Local Storage:** Dexie.js (`db_journals`) +* **API Client:** `src/lib/api/api.ts` -> `get_ae_obj_v3` + +--- + +## 4. Feature Specifications + +### ⚡ Quick Add +* **Component:** `src/routes/journals/ae_comp__journal_entry_quick_add.svelte` (New) +* **Placement:** + * Primary: Top of the Journal List view (`src/routes/journals/+page.svelte`). + * Secondary: Sidebar or global hotkey (Future). +* **Behavior:** + * Simple `textarea` input. + * "Add Note" button. + * **Logic:** Creates a new `journal_entry` attached to the active (or default) journal. Auto-sets `created_on` to `now`. + * **UX:** Should not require opening a full editor modal. Optimistic UI update. + +### 📝 Append / Prepend +* **Triggers:** Buttons added to `src/routes/journals/JournalEntry_SettingsMenu.svelte`. +* **Interaction:** + * Clicking "Append" or "Prepend" opens a focused input area (inline or small modal). + * User types text -> Submits. + * **Logic:** + * **Prepend:** `New Text` + `\n\n` + `Existing Content` + * **Append:** `Existing Content` + `\n\n` + `New Text` + * **UX:** seamless update of the view without entering full "Edit Mode". + +### 🔄 Interop (Markdown/HTML) +* **Goal:** Bulk export/import for data portability. +* **Format:** JSON container vs. Raw Markdown files. +* **Integration:** potential drag-and-drop zone for Nextcloud Note files. + +--- + +## 5. Implementation Plan + +### Phase 1: Foundation (Done) +- [x] Backend cleanup (remove legacy routers). +- [x] Verify frontend uses V3 API (`ae_journals__journal.ts`). + +### Phase 2: Rapid Entry (Active) +- [ ] Create `ae_comp__journal_entry_quick_add.svelte`. +- [ ] Integrate Quick Add into `+page.svelte`. +- [ ] Update `ae_journals_stores.ts` to manage Quick Add state/visibility. + +### Phase 3: Content Manipulation +- [ ] Update `JournalEntry_SettingsMenu.svelte` with Append/Prepend actions. +- [ ] Implement Append/Prepend logic in `JournalEntry_Editor.svelte` or helper functions. + +### Phase 4: Polish & Security +- [ ] Audit encryption flow for Quick Added entries. +- [ ] Styling and Mobile responsiveness check. + +--- + +## 6. Reference Files +* `src/lib/ae_journals/ae_journals_stores.ts`: State definitions. +* `src/routes/journals/+page.svelte`: Main UI container. +* `src/routes/journals/JournalEntry_Editor.svelte`: Editor logic.