Files
carplay/public/index.html

84 lines
3.9 KiB
HTML
Raw Normal View History

2026-05-01 21:51:25 -07:00
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Frame Stream Player</title>
<link rel="stylesheet" href="/styles.css">
</head>
<body>
<main class="app">
<section id="entry-screen" class="entry-screen" aria-label="Stream URL">
2026-05-01 22:08:50 -07:00
<div class="entry-stack">
<form id="stream-form" class="url-form">
<label class="sr-only" for="stream-url">Video stream URL</label>
<input
id="stream-url"
name="url"
type="url"
placeholder="Video stream URL"
autocomplete="off"
required
>
<button id="next" type="submit">Next</button>
</form>
2026-05-04 20:33:14 -07:00
<div id="library-panel" class="library-panel" aria-label="Saved streams">
<section id="recent-panel" class="url-column" aria-labelledby="recent-heading">
<div class="column-heading">
<h2 id="recent-heading">Recents</h2>
</div>
<div id="recent-list" class="url-list"></div>
</section>
<section id="favorites-panel" class="url-column" aria-labelledby="favorites-heading">
<div class="column-heading">
<h2 id="favorites-heading">Favorites</h2>
<button id="edit-favorites" type="button" class="small-button">Edit</button>
</div>
<div id="favorites-list" class="url-list"></div>
</section>
2026-05-01 22:08:50 -07:00
</div>
</div>
2026-05-01 21:51:25 -07:00
<div id="entry-message" class="message" role="status" aria-live="polite"></div>
</section>
<section id="player-screen" class="player-screen" aria-label="Player" hidden>
<div id="video-stage" class="video-stage">
<canvas id="screen" width="960" height="540" aria-label="Video frame"></canvas>
<div id="loader" class="loader" aria-hidden="true"></div>
<div id="player-message" class="player-message" role="status" aria-live="polite"></div>
<div id="controls" class="controls">
2026-05-02 18:53:35 -07:00
<div id="playhead" class="playhead">
<output id="current-time" class="time-badge current-time" for="seek">0:00</output>
<input id="seek" class="seek-slider" type="range" min="0" max="1" step="0.1" value="0" aria-label="Playback position" disabled>
<output id="total-time" class="time-badge total-time" for="seek">--:--</output>
</div>
2026-05-01 21:51:25 -07:00
<button id="back" type="button" class="control-button">Back</button>
<button id="play-pause" type="button" class="control-button primary">Pause</button>
<button id="mute" type="button" class="control-button">Mute</button>
</div>
</div>
<audio id="audio" preload="none"></audio>
</section>
2026-05-04 20:33:14 -07:00
<div id="favorites-modal" class="modal" role="dialog" aria-modal="true" aria-labelledby="favorites-modal-title" hidden>
<form id="favorites-form" class="modal-panel">
<div class="modal-heading">
<h2 id="favorites-modal-title">Edit Favorites</h2>
<button id="close-favorites" type="button" class="icon-button" aria-label="Close favorites editor">&times;</button>
</div>
<div id="favorites-editor-list" class="favorites-editor-list"></div>
<button id="add-favorite" type="button" class="secondary-button">Add Favorite</button>
<div id="favorites-message" class="modal-message" role="status" aria-live="polite"></div>
<div class="modal-actions">
<button id="cancel-favorites" type="button" class="secondary-button">Cancel</button>
<button id="save-favorites" type="submit" class="primary-button">Save</button>
</div>
</form>
</div>
2026-05-01 21:51:25 -07:00
</main>
<script src="/app.js" type="module"></script>
</body>
</html>