From 5a79ddee79f18c533fa6119fa6f833c6bb499efa Mon Sep 17 00:00:00 2001 From: Wild Karl-Heinz Date: Mon, 28 Sep 2026 02:11:51 +0200 Subject: [PATCH] =?UTF-8?q?Start=20with=20an=20empty=20document;=20offer?= =?UTF-8?q?=20Datei=20=E2=80=BA=20Neu=20and=20Datei=20=E2=80=BA=20Muster?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A first start (nothing in localStorage) now opens a blank document -- one sheet "Blatt 1" with an empty "Tabelle 1" -- instead of the pre-filled sample. The file menu gets "Neu" (blank document) and "Muster · Umsatzanalyse" (the former seed), both behind a confirm and both starting a fresh undo history. The toolbar's "Zurücksetzen" button is gone; its job is now Datei › Muster. Co-Authored-By: Claude Opus 5.5 --- README.md | 12 +++++++----- src/components/AppToolbar.vue | 17 +++++++++++++---- src/data/seed.ts | 21 +++++++++++++++++++++ src/store/__tests__/document.spec.ts | 13 +++++++++++++ src/store/document.ts | 10 ++++++++-- 5 files changed, 62 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 2f14cd3..f5bad26 100644 --- a/README.md +++ b/README.md @@ -1060,11 +1060,13 @@ Alles clientseitig (`Blob` + `URL.createObjectURL` + `` + revoke). ## Persistenz Das gesamte Dokument wird (debounced) nach `localStorage` gespiegelt, robust -gegen leeren/kaputten State — Fallback ist das Seed-Dokument. Ein v1-State im -Storage wird beim Laden migriert. Button **„Zurücksetzen"** stellt das -Seed-Dokument wieder her. +gegen leeren/kaputten State — Fallback ist ein **leeres Dokument** (ein Blatt +„Blatt 1" mit einer leeren „Tabelle 1"). Ein v1-State im Storage wird beim +Laden migriert. **Datei › Neu** legt ein neues leeres Dokument an, **Datei › +Muster · Umsatzanalyse** lädt das vorbefüllte Musterdokument (beides nach +Rückfrage, die bisherigen Änderungen gehen verloren). -## Vorbefülltes Dokument +## Vorbefülltes Dokument (Datei › Muster) Blatt **„Analyse"** mit drei Tabellen-Objekten (**Umsatz**, **Kosten**, **Übersicht**) und einem **Diagramm** (Umsatz je Region), plus ein leeres Blatt @@ -1452,6 +1454,6 @@ src/ numolus-logo.svg # Marke: drei überlappende Pop-Art-Quadrate + Schriftzug config/brand.ts # Herausgeber-Metadaten (wicom.li) + Social-Media-Liste composables/ # Theme, Toasts - data/seed.ts # vorbefülltes Dokument + data/seed.ts # leeres Dokument + Musterdokument styles/main.css # Design-Tokens (Light/Dark) ``` diff --git a/src/components/AppToolbar.vue b/src/components/AppToolbar.vue index aa9a016..380e9ee 100644 --- a/src/components/AppToolbar.vue +++ b/src/components/AppToolbar.vue @@ -196,10 +196,17 @@ async function doImport(action: 'replace' | 'append' | 'confirm') { } } -function onReset() { - if (confirm('Vorbefülltes Dokument wiederherstellen? Alle Änderungen gehen verloren.')) { +function onNew() { + if (confirm('Neues, leeres Dokument anlegen? Alle Änderungen gehen verloren.')) { + store.newDocument(); + toasts.info('Neues Dokument angelegt.'); + } +} + +function onSample() { + if (confirm('Musterdokument laden? Alle Änderungen gehen verloren.')) { store.resetToSeed(); - toasts.info('Dokument zurückgesetzt.'); + toasts.info('Musterdokument geladen.'); } } @@ -291,6 +298,9 @@ function onReset() {