agent: lumotia-rebrand — frontend strings (svelte + i18n + design-system)
Phase 8 of the rebrand cascade. Every rendered string is now Lumotia;
no Magnotia surface visible in the UI.
Sweep replaced \bmagnotia\b -> lumotia and \bMagnotia\b -> Lumotia
across all .svelte / .ts / .js / .css / .html / .json (excluding
package-lock.json which regenerates, target/, build/, node_modules/).
Surfaces touched:
- src/app.css — design-token comment header and .magnotia-rh-* CSS
resize-handle class selectors (also the consuming elements in
components/ResizeHandles.svelte and src/routes/*/+layout.svelte).
- src/lib/i18n/locales/{en,de,es}.json — brand name in translations.
- src/lib/i18n/index.ts — header comment.
- src/lib/Sidebar.svelte and most pages under src/lib/pages/ +
src/lib/components/ — title bars, document titles, default
filenames (lumotia-YYYY-MM-DD.* etc), toast strings, error
messages, dialog headers.
- src/routes/+layout.svelte, +page.svelte, viewer/, float/, preview/.
- src/app.html page <title>.
- src/lib/utils/settingsMigrations.ts — fallback toast copy.
- src/design-system/{colors_and_type.css,SKILL.md,README.md,
ui_kits/{Sidebar.jsx,index.html}} — design-tokens, doc strings,
preview wordmark in the kit.
- package.json — name + description.
NOT touched (deferred / immutable):
- package-lock.json — regenerates on next npm install.
- The two migration-call sites in stores reference the legacy magnotia
keys deliberately; restored after the sweep clobbered them.
- docs/, README.md, HANDOVER.md — Phase 9 scope.
npm run check: 0 errors / 0 warnings (3958 files).
cargo test --workspace: 339 pass / 0 fail.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
// centre. Completion plays a gentle chime, flashes a success ring
|
||||
// for 3 s, then disappears. Cancel button appears on hover.
|
||||
//
|
||||
// Mounted once in +layout.svelte. Listens for `magnotia:start-timer`
|
||||
// Mounted once in +layout.svelte. Listens for `lumotia:start-timer`
|
||||
// events from anywhere in the app (e.g. MicroSteps) and delegates
|
||||
// to the focus-timer store.
|
||||
//
|
||||
@@ -63,7 +63,7 @@
|
||||
return "var(--color-accent)";
|
||||
});
|
||||
|
||||
// Event handler: start a timer when any component fires `magnotia:start-timer`.
|
||||
// Event handler: start a timer when any component fires `lumotia:start-timer`.
|
||||
// Payload shape from MicroSteps.svelte and task row buttons:
|
||||
// { taskId?: string, seconds: number, label?: string }
|
||||
function handleStartEvent(evt: Event) {
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
]);
|
||||
|
||||
// Map KeyboardEvent.code (physical key, layout-independent, shift-independent)
|
||||
// to the unshifted name the magnotia-hotkey evdev parser understands. Browser
|
||||
// to the unshifted name the lumotia-hotkey evdev parser understands. Browser
|
||||
// e.key returns "+" for Shift+Equal — parser wants "=". Same for | → \, etc.
|
||||
const codeToParserKey: Record<string, string> = {
|
||||
Equal: "=", Minus: "-",
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
<h3 class="text-[18px] font-semibold text-text mb-2">Download Whisper Model</h3>
|
||||
<p class="text-[13px] text-text-secondary mb-1">
|
||||
Magnotia needs the <span class="font-medium text-text">{modelSize}</span> model to transcribe speech.
|
||||
Lumotia needs the <span class="font-medium text-text">{modelSize}</span> model to transcribe speech.
|
||||
</p>
|
||||
<p class="text-[12px] text-text-secondary mb-6">
|
||||
{currentModelInfo?.size ?? "?"} · {currentModelInfo?.accuracy ?? "?"} accuracy · 100% offline
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
// Invisible resize-handle overlays around each Magnotia window edge.
|
||||
// Needed because Magnotia runs with decorations off, so the WM
|
||||
// Invisible resize-handle overlays around each Lumotia window edge.
|
||||
// Needed because Lumotia runs with decorations off, so the WM
|
||||
// provides no resize affordance on KDE/GNOME Wayland.
|
||||
//
|
||||
// Architecture: eight fixed-position divs are the click target for
|
||||
@@ -10,9 +10,9 @@
|
||||
// a window move. This gives us a clean separation: resize wins on
|
||||
// the edges, drag wins on the titlebar.
|
||||
//
|
||||
// Hit zone sizes come from CSS custom properties so every Magnotia window
|
||||
// across the app stays identical. See the magnotia-resize-edge and
|
||||
// magnotia-resize-corner custom properties in app.css.
|
||||
// Hit zone sizes come from CSS custom properties so every Lumotia window
|
||||
// across the app stays identical. See the lumotia-resize-edge and
|
||||
// lumotia-resize-corner custom properties in app.css.
|
||||
//
|
||||
// Placement requirement: instances of this component MUST be mounted
|
||||
// as a sibling of the animated/transformed layout root (not a child),
|
||||
@@ -48,20 +48,20 @@
|
||||
|
||||
{#if enabled}
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-n" onpointerdown={(e) => startResize(e,"North")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-n" onpointerdown={(e) => startResize(e,"North")}></div>
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-s" onpointerdown={(e) => startResize(e,"South")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-s" onpointerdown={(e) => startResize(e,"South")}></div>
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-w" onpointerdown={(e) => startResize(e,"West")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-w" onpointerdown={(e) => startResize(e,"West")}></div>
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-e" onpointerdown={(e) => startResize(e,"East")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-e" onpointerdown={(e) => startResize(e,"East")}></div>
|
||||
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-nw" onpointerdown={(e) => startResize(e,"NorthWest")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-nw" onpointerdown={(e) => startResize(e,"NorthWest")}></div>
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-ne" onpointerdown={(e) => startResize(e,"NorthEast")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-ne" onpointerdown={(e) => startResize(e,"NorthEast")}></div>
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-sw" onpointerdown={(e) => startResize(e,"SouthWest")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-sw" onpointerdown={(e) => startResize(e,"SouthWest")}></div>
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="magnotia-rh magnotia-rh-se" onpointerdown={(e) => startResize(e,"SouthEast")}></div>
|
||||
<div class="lumotia-rh lumotia-rh-se" onpointerdown={(e) => startResize(e,"SouthEast")}></div>
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user