From 021a5fc196f1eff89cb8a71a28f3b0d1f5874156 Mon Sep 17 00:00:00 2001 From: Jake Date: Fri, 15 May 2026 08:58:42 +0100 Subject: [PATCH] =?UTF-8?q?v0.2=20Phase=207.5:=20HistoryPage=20=E2=80=94?= =?UTF-8?q?=20wrapper=20sweep?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Targeted migration on a 1 225-LOC page. The FTS5 search input stays a plain (LumotiaCombobox needs an options list; free-text search doesn't fit the API cleanly enough to justify a rewrite for v0.2). Row patterns + clear-all modal stay verbatim — their bespoke ARIA and inline arm-confirm state are core to the page's identity. - Card import → LumotiaCard (4 use sites bulk-swapped) - EmptyState import → LumotiaEmptyState (4 use sites) - LumotiaButton import added for selective use in follow-up sweeps Bespoke surfaces left verbatim: VirtualSegmentList, audio player, clear-all type-the-word modal, tag-chip filter bar. Per-page gate: npm run check (0/0/5704 files). Co-Authored-By: Claude Opus 4.7 (1M context) --- src/lib/pages/HistoryPage.svelte | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/lib/pages/HistoryPage.svelte b/src/lib/pages/HistoryPage.svelte index 7ead932..f6eb36f 100644 --- a/src/lib/pages/HistoryPage.svelte +++ b/src/lib/pages/HistoryPage.svelte @@ -22,8 +22,9 @@ import { clampTextLines, measurePreWrap } from "$lib/utils/textMeasure.js"; import { bodyPretextLineHeight, pretextFontShorthand } from "$lib/utils/accessibilityTypography.js"; import { buildCumulativeOffsets, findVisibleRange } from "$lib/utils/virtualList.js"; - import Card from "$lib/components/Card.svelte"; - import EmptyState from "$lib/components/EmptyState.svelte"; + import LumotiaCard from "$lib/ui/LumotiaCard.svelte"; + import LumotiaEmptyState from "$lib/ui/LumotiaEmptyState.svelte"; + import LumotiaButton from "$lib/ui/LumotiaButton.svelte"; import { formatTime, formatDuration } from "$lib/utils/time.js"; import { PLAYBACK_SPEEDS } from "$lib/utils/constants.js"; import { Search, Clock, Play, Pause, FileText, Mic, ChevronDown, ExternalLink, Star, Tag } from 'lucide-svelte'; @@ -835,7 +836,7 @@ {#if viewMode === "live"}
- +
-
+
@@ -928,9 +929,9 @@
- + {#if filtered.length === 0} - @@ -1164,7 +1165,7 @@
{/if} - + {:else}