---
name: Pages overview
type: architecture-map-page
slice: 01-frontend
last_verified: 2026/05/09
---

# Pages overview

> **Where you are:** [Architecture map](../README.md) → [Frontend](README.md) → Pages overview

**Plain English summary.** Lumotia has seven main window pages and three secondary window pages. The main window picks which to show by reading `page.current` (a string in the `page` store) and rendering the matching component. The secondary windows are routed by URL (`/float`, `/viewer`, `/preview`).

## At a glance

- **Main window pages live at** `src/lib/pages/*.svelte` (7 files, 6 232 LOC).
- **Secondary window pages live at** `src/routes/{float,viewer,preview}/+page.svelte` (3 files, 1 361 LOC).
- **Switch site:** `src/routes/+page.svelte:18-32`.
- **Driver store:** `src/lib/stores/page.svelte.ts:24-33` (`page.current`).
- Possible values of `page.current`: `"first-run" | "dictation" | "files" | "tasks" | "history" | "settings" | "shutdown"`. Plus the legacy `"profiles"` which is rewritten to `"settings"` (see README debt note 5).

## Map of pages

### Main window

| Page | File | LOC | One line hook |
|---|---|---|---|
| Dictation | `src/lib/pages/DictationPage.svelte` | 1 100 | The hero recording surface. Streams partial transcripts via a Tauri `Channel`, runs the AI cleanup pipeline, paste/copy/export, extracts tasks, fills a template. |
| Settings | `src/lib/pages/SettingsPage.svelte` | 2 484 | The configuration panel. Audio devices, vocabulary, profiles, templates, model management (Whisper + Parakeet + LLM), hotkey, rituals, nudges, accessibility, diagnostics. |
| History | `src/lib/pages/HistoryPage.svelte` | 974 | Browse, search, play, edit, star, tag, export saved transcripts. Backed by SQLite FTS5. |
| Tasks | `src/lib/pages/TasksPage.svelte` | 725 | Inbox/today/soon/later board with energy chips, lists, completion sparkline. |
| Files | `src/lib/pages/FilesPage.svelte` | 263 | Drop or browse audio/video files. Calls `transcribe_file`. |
| First run | `src/lib/pages/FirstRunPage.svelte` | 337 | Hardware probe (`probe_system`), model recommendation, model download. Auto exits to dictation. |
| Shutdown ritual | `src/lib/pages/ShutdownRitualPage.svelte` | 169 | Evening wind down ritual. Triggered from the tray menu via `lumotia:open-wind-down`. |

### Secondary windows (URL routed)

| Window label | URL | File | LOC | One line hook |
|---|---|---|---|---|
| `tasks-float` | `/float` | `src/routes/float/+page.svelte` | 481 | Detached pinned tasks window with quick add and list management. |
| `transcript-viewer` | `/viewer` | `src/routes/viewer/+page.svelte` | 606 | Transcript editor with synced audio playback and per segment editing. |
| `transcription-preview` | `/preview` | `src/routes/preview/+page.svelte` | 274 | Borderless overlay showing live transcription with copy and revert. |

## How navigation actually happens

- Sidebar buttons set `page.current` directly (`src/lib/Sidebar.svelte:24`).
- Some flows reach into `page.current` from outside the sidebar:
  - Hotkey press forces dictation: `+layout.svelte:139, 181`.
  - First run gate on mount: `+layout.svelte:350`.
  - Settings page "open evening wind down" button: `SettingsPage.svelte:816`.
  - Tray menu wind down event: `+layout.svelte:251-254`.
  - First run completion paths back to dictation: `FirstRunPage.svelte:83, 139, 146, 155`.
  - Implementation intentions store can route to tasks (`implementationIntentions.svelte.ts:125, 136, 142`).
  - Shutdown ritual exit: `ShutdownRitualPage.svelte:67`.
  - TaskSidebar "open tasks page" link: `TaskSidebar.svelte:48`.

## Where the shell tucks pages in

The shell renders sidebar plus a single main slot: `<div class="flex-1 overflow-hidden bg-bg">{@render children()}</div>`. The optional task sidebar (`page.taskSidebarOpen`) can dock a `TaskSidebar` panel beside any main page that is not first run.

## See also

- [Pages: dictation](pages/dictation.md). [settings](pages/settings.md). [history](pages/history.md). [tasks](pages/tasks.md). [files](pages/files.md). [first run](pages/first-run.md).
- [Windows and routes](windows-and-routes.md). For the route file structure and the secondary windows.
- [Stores](stores.md). The `page` store that drives the switch.
