Add fullscreen toggle and wake lock to prevent screen sleep

## Features
- Fullscreen button (⛶) in header to toggle fullscreen mode
- Wake Lock API integration to keep screen on while using the app
- Sun icon (☀) indicator shows wake lock status (bright = active)

## Wake Lock behavior
- Automatically requests wake lock when page loads
- Re-acquires wake lock when returning to the page
- Visual indicator pulses when active
- Gracefully hidden if Wake Lock API not supported

## Fullscreen
- Works on Android Chrome and desktop browsers
- iOS Safari has limited support (no fullscreen API)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-03 18:34:56 -08:00
parent da5d2d6ded
commit 063949cd7d
4 changed files with 103 additions and 1 deletions

View File

@@ -550,3 +550,47 @@ body {
color: white;
padding: 0.5rem;
}
/* Fullscreen Button */
.header-btn.icon-btn {
padding: 0.5rem 0.75rem;
font-size: 1.2rem;
line-height: 1;
}
/* Wake Lock Status */
.wake-lock-status {
display: flex;
align-items: center;
padding: 0.25rem 0.5rem;
border-radius: 4px;
font-size: 1rem;
opacity: 0.4;
transition: opacity 0.3s;
}
.wake-lock-status.active {
opacity: 1;
}
.wake-lock-status .wake-icon {
color: #ffc107;
}
.wake-lock-status.active .wake-icon {
animation: pulse-glow 2s ease-in-out infinite;
}
@keyframes pulse-glow {
0%, 100% { opacity: 1; }
50% { opacity: 0.6; }
}
/* Fullscreen styles */
:fullscreen .header {
padding-top: 0.5rem;
}
:fullscreen .macro-grid {
padding-bottom: 1rem;
}