TLC-Search/static/index.html
knight 178f6fa5e5 Add dark mode support to Python app
- Implement CSS custom properties for theming
- Add comprehensive light and dark color schemes
- Create theme toggle button in header
- Add theme persistence with localStorage
- Support system color scheme preference
- Smooth transitions between themes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 23:07:59 -05:00

69 lines
2.6 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>This Little Corner (Python)</title>
<link rel="stylesheet" href="/static/style.css" />
<script src="https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js"></script>
</head>
<body>
<header>
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
<h1 style="margin: 0;">This Little Corner — Elastic Search</h1>
<button id="themeToggle" style="padding: 8px 16px; cursor: pointer; border-radius: 4px; border: 1px solid var(--color-border-primary); background: var(--color-bg-button); color: var(--color-text-primary); font-size: 14px; transition: background 0.2s;" title="Toggle dark mode">
🌙 Dark Mode
</button>
</div>
<p class="muted">
Enter a phrase to query title, description, and transcript text.
</p>
</header>
<section class="controls">
<input id="q" type="text" placeholder="Search..." size="40" />
<details id="channelDropdown" class="channel-dropdown">
<summary id="channelSummary">All Channels</summary>
<div id="channelOptions" class="channel-options muted">
<div>Loading channels…</div>
</div>
</details>
<select id="sort">
<option value="relevant">Most relevant</option>
<option value="newer">Newest first</option>
<option value="older">Oldest first</option>
</select>
<select id="size">
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
</select>
<button id="searchBtn">Search</button>
</section>
<section class="controls muted">
<label><input type="checkbox" id="exactToggle" checked /> Exact</label>
<label><input type="checkbox" id="fuzzyToggle" checked /> Fuzzy</label>
<label><input type="checkbox" id="phraseToggle" checked /> Phrase</label>
<label><input type="checkbox" id="queryStringToggle" /> Query string mode</label>
</section>
<section class="summary-row">
<div class="summary-left">
<section id="meta" class="muted"></section>
<section id="metrics">
<div id="metricsStatus" class="muted"></div>
<div id="metricsContent"></div>
</section>
</div>
<div class="summary-right">
<section id="frequencySummary" class="muted"></section>
<div id="frequencyChart"></div>
</div>
</section>
<section id="results"></section>
<script src="/static/app.js"></script>
</body>
</html>