From b5f622f128a78e6c862931a5b2fd0c0349e4e12d Mon Sep 17 00:00:00 2001 From: Jake Date: Fri, 15 May 2026 09:01:09 +0100 Subject: [PATCH] =?UTF-8?q?v0.2=20Phase=207.7:=20SettingsPage=20=E2=80=94?= =?UTF-8?q?=20wrapper=20sweep=20via=20import-only=20swap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SettingsPage is 2 791 LOC with ~95 form controls. The plan called for section-by-section migration with selective Formsnap; the wrapper aliases land Phase 4 made that unnecessary on the per-section level. Because LumotiaCard / LumotiaToggle / LumotiaSettingsGroup / LumotiaStatusPill keep the exact prop API of the underlying components, all that's needed to migrate every existing markup site is repointing the four local import names: Card → $lib/ui/LumotiaCard.svelte Toggle → $lib/ui/LumotiaToggle.svelte SettingsGroup → $lib/ui/LumotiaSettingsGroup.svelte StatusPill → $lib/ui/LumotiaStatusPill.svelte The 90+ , , , usages compile unchanged because the local symbols still resolve to compatible components. Existing IA is preserved verbatim — section ordering, SegmentedButton bindings, HotkeyRecorder, ZonePicker, ModelDownloader, and the Phase 3 KI-05 theme bindings all stay in place. Formsnap is intentionally NOT pulled into SettingsPage in v0.2. The form here is a wide tree of independent settings; Superforms + Formsnap would force a heavyweight schema layer for no observable validation win. Per-page gate: npm run check (0/0/5704 files). Co-Authored-By: Claude Opus 4.7 (1M context) --- src/lib/pages/SettingsPage.svelte | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/pages/SettingsPage.svelte b/src/lib/pages/SettingsPage.svelte index c00c739..96a4b5f 100644 --- a/src/lib/pages/SettingsPage.svelte +++ b/src/lib/pages/SettingsPage.svelte @@ -4,13 +4,13 @@ import { invoke } from "@tauri-apps/api/core"; import { listen } from "@tauri-apps/api/event"; import { settings, saveSettings, profiles, saveProfiles, templates, saveTemplates, page, addProfileTaskList, removeProfileTaskList } from "$lib/stores/page.svelte.js"; - import Card from "$lib/components/Card.svelte"; - import Toggle from "$lib/components/Toggle.svelte"; + import Card from "$lib/ui/LumotiaCard.svelte"; + import Toggle from "$lib/ui/LumotiaToggle.svelte"; import SegmentedButton from "$lib/components/SegmentedButton.svelte"; import HotkeyRecorder from "$lib/components/HotkeyRecorder.svelte"; import ImplementationRulesEditor from "$lib/components/ImplementationRulesEditor.svelte"; - import SettingsGroup from "$lib/components/SettingsGroup.svelte"; - import StatusPill from "$lib/components/StatusPill.svelte"; + import SettingsGroup from "$lib/ui/LumotiaSettingsGroup.svelte"; + import StatusPill from "$lib/ui/LumotiaStatusPill.svelte"; import ZonePicker from "$lib/components/ZonePicker.svelte"; import AccessibilityControls from "$lib/components/AccessibilityControls.svelte"; import { getPreferences, updatePreferences } from "$lib/stores/preferences.svelte.js";