TLC-Search/static/index.html
knight b096e2aeeb Add dimmed viewing mode via minimize button
- Minimize button now toggles a comfortable viewing filter
- Applies brightness(0.5) contrast(1.25) sepia(0.6)
- Smooth 0.3s transition between modes
- Persists choice in localStorage
- Creates warm, dimmed aesthetic while keeping XP theme

Click minimize to toggle between bright and dimmed modes.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 00:43:08 -05:00

103 lines
3.8 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="https://unpkg.com/xp.css" />
<link rel="stylesheet" href="/static/style.css" />
<script src="https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js"></script>
</head>
<body>
<div class="window" style="max-width: 1200px; margin: 20px auto;">
<div class="title-bar">
<div class="title-bar-text">This Little Corner — Elastic Search</div>
<div class="title-bar-controls">
<button id="minimizeBtn" aria-label="Minimize"></button>
<button aria-label="Maximize"></button>
<button aria-label="Close"></button>
</div>
</div>
<div class="window-body">
<p>Enter a phrase to query title, description, and transcript text.</p>
<fieldset>
<legend>Search</legend>
<div class="field-row" style="margin-bottom: 8px;">
<label for="q" style="width: 60px;">Query:</label>
<input id="q" type="text" placeholder="Search..." style="flex: 1;" />
<button id="searchBtn">Search</button>
</div>
<div class="field-row" style="margin-bottom: 8px; align-items: center;">
<label style="width: 60px;">Channel:</label>
<details id="channelDropdown" class="channel-dropdown" style="flex: 1;">
<summary id="channelSummary">All Channels</summary>
<div id="channelOptions" class="channel-options">
<div>Loading channels…</div>
</div>
</details>
<label for="sort" style="margin-left: 8px;">Sort:</label>
<select id="sort">
<option value="relevant">Most relevant</option>
<option value="newer">Newest first</option>
<option value="older">Oldest first</option>
</select>
<label for="size" style="margin-left: 8px;">Size:</label>
<select id="size">
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
</select>
</div>
<div class="field-row">
<input type="checkbox" id="exactToggle" checked />
<label for="exactToggle">Exact</label>
<input type="checkbox" id="fuzzyToggle" checked />
<label for="fuzzyToggle">Fuzzy</label>
<input type="checkbox" id="phraseToggle" checked />
<label for="phraseToggle">Phrase</label>
<input type="checkbox" id="queryStringToggle" />
<label for="queryStringToggle">Query string mode</label>
</div>
</fieldset>
<div class="summary-row">
<div class="summary-left">
<div id="meta" style="margin-bottom: 8px; font-size: 11px;"></div>
<fieldset id="metrics">
<legend>Metrics</legend>
<div id="metricsStatus" style="font-size: 11px;"></div>
<div id="metricsContent"></div>
</fieldset>
</div>
<div class="summary-right">
<fieldset style="height: 100%;">
<legend>Timeline</legend>
<div id="frequencySummary" style="font-size: 11px; margin-bottom: 8px;"></div>
<div id="frequencyChart"></div>
</fieldset>
</div>
</div>
<fieldset style="margin-top: 16px;">
<legend>Results</legend>
<div id="results"></div>
</fieldset>
</div>
<div class="status-bar">
<p class="status-bar-field">Ready</p>
</div>
</div>
<script src="/static/app.js"></script>
</body>
</html>