playground.shiny.space/random.html

42 lines
1.4 KiB
HTML
Raw Normal View History

<!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>