Auto commit: 2026-02-15T02:06:55.964Z
This commit is contained in:
parent
0006691f0c
commit
d0437c1d84
@ -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";
|
||||
}
|
||||
}
|
||||
28
index.php
28
index.php
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user