Commit Graph

87 Commits

Author SHA1 Message Date
JonKazama-Hellion 7d390792ea feat(quick-save): Opera-Worker additiv um onCommand + importScripts ergaenzt, Redirect unberuehrt (CRLF) 2026-06-14 10:26:29 +02:00
JonKazama-Hellion 17506011c1 feat(quick-save): background.js fuer Chrome-Worker + Firefox-Event-Page, read-modify-write in Inbox, Badge-Bestaetigung 2026-06-14 10:24:06 +02:00
JonKazama-Hellion 83df926979 fix(trash): Daten-Review-Befunde — Import-Cap nach deletedAt sortiert (Verlust-Schutz), Restore-Doppelklick-Guard, Delete-Rollback bei Save-Fehler, NaN/Null-Haertung 2026-06-14 10:18:10 +02:00
JonKazama-Hellion ba5f5c4978 v2.3 Papierkorb: Export/Import um trash erweitern (defensiv validiert) 2026-06-14 10:02:31 +02:00
JonKazama-Hellion 22203d25a7 v2.3 Papierkorb: renderTrash, Wiederherstellen, endgueltig loeschen, leeren 2026-06-14 09:59:44 +02:00
JonKazama-Hellion 4031b429ad v2.3 Papierkorb: i18n-Keys DE und EN 2026-06-14 09:51:57 +02:00
JonKazama-Hellion 62c1ecab8d v2.3 Papierkorb: Inbox-Board ist nicht loeschbar (kein Delete-Button) 2026-06-14 09:48:41 +02:00
JonKazama-Hellion 061c3708bc v2.3 Papierkorb: Board-Loeschen in den Papierkorb umleiten (Confirm bleibt) 2026-06-14 09:48:06 +02:00
JonKazama-Hellion 9abfefc0e0 v2.3 Papierkorb: Bookmark-Loeschen in den Papierkorb umleiten 2026-06-14 09:47:40 +02:00
JonKazama-Hellion 36d917b420 v2.3 Papierkorb: pushToTrash() mit Klon und harter Obergrenze 2026-06-14 09:44:43 +02:00
JonKazama-Hellion fcaea64604 fix(palette): Review-Befunde — Close-Crash-Guard, Self-Block-Race, ARIA-Combobox, URL-Protokoll-Guard 2026-06-14 09:42:00 +02:00
JonKazama-Hellion 6eaa3457d0 v2.3 Papierkorb: Trash-Konstanten und Auto-Cleanup beim Laden 2026-06-14 09:33:47 +02:00
JonKazama-Hellion 091195cdef v2.3: persistenter Header-Trigger fuer die Strg+K-Palette (Entdeckbarkeit, BS-08) 2026-06-14 09:26:22 +02:00
JonKazama-Hellion b5b0ac3471 v2.3: Onboarding-Slide fuer die Strg+K-Palette (Entdeckbarkeit, BS-08) 2026-06-14 09:25:05 +02:00
JonKazama-Hellion 3872f4cf12 feat: initPalette() im App-Init nach initSearch() verdrahten 2026-06-14 09:20:04 +02:00
JonKazama-Hellion 42860bb95d feat: Command-Palette-Modul (Strg+K, read-only Bookmark-Suche) 2026-06-14 09:15:21 +02:00
JonKazama-Hellion 6a27d9b307 i18n: Keys fuer Command-Palette (DE+EN) 2026-06-14 09:12:49 +02:00
JonKazama-Hellion c96922d1bb v2.3: page-seitiger ensureInboxBoard-Wrapper auf quicksave-core 2026-06-14 09:03:31 +02:00
JonKazama-Hellion 2daccf4ecc v2.3: trash als eigener Store-Key + saveTrash, in init geladen 2026-06-14 08:35:27 +02:00
JonKazama-Hellion ecb44facb5 v2.3: uid-Single-Source in quicksave-core, state.js delegiert 2026-06-14 08:03:18 +02:00
JonKazama-Hellion e1fb580525 v2.3: DOM-freies quicksave-core mit uid/ensureInbox/normalizeBookmark 2026-06-14 07:31:15 +02:00
JonKazama-Hellion cbd8b5e6fb Bump export version string to 2.2.0 (app.js backup export, data.js JSON export) 2026-06-13 21:17:58 +02:00
JonKazama-Hellion 55e371f506 fix(a11y): Dialog-Vorrang in Fokusfalle, eindeutige Dialog-IDs, Bookmark nur Enter
- settings.js: _makeTrap bricht ab, wenn ein .dialog-overlay offen ist, damit
  der Dialog-keydown-Handler Escape/Tab allein behandelt (kein Doppelschluss,
  Fokusfalle bleibt dicht)
- dialog.js: aria-labelledby/-describedby zeigen auf instanz-eindeutige IDs
  (Date.now + Modul-Zaehler) statt feste dialogTitle/dialogBody, damit kurz
  gestapelte Dialoge dem Screenreader nicht den falschen Titel liefern
- boards.js: Bookmark-keydown reagiert bei role=link nur noch auf Enter, Space
  entfernt (Space ist Button-Semantik)
2026-06-13 21:11:49 +02:00
JonKazama-Hellion eda5fba8f3 a11y(i18n): data-i18n-aria-label-Hook plus DE/EN-Keys fuer die 11 Theme-Cards 2026-06-13 21:02:59 +02:00
JonKazama-Hellion 80af8df8b0 a11y(bookmarks): li als role=link mit tabindex und Enter-Delegation, Drag/Delegation unberuehrt 2026-06-13 21:01:47 +02:00
JonKazama-Hellion 3e93efb785 a11y(toggles): native Checkboxen als role=switch mit synchron gepflegtem aria-checked 2026-06-13 21:00:59 +02:00
JonKazama-Hellion 02c36dba09 a11y(theme-picker): Cards als role=button mit tabindex, Enter/Space-Handler und gepflegtem aria-pressed 2026-06-13 21:00:21 +02:00
JonKazama-Hellion 085cca2812 a11y(dialog): ARIA-Rolle, Fokus-Falle und Fokus-Rueckgabe ergaenzt ohne Escape/Initial-Fokus zu doppeln 2026-06-13 20:59:39 +02:00
JonKazama-Hellion 0a93340792 a11y(modals): role=dialog + Fokus-Falle und -Rueckgabe fuer Settings und Theme-Picker 2026-06-13 20:58:42 +02:00
JonKazama-Hellion 87cd070beb refactor(view-transitions): zentralen withViewTransition-Helper in state.js, Duplikate entfernt 2026-06-13 20:42:07 +02:00
JonKazama-Hellion 6004203339 feat(boards): Inline-Modals (Add-Board/Add-Bookmark/Rename) mit View-Transition-Fade 2026-06-13 20:32:23 +02:00
JonKazama-Hellion 278eda7d69 feat(bm-import): Import-Modal mit View-Transition-Fade, Teardown in Closure 2026-06-13 20:32:07 +02:00
JonKazama-Hellion abddc59f49 feat(dialog): Custom-Dialoge mit View-Transition-Fade, Teardown in Closure 2026-06-13 20:31:33 +02:00
JonKazama-Hellion 24e9aa408b feat(settings): Settings-Panel und Theme-Picker mit View-Transition-Fade 2026-06-13 20:31:10 +02:00
JonKazama-Hellion 2bdee5f215 feat(themes): Theme-Wechsel mit View-Transition-Cross-Fade am Ausloeser 2026-06-13 20:30:56 +02:00
JonKazama-Hellion 60a1bec00d feat(release): Version auf v2.1.0 bumpen — Calculator Upgrade
Alle 3 Manifests, newtab.html, data.js, app.js auf 2.1.0.
CHANGELOG-Eintrag mit allen 6 neuen Calculator-Modi.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 22:21:45 +02:00
JonKazama-Hellion 153db9c24d feat(calculator): Stationeers Calculator mit Gas/Furnace/Solar/Atmo
4 Sub-Modi: PV=nRT Gas-Rechner, Furnace Combustion,
Solar/Battery Planung und Atmosphere Mixer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 22:20:09 +02:00
JonKazama-Hellion 2e691b8b51 fix(calculator): save() überschreibt Game-Mode Sub-States nicht mehr
data.calculator wurde bei jedem save() komplett ersetzt, wodurch
factorio/satisfactory Sub-Mode-Präferenzen verloren gingen.
Jetzt werden nur die Core-Properties einzeln gesetzt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 22:16:19 +02:00
JonKazama-Hellion 11419bd589 feat(calculator): Factorio Calculator mit Ratio, Belt und Maschinen-Modus
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 22:12:28 +02:00
JonKazama-Hellion 27fa4f53af feat(calculator): Satisfactory Calculator mit Overclock-Power 2026-04-16 22:10:11 +02:00
JonKazama-Hellion 8fdd46beec feat(calculator): Unit-Converter mit 6 Kategorien 2026-04-16 22:05:51 +02:00
JonKazama-Hellion 3dd9723271 fix(calc-scientific): sqrt/square mit lastResult, Negate-Regex
sqrt und x² transferieren _lastResult in _currentExpr wenn Expression leer.
handleNegate Regex akzeptiert auch dezimal-first Zahlen (.5).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 22:03:02 +02:00
JonKazama-Hellion 2f23c13de1 feat(calculator): Scientific-Modus implementieren
Neuer Taschenrechner-Modus mit 6 wissenschaftlichen Buttons (√, x², xⁿ, π, e, ±),
Formel-Helfer (Kreisfläche, Kreisumfang, °C↔°F, Pythagoras, Prozent) und
erweiterter Tastaturunterstützung (p → Pi, ^ → Potenz).

- calc-scientific.js: IIFE, registriert 'scientific' Mode via Calculator.registerMode()
- newtab.html: Script-Tag nach calculator.js eingefügt (Load-Order eingehalten)
- i18n.js: 15 neue Keys pro Sprache (DE + EN)
- main.css: Styles für .calc-sci-buttons und .calc-formula-* Komponenten
2026-04-16 21:59:10 +02:00
JonKazama-Hellion f5cebd8d34 fix(calculator): Dezimal-Eingabe nach ^ ermöglichen
Split-Regex für Dezimalpunkt-Check um ^ erweitern,
damit z.B. 2.3^1.5 korrekt eingegeben werden kann.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 21:56:29 +02:00
JonKazama-Hellion 10318008e6 feat(calculator): Parser um ^ (Potenz) und sqrt() erweitern 2026-04-16 21:51:30 +02:00
JonKazama-Hellion 50319f8ba9 fix(calculator): init-Reihenfolge und save() Daten-Erhalt
Standard-Modus vor open() registrieren (verhindert leeres Widget bei Restore).
save() nutzt read-modify-write statt Overwrite (bewahrt Timer/ImageRef-Daten).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 21:49:51 +02:00
JonKazama-Hellion b71e8cde1b fix(calculator): Auto-Resize via DOM statt nicht-existierendem WidgetManager.resize()
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 21:45:35 +02:00
JonKazama-Hellion 2487ac772f feat(calculator): Tab-System mit registerMode() und switchMode()
- Neue Eigenschaften: _modes (Map), _activeMode, _tabBarEl
- registerMode() für externe Mode-Dateien, aktualisiert Tab-Bar live
- renderBody() baut jetzt Tab-Bar + .calc-mode-body Container
- _renderTabBar(), _updateTabBar(), switchMode() implementiert
- _renderStandardMode() extrahiert aus altem renderBody()
- save()/load(): activeMode wird persistiert und wiederhergestellt
- onClose(): aktiven Modus sauber aufräumen, _tabBarEl zurücksetzen
- CSS: .calc-tab-bar, .calc-tab, .calc-tab-icon, .calc-tab-label, .calc-mode-body
- i18n: calculator.tab.standard (DE + EN)
2026-04-16 21:43:03 +02:00
JonKazama-Hellion 92c5b23b44 fix: image-ref Titel-Bug, CSP, ARIA-Labels, Onboarding i18n
- image-ref.js: .widget-title-text → .widget-title (Titel-Update war kaputt)
- Alle 3 Manifests: explizites content_security_policy (script-src/object-src 'self')
- i18n.js: applyLanguage() setzt aria-label synchron zu title
- newtab.html: 6 Close-Buttons + Search-Submit mit data-i18n-title
- i18n.js: 4 neue Keys (dialog.close, search.submit_title, onboarding.tradecenter_desc)
- onboarding.js: TradeCenter-Beschreibung auf t() umgestellt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 20:51:54 +02:00
JonKazama-Hellion 675e21d886 fix(release): fehlende Versionsnummern + bgUrl-Validierung
Drei Stellen hatten noch '2.0.0' statt '2.0.1': newtab.html About-Sektion,
data.js Export und app.js Backup-Export. FileReader-Upload in settings.js
validiert jetzt bgUrl via isValidBgUrl() (Defense-in-Depth).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 20:33:38 +02:00