Consolidation 1

This commit is contained in:
Gogs
2026-07-09 15:35:20 +02:00
parent 558bd4ff6f
commit ca13c7620a
5 changed files with 54 additions and 52 deletions
+21 -1
View File
@@ -192,7 +192,27 @@ function dashboardUpdateCard(card, item) {
bar.style.width = `${TVGuideLive.calcPercent(item.start, item.stop)}%`;
}
card.dataset.programmeId = `${item.channel_id}-${item.start}-${item.title}`;
const id = `${item.channel_id}-${item.start}-${item.title}`;
card.dataset.programmeId = id;
window.TVGUIDE_PROGRAMMES = window.TVGUIDE_PROGRAMMES || {};
window.TVGUIDE_PROGRAMMES[id] = {
id,
channel_id: item.channel_id,
channel: item.channel_name,
channel_number: item.channel_number,
favorite: item.favorite,
title: item.title,
subtitle: item.subtitle || '',
description: item.description || '',
category: item.category || '',
metadata: item.metadata || {},
year: item.year || '',
rating: item.rating || '',
country: item.country || '',
start: TVGuideLive.formatTime(item.start),
stop: TVGuideLive.formatTime(item.stop)
};
}
function dashboardRender(grid, items) {
+9 -2
View File
@@ -85,10 +85,17 @@ export function initProgrammeModal() {
document.body.classList.remove("modal-open");
};
document.querySelectorAll(".timeline-programme, .dashboard-programme").forEach((programme) => {
programme.addEventListener("click", () => openModal(programme));
document.addEventListener("click", (event) => {
const programme = event.target.closest(".timeline-programme, .dashboard-programme");
if (!programme) {
return;
}
openModal(programme);
});
modal.querySelectorAll("[data-modal-close]").forEach((element) => {
element.addEventListener("click", closeModal);
});
+1 -28
View File
@@ -239,31 +239,4 @@ foreach ($dayProgrammes as $channel) {
JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
) ?>;
</script>
<div class="programme-modal" id="programmeModal" hidden>
<div class="programme-modal-backdrop" data-modal-close></div>
<div class="programme-modal-card">
<button class="programme-modal-close" type="button" data-modal-close>×</button>
<div class="programme-modal-header">
<img id="modalLogo" class="programme-modal-logo" src="/assets/logos/default.svg" alt="">
<div class="programme-modal-channel">
<div id="modalChannel"></div>
<div id="modalTime" class="programme-modal-time"></div>
</div>
</div>
<h2 id="modalTitle"></h2>
<div id="modalSubtitle" class="programme-modal-subtitle"></div>
<div id="modalCategory" class="programme-modal-category"></div>
<div id="modalMeta" class="programme-modal-meta"></div>
<p id="modalDescription"></p>
</div>
</div>
<?php require __DIR__ . '/partials/programme-modal.php'; ?>
+1 -21
View File
@@ -188,24 +188,4 @@ $favoritesNow = array_values(array_filter($currentProgrammes, fn($item) => !empt
window.TVGUIDE_PROGRAMMES = <?= json_encode($programmeIndex, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) ?>;
</script>
<div class="programme-modal" id="programmeModal" hidden>
<div class="programme-modal-backdrop" data-modal-close></div>
<div class="programme-modal-card">
<button class="programme-modal-close" type="button" data-modal-close>×</button>
<div class="programme-modal-header">
<img id="modalLogo" class="programme-modal-logo" src="/assets/logos/default.svg" alt="">
<div class="programme-modal-channel">
<div id="modalChannel"></div>
<div id="modalTime" class="programme-modal-time"></div>
</div>
</div>
<h2 id="modalTitle"></h2>
<div id="modalSubtitle" class="programme-modal-subtitle"></div>
<div id="modalCategory" class="programme-modal-category"></div>
<div id="modalMeta" class="programme-modal-meta"></div>
<p id="modalDescription"></p>
</div>
</div>
<?php require __DIR__ . '/partials/programme-modal.php'; ?>
@@ -0,0 +1,22 @@
<div class="programme-modal" id="programmeModal" hidden>
<div class="programme-modal-backdrop" data-modal-close></div>
<div class="programme-modal-card">
<button class="programme-modal-close" type="button" data-modal-close>×</button>
<div class="programme-modal-header">
<img id="modalLogo" class="programme-modal-logo" src="/assets/logos/default.svg" alt="">
<div class="programme-modal-channel">
<div id="modalChannel"></div>
<div id="modalTime" class="programme-modal-time"></div>
</div>
</div>
<h2 id="modalTitle"></h2>
<div id="modalSubtitle" class="programme-modal-subtitle"></div>
<div id="modalCategory" class="programme-modal-category"></div>
<div id="modalMeta" class="programme-modal-meta"></div>
<p id="modalDescription"></p>
</div>
</div>