84 lines
3 KiB
HTML
84 lines
3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>every.channel</title>
|
|
<meta
|
|
name="description"
|
|
content="Watch and share free over-the-air TV. Local first, global when you want."
|
|
/>
|
|
<link data-trunk rel="css" href="style.css" />
|
|
<link data-trunk rel="copy-file" href="app.js" />
|
|
<link data-trunk rel="copy-dir" href="assets" />
|
|
</head>
|
|
<body>
|
|
<main class="shell">
|
|
<section class="studio">
|
|
<header class="masthead">
|
|
<div>
|
|
<div class="brand-title">every.channel</div>
|
|
<div class="brand-subtitle">Live television, tuned from real signals.</div>
|
|
</div>
|
|
<div class="badge">Local broadcast</div>
|
|
</header>
|
|
|
|
<section class="watchDeck">
|
|
<section class="player" aria-label="Live player">
|
|
<div class="tv">
|
|
<div class="tv-frame">
|
|
<div id="playerMount" class="mount"></div>
|
|
<div class="tv-scanlines" aria-hidden="true"></div>
|
|
</div>
|
|
</div>
|
|
<div class="hint" id="hint"></div>
|
|
</section>
|
|
|
|
<aside class="console" aria-label="Channel console">
|
|
<div class="consoleHead">
|
|
<div>
|
|
<div class="panel-title">On Air</div>
|
|
<div class="consoleCopy">Pick a station and the picture starts here.</div>
|
|
</div>
|
|
<button id="refreshListBtn" class="btn secondary">Scan</button>
|
|
</div>
|
|
<div class="hint listHint" id="listHint"></div>
|
|
<div id="liveList" class="liveList"></div>
|
|
|
|
<details class="signalDrawer">
|
|
<summary>Signal source</summary>
|
|
<div class="signalGrid">
|
|
<label class="field">
|
|
<div class="label">Signal address</div>
|
|
<input id="relayUrl" class="input" type="text" spellcheck="false" />
|
|
</label>
|
|
<label class="field">
|
|
<div class="label">Channel key</div>
|
|
<input id="broadcastName" class="input" type="text" spellcheck="false" />
|
|
</label>
|
|
<label class="field checkField">
|
|
<div class="checkRow">
|
|
<input id="archiveMode" type="checkbox" />
|
|
<span>DVR replay</span>
|
|
</div>
|
|
</label>
|
|
<button id="watchBtn" class="btn">Tune in</button>
|
|
</div>
|
|
<div class="share">
|
|
<button id="copyLinkBtn" class="btn secondary">Copy link</button>
|
|
<div class="shareLink" id="shareLink" aria-live="polite"></div>
|
|
</div>
|
|
</details>
|
|
</aside>
|
|
</section>
|
|
</section>
|
|
|
|
<footer class="foot">
|
|
<div>AGPLv3</div>
|
|
<div>Safari support is still experimental.</div>
|
|
</footer>
|
|
</main>
|
|
|
|
<script type="module" src="app.js"></script>
|
|
</body>
|
|
</html>
|