diff --git a/backend/static/css/components.css b/backend/static/css/components.css index ab8b70b..2ea6a50 100644 --- a/backend/static/css/components.css +++ b/backend/static/css/components.css @@ -6553,25 +6553,20 @@ html.modal-open { /* ============================================================ PAGE INFO — generische Seiten-Hilfe (UI.pageInfo) ============================================================ */ -.pinfo-trigger { - position: absolute; - top: calc(env(safe-area-inset-top, 0px) + 10px); - right: var(--space-4); - width: 32px; height: 32px; +.pinfo-trigger-inline { + width: 26px; height: 26px; border-radius: 50%; background: var(--c-surface-2); border: 1px solid var(--c-border-light); color: var(--c-text-secondary); cursor: pointer; - display: flex; + display: inline-flex; align-items: center; justify-content: center; - z-index: 50; flex-shrink: 0; - box-shadow: var(--shadow-sm); transition: background .15s, color .15s; } -.pinfo-trigger:hover { background: var(--c-primary-subtle, rgba(196,132,58,.1)); color: var(--c-primary); } +.pinfo-trigger-inline:hover { background: var(--c-primary-subtle, rgba(196,132,58,.1)); color: var(--c-primary); } .pinfo-banner { margin: var(--space-3) var(--space-4) 0; @@ -6645,8 +6640,6 @@ html.modal-open { } .pinfo-tip .ph-icon { color: var(--c-primary); flex-shrink: 0; margin-top: 1px; } -/* Container braucht position:relative für den absoluten Trigger-Button */ -.page-body { position: relative; } .by-help-btn { display: inline-flex; diff --git a/backend/static/index.html b/backend/static/index.html index 5f755d4..bea06b5 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -93,9 +93,9 @@ - - - + + +
@@ -562,7 +562,7 @@ - + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index a7da38d..04d872e 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '662'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '663'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.3.0'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; diff --git a/backend/static/js/pages/uebungen.js b/backend/static/js/pages/uebungen.js index e102f92..38f9f08 100644 --- a/backend/static/js/pages/uebungen.js +++ b/backend/static/js/pages/uebungen.js @@ -34,6 +34,7 @@ window.Page_uebungen = (() => { // ---------------------------------------------------------- // STATS STATE // ---------------------------------------------------------- + let _helpHandle = null; // Rückgabe von UI.pageInfo — für inline Trigger-Button let _statsData = null; // cached stats from /api/training/stats let _badgesData = null; // cached badges from /api/achievements let _exercisesByTab = {}; // aus API geladen @@ -476,7 +477,7 @@ window.Page_uebungen = (() => { if (_VALID_TABS.has(mapped)) _activeTab = mapped; } _render(); - UI.pageInfo(_container, { + _helpHandle = UI.pageInfo(_container, { pageId: 'uebungen', title: 'Übungsbibliothek', icon: 'graduation-cap', @@ -747,10 +748,14 @@ window.Page_uebungen = (() => { Dein Plan für heute +