Radioplayer-with-Presets/index.html
2025-12-19 15:35:46 +01:00

120 lines
No EOL
5.6 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Radioplayer</title>
<link rel="stylesheet" href="assets/style.css">
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-touch-icon.png">
<link rel="icon" type="assets/img/png" sizes="32x32" href="/assets/img/favicon-32x32.png">
<link rel="icon" type="assets/img/png" sizes="16x16" href="/assets/img/favicon-16x16.png">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.14.0/Sortable.min.js"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/howler/2.2.3/howler.min.js"></script>
<script defer src="js/ui-helper.js"></script>
<script defer src="js/preset-manager.js"></script>
<script defer src="js/meta-handler.js"></script>
<script defer src="js/sleeptimer.js"></script>
<script defer src="js/preset-ui.js"></script>
<script defer src="main.js"></script>
</head>
<body>
<div class="header" role="banner">
<div class="titel">
<img src="/assets/img/icon.png" alt="Logo des Radioplayers" height="35" width="35">
<h1>Radioplayer <button class="stop-button hidden" aria-label="Wiedergabe stoppen"><i class="fas fa-stop"></i></button></h1>
</div>
<div id="aktueller-sender">
<div id="current-station-name"><i class="fa-solid fa-radio" style="opacity:0.5"></i> Wähle einen Sender aus</div>
</div>
</div>
<div class="preset-container" id="preset-container" role="list"></div>
<div class="button-container">
<button id="open-sleep-timer-modal">Sleeptimer</button>
<button id="edit-presets-button" class="edit-presets-button">Presets bearbeiten</button>
</div>
<footer>
<div class="footer" role="contentinfo">
&copy;&nbsp;2024&nbsp;-<span id="current-year"></span><img src="/assets/img/favicon-16x16.png" alt="Radioplayer" height="14" width="14"><span id="server-name"></span>&nbsp;//&nbsp;View on&nbsp;<a target="_blank" href="https://codeberg.org/simonpipe/Radioplayer-with-Presets"><img src="/assets/img/codeberg_16px.ico" alt="Codeberg" height="12" width="12"> Codeberg</a>
</div>
</footer>
<div id="sleep-timer-modal" class="modal hidden">
<div class="modal-content">
<h2>Sleeptimer einstellen</h2>
<div class="button-container">
<button class="time-option" data-time="360000">6 Min</button>
<button class="time-option" data-time="720000">12 Min</button>
<button class="time-option" data-time="1080000">18 Min</button>
<button class="time-option" data-time="2160000">36 Min</button>
<button class="time-option" data-time="4320000">72 Min</button>
</div>
<div class="button-container">
<button id="off-sleep-timer-modal">Timer aus</button>
<button id="close-sleep-timer-modal">Abbrechen</button>
</div>
</div>
</div>
<div id="preset-modal" class="modal hidden">
<div class="modal-content">
<h2>Sender bearbeiten</h2>
<table id="preset-table">
<thead>
<tr>
<th></th>
<th>Name</th>
<th>URL</th>
<th></th>
</tr>
</thead>
<tbody id="sortable-tbody"></tbody>
</table>
<div class="button-container">
<button onclick="addPreset()">Neuer Sender hinzufügen</button>
<a href="https://fmstream.org" target="_blank" class="search-link"><i class="fas fa-search"></i> Sender auf fmstream.org suchen</a>
</div>
<div class="export-import-container">
<h4>Sender teilen & sichern</h4>
<div class="share-row">
<input type="text" id="export-string-field" readonly spellcheck="false" placeholder="Lade Share-Link...">
<button class="btn" onclick="copyShareLink()" title="Link kopieren">
<i class="fa-solid fa-copy"></i> Kopieren
</button>
</div>
<div class="json-row">
<button class="btn" onclick="importJSON()">
<i class="fa-solid fa-file-import"></i> JSON Import
</button>
<button class="btn" onclick="exportJSON()">
<i class="fa-solid fa-file-download"></i> JSON Export
</button>
</div>
</div>
<div class="button-container">
<button onclick="closeModal()" class="btn-cancel">Abbrechen</button>
<button onclick="saveAndClose()" class="btn-ok">Speichern & Schließen</button>
</div>
</div>
</div>
<div id="custom-modal" class="custom-modal hidden">
<div class="custom-modal-content">
<h3 id="custom-modal-title">Bestätigung</h3>
<p id="custom-modal-message">Möchten Sie fortfahren?</p>
<div class="custom-modal-buttons">
<button id="custom-modal-cancel" class="btn-cancel">Abbrechen</button>
<button id="custom-modal-ok" class="btn-ok">OK</button>
</div>
</div>
</div>
</body>
</html>