Auto commit: 2026-02-04T01:00:55.778Z

This commit is contained in:
Flatlogic Bot 2026-02-04 01:00:55 +00:00
parent 23766b7115
commit 567f240841
3 changed files with 77 additions and 52 deletions

View File

@ -33,11 +33,6 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto"> <ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link fw-bold text-cyan" href="{{ radio_url }}" target="_blank">
<i class="fas fa-play-circle me-1"></i> Escuchar Música
</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#schedule">Horario</a> <a class="nav-link" href="#schedule">Horario</a>
</li> </li>
@ -67,6 +62,21 @@
{% block content %}{% endblock %} {% block content %}{% endblock %}
</main> </main>
<!-- Radio Player Bar -->
<div id="playerBar" class="player-bar">
<div class="container d-flex align-items-center h-100 position-relative">
<button class="close-player" onclick="toggleRadioPlayer()">&times;</button>
<div class="player-iframe-container">
<iframe id="radioIframe" src="" allow="autoplay"></iframe>
</div>
<div class="player-external-link ms-3 d-none d-md-block">
<a href="{{ radio_url }}" target="_blank" class="btn btn-sm btn-outline-cyan rounded-pill">
<i class="fas fa-external-link-alt small"></i> Abrir en ventana
</a>
</div>
</div>
</div>
<!-- WhatsApp Widget --> <!-- WhatsApp Widget -->
<div class="whatsapp-widget"> <div class="whatsapp-widget">
<div class="whatsapp-tooltip">¡Envía tu mensaje de voz aquí!</div> <div class="whatsapp-tooltip">¡Envía tu mensaje de voz aquí!</div>
@ -84,6 +94,27 @@
<!-- Bootstrap 5 JS Bundle --> <!-- Bootstrap 5 JS Bundle -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
function toggleRadioPlayer(event) {
if (event) event.preventDefault();
const playerBar = document.getElementById('playerBar');
const radioIframe = document.getElementById('radioIframe');
const body = document.body;
const radioUrl = "{{ radio_url }}";
if (playerBar.classList.contains('active')) {
playerBar.classList.remove('active');
body.classList.remove('player-active');
} else {
if (!radioIframe.src || radioIframe.src === window.location.href || radioIframe.src === "") {
radioIframe.src = radioUrl;
}
playerBar.classList.add('active');
body.classList.add('player-active');
}
}
</script>
{% block scripts %}{% endblock %} {% block scripts %}{% endblock %}
</body> </body>
</html> </html>

View File

@ -7,16 +7,11 @@
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-lg-8"> <div class="col-lg-8">
<a href="{{ radio_url }}" target="_blank" class="text-decoration-none"> <a href="#" onclick="toggleRadioPlayer(event)" class="text-decoration-none">
<span class="live-badge mb-3 d-inline-block">En Vivo</span> <span class="live-badge mb-3 d-inline-block">En Vivo</span>
</a> </a>
<h1 class="display-3 fw-bold mb-4">Tu Voz, Tu Música, <br><span style="color: var(--neon-cyan)">Tu Radio.</span></h1> <h1 class="display-3 fw-bold mb-4">Tu Voz, Tu Música, <br><span style="color: var(--neon-cyan)">Tu Radio.</span></h1>
<p class="lead text-muted mb-5">Transmitiendo los mejores discos las 24 horas, los 7 días de la semana. Únete a nuestra comunidad y crea la lista de reproducción.</p> <p class="lead text-muted mb-5">Transmitiendo los mejores discos las 24 horas, los 7 días de la semana. Únete a nuestra comunidad y crea la lista de reproducción.</p>
<div class="d-flex justify-content-center gap-3">
<a href="{{ radio_url }}" target="_blank" class="btn btn-neon px-5 py-3 fs-5">
<i class="fas fa-play me-2"></i> Escuchar Música
</a>
</div>
<div class="mt-4 d-flex justify-content-center gap-3"> <div class="mt-4 d-flex justify-content-center gap-3">
<a href="#request" class="btn btn-outline-light rounded-pill px-4">Pedir una Canción</a> <a href="#request" class="btn btn-outline-light rounded-pill px-4">Pedir una Canción</a>
<a href="#schedule" class="btn btn-outline-light rounded-pill px-4">Ver Horario</a> <a href="#schedule" class="btn btn-outline-light rounded-pill px-4">Ver Horario</a>

View File

@ -22,7 +22,7 @@ body {
} }
body.player-active { body.player-active {
padding-bottom: 100px; padding-bottom: 150px; /* Incrementado para el nuevo alto del player */
} }
body::before { body::before {
@ -36,7 +36,7 @@ body::before {
background-size: cover; background-size: cover;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
opacity: 0.15; /* Sutil transparencia para no interferir con la legibilidad */ opacity: 0.15;
z-index: -1; z-index: -1;
pointer-events: none; pointer-events: none;
} }
@ -55,16 +55,19 @@ body::before {
font-size: 1.5rem; font-size: 1.5rem;
} }
.text-cyan {
color: var(--neon-cyan) !important;
}
.hero-section { .hero-section {
padding: 100px 0; padding: 100px 0;
position: relative; position: relative;
/* Ajustado para ser más transparente y dejar ver el fondo */
background: radial-gradient(circle at top right, rgba(255, 0, 122, 0.05), transparent), background: radial-gradient(circle at top right, rgba(255, 0, 122, 0.05), transparent),
radial-gradient(circle at bottom left, rgba(0, 240, 255, 0.05), transparent); radial-gradient(circle at bottom left, rgba(0, 240, 255, 0.05), transparent);
} }
.card { .card {
background-color: rgba(26, 30, 46, 0.7); /* Transparencia en las tarjetas */ background-color: rgba(26, 30, 46, 0.7);
backdrop-filter: blur(5px); backdrop-filter: blur(5px);
border: 1px solid rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 15px; border-radius: 15px;
@ -93,6 +96,18 @@ body::before {
color: white; color: white;
} }
.btn-outline-cyan {
border: 1px solid var(--neon-cyan);
color: var(--neon-cyan);
background: transparent;
transition: all 0.3s ease;
}
.btn-outline-cyan:hover {
background: var(--neon-cyan);
color: var(--bg-dark);
}
.form-control { .form-control {
background-color: rgba(255, 255, 255, 0.05); background-color: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.1);
@ -151,7 +166,7 @@ body::before {
} }
body.player-active .whatsapp-widget { body.player-active .whatsapp-widget {
bottom: 130px; bottom: 180px;
} }
.whatsapp-button { .whatsapp-button {
@ -175,41 +190,18 @@ body.player-active .whatsapp-widget {
box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4); box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
} }
.whatsapp-tooltip {
background: var(--bg-card);
color: white;
padding: 10px 15px;
border-radius: 10px;
margin-bottom: 15px;
font-size: 0.9rem;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
border: 1px solid rgba(255, 255, 255, 0.1);
opacity: 0;
transform: translateY(10px);
transition: all 0.3s ease;
pointer-events: none;
white-space: nowrap;
}
.whatsapp-widget:hover .whatsapp-tooltip {
opacity: 1;
transform: translateY(0);
}
/* Player Bar */ /* Player Bar */
.player-bar { .player-bar {
position: fixed; position: fixed;
bottom: -150px; bottom: -200px;
left: 0; left: 0;
width: 100%; width: 100%;
height: 100px; height: 150px;
background: rgba(11, 13, 23, 0.95); background: rgba(11, 13, 23, 0.98);
backdrop-filter: blur(15px); backdrop-filter: blur(20px);
border-top: 2px solid var(--neon-cyan); border-top: 2px solid var(--neon-cyan);
z-index: 2000; z-index: 2000;
transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1); transition: bottom 0.5s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
align-items: center;
} }
.player-bar.active { .player-bar.active {
@ -217,7 +209,7 @@ body.player-active .whatsapp-widget {
} }
.player-iframe-container { .player-iframe-container {
width: 100%; flex-grow: 1;
height: 100%; height: 100%;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
@ -225,24 +217,31 @@ body.player-active .whatsapp-widget {
.player-iframe-container iframe { .player-iframe-container iframe {
width: 100%; width: 100%;
height: 350px; /* Mostramos solo la parte superior del player de RadioKing */ height: 400px; /* Suficiente alto para ver controles */
border: none; border: none;
position: absolute; position: absolute;
top: -120px; /* Ajuste para centrar los controles del player */ top: -125px; /* Ajuste para mostrar el centro del player de RadioKing */
} }
.close-player { .close-player {
position: absolute; position: absolute;
top: 5px; top: 50%;
right: 15px; right: 15px;
background: none; transform: translateY(-50%);
background: rgba(255, 255, 255, 0.1);
border: none; border: none;
color: var(--text-muted); color: white;
font-size: 1.5rem; font-size: 1.5rem;
cursor: pointer; cursor: pointer;
z-index: 2001; z-index: 2001;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
} }
.close-player:hover { .close-player:hover {
color: var(--neon-pink); background: var(--neon-pink);
} }