Files
OSIT-AE-App-Svelte/TODO.md
Scott Idem 5bd7c4756c Complete editable fields whitelists for all remaining AE objects
- Created .editable_fields.ts files for Journals, Events, and Sponsorships modules
- Standardized the whitelist pattern across the entire codebase
- Updated TODO.md and GEMINI.md with recent accomplishments and learnings
2026-01-07 11:56:28 -05:00

120 lines
5.5 KiB
Markdown

# One Sky IT's Aether UI/UX Project TODO
This is a list of tasks to be completed before the next event/show/conference.
---
## Recent Accomplishments
- [x] **Editable Fields Whitelists (2026-01-07):** Applied the `editable_fields.ts` pattern to all remaining AE objects across Journals, Events, and Sponsorships modules. This ensures secure and explicit field updates from the frontend.
- [x] **IDAA Bulletin Board V3 (2026-01-07):** Fully migrated to V3 CRUD. Resolved UI filtering issues by ensuring 'account_id' injection and awaiting database operations.
- [x] **Core Module Migration (2026-01-06):** Fully migrated Accounts, Sites, Site Domains, People, Users, and Activity Logs to Aether API CRUD V3. Implemented standardized "API -> Processor -> DB Save" pattern and editable field whitelists.
- [x] **Core Management UI (2026-01-06):** Scaffolded the management dashboard and list/detail routes for Accounts, Sites, Users, and Lookups.
- [x] **Event Badges V3 (2026-01-06):** Completed migration of Create, Update, and Delete operations to V3 nested CRUD.
- [x] **IDAA Module Migration (2026-01-06):** Migrated Archives and Recovery Meetings (Events) to V3. Implemented local filtering workaround for 'conference' field restriction.
- [x] **Core Placeholders (2026-01-06):** Built UI and V3 logic placeholders for Addresses and Contacts.
- [x] **Journals Module Migration:** Fully migrated to V3 CRUD.
- [x] **UI Libraries Updated:** Successfully updated SkeletonLabs to v4.7.4 and Flowbite-Svelte to v4.0.1.
---
## Big Picture Goals
- Everything needs to work with Svelte 5.x and SvelteKit 2.x.
- Able to cache data and mostly work offline (using Dexie/IndexedDB).
- The new Events Launcher must be able to run inside an Electron app and have access to local files and OS shell commands.
---
## Aether API CRUD V3 Integration
- [ ] **Core API Wrappers:**
- [x] Implement GET list and search wrappers (`get_ae_obj_li_v3`, `search_ae_obj_v3`).
- [x] Implement Create (POST) wrappers (`create_ae_obj_v3`, `create_nested_obj_v3`).
- [x] Implement Update (PATCH) wrappers (`update_ae_obj_v3`, `update_nested_obj_v3`).
- [x] Implement Delete (DELETE) wrapper (`delete_ae_obj_v3`).
- [x] Implement single object GET wrapper (`get_ae_obj_v3`).
- [ ] **Authentication & Security:**
- [ ] Standardize JWT usage in headers for all V3 calls.
- [ ] Update file download logic to support JWT in URL parameters.
- [ ] **Module Migration:**
- [x] **Journals:** Fully migrated to V3 CRUD.
- [x] **Events - Badges:** Fully migrated to V3 CRUD.
- [x] **Core Modules:** Fully migrated (Accounts, Sites, People, Users, Activity Log).
- [ ] **IDAA Modules:** (In progress)
- [x] Archives & Archive Content.
- [x] Recovery Meetings (Events).
- [x] Bulletin Board (Posts).
- [ ] **Agent Coordination:**
- [x] Establish identity as `frontend_svelte`.
- [x] Send test greeting to `backend_fastapi`.
- [ ] Periodically check inbox for API updates.
---
## Core Module Improvements
### 1. Core Module Dashboard
- [x] Create a central dashboard at `/core` to provide an overview and links to all core data management pages.
### 2. Account Management
- [x] **Route:** Create a new route at `/core/accounts`.
- [x] **API:** Implement functions in `ae_core__account.ts` for CRUD operations on accounts.
- [x] **UI:**
- [x] Create a `+page.svelte` to list all accounts.
- [x] Create a `[account_id]` dynamic route to view and edit account details.
### 3. Site & Domain Management
- [x] **Route:** Create a new route at `/core/sites`.
- [x] **API:** Implement functions in `ae_core__site.ts` for CRUD operations on sites and domains.
- [x] **UI:**
- [x] Create a `+page.svelte` to list all sites.
- [x] Create a `[site_id]` dynamic route to view and edit site details and manage associated domains.
### 4. Person Management
- [ ] **Enhance:** Improve the existing person management components under `/core/people`.
- [ ] **UI:**
- [x] Implement searchable person list (`Comp_person_search`).
- [ ] Create a dedicated page/form for creating and editing person records.
- [x] Implement User-Person linking UI in the detail page.
- [ ] Implement Linked Activity & Content section (In progress).
### 5. User Management
- [x] **Route:** Create a new route at `/core/users`.
- [x] **UI:**
- [x] Create a `+page.svelte` to list all users.
- [x] Create a `[user_id]` dynamic route to view and edit user details, including permissions.
- [x] Implement logic to link users to person records.
### 6. Shared Lookup Lists
- [x] **Route:** Create a new route at `/core/lookups`.
- [x] **UI:**
- [x] Create a simple UI to view and manage the shared lookup lists (e.g., `countries`, `time_zones`).
### 7. Address & Contact Management
- [x] **Logic:** Implement V3 CRUD wrappers and Dexie tables.
- [x] **UI:** Create placeholder list pages at `/core/addresses` and `/core/contacts`.
- [ ] **Detail Pages:** Create dynamic routes for viewing and editing specific records.
---
## Codebase Standardization
- [x] **Naming Conventions:** Enforce `snake_case` and consistent file naming (`ae_<module>__<concept>.ts`).
- [x] **Rich Text Editor:** Migration to CodeMirror complete.
- [x] **Editable Fields:** Apply the `ae_<module>__<object>.editable_fields.ts` pattern to all remaining objects.
---
## UI/UX Consistency
- [ ] **Broad UI/UX Review:** Standardize buttons, lists, and wording across all modules.
- [ ] **Component Migration:** Replace remaining Skeleton UI classes with standard Tailwind CSS to minimize dependency conflicts.