Auto commit: 2026-02-17T18:46:26.459Z

This commit is contained in:
Flatlogic Bot 2026-02-17 18:46:26 +00:00
parent cc5bd4931c
commit b3952fec93

View File

@ -327,12 +327,21 @@ $facebook_link = "https://www.facebook.com/profile.php?id=61587890927489";
opacity: 0.6;
}
.quality-selector-wrapper:hover {
background: rgba(255,255,255,0.15) !important;
border-color: rgba(255,255,255,0.2) !important;
}
.controls {
display: flex;
align-items: center;
gap: 1rem;
gap: 1.5rem;
margin-top: 1.5rem;
justify-content: center;
flex-wrap: wrap;
}
.play-btn {
width: 72px;
height: 72px;
@ -1110,9 +1119,20 @@ $facebook_link = "https://www.facebook.com/profile.php?id=61587890927489";
<button id="play-pause" class="play-btn" onclick="togglePlay()">
<i id="play-icon" class="bi bi-play-fill"></i>
</button>
<i class="bi bi-volume-up"></i>
<i class="bi bi-volume-up"></i>
<input type="range" class="volume-slider" min="0" max="1" step="0.01" value="1" oninput="changeVolume(this.value)">
<button id="sleep-timer-btn" onclick="openSleepModal()" style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: white; width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s;" title="Temporizador de apagado">
<!-- Quality Selector -->
<div class="quality-selector-wrapper" style="display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.08); padding: 6px 14px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); margin: 0 10px; transition: all 0.3s;">
<i class="bi bi-broadcast" style="font-size: 0.8rem; color: var(--primary-color);"></i>
<select id="audio-quality" onchange="changeQuality(this.value)" style="background: none; border: none; color: white; font-size: 0.75rem; font-weight: 700; cursor: pointer; outline: none; padding: 0; appearance: none; -webkit-appearance: none; text-align: center;">
<option value="high" style="background: #1a1a1a; color: white;">Alta (HD)</option>
<option value="low" style="background: #1a1a1a; color: white;">Ahorro (SD)</option>
</select>
</div>
<button id="sleep-timer-btn" onclick="openSleepModal()"
style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: white; width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s;" title="Temporizador de apagado">
<i class="bi bi-clock"></i>
</button>
<button id="report-issue-btn" onclick="openReportModal()" style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: #ff4444; width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s;" title="Reportar un problema">
@ -1562,6 +1582,34 @@ $facebook_link = "https://www.facebook.com/profile.php?id=61587890927489";
audio.volume = val;
}
function changeQuality(quality) {
const isPlaying = !audio.paused;
// NOTE: Replace the 'low' URL with your actual low-quality/mobile stream if available.
const streams = {
high: 'https://listen.radioking.com/radio/828046/stream/897251',
low: 'https://listen.radioking.com/radio/828046/stream/897251'
};
const newSrc = streams[quality];
// Visual feedback
const wrapper = document.querySelector('.quality-selector-wrapper');
wrapper.style.borderColor = 'var(--primary-color)';
wrapper.style.transform = 'scale(1.05)';
setTimeout(() => {
wrapper.style.borderColor = 'rgba(255,255,255,0.1)';
wrapper.style.transform = 'scale(1)';
}, 300);
audio.src = newSrc;
audio.load();
if (isPlaying) {
audio.play().catch(e => console.error("Error al reproducir el stream:", e));
}
}
function copyTrackTitle() {
const title = document.getElementById('track-title').innerText.replace(/\s{2,}/g, ' ').trim();
const artist = document.getElementById('track-artist').innerText.trim();