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',
'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',
'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',
'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',
'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) {
$current = date('H:i');
$count = count($schedule);
@ -711,7 +717,7 @@ $liveIndex = get_live_index($schedule);
<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>
</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>
</section>
@ -926,6 +932,8 @@ $liveIndex = get_live_index($schedule);
const items = document.querySelectorAll('.program-item');
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) => {
if (index === liveIndex) {
@ -937,8 +945,18 @@ $liveIndex = get_live_index($schedule);
if (studioProgramName && liveIndex !== -1) {
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) {
studioProgramName.textContent = 'Directo desde el estudio';
if (studioPhoto) {
studioPhoto.src = defaultStudioImage + '?v=' + new Date().getTime();
}
}
}