feat(calculator): Taschenrechner-Widget mit History und Tastatureingabe

Neues Widget-Modul mit Shunting-Yard Parser, 4x5 Button-Grid,
persistenter History (max 10) und Keyboard-Support.
Storage-Handling in Notes/Data erweitert fuer parallele Persistierung.
This commit is contained in:
2026-03-22 00:13:40 +01:00
parent 95e45948be
commit 32a6fe88dc
6 changed files with 872 additions and 8 deletions
+3 -1
View File
@@ -18,6 +18,7 @@ async function init() {
initSearch();
await migrateSticky();
await Notes.init();
await Calculator.init();
initDataButtons();
Store.checkQuota();
@@ -98,7 +99,8 @@ async function checkBackupReminder() {
// JSON-Export auslösen (gleiche Logik wie btnExportJSON)
const widgetData = await Store.get('widgetStates');
const notesData = (widgetData && Array.isArray(widgetData.notes)) ? widgetData.notes : [];
const data = { version: '1.6.0', exported: new Date().toISOString(), boards, settings, notes: notesData };
const calcHistory = (widgetData && widgetData.calculator) ? widgetData.calculator.history || [] : [];
const data = { version: '1.7.0', exported: new Date().toISOString(), boards, settings, notes: notesData, calculator: calcHistory };
const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');