()
| 19763 | } |
| 19764 | |
| 19765 | function scaleStatNumber(elementId, value, options = {}) { |
| 19766 | const element = document.getElementById(elementId); |
| 19767 | if (!element) { |
| 19768 | return; |
| 19769 | } |
| 19770 | |
| 19771 | const config = { |
| 19772 | mediumDigits: 3, |
| 19773 | largeDigits: 4, |
| 19774 | baseClass: 'text-3xl', |
| 19775 | mediumClass: 'text-2xl', |
| 19776 | smallClass: 'text-xl', |
| 19777 | ...options |
| 19778 | }; |
| 19779 | |
| 19780 | const numericValue = Number(value); |
| 19781 | const safeValue = Number.isFinite(numericValue) ? Math.trunc(numericValue) : 0; |
| 19782 | const digitCount = Math.abs(safeValue).toString().length; |
| 19783 | |
| 19784 | let targetClass; |
| 19785 | if (digitCount >= config.largeDigits) { |
| 19786 | targetClass = config.smallClass; |
| 19787 | } else if (digitCount >= config.mediumDigits) { |
| 19788 | targetClass = config.mediumClass; |
| 19789 | } else { |
| 19790 | targetClass = config.baseClass; |
| 19791 | } |
| 19792 | |
| 19793 | if (!element.classList.contains(targetClass)) { |
| 19794 | element.classList.remove(config.baseClass, config.mediumClass, config.smallClass); |
| 19795 | element.classList.add(targetClass); |
| 19796 | } |
| 19797 | } |
| 19798 | |
| 19799 | function updateConnectivityIndicator(id, active, ssid = null, apMode = false) { |
| 19800 | const element = document.getElementById(id); |
| 19801 | if (element) { |
| 19802 | const targetClass = active |
| 19803 | ? 'w-3 h-3 bg-green-500 rounded-full pulse-glow' |
| 19804 | : 'w-3 h-3 bg-gray-600 rounded-full'; |
| 19805 | if (element.className !== targetClass) { |
| 19806 | element.className = targetClass; |
| 19807 | } |
| 19808 | } |
| 19809 | |
| 19810 | // Update WiFi SSID display if this is the WiFi indicator |
| 19811 | if (id === 'wifi-status') { |
| 19812 | const ssidDisplay = document.getElementById('wifi-ssid-display'); |
| 19813 | if (ssidDisplay) { |
| 19814 | let text, cls; |
| 19815 | if (apMode) { |
| 19816 | text = ssid ? `AP Mode: ${ssid}` : 'AP Mode'; |
| 19817 | cls = 'text-xs text-blue-400 truncate'; |
| 19818 | } else if (active && ssid) { |
| 19819 | text = ssid; |
| 19820 | cls = 'text-xs text-gray-400 truncate'; |
| 19821 | } else { |
| 19822 | text = 'Not connected'; |
nothing calls this directly
no test coverage detected