Commit graph

18 commits

Author SHA1 Message Date
Hibryda
d1463d4d1e feat(pro): wire all 7 Pro components into app
- ProjectBox: 5 Pro tabs (Analytics, Budget, Export, Symbols, Agent Mem)
  with PERSISTED-LAZY mount, proStatus() feature gate, peach accent color
- SettingsPanel: Pro tab (Accounts + Marketplace) conditionally shown
- ProSettings.svelte: wrapper with sub-tabs for AccountSwitcher + PluginMarketplace
- Feature detection via dynamic import of pro-bridge + proStatus() call
- All tabs hidden when agor-pro plugin not loaded (community edition)
2026-03-18 02:01:18 +01:00
Hibryda
0953395423 feat(theme): add Theme Editor with live preview, import/export
- ThemeEditor.svelte: 26 color pickers (14 accents + 12 neutrals) with
  native <input type="color"> and hex text input, live CSS preview
- custom-themes.ts: persistence layer (SQLite JSON blob), validation,
  import/export as JSON files, clone from any built-in theme
- theme.svelte.ts: previewPalette/clearPreview for live editing,
  setCustomTheme for persistence, initTheme loads custom themes on startup
- themes.ts: applyPaletteDirect + buildXtermThemeFromPalette + PALETTE_KEYS
- AppearanceSettings.svelte: custom themes list with edit/delete, "New
  Custom Theme" button, ThemeEditor toggle
- All files under 300 lines (296 + 227 + 98)
2026-03-18 01:43:22 +01:00
Hibryda
365c420901 fix(settings): replace console.error with handleError + Promise.allSettled
- All 6 settings components: save handlers use handleError with user intent
- onMount loaders migrated from Promise.all to Promise.allSettled (partial recovery)
- loadError $state + inline warning banner on full load failure
- JSON parse catches use handleInfraError with explicit fallback comments
- Secret operations (reveal/store/delete) use handleError for user feedback
2026-03-18 01:21:48 +01:00
Hibryda
1ac6b69311 fix(settings): copy monolith's working theme dropdown pattern exactly 2026-03-17 06:30:09 +01:00
Hibryda
c094983814 fix: missing closing > on appearance div tag 2026-03-17 06:22:13 +01:00
Hibryda
b2f0c446b1 fix(settings): use monolith's working dropdown pattern (onclick on container div) 2026-03-17 06:20:44 +01:00
Hibryda
1f2dd91f82 fix(settings): use document pointerdown for dropdown close (no backdrop) 2026-03-17 06:18:42 +01:00
Hibryda
f8032debac fix(settings): replace window click handler with backdrop for dropdown close 2026-03-17 06:16:18 +01:00
Hibryda
201f168621 fix(settings): fix theme/font dropdown toggle (stopPropagation on buttons) 2026-03-17 06:11:41 +01:00
Hibryda
614ae79f8e fix(settings): switch to horizontal tab bar layout (single column, full width content) 2026-03-17 06:09:00 +01:00
Hibryda
886a2f723a feat(settings): Sprint 4 — wire all 6 category components into SettingsPanel
SettingsPanel now renders actual components instead of placeholders:
AppearanceSettings, AgentSettings, SecuritySettings, ProjectSettings,
OrchestrationSettings, AdvancedSettings. Category switching via sidebar
with keyboard navigation and search deep-linking.

Settings redesign complete: 2959-line monolith replaced by 7 modular
components totaling ~1,700 lines. Monolith retained for backward
compatibility — will be removed once all edge cases are verified.
2026-03-17 05:50:34 +01:00
Hibryda
c622202f5f refactor(settings): trim SecuritySettings to 276 lines (was 420) 2026-03-17 05:45:20 +01:00
Hibryda
734d5fff89 feat(settings): Sprint 2 — extract SecuritySettings (420 lines, needs trim) 2026-03-17 05:43:58 +01:00
Hibryda
9769e7f29a feat(settings): Sprint 2-3 — extract Orchestration (238) + Advanced (321) settings 2026-03-17 05:42:57 +01:00
Hibryda
438f986a08 feat(settings): Sprint 2 — extract ProjectSettings (groups + project CRUD, 195 lines) 2026-03-17 05:42:43 +01:00
Hibryda
b25d22e686 feat(settings): Sprint 1 — extract AppearanceSettings from monolith (222 lines) 2026-03-17 05:29:47 +01:00
Hibryda
48dd35000a feat(settings): Sprint 1 — extract AgentSettings from monolith (285 lines) 2026-03-17 05:05:15 +01:00
Hibryda
244d5e3938 feat: Sprint 0 — settings panel infrastructure
SettingsPanel.svelte: VS Code-style shell with sidebar categories,
search bar (fuzzy on registry metadata), keyboard navigation (arrows,
Escape), deep-link to setting anchors.

settings-registry.ts: static metadata for 35+ settings with key, label,
description, category, anchorId, keywords, scopeable, pro flags.
Supports fuzzy search and category filtering.

settings-scope.svelte.ts: centralized scope resolution store.
scopedGet/scopedSet resolve Global→Project cascade. Override chain
for ScopeCascade display. Cache invalidation on project switch.

settings/categories/ directory ready for Sprint 1 extraction.
2026-03-17 04:58:57 +01:00