Skip to content

Commit e3043cb

Browse files
committed
✨ introducing banner for a better detail page
1 parent 6b676b1 commit e3043cb

314 files changed

Lines changed: 315 additions & 173 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

data/films.json

Lines changed: 236 additions & 126 deletions
Large diffs are not rendered by default.

data/series.json

Lines changed: 75 additions & 40 deletions
Large diffs are not rendered by default.

js/display.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export function setupHero(item) {
88

99
const isSerie = item.type === 'serie' || item.seasons !== undefined;
1010

11-
document.getElementById('heroImage').src = item.banner;
11+
document.getElementById('heroImage').src = item.banner || item.poster;
1212
document.getElementById('heroTitle').innerText = item.title;
1313
document.getElementById('heroDesc').innerText = item.description;
1414
document.getElementById('heroRating').innerText = item.IMDb;
@@ -49,7 +49,7 @@ export function openDetails(item) {
4949
const overlay = document.getElementById('detailsOverlay');
5050
const isSerie = item.type === 'serie' || item.seasons !== undefined;
5151

52-
document.getElementById('detailHeroImg').src = item.banner;
52+
document.getElementById('detailHeroImg').src = item.banner || item.poster;
5353
document.getElementById('detailTitle').innerText = item.title;
5454
document.getElementById('detailDesc').innerText = item.description;
5555
document.getElementById('detailYear').innerText = item.year;
@@ -149,9 +149,8 @@ function renderEpisodes(episodes, seasonNum) {
149149
row.className = "episode-item flex flex-col md:flex-row items-center gap-6 p-4 rounded-2xl cursor-pointer transition-all border border-transparent hover:border-white/5 hover:bg-white/[0.02] group bg-[#0a0a0a]";
150150

151151
const fallbackThumb = `https://placehold.co/300x200/333/666?text=S${safeSeasonNum}-EP${idx + 1}`;
152-
const thumbUrl = activeDetailItem ? activeDetailItem.banner : fallbackThumb;
152+
const thumbUrl = activeDetailItem ? activeDetailItem.poster : fallbackThumb;
153153

154-
// Left container: index + thumbnail
155154
const leftContainer = document.createElement('div');
156155
leftContainer.className = "flex items-center gap-6 w-full md:w-auto";
157156

@@ -181,7 +180,6 @@ function renderEpisodes(episodes, seasonNum) {
181180
thumbContainer.appendChild(overlay);
182181
leftContainer.appendChild(thumbContainer);
183182

184-
// Right container: title, duration, description
185183
const rightContainer = document.createElement('div');
186184
rightContainer.className = "flex-1 w-full text-center md:text-left overflow-hidden";
187185

@@ -224,7 +222,7 @@ export function createMediaCard(item, extraClasses = "") {
224222
const fallback = `https://placehold.co/400x600/1a1a1a/e50914?text=${encodeURIComponent(item.title)}`;
225223

226224
card.innerHTML = `
227-
<img src="${item.banner}" onerror="this.src='${fallback}'" class="w-full h-full object-cover object-center transition-transform duration-700 loading='lazy'">
225+
<img src="${item.poster}" onerror="this.src='${fallback}'" class="w-full h-full object-cover object-center transition-transform duration-700 loading='lazy'">
228226
<div class="absolute inset-x-0 bottom-0 p-4 z-20 bg-gradient-to-t from-black/90 via-black/50 to-transparent translate-y-2 group-hover:translate-y-0 transition-transform duration-300">
229227
<h3 class="font-bold text-white text-base md:text-lg leading-tight mb-1 drop-shadow-md line-clamp-1">${item.title}</h3>
230228
<div class="flex items-center gap-3 text-xs font-bold text-gray-300 opacity-0 group-hover:opacity-100 transition-opacity delay-100">

js/utils.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// --- UTILS ---
21
export function playVideo(src) {
32
const overlay = document.getElementById('videoOverlay');
43
const player = document.getElementById('mainPlayer');
227 KB
File renamed without changes.
54.5 KB
File renamed without changes.
259 KB
File renamed without changes.

0 commit comments

Comments
 (0)