fix: set img on both element+movie in play(); robust detail background (Background + CSS fallback)

This commit is contained in:
Hermes committed 2026-08-10 00:58:30 +02:00
1 parent 43afdd624d
commit 8b68901d20
1 file changed
+24 -11
+24 -11
View File
@@ -398,6 +398,25 @@
// builds them lazily). Retry a couple of times, but never re-add the
// controller or steal focus once it's already set.
apply();
// Native Lampa detail background: blurred fanart behind the page.
// Set it in start() (after the activity is live), like Lampa does.
try {
var dm = resolveMovie((comp.activity && comp.activity.object) || selected);
var bg = resolve(dm.img || dm.poster || dm.cover);
console.log('[mymovies] bg=', bg);
if (bg) {
if (Lampa.Background && Lampa.Background.immediately) Lampa.Background.immediately(bg);
// Fallback: directly set the blurred background element Lampa uses.
var bgel = document.querySelector('.background');
if (bgel) {
bgel.style.backgroundImage = 'url("' + bg + '")';
bgel.style.backgroundSize = 'cover';
bgel.style.backgroundPosition = 'center';
bgel.style.filter = 'blur(15px)';
bgel.style.opacity = '1';
}
}
} catch (e) { console.log('[mymovies] bg err', e); }
if (!$('.mymovies-detail .full-start-new__buttons .full-start__button.selector').length) {
setTimeout(apply, 300);
setTimeout(apply, 900);
@@ -441,15 +460,6 @@
'</div>';
html.appendChild(start);
// Native Lampa detail background: blurred fanart behind the page.
// Lampa uses cardImgBackgroundBlur(object.movie) -> poster||img.
// We use m.img (movie.* horizontal) when present, else poster, so the
// detail background matches the torrent-modal thumbnail.
var bgSrc = resolve(m.img || m.poster || m.cover);
if (bgSrc && Lampa.Background && Lampa.Background.immediately) {
Lampa.Background.immediately(bgSrc);
}
// Details line: year ● genre1, genre2
var info = [];
if (m.year) info.push(esc(String(m.year)));
@@ -500,12 +510,15 @@
// -> Torserver.files(hash) -> Player.play. No parser screen.
var magnet = m.magnet || ('magnet:?xt=urn:btih:' + (m.hash || ''));
if (magnet.indexOf('magnet:') !== 0) return;
var imgUrl = resolve(m.img || m.poster || m.cover);
var element = {
MagnetUri: magnet,
title: m.title,
poster: resolve(m.poster || m.cover)
poster: imgUrl,
img: imgUrl
};
var movie = Object.assign({}, m, { img: resolve(m.img || m.poster || m.cover) });
var movie = Object.assign({}, m, { img: imgUrl, poster: imgUrl });
console.log('[mymovies] play img=', imgUrl);
Lampa.Torrent.start(element, movie);
}