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
a6d14f9267
feat(css): prefers-reduced-motion-Block inkl. View-Transition-Pseudos
2026-06-13 20:30:26 +02:00
JonKazama-Hellion
bb0c490cc7
feat(css): Haupt-Abstand --spacing fluid via clamp()
2026-06-13 20:20:58 +02:00
JonKazama-Hellion
2ab3965640
feat(css): Board-Titel font-size fluid via clamp()
2026-06-13 20:20:50 +02:00
JonKazama-Hellion
061669a7cc
feat(css): Uhr font-size fluid via clamp()
2026-06-13 20:20:40 +02:00
JonKazama-Hellion
5a7d7feace
feat(css): Logo font-size fluid via clamp()
2026-06-13 20:20:40 +02:00
JonKazama-Hellion
47eb475887
feat(css): color-scheme dark fuer native UI-Elemente
2026-06-13 20:19:52 +02:00
JonKazama-Hellion
c6d2792332
refactor(css): derive --toggle-on-bg via color-mix in satisfactory, avorion, hellion-stealth
2026-06-13 19:39:36 +02:00
JonKazama-Hellion
ab07c94141
refactor(css): inherit formula accent tokens from base, keep per-theme alpha as --*-pct
2026-06-13 19:38:55 +02:00
JonKazama-Hellion
df8a187af2
refactor(css): derive base accent tokens via color-mix from --accent
2026-06-13 19:36:32 +02:00
JonKazama-Hellion
ccbd27916c
refactor(css): utilities-Layer wrappen (Board-Blur/Privacy, Helfer-Klassen)
2026-06-13 19:11:45 +02:00
JonKazama-Hellion
2b6b2c06c2
refactor(css): theme-overrides-Layer wrappen (37 theme-scoped Komponenten-Regeln nach components)
2026-06-13 19:10:45 +02:00
JonKazama-Hellion
0ed3a8fe64
refactor(css): components-Layer wrappen (Boards, Bookmarks, Panels, Modals, Widgets, Dialoge, Accordion)
2026-06-13 19:09:50 +02:00
JonKazama-Hellion
0683686fcb
refactor(css): layout-Layer wrappen (Hintergrund-Ebenen, Header, Board-Grid-Wrapper)
2026-06-13 19:09:15 +02:00
JonKazama-Hellion
486438772d
refactor(css): theme-Layer wrappen (11 [data-theme]-Token-Bloecke, nur Custom Properties)
2026-06-13 19:08:50 +02:00
JonKazama-Hellion
27e4c8243c
refactor(css): base-Layer wrappen (Fonts, :root-Tokens, @supports-Fallback, Reset, Typografie)
2026-06-13 19:08:18 +02:00
JonKazama-Hellion
829914a271
refactor(css): theme-scoped Komponenten-Regeln aus den 11 Theme-Bloecken in Sammelblock extrahieren
2026-06-13 19:07:44 +02:00
JonKazama-Hellion
af2a5c4912
feat(css): @layer-Reihenfolge deklarieren (base/theme/layout/components/theme-overrides/utilities)
2026-06-13 19:05:49 +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
JonKazama-Hellion
536e0771a4
chore(release): bump version to v2.0.1 — hardening release
...
Security fixes, widget event system, local favicons, i18n completeness,
backdrop-filter fallback, code quality improvements. See CHANGELOG.md.
2026-04-16 20:28:22 +02:00
JonKazama-Hellion
02cdee76a8
fix(i18n): complete missing translations for toolbar tooltips and button texts
...
Add data-i18n-title to 5 header buttons, data-i18n to 3 settings buttons.
Add 10 new keys to STRINGS.de and STRINGS.en including background URL
validation error messages.
2026-04-16 20:27:17 +02:00
JonKazama-Hellion
b6d347cd15
fix(compat): add backdrop-filter fallback for Brave Shields
...
Add --bg-solid-fallback CSS variable to all 11 themes and a
@supports not (backdrop-filter) block. UI remains usable when
Brave Shields or strict fingerprinting settings block backdrop-filter.
2026-04-16 20:25:10 +02:00
JonKazama-Hellion
6704f4c955
feat(privacy): replace Google Favicons with local letter icons
...
Remove getFaviconUrl() and all external network requests. Bookmarks now
show a colored letter icon with deterministic hue based on title.
Eliminates privacy leak and Brave Shields compatibility issues.
2026-04-16 20:22:18 +02:00
JonKazama-Hellion
a3e21a760f
fix(security): harden JSON import with URL validation and immutable mapping
...
Add isSafeUrl() to block javascript:/data: URLs in imported bookmarks.
Replace mutable object mutation with immutable .map() and string length limits.
Use Notes.init()/Calculator.load()/Timer.load() instead of direct internal
mutation after import.
2026-04-16 20:20:38 +02:00
JonKazama-Hellion
82dd6e026a
fix(security): validate background URL before CSS injection
...
Add isValidBgUrl() that only allows blob: and data:image/ protocols.
Applied in applySettings() and the manual URL input handler.
Prevents CSS injection via manipulated bgUrl storage values.
2026-04-16 20:18:42 +02:00
JonKazama-Hellion
2430d65e3a
refactor(widgets): migrate Calculator, Timer, ImageRef to event listeners
...
Replace monkey-patching of WidgetManager.close/minimize/openWidget with
WidgetManager.on() event listeners. Eliminates 3-deep closure chain.
2026-04-16 20:15:08 +02:00