Your Name
feat: UI improvements and error suppression - Enhanced dashboard and market pages with improved header buttons, logo, and currency symbol display - Stopped animated ticker - Removed pie chart legends - Added error suppressor for external service errors (SSE, Permissions-Policy warnings) - Improved header button prominence and icon appearance - Enhanced logo with glow effects and better design - Fixed currency symbol visibility in market tables
8b7b267
| <header class="app-header" role="banner"> | |
| <div class="header-left"> | |
| <!-- Mobile Menu Toggle --> | |
| <button class="header-menu-btn" id="sidebar-toggle" aria-label="Toggle menu"> | |
| <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | |
| <line x1="4" y1="6" x2="20" y2="6"/> | |
| <line x1="4" y1="12" x2="20" y2="12"/> | |
| <line x1="4" y1="18" x2="20" y2="18"/> | |
| </svg> | |
| </button> | |
| <!-- Breadcrumb / Page Title --> | |
| <div class="header-breadcrumb"> | |
| <span class="breadcrumb-home"> | |
| <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> | |
| <path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/> | |
| <polyline points="9 22 9 12 15 12 15 22"/> | |
| </svg> | |
| </span> | |
| </div> | |
| </div> | |
| <div class="header-center"> | |
| <!-- API Status --> | |
| <div class="header-status" id="api-status-badge" data-status="checking"> | |
| <span class="status-indicator"></span> | |
| <span class="status-text">Checking...</span> | |
| </div> | |
| <!-- Live Badge --> | |
| <div class="live-badge"> | |
| <span class="live-dot"></span> | |
| <span>LIVE</span> | |
| </div> | |
| </div> | |
| <div class="header-right"> | |
| <!-- Last Update --> | |
| <div class="header-update" id="header-last-update"> | |
| <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> | |
| <circle cx="12" cy="12" r="10"/> | |
| <polyline points="12 6 12 12 16 14"/> | |
| </svg> | |
| <span class="update-text">Just now</span> | |
| </div> | |
| <!-- API Config Helper --> | |
| <button class="header-btn" id="config-helper-btn" aria-label="API Configuration" title="API Configuration Guide"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | |
| <path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/> | |
| </svg> | |
| </button> | |
| <!-- Theme Toggle --> | |
| <button class="header-btn" id="theme-toggle-btn" aria-label="Toggle theme" title="Toggle theme"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-sun"> | |
| <circle cx="12" cy="12" r="4"/> | |
| <path d="M12 2v2"/> | |
| <path d="M12 20v2"/> | |
| <path d="m4.93 4.93 1.41 1.41"/> | |
| <path d="m17.66 17.66 1.41 1.41"/> | |
| <path d="M2 12h2"/> | |
| <path d="M20 12h2"/> | |
| <path d="m6.34 17.66-1.41 1.41"/> | |
| <path d="m19.07 4.93-1.41 1.41"/> | |
| </svg> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-moon"> | |
| <path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/> | |
| </svg> | |
| </button> | |
| <!-- Notifications --> | |
| <button class="header-btn" aria-label="Notifications" title="Notifications"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | |
| <path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/> | |
| <path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/> | |
| </svg> | |
| <span class="notification-dot"></span> | |
| </button> | |
| <!-- Settings --> | |
| <a href="/static/pages/settings/index.html" class="header-btn" aria-label="Settings" title="Settings"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | |
| <path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/> | |
| <circle cx="12" cy="12" r="3"/> | |
| </svg> | |
| </a> | |
| </div> | |
| </header> | |