103 lines
3.7 KiB
HTML
103 lines
3.7 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 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>
|