From 50d8a6ed14272f199d2963449318c41d23044c4c Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sun, 15 Feb 2026 02:23:23 +0000 Subject: [PATCH] Auto commit: 2026-02-15T02:23:23.759Z --- api/pexels.php | 23 ++ index.php | 602 ++++++++++++------------------------------------- 2 files changed, 164 insertions(+), 461 deletions(-) create mode 100644 api/pexels.php diff --git a/api/pexels.php b/api/pexels.php new file mode 100644 index 0000000..03c732f --- /dev/null +++ b/api/pexels.php @@ -0,0 +1,23 @@ + true, + "url" => $photo["src"]["large2x"] ?? $photo["src"]["large"], + "photographer" => $photo["photographer"] + ]); +} else { + // Fallback if search fails + echo json_encode([ + "success" => false, + "error" => "No images found" + ]); +} \ No newline at end of file diff --git a/index.php b/index.php index 2e778af..7388022 100644 --- a/index.php +++ b/index.php @@ -1,11 +1,11 @@ '14:00', - 'name' => 'Amanecer Techno', - 'desc' => 'Comienza el día con los ritmos más puros y energéticos del techno underground.', - 'image' => 'assets/images/programs/techno_sunrise.jpg' + "time" => "14:00", + "name" => "Amanecer Techno", + "desc" => "Comienza el día con los ritmos más puros y energéticos del techno underground.", + "image" => "assets/images/programs/techno_sunrise.jpg" ], [ - 'time' => '16:30', - 'name' => 'Sesiones de House Vocal', - 'desc' => 'Una selección exquisita de house melódico con las voces más cautivadoras.', - 'image' => 'assets/images/programs/vocal_house.jpg' + "time" => "16:30", + "name" => "Sesiones de House Vocal", + "desc" => "Una selección exquisita de house melódico con las voces más cautivadoras.", + "image" => "assets/images/programs/vocal_house.jpg" ], [ - 'time' => '19:00', - 'name' => 'Invitado Especial Lili', - 'desc' => 'Cada semana, un invitado especial nos trae su visión única de la pista de baile.', - 'image' => 'assets/images/programs/lili_guest.jpg' + "time" => "19:00", + "name" => "Invitado Especial Lili", + "desc" => "Cada semana, un invitado especial nos trae su visión única de la pista de baile.", + "image" => "assets/images/programs/lili_guest.jpg" ], [ - 'time' => '21:00', - 'name' => 'Vibras de la Noche', - 'desc' => 'Sonidos profundos y envolventes para acompañar la calma de la noche.', - 'image' => 'assets/images/programs/deep_night.jpg' + "time" => "21:00", + "name" => "Vibras de la Noche", + "desc" => "Sonidos profundos y envolventes para acompañar la calma de la noche.", + "image" => "assets/images/programs/deep_night.jpg" ], ]; -$defaultStudioImage = 'assets/pasted-20260215-020116-2dc16355.jpg'; +$defaultStudioImage = "assets/pasted-20260215-020116-2dc16355.jpg"; function get_live_index($schedule) { - $current = date('H:i'); + $current = date("H:i"); $count = count($schedule); for ($i = 0; $i < $count; $i++) { - $start = $schedule[$i]['time']; - $next = ($i < $count - 1) ? $schedule[$i+1]['time'] : '23:59'; + $start = $schedule[$i]["time"]; + $next = ($i < $count - 1) ? $schedule[$i+1]["time"] : "23:59"; if ($current >= $start && $current < $next) return $i; } // Handling night transition - if ($current >= $schedule[$count-1]['time'] || $current < $schedule[0]['time']) return $count - 1; + if ($current >= $schedule[$count-1]["time"] || $current < $schedule[0]["time"]) return $count - 1; return -1; } @@ -89,7 +89,7 @@ $liveIndex = get_live_index($schedule); padding: 0; width: 100%; height: 100%; - font-family: 'Inter', sans-serif; + font-family: "Inter", sans-serif; color: #ffffff; background-color: #0f172a; overflow: hidden; @@ -105,11 +105,12 @@ $liveIndex = get_live_index($schedule); width: 100%; height: 100%; z-index: -2; - background-image: url('assets/pasted-20260215-011439-25779668.jpg?v='); + background-image: url("assets/pasted-20260215-011439-25779668.jpg?v="); background-size: cover; background-position: center; background-repeat: no-repeat; animation: ken-burns 60s ease-in-out infinite alternate; + transition: background-image 2s ease-in-out; } @keyframes ken-burns { @@ -153,7 +154,7 @@ $liveIndex = get_live_index($schedule); .app-container { display: flex; width: 100%; - max-width: 1400px; /* Aumentado para acomodar la foto del estudio */ + max-width: 1400px; height: auto; align-items: center; justify-content: center; @@ -165,7 +166,7 @@ $liveIndex = get_live_index($schedule); .app-content { display: flex; - gap: 3rem; /* Aumentado un poco el espacio */ + gap: 3rem; align-items: center; justify-content: center; flex-wrap: wrap; @@ -228,10 +229,6 @@ $liveIndex = get_live_index($schedule); border-color: var(--primary-color); } - .studio-card:hover .studio-photo { - filter: saturate(1.2) brightness(1.1); - } - .studio-photo { width: 100%; height: auto; @@ -242,7 +239,7 @@ $liveIndex = get_live_index($schedule); .player-section { width: 100%; - max-width: 420px; /* Ajustado ligeramente */ + max-width: 420px; display: flex; flex-direction: column; justify-content: center; @@ -269,12 +266,6 @@ $liveIndex = get_live_index($schedule); transition: all 0.5s ease; } - .small-glass:hover { - background: rgba(255, 255, 255, 0.04); - border-color: rgba(255, 255, 255, 0.1); - transform: translateY(-3px); - } - .upcoming-section h2 { font-size: 1.1rem; font-weight: 600; @@ -287,14 +278,6 @@ $liveIndex = get_live_index($schedule); gap: 0.8rem; } - .upcoming-section h2::before { - content: ''; - width: 4px; - height: 4px; - background: var(--primary-color); - border-radius: 50%; - } - .program-list { list-style: none; padding: 0; @@ -329,7 +312,7 @@ $liveIndex = get_live_index($schedule); color: rgba(255, 255, 255, 0.45); line-height: 1.5; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); - padding-left: 4.1rem; /* Alineado con el nombre */ + padding-left: 4.1rem; } .program-item.is-expanded .program-description { @@ -339,15 +322,6 @@ $liveIndex = get_live_index($schedule); padding-bottom: 0.5rem; } - .program-item:last-child { - border-bottom: none; - padding-bottom: 0; - } - - .program-item:hover { - transform: translateX(5px); - } - .program-item.is-live { background: rgba(0, 230, 118, 0.08); border-bottom: 1px solid rgba(0, 230, 118, 0.2); @@ -357,19 +331,11 @@ $liveIndex = get_live_index($schedule); position: relative; } - .program-item.is-live .program-time { - color: var(--accent-color); - } - - .program-item.is-live .program-name { - color: #fff; - font-weight: 600; - } - .program-item.is-live::after { - content: 'VIVO'; + content: "VIVO"; position: absolute; right: 1rem; + top: 1.2rem; font-size: 0.5rem; font-weight: 800; color: var(--accent-color); @@ -401,24 +367,16 @@ $liveIndex = get_live_index($schedule); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 48px; padding: 3.5rem 3rem; - box-shadow: 0 50px 100px -20px rgba(0, 0, 0, 0.5), inset 0 0 20px rgba(255, 255, 255, 0.02); - transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); + box-shadow: 0 50px 100px -20px rgba(0, 0, 0, 0.5); text-align: center; } - .glass-card:hover { - transform: translateY(-5px); - border-color: rgba(255, 255, 255, 0.15); - background: rgba(255, 255, 255, 0.05); - } - .brand h1 { font-size: 2.8rem; font-weight: 700; margin: 0 0 0.5rem; color: #fff; letter-spacing: -0.04em; - line-height: 1; } .brand-logo { @@ -426,12 +384,6 @@ $liveIndex = get_live_index($schedule); height: auto; margin: 0 auto 2rem; display: block; - filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3)) brightness(1.2); - transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); - } - - .brand-logo:hover { - transform: rotate(-5deg) scale(1.1); } .brand p { @@ -439,8 +391,6 @@ $liveIndex = get_live_index($schedule); font-weight: 300; opacity: 0.6; margin-bottom: 3rem; - color: #fff; - letter-spacing: 0.02em; } .now-playing-container { @@ -449,14 +399,6 @@ $liveIndex = get_live_index($schedule); padding: 1.8rem; border: 1px solid rgba(255, 255, 255, 0.06); margin-bottom: 2.5rem; - transition: all 0.4s ease; - } - - .track-info { - display: flex; - flex-direction: column; - align-items: center; - gap: 0.8rem; } .track-status { @@ -467,10 +409,13 @@ $liveIndex = get_live_index($schedule); color: var(--primary-color); display: flex; align-items: center; + justify-content: center; gap: 0.6rem; background: rgba(56, 189, 248, 0.1); padding: 0.4rem 1rem; border-radius: 100px; + width: fit-content; + margin: 0 auto 0.8rem; } .live-dot { @@ -483,34 +428,25 @@ $liveIndex = get_live_index($schedule); } @keyframes pulse-glow { - 0% { transform: scale(1); box-shadow: 0 0 5px var(--primary-color); } - 50% { transform: scale(1.4); box-shadow: 0 0 15px var(--primary-color); opacity: 0.8; } - 100% { transform: scale(1); box-shadow: 0 0 5px var(--primary-color); } + 0% { transform: scale(1); opacity: 1; } + 50% { transform: scale(1.4); opacity: 0.8; } + 100% { transform: scale(1); opacity: 1; } } .track-title { font-weight: 400; font-size: 1.2rem; color: #f1f5f9; - max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - line-height: 1.4; - } - - .controls { - display: flex; - flex-direction: column; - align-items: center; - gap: 2.5rem; } .play-btn { width: 84px; height: 84px; border-radius: 50%; - background: linear-gradient(145deg, #ffffff, #f1f5f9); + background: #fff; border: none; color: var(--bg-dark); font-size: 2.8rem; @@ -518,35 +454,7 @@ $liveIndex = get_live_index($schedule); display: flex; align-items: center; justify-content: center; - transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4); - position: relative; - overflow: hidden; - } - - .play-btn::after { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.4), transparent); - transform: translateX(-100%); - transition: transform 0.6s; - } - - .play-btn:hover { - transform: scale(1.08) translateY(-3px); - box-shadow: 0 35px 60px -15px rgba(0, 0, 0, 0.5); - } - - .play-btn:hover::after { - transform: translateX(100%); - } - - .play-btn:active { - transform: scale(0.95); } .volume-container { @@ -555,159 +463,53 @@ $liveIndex = get_live_index($schedule); display: flex; align-items: center; gap: 1.2rem; - opacity: 0.4; - transition: all 0.4s ease; - } - - .volume-container:hover { - opacity: 1; + margin: 2rem auto; + opacity: 0.6; } .volume-slider { flex: 1; height: 3px; -webkit-appearance: none; - background: rgba(255, 255, 255, 0.15); + background: rgba(255, 255, 255, 0.2); border-radius: 10px; - outline: none; - } - - .volume-slider::-webkit-slider-thumb { - -webkit-appearance: none; - width: 14px; - height: 14px; - background: #fff; - border-radius: 50%; - cursor: pointer; - box-shadow: 0 0 10px rgba(0,0,0,0.3); - transition: transform 0.2s; - } - - .volume-slider::-webkit-slider-thumb:hover { - transform: scale(1.2); } .payment-section { - margin-top: 3.5rem; - opacity: 0.35; - transition: all 0.5s ease; - background: rgba(255, 255, 255, 0.02); - padding: 1.5rem; - border-radius: 32px; - border: 1px solid rgba(255, 255, 255, 0.03); - } - - .payment-section:hover { - opacity: 0.9; - background: rgba(255, 255, 255, 0.04); - border-color: rgba(255, 255, 255, 0.08); - } - - .payment-section p { - font-size: 0.6rem; - font-weight: 700; - letter-spacing: 0.3em; - margin-bottom: 1.2rem; - color: rgba(255, 255, 255, 0.5); + margin-top: 2rem; + opacity: 0.5; } .qr-container img { width: 90px; - height: 90px; - border-radius: 16px; - filter: grayscale(1) opacity(0.7); - transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); - border: 1px solid rgba(255, 255, 255, 0.1); - } - - .payment-section:hover .qr-container img { - filter: grayscale(0) opacity(1); - transform: scale(1.05); - border-color: rgba(255, 255, 255, 0.2); + border-radius: 12px; } .whatsapp-float { position: fixed; - bottom: 2.5rem; - right: 2.5rem; - width: 64px; - height: 64px; - background: rgba(255, 255, 255, 0.05); - backdrop-filter: blur(10px); - -webkit-backdrop-filter: blur(10px); - border: 1px solid rgba(255, 255, 255, 0.1); + bottom: 2rem; + right: 2rem; + width: 60px; + height: 60px; + background: var(--accent-color); border-radius: 50%; - color: var(--accent-color); - font-size: 1.8rem; + color: #fff; display: flex; align-items: center; justify-content: center; - transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); + font-size: 2rem; z-index: 100; - box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2); - } - - .whatsapp-float:hover { - transform: scale(1.1) rotate(15deg); - background: rgba(255, 255, 255, 0.1); - color: #fff; - background-color: var(--accent-color); - } - - @media (max-width: 1200px) { - .app-container { - max-width: 1000px; - } - .studio-section { - max-width: 400px; - } - .player-section { - max-width: 380px; - } } @media (max-width: 992px) { - .app-content { - gap: 2rem; - } - .studio-section, .player-section, .upcoming-section { - max-width: 500px; - } - } - - @media (max-width: 640px) { - body, html { - overflow-y: auto; - height: auto; - min-height: 100%; - display: block; - } - .app-container { - padding: 1.5rem; - align-items: flex-start; - } - .studio-card { - border-radius: 28px; - padding: 0.6rem; - } - .studio-photo { - border-radius: 22px; - } - .glass-card { - padding: 3rem 2rem; - border-radius: 36px; - } - .brand h1 { - font-size: 2.2rem; - } + body, html { overflow-y: auto; height: auto; } + .app-container { padding: 1rem; } }
- -
@@ -715,268 +517,146 @@ $liveIndex = get_live_index($schedule);
- +
- Studio Live + ?v=" alt="Studio Live" class="studio-photo">
- +

Lili Records

La sintonía que eleva tus sentidos.

- -
-
-
-
- AIR ON -
-
Conectando...
-
-
- -
- -
- - - -
-
- -
-

SUPPORT OUR VIBE

-
- Support QR -
-
+
+
AL AIRE
+
Conectando...
+
+ +
+ + + +
+
+

APOYA NUESTRA VIBRA

+
QR
- +

Próximos Programas

    $item): ?> -
  • +
  • " onclick="toggleDescription(this)">
    - - -
    -
    - + +
    +
- - -
-

- Streaming 24/7 desde el corazón del beat -

-
- - - - + - + \ No newline at end of file