Files
halfstreet/src/pages/index.astro
T
ejlewis 86e1aeb973 feat: rename mystery.astro -> index.astro, fix imports for src/ root
Halfstreet now lives at halfstreet.io as the entire site, so the game
serves at / instead of /mystery. After git-filter-repo lifted
src/mystery/ to src/, the page's css/ts imports need to drop the
mystery/ segment.
2026-05-09 11:33:06 -05:00

50 lines
1.7 KiB
Plaintext

---
import '../ui/crt.css'
---
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Halfstreet — Ethan J Lewis</title>
<meta name="description" content="A gothic mystery." />
<meta name="robots" content="noindex" />
</head>
<body>
<div class="mystery-root" data-mystery-root>
<div class="mystery-bezel">
<div class="mystery-theme-toggle" data-mystery-theme-toggle>
<button type="button" data-theme-choice="amber" aria-pressed="true">[B]</button>
<button type="button" data-theme-choice="ansi" aria-pressed="false">[C]</button>
</div>
<div class="mystery-transcript" data-mystery-transcript aria-live="polite" aria-atomic="false"></div>
<div class="mystery-chips" data-mystery-chips></div>
<div class="mystery-input-row">
<input
class="mystery-input"
data-mystery-input
type="text"
autocomplete="off"
autocorrect="off"
autocapitalize="none"
spellcheck="false"
aria-label="Command input"
/>
</div>
</div>
</div>
<script>
// Theme attribute is set on :root before any rendering to avoid a flash
// of the wrong palette. The full theme toggle wiring lands in Task 11.
const stored = (() => {
try { return localStorage.getItem('halfstreet:theme:v1') } catch { return null }
})()
document.documentElement.setAttribute('data-mystery-theme', stored === 'ansi' ? 'ansi' : 'amber')
</script>
<script>
import '../ui/terminal.ts'
import '../ui/theme.ts'
</script>
</body>
</html>