Landscape kiosk overhaul: 3-column layout, resilient updates, visual polish
- Add 3-column balanced site distribution using greedy weight algorithm - Build new DOM off-screen in DocumentFragment, swap atomically (no flash) - Skip empty API responses and preserve display on transient errors - Remove news ticker from UI and grid layout - Add blue-to-red gradient on site header bars - Bump font sizes: destinations 1.4em, countdowns 1.5em, line numbers 1.6em - Add breathing pulse animation on daylight bar sun/moon icons - Fix daylight bar indicator snapping to position on first render - Make config button visible in landscape with semi-transparent background - Add weather forecast strip as grid row 4 with compact styling Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -714,7 +714,17 @@ class WeatherManager {
|
||||
}
|
||||
|
||||
// Position current hour indicator
|
||||
indicatorElement.style.left = `${currentPos}%`;
|
||||
// On first render, skip transition so icon appears instantly at correct position
|
||||
if (!this._daylightBarInitialized) {
|
||||
indicatorElement.style.transition = 'none';
|
||||
indicatorElement.style.left = `${currentPos}%`;
|
||||
// Force reflow, then re-enable transition for smooth minute-to-minute movement
|
||||
indicatorElement.offsetLeft;
|
||||
indicatorElement.style.transition = '';
|
||||
this._daylightBarInitialized = true;
|
||||
} else {
|
||||
indicatorElement.style.left = `${currentPos}%`;
|
||||
}
|
||||
|
||||
// Debug logging
|
||||
console.log('Daylight bar positions:', {
|
||||
|
||||
Reference in New Issue
Block a user