From 8b68901d2086055899fca4a68bcb571b35b1de36 Mon Sep 17 00:00:00 2001 From: Hermes Date: Mon, 10 Aug 2026 00:58:30 +0200 Subject: [PATCH] fix: set img on both element+movie in play(); robust detail background (Background + CSS fallback) --- plugin.js | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/plugin.js b/plugin.js index 7f8b382..e5bf105 100644 --- a/plugin.js +++ b/plugin.js @@ -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 @@ ''; 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); }