diff --git a/static/css/components/header.css b/static/css/components/header.css index 7d2b5441..fc5f2665 100644 --- a/static/css/components/header.css +++ b/static/css/components/header.css @@ -12,7 +12,7 @@ } .header-container { - max-width: 1400px; + max-width: none; margin: 0 auto; padding: 0 15px; display: flex; @@ -38,19 +38,6 @@ flex-shrink: 0; } -/* Responsive header container for larger screens */ -@media (min-width: 2150px) { - .header-container { - max-width: 1800px; - } -} - -@media (min-width: 3000px) { - .header-container { - max-width: 2400px; - } -} - /* Logo and title styling */ .header-branding { display: flex; @@ -356,6 +343,27 @@ transform: translateY(-2px); } +/* Doctor trigger in the header: accent-tinted icon with the status badge + pinned to the corner like the other header badges. */ +.header-controls .doctor-toggle i { + color: var(--lora-accent); +} + +.header-controls .doctor-toggle:hover i { + color: inherit; +} + +.header-controls .doctor-status-badge { + position: absolute; + top: -6px; + right: -6px; + min-width: 16px; + height: 16px; + padding: 0 4px; + font-size: 10px; + border: 2px solid var(--card-bg); +} + .theme-toggle { position: relative; } @@ -716,11 +724,6 @@ .header-controls { gap: 6px; } - - .header-controls > div { - width: 30px; - height: 30px; - } } /* Responsive: Hide nav icons at 1100px to save space */ diff --git a/static/css/components/modal/doctor-modal.css b/static/css/components/modal/doctor-modal.css index ebbb3bbb..e5e0ad9d 100644 --- a/static/css/components/modal/doctor-modal.css +++ b/static/css/components/modal/doctor-modal.css @@ -1,13 +1,3 @@ -.doctor-trigger { - min-width: 120px; - position: relative; - border-color: color-mix(in srgb, var(--lora-accent) 24%, var(--border-color)); -} - -.doctor-trigger i { - color: var(--lora-accent); -} - .doctor-status-badge { display: inline-flex; align-items: center; @@ -247,15 +237,6 @@ } @media (max-width: 760px) { - .doctor-trigger { - min-width: auto; - padding-inline: 10px; - } - - .doctor-trigger span:not(.doctor-status-badge) { - display: none; - } - .doctor-hero, .doctor-footer { flex-direction: column; diff --git a/static/js/components/Header.js b/static/js/components/Header.js index 9d22390e..835bf560 100644 --- a/static/js/components/Header.js +++ b/static/js/components/Header.js @@ -49,6 +49,18 @@ export class HeaderManager { initializeCommonElements() { this.initializeThemePopover(); + // Header icon buttons are divs with role="button"; make Enter/Space activate them + const headerControls = document.getElementById('headerControls'); + if (headerControls) { + headerControls.addEventListener('keydown', (e) => { + if (e.key !== 'Enter' && e.key !== ' ') return; + const target = e.target.closest('[role="button"]'); + if (!target || !headerControls.contains(target)) return; + e.preventDefault(); + target.click(); + }); + } + const settingsToggle = document.querySelector('.settings-toggle'); if (settingsToggle) { settingsToggle.addEventListener('click', () => { @@ -295,6 +307,13 @@ export class HeaderManager { case 'notifications': updateService.toggleUpdateModal(); break; + case 'doctor': { + const doctorToggle = document.getElementById('doctorTriggerBtn'); + if (doctorToggle) { + doctorToggle.click(); + } + break; + } case 'support': if (window.modalManager) { window.modalManager.toggleModal('supportModal'); diff --git a/templates/components/controls.html b/templates/components/controls.html index 15aa2871..49532bd2 100644 --- a/templates/components/controls.html +++ b/templates/components/controls.html @@ -144,13 +144,6 @@ {% endif %} -