fix: set img on both element+movie in play(); robust detail background (Background + CSS fallback)
This commit is contained in:
1 parent
43afdd624d
commit
8b68901d20
1 file changed
+24
-11
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user