diff --git a/documentation/PROJECT__AE_Style_Review.md b/documentation/PROJECT__AE_Style_Review.md new file mode 100644 index 00000000..7f92efc6 --- /dev/null +++ b/documentation/PROJECT__AE_Style_Review.md @@ -0,0 +1,428 @@ +# PROJECT: Aether App — Comprehensive Style Review + +**Status:** In Progress +**Priority:** Medium +**Created:** 2026-03-13 +**Updated:** 2026-03-13 +**Related:** `src/app.css`, `src/routes/+layout.svelte`, `documentation/AE__UI_Component_Patterns.md` + +--- + +## 1. Objective + +Audit and unify the visual design system across all Aether modules. The goal is consistent: +- Color token usage (Skeleton `preset-*` / `surface-*` / semantic tokens) +- Button and interactive element styling +- Dark mode handling +- Typography hierarchy +- Layout patterns (cards, lists, tables, modals, banners) +- Icon system (Lucide only) + +This review covers all modules and their distinct use cases. Changes must be sequenced to avoid breaking live-production systems (Events Launcher, IDAA). + +### Scope of Modules + +| Module | Routes | Primary Users | Notes | +|---|---|---|---| +| Core / App Shell | `+layout.svelte`, `e_app_sys_bar.svelte` | All users | Foundation — impacts everything | +| Core Admin | `/core/` | OSIT staff / managers | Manager-only section | +| Journals | `/journals/` | Authenticated users | Canonical/frontier model | +| Events — General | `/events/`, `/events/[id]/` | Event staff, attendees | Hub page | +| Events — Pres Mgmt | `/events/[id]/(pres_mgmt)/` | Event coordinators | Operations tool | +| Events — Launcher | `/events/[id]/(launcher)/` | AV/tech staff (Electron kiosk) | ⚠️ Live production — April 2026 conference | +| Events — Badges | `/events/[id]/(badges)/` | Registration desk staff | On-site kiosk use | +| Events — Leads | `/events/[id]/(leads)/` | Exhibitor booth staff | On-site kiosk use | +| IDAA | `/idaa/` | IDAA members (iframe) | ⚠️ Privacy-critical, iframe context | + +--- + +## 2. Current State: Dual-Generation Problem + +The codebase has two parallel style generations that co-exist: + +| Era | Pattern | Where Used | +|---|---|---| +| **Modern** | `preset-tonal-*`, `preset-filled-*`, Lucide icons, Svelte 5 runes | `sys_bar`, Journals, IDAA dashboard | +| **Legacy** | `variant-soft-*`, `variant-filled-*`, FontAwesome `fas fa-*` icons | Events routes (most), some Core | + +The Journals module is the canonical reference for modern patterns — when in doubt, match it. + +--- + +## 3. Color Token Architecture + +Three overlapping systems are in use. The goal is to consolidate to two: + +### ✅ System 1: Skeleton Semantic Tokens (keep, expand usage) +Used for colored/semantic elements. +``` +primary, secondary, tertiary, success, warning, error, surface +``` +Usage: `preset-tonal-primary`, `bg-primary-500/10`, `text-error-500`, `border-warning-500` + +### ✅ System 2: Plain Tailwind Grayscale (keep for neutrals) +Used for neutral backgrounds, borders, and text. Predictable across all Skeleton themes. +``` +gray-50/100/200/300/400/500/600/700/800/900 +``` +Usage: `bg-gray-50 dark:bg-gray-900`, `border-gray-200 dark:border-gray-700` + +### ❌ System 3: Hardcoded RGB/HSL (eliminate) +``` +bg-orange-600/90 — root layout banner +hsla(0, 100%, 50%, .5) — journal entry eye icon +rgb(243 244 246) — form dark mode hacks in