Lili Records Radio v1.01

This commit is contained in:
Flatlogic Bot 2026-01-30 23:42:45 +00:00
parent 5e6f707eee
commit 0f64111c7f
2 changed files with 118 additions and 60 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 MiB

176
index.php
View File

@ -8,6 +8,7 @@ $projectImageUrl = $_SERVER['PROJECT_IMAGE_URL'] ?? '';
$streamUrl = "https://play.radioking.io/lili-record-s-radio"; $streamUrl = "https://play.radioking.io/lili-record-s-radio";
$whatsappNumber = "5359177041"; $whatsappNumber = "5359177041";
$whatsappLink = "https://wa.me/" . $whatsappNumber; $whatsappLink = "https://wa.me/" . $whatsappNumber;
$promoImage = "assets/pasted-20260130-234122-115a4b49.png";
?> ?>
<!doctype html> <!doctype html>
<html lang="es"> <html lang="es">
@ -43,26 +44,50 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
font-family: 'Inter', sans-serif; font-family: 'Inter', sans-serif;
background: #0a0a0a; background: #0a0a0a;
color: #fff; color: #fff;
height: 100vh; min-height: 100vh;
margin: 0; margin: 0;
overflow: hidden;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
position: relative; position: relative;
overflow-x: hidden;
} }
/* Background Image Placeholder or User Image */ /* Background Image */
.bg-image { .bg-image {
position: absolute; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
background: url('https://images.unsplash.com/photo-1470225620780-dba8ba36b745?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover no-repeat; background: url('<?= $promoImage ?>') center/cover no-repeat;
filter: brightness(0.4) blur(5px); filter: brightness(0.3) blur(8px);
z-index: -1; z-index: -1;
transition: all 1s ease-in-out; }
.main-wrapper {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
width: 100%;
max-width: 1300px;
padding: 2rem;
gap: 3rem;
z-index: 1;
}
@media (max-width: 992px) {
.main-wrapper {
flex-direction: column;
justify-content: center;
padding: 1rem;
gap: 2rem;
}
body {
overflow-y: auto;
height: auto;
}
} }
.player-container { .player-container {
@ -72,23 +97,45 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
border: 1px solid var(--glass-border); border: 1px solid var(--glass-border);
border-radius: 24px; border-radius: 24px;
padding: 2.5rem; padding: 2.5rem;
flex: 0 0 450px;
max-width: 450px; max-width: 450px;
width: 90%; width: 100%;
text-align: center; text-align: center;
box-shadow: 0 20px 50px rgba(0,0,0,0.5); box-shadow: 0 20px 50px rgba(0,0,0,0.5);
position: relative; position: relative;
} }
.right-image-container {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
max-width: 600px;
}
.promo-image {
width: 100%;
height: auto;
border-radius: 24px;
box-shadow: 0 20px 50px rgba(0,0,0,0.6);
border: 1px solid var(--glass-border);
transition: transform 0.5s ease;
}
.promo-image:hover {
transform: scale(1.02);
}
.radio-logo { .radio-logo {
width: 120px; width: 100px;
height: 120px; height: 100px;
border-radius: 50%; border-radius: 50%;
background: linear-gradient(135deg, #ff2d55, #ff512f); background: linear-gradient(135deg, #ff2d55, #ff512f);
margin: 0 auto 1.5rem; margin: 0 auto 1.5rem;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
font-size: 3rem; font-size: 2.5rem;
box-shadow: 0 0 30px rgba(255, 45, 85, 0.4); box-shadow: 0 0 30px rgba(255, 45, 85, 0.4);
animation: pulse 2s infinite; animation: pulse 2s infinite;
} }
@ -128,13 +175,13 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
} }
.btn-play { .btn-play {
width: 80px; width: 70px;
height: 80px; height: 70px;
border-radius: 50%; border-radius: 50%;
background: #fff; background: #fff;
color: #000; color: #000;
border: none; border: none;
font-size: 2rem; font-size: 1.8rem;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@ -167,23 +214,23 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
} }
.qr-section { .qr-section {
margin-top: 2rem; margin-top: 1.5rem;
padding-top: 1.5rem; padding-top: 1rem;
border-top: 1px solid var(--glass-border); border-top: 1px solid var(--glass-border);
} }
.qr-placeholder { .qr-placeholder {
width: 150px; width: 120px;
height: 150px; height: 120px;
background: rgba(255,255,255,0.05); background: rgba(255,255,255,0.05);
border: 2px dashed var(--glass-border); border: 2px dashed var(--glass-border);
border-radius: 12px; border-radius: 12px;
margin: 1rem auto; margin: 0.8rem auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
font-size: 0.8rem; font-size: 0.75rem;
color: rgba(255,255,255,0.5); color: rgba(255,255,255,0.5);
} }
@ -213,12 +260,12 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
.live-badge { .live-badge {
position: absolute; position: absolute;
top: 20px; top: 15px;
left: 20px; left: 15px;
background: var(--primary-color); background: var(--primary-color);
padding: 4px 12px; padding: 3px 10px;
border-radius: 20px; border-radius: 20px;
font-size: 0.75rem; font-size: 0.7rem;
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 1px; letter-spacing: 1px;
@ -238,40 +285,48 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
<body> <body>
<div class="bg-image" id="bgImage"></div> <div class="bg-image" id="bgImage"></div>
<main class="player-container"> <div class="main-wrapper">
<div class="live-badge">En Vivo</div> <!-- Left: Player -->
<main class="player-container">
<div class="live-badge">En Vivo</div>
<div class="radio-logo"> <div class="radio-logo">
<i class="fas fa-music"></i> <i class="fas fa-music"></i>
</div>
<div class="song-info">
<span class="song-title" id="songTitle">Conectando...</span>
<span class="artist-name" id="artistName">Lili Records Radio</span>
</div>
<div class="controls">
<button class="btn-play" id="playBtn">
<i class="fas fa-play" id="playIcon"></i>
</button>
</div>
<div class="d-flex align-items-center gap-2 px-4">
<i class="fas fa-volume-low opacity-50"></i>
<input type="range" class="volume-slider" id="volumeSlider" min="0" max="1" step="0.01" value="0.8">
<i class="fas fa-volume-high opacity-50"></i>
</div>
<div class="qr-section">
<p class="mb-2 small opacity-75">Apóyanos vía Transfermóvil</p>
<div class="qr-placeholder">
<i class="fas fa-qrcode fa-2x mb-2"></i>
<span>Espacio para QR</span>
</div> </div>
</div>
<canvas id="visualizer"></canvas> <div class="song-info">
</main> <span class="song-title" id="songTitle">Conectando...</span>
<span class="artist-name" id="artistName">Lili Records Radio</span>
</div>
<div class="controls">
<button class="btn-play" id="playBtn">
<i class="fas fa-play" id="playIcon"></i>
</button>
</div>
<div class="d-flex align-items-center gap-2 px-4">
<i class="fas fa-volume-low opacity-50"></i>
<input type="range" class="volume-slider" id="volumeSlider" min="0" max="1" step="0.01" value="0.8">
<i class="fas fa-volume-high opacity-50"></i>
</div>
<div class="qr-section">
<p class="mb-1 small opacity-75">Apóyanos vía Transfermóvil</p>
<div class="qr-placeholder">
<i class="fas fa-qrcode fa-2x mb-1"></i>
<span>Espacio para QR</span>
</div>
</div>
<canvas id="visualizer"></canvas>
</main>
<!-- Right: Provided Image -->
<div class="right-image-container">
<img src="<?= $promoImage ?>" alt="Lili Records Promo" class="promo-image">
</div>
</div>
<a href="track_click.php?type=whatsapp_open&redirect=<?= urlencode($whatsappLink) ?>" class="whatsapp-btn" title="Contáctanos"> <a href="track_click.php?type=whatsapp_open&redirect=<?= urlencode($whatsappLink) ?>" class="whatsapp-btn" title="Contáctanos">
<i class="fab fa-whatsapp"></i> <i class="fab fa-whatsapp"></i>
@ -308,7 +363,6 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
// Fetch song metadata from RadioKing // Fetch song metadata from RadioKing
async function fetchMetadata() { async function fetchMetadata() {
try { try {
// RadioKing public widget API for current track
const response = await fetch('https://api.radioking.io/widget/radio/lili-record-s-radio/track/current'); const response = await fetch('https://api.radioking.io/widget/radio/lili-record-s-radio/track/current');
const data = await response.json(); const data = await response.json();
@ -321,15 +375,19 @@ $whatsappLink = "https://wa.me/" . $whatsappNumber;
} }
} }
// Update metadata every 10 seconds
setInterval(fetchMetadata, 10000); setInterval(fetchMetadata, 10000);
fetchMetadata(); fetchMetadata();
// Simple visualizer effect // Simple visualizer effect
const canvas = document.getElementById('visualizer'); const canvas = document.getElementById('visualizer');
const ctx = canvas.getContext('2d'); const ctx = canvas.getContext('2d');
canvas.width = canvas.offsetWidth;
canvas.height = canvas.offsetHeight; function resizeCanvas() {
canvas.width = canvas.offsetWidth;
canvas.height = canvas.offsetHeight;
}
window.addEventListener('resize', resizeCanvas);
resizeCanvas();
function drawVisualizer() { function drawVisualizer() {
if (!isPlaying) { if (!isPlaying) {