Auto commit: 2026-02-15T02:06:55.964Z

This commit is contained in:
Flatlogic Bot 2026-02-15 02:06:55 +00:00
parent 0006691f0c
commit d0437c1d84
2 changed files with 23 additions and 32 deletions

View File

@ -1,27 +0,0 @@
<?php
require_once __DIR__ . '/includes/pexels.php';
$programs = [
'techno_sunrise' => 'techno club sunrise',
'vocal_house' => 'vocal house music dj',
'lili_guest' => 'professional dj booth',
'deep_night' => 'night city lights chill'
];
foreach ($programs as $id => $query) {
echo "Fetching image for $id ($query)...\n";
$url = 'https://api.pexels.com/v1/search?query=' . urlencode($query) . '&orientation=landscape&per_page=1&page=1';
$data = pexels_get($url);
if ($data && !empty($data['photos'])) {
$photo = $data['photos'][0];
$src = $photo['src']['large2x'] ?? $photo['src']['large'];
$dest = __DIR__ . '/assets/images/programs/' . $id . '.jpg';
if (download_to($src, $dest)) {
echo "Saved to $dest\n";
} else {
echo "Failed to download $src\n";
}
} else {
echo "No photos found for $query\n";
}
}

View File

@ -15,25 +15,31 @@ $schedule = [
[ [
'time' => '14:00', 'time' => '14:00',
'name' => 'Techno Sunrise', 'name' => 'Techno Sunrise',
'desc' => 'Comienza el día con los ritmos más puros y energéticos del techno underground.' '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', 'time' => '16:30',
'name' => 'Vocal House Sessions', 'name' => 'Vocal House Sessions',
'desc' => 'Una selección exquisita de house melódico con las voces más cautivadoras.' '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', 'time' => '19:00',
'name' => 'Lili Special Guest', 'name' => 'Lili Special Guest',
'desc' => 'Cada semana, un invitado especial nos trae su visión única de la pista de baile.' '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', 'time' => '21:00',
'name' => 'Deep Night Vibes', 'name' => 'Deep Night Vibes',
'desc' => 'Sonidos profundos y envolventes para acompañar la calma 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';
function get_live_index($schedule) { function get_live_index($schedule) {
$current = date('H:i'); $current = date('H:i');
$count = count($schedule); $count = count($schedule);
@ -711,7 +717,7 @@ $liveIndex = get_live_index($schedule);
<div class="studio-tag"> <div class="studio-tag">
<span class="live-dot"></span> <span id="studio-program-name"><?= ($liveIndex !== -1) ? htmlspecialchars($schedule[$liveIndex]['name']) : 'Directo desde el estudio' ?></span> <span class="live-dot"></span> <span id="studio-program-name"><?= ($liveIndex !== -1) ? htmlspecialchars($schedule[$liveIndex]['name']) : 'Directo desde el estudio' ?></span>
</div> </div>
<img src="assets/pasted-20260215-020116-2dc16355.jpg?v=<?php echo time(); ?>" alt="Studio Live" class="studio-photo"> <img id="studio-photo" src="<?= ($liveIndex !== -1 && !empty($schedule[$liveIndex]['image'])) ? $schedule[$liveIndex]['image'] : $defaultStudioImage ?>?v=<?php echo time(); ?>" alt="Studio Live" class="studio-photo">
</div> </div>
</section> </section>
@ -926,6 +932,8 @@ $liveIndex = get_live_index($schedule);
const items = document.querySelectorAll('.program-item'); const items = document.querySelectorAll('.program-item');
const studioProgramName = document.getElementById('studio-program-name'); const studioProgramName = document.getElementById('studio-program-name');
const studioPhoto = document.getElementById('studio-photo');
const defaultStudioImage = 'assets/pasted-20260215-020116-2dc16355.jpg';
items.forEach((item, index) => { items.forEach((item, index) => {
if (index === liveIndex) { if (index === liveIndex) {
@ -937,8 +945,18 @@ $liveIndex = get_live_index($schedule);
if (studioProgramName && liveIndex !== -1) { if (studioProgramName && liveIndex !== -1) {
studioProgramName.textContent = schedule[liveIndex].name; studioProgramName.textContent = schedule[liveIndex].name;
if (studioPhoto && schedule[liveIndex].image) {
// Update image if it's different to avoid flickering
const newSrc = schedule[liveIndex].image + '?v=' + new Date().getTime();
if (!studioPhoto.src.includes(schedule[liveIndex].image)) {
studioPhoto.src = newSrc;
}
}
} else if (studioProgramName) { } else if (studioProgramName) {
studioProgramName.textContent = 'Directo desde el estudio'; studioProgramName.textContent = 'Directo desde el estudio';
if (studioPhoto) {
studioPhoto.src = defaultStudioImage + '?v=' + new Date().getTime();
}
} }
} }