From e03b1d04ec93dc61164bcbb3a057d1a54dcf1804 Mon Sep 17 00:00:00 2001 From: Steffen Becker Date: Thu, 28 May 2026 17:32:31 +0200 Subject: [PATCH] feat: introduce formatting marks --- CHANGELOG.md | 1 + src/App.svelte | 11 +++- src/lib/editor/Editor.svelte | 6 +- src/lib/editor/ToolbarExpanded.svelte | 17 ++++- src/lib/editor/extensions.ts | 2 + src/lib/editor/formattingMarks.ts | 95 +++++++++++++++++++++++++++ src/lib/storage/theme.ts | 9 +++ src/styles/editor.css | 76 +++++++++++++++++++++ 8 files changed, 210 insertions(+), 7 deletions(-) create mode 100644 src/lib/editor/formattingMarks.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index edf146e..fc13022 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ - font size selection - line spacing button - text alignment +- show formatting marks ### Not yet implemented - ODT import / open existing file diff --git a/src/App.svelte b/src/App.svelte index 33200da..cdff7a0 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -5,7 +5,7 @@ import ToolbarExpanded from './lib/editor/ToolbarExpanded.svelte'; import { exportToOdt } from './lib/export/odt'; import { getPageBreakDebug } from './lib/editor/pageBreaks'; - import { loadTheme, saveTheme, applyTheme, loadToolbarExpanded, saveToolbarExpanded, type ThemeMode } from './lib/storage/theme'; + import { loadTheme, saveTheme, applyTheme, loadToolbarExpanded, saveToolbarExpanded, loadFormattingMarks, saveFormattingMarks, type ThemeMode } from './lib/storage/theme'; let editor: Editor | null = $state(null); let tick: number = $state(0); @@ -15,8 +15,13 @@ let themeMode: ThemeMode = $state(loadTheme()); let themeOpen = $state(false); let toolbarExpanded = $state(loadToolbarExpanded()); + let showFormattingMarks = $state(loadFormattingMarks()); let zoom = $state(Math.max(50, Math.min(200, parseInt(localStorage.getItem('odf-editor-zoom') ?? '100', 10)))); + $effect(() => { + saveFormattingMarks(showFormattingMarks); + }); + function setZoom(value: number) { zoom = Math.max(50, Math.min(200, value)); localStorage.setItem('odf-editor-zoom', String(zoom)); @@ -145,9 +150,9 @@ {#if toolbarExpanded} - + {/if} - +