playground.shiny.space/random.html
Lucas 7a4fa4b312 Fix dark mode flash by inlining critical script
- Move dark mode detection to inline script in HTML head
- Prevents white flash in Firefox by applying theme before render
- Clean up redundant code in dark-mode.js
- Apply fix to all HTML pages for consistent behavior

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 04:09:18 +02:00

42 lines
No EOL
1.4 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Random Number Generator</title>
<link rel="stylesheet" href="styles.css">
<script>
// Apply dark mode immediately to prevent flash
if (localStorage.getItem('theme') === 'dark') {
document.documentElement.setAttribute('data-theme', 'dark');
}
</script>
</head>
<body class="text-center">
<button class="dark-mode-toggle" onclick="toggleDarkMode()">🌙</button>
<h1>Random Number Generator</h1>
<div id="randomNumber" class="display-large">Loading...</div>
<button class="btn-large" onclick="getNewNumber()">Get New Random Number</button>
<div class="back-link">
<a href="index.html">← Back to Home</a>
</div>
<script>
async function getNewNumber() {
try {
const response = await fetch('/api/randomnumber');
const number = await response.text();
document.getElementById('randomNumber').textContent = number;
} catch (error) {
document.getElementById('randomNumber').textContent = 'Error loading number';
console.error('Error:', error);
}
}
// Load initial number when page opens
getNewNumber();
</script>
<script src="dark-mode.js"></script>
</body>
</html>