Update index.html
Neue Import- und Export-Funktion, Bereinigung Code
This commit is contained in:
parent
37a3ae0bf6
commit
930180bcf1
1 changed files with 54 additions and 22 deletions
72
index.html
72
index.html
|
|
@ -1,4 +1,3 @@
|
||||||
<!-- Public Domain -->
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
|
|
@ -17,34 +16,36 @@
|
||||||
<body>
|
<body>
|
||||||
<div class="header" role="banner">
|
<div class="header" role="banner">
|
||||||
<div class="titel">
|
<div class="titel">
|
||||||
<img src="/img/icon.png" alt="Logo des Radioplayers, das einem alten Kofferradio nachempfunden ist" height="35" width="35">
|
<img src="/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>
|
<h1>Radioplayer <button class="stop-button hidden" aria-label="Wiedergabe stoppen"><i class="fas fa-stop"></i></button></h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="current-station" aria-live="polite">
|
<div class="current-station" aria-live="polite">
|
||||||
<span id="aktueller-sender"><span id="current-station-name">Wähle einen Sender aus</span></span>
|
<span id="aktueller-sender"><span id="current-station-name">Wähle einen Sender aus</span></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="preset-container" id="preset-container" role="list"></div>
|
<div class="preset-container" id="preset-container" role="list"></div>
|
||||||
|
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<button id="open-sleep-timer-modal">Sleeptimer</button>
|
<button id="open-sleep-timer-modal">Sleeptimer</button>
|
||||||
<button id="edit-presets-button" class="edit-presets-button" aria-label="Sender bearbeiten" aria-pressed="false">Presets bearbeiten</button>
|
<button id="edit-presets-button" class="edit-presets-button">Presets bearbeiten</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<div class="footer" role="contentinfo">
|
<div class="footer" role="contentinfo">
|
||||||
© 2024-<span id="current-year"></span> <img src="/img/favicon-16x16.png" alt="Radioplayer" height="14" width="14"> <span id="server-name"></span> // View on <a target="_blank" href="https://codeberg.org/simonpipe/Radioplayer-with-Presets" aria-label="Codeberg-Seite öffnen"> <img src="/img/codeberg_16px.ico" alt="Codeberg" height="12" width="12"> Codeberg</a>
|
© 2024-<span id="current-year"></span> <img src="/img/favicon-16x16.png" alt="Radioplayer" height="14" width="14"> <span id="server-name"></span> // View on <a target="_blank" href="https://codeberg.org/simonpipe/Radioplayer-with-Presets"><img src="/img/codeberg_16px.ico" alt="Codeberg" height="12" width="12"> Codeberg</a>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<!-- Modal für Sleep Timer -->
|
|
||||||
<div id="sleep-timer-modal" class="modal hidden">
|
<div id="sleep-timer-modal" class="modal hidden">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<h2>Sleeptimer einstellen</h2>
|
<h2>Sleeptimer einstellen</h2>
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<button class="time-option" data-time="600000">10 Minuten</button>
|
<button class="time-option" data-time="360000">6 Min</button>
|
||||||
<button class="time-option" data-time="900000">15 Minuten</button>
|
<button class="time-option" data-time="720000">12 Min</button>
|
||||||
<button class="time-option" data-time="1200000">20 Minuten</button>
|
<button class="time-option" data-time="1080000">18 Min</button>
|
||||||
<button class="time-option" data-time="1800000">30 Minuten</button>
|
<button class="time-option" data-time="2160000">36 Min</button>
|
||||||
<button class="time-option" data-time="3600000">60 Minuten</button>
|
<button class="time-option" data-time="4320000">72 Min</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<button id="off-sleep-timer-modal">Timer aus</button>
|
<button id="off-sleep-timer-modal">Timer aus</button>
|
||||||
|
|
@ -53,31 +54,62 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Modal für die Bearbeitung der Presets -->
|
|
||||||
<div id="preset-modal" class="modal hidden">
|
<div id="preset-modal" class="modal hidden">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<h2>Sender bearbeiten</h2>
|
<h2>Sender bearbeiten</h2>
|
||||||
<table id="preset-table">
|
<table id="preset-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Sortieren</th>
|
<th></th>
|
||||||
<th>Name</th>
|
<th>Name</th>
|
||||||
<th>URL</th>
|
<th>URL</th>
|
||||||
<th>Löschen</th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="sortable-tbody">
|
<tbody id="sortable-tbody"></tbody>
|
||||||
<!-- Presets werden hier dynamisch eingefügt -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<button onclick="addPreset()">Neuer Sender hinzufügen</button>
|
<button onclick="addPreset()">Neuer Sender hinzufügen</button>
|
||||||
<button onclick="exportPreset()">Presets exportieren</button>
|
<a href="https://fmstream.org" target="_blank" class="find-sender-link"><i class="fas fa-search"></i> Sender auf fmstream.org suchen</a>
|
||||||
<button onclick="importPreset()">Presets importieren</button>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="share-details">
|
||||||
|
<h3>Sender importieren / exportieren</h3>
|
||||||
|
<div class="share-content">
|
||||||
|
<div class="share-section">
|
||||||
|
<h4>Importieren (Base64-Code oder JSON-Datei)</h4>
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" id="import-string-field" placeholder="Base64-Code einfügen...">
|
||||||
|
<button onclick="importFromString()"><i class="fas fa-paste"></i></button>
|
||||||
|
<button onclick="importPreset()" title="JSON Upload"><i class="fas fa-file-upload"></i> JSON</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="share-section">
|
||||||
|
<h4>Exportieren (Base64-Code oder JSON-Datei)</h4>
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" id="export-string-field" readonly placeholder="Code wird generiert...">
|
||||||
|
<button onclick="copyExportCode()" title="Kopieren"><i class="fas fa-copy"></i></button>
|
||||||
|
<button onclick="exportPreset()" title="JSON Download"><i class="fas fa-download"></i> JSON</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<button onclick="closeModal()">Abbrechen</button>
|
<button onclick="closeModal()" class="btn-cancel">Abbrechen</button>
|
||||||
<button onclick="saveAndClose()">Speichern</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">Titel</h3>
|
||||||
|
<p id="custom-modal-message">Nachricht</p>
|
||||||
|
<div class="custom-modal-buttons">
|
||||||
|
<button id="custom-modal-cancel" class="btn-cancel hidden">Abbrechen</button>
|
||||||
|
<button id="custom-modal-ok" class="btn-ok">OK</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue