100 Commits
Author SHA1 Message Date
Hermes a41b5d6aea master: catalog cards show vertical poster (no cover logic) 2026-08-10 03:58:45 +02:00
Hermes eec608ee6d catalog card: poster by default, cover if card_interfice_cover enabled 2026-08-10 03:49:56 +02:00
Hermes 9b390e871c build_catalog.sh: poster only from poster.* (no movie.jpg fallback) 2026-08-10 03:45:20 +02:00
Hermes 618f38d7ab catalog card: show cover (movie.jpg) as the card image 2026-08-10 03:38:36 +02:00
Hermes 32b3936349 fix: detail poster = vertical poster; background = cover (movie.jpg) 2026-08-10 03:30:59 +02:00
Hermes 03d0f756de detail: show cover (movie.jpg) on detail page poster, matching the background 2026-08-10 03:26:09 +02:00
Hermes b6d339e9c1 build_catalog.sh: add cover field (=movie.jpg), bencode hash extraction 2026-08-10 03:09:58 +02:00
Hermes 942ba97850 fix: use http (not https) for log collector on :8899 to avoid SSL errors 2026-08-10 02:30:26 +02:00
Hermes 8684239a42 fix: add CORS for plugin.js so it loads from foreign origins (bylampa.online) 2026-08-10 02:27:16 +02:00
Hermes d305f8e2bf fix: use Background.change() (native full-page path) instead of immediately() 2026-08-10 01:56:41 +02:00
Hermes 6c3e9c1866 fix: use native Lampa.Background only, drop CSS background (Lampa owns it) 2026-08-10 01:51:49 +02:00
Hermes 121b9405ec style: plain full-bleed darkened background, no blur/fade 2026-08-10 01:45:22 +02:00
Hermes f4bba8b9a3 style: softer blur (22px), proper fade-in via rAF 2026-08-10 01:40:38 +02:00
Hermes aae480ff05 style: softer vignette, stronger blur+scale for native-like bg 2026-08-10 01:33:52 +02:00
Hermes be14df460f style: native-like bg (fade-in transition, edge vignette, stronger blur) 2026-08-10 01:31:29 +02:00
Hermes 1a8f7abaf3 fix: clear background on back press (before transition), native-like 2026-08-10 01:26:04 +02:00
Hermes cac0f4169b fix: clear CSS background on detail destroy so it doesn't linger 2026-08-10 01:14:50 +02:00
Hermes 8017f96654 fix: modal thumbnail via active.movie (drop backdrop_path); native-like bg blur 2026-08-10 01:10:48 +02:00
Hermes 9452239891 fix: use backdrop_path for torrent-modal thumbnail; drop CSS bg fallback (native style) 2026-08-10 01:03:47 +02:00
Hermes 8b68901d20 fix: set img on both element+movie in play(); robust detail background (Background + CSS fallback) 2026-08-10 00:58:30 +02:00
Hermes 43afdd624d feat: native detail background (blurred movie.img fanart) + use m.img in torrent modal 2026-08-10 00:50:34 +02:00
Hermes 278a79be6c catalog: native grid layout - flex rows, 6 cols, margin gaps (match Lampa catalog) 2026-08-09 22:11:23 +02:00
Hermes 1b13526bc9 logger: forward PlayerInfo 'stat' (torrent progress/peers/speed) to remote log 2026-08-09 19:46:51 +02:00
Hermes 381bdd8d62 nav: fix detail controller - left->menu, up->head (native Lampa behaviour) to avoid getting stuck 2026-08-09 19:25:55 +02:00
Hermes 10285e7c14 logger: add explicit 'plugin loaded', 'catalog opened', 'detail opened' events for device visibility 2026-08-09 19:07:58 +02:00
Hermes d9e5d5b7a4 detail: fix button focus flicker - register controller once, only focus if unfocused 2026-08-09 19:04:50 +02:00
Hermes eace6c2eeb scroll: JS-tween smooth scroll (fix); add always-on remote logger to :8899 with device identification 2026-08-09 18:53:46 +02:00
Hermes 210b4e2295 scroll: native Lampa smooth scroll animation (CSS transition on scrollTop, .notransition for instant jumps) 2026-08-09 18:41:17 +02:00
Hermes 99a3547f5f final: Torrent.start(element.MagnetUri) -> Torserver native path; remove test export 2026-08-09 17:00:20 +02:00
Hermes c89784784c fix: use Torrent.start(element) with MagnetUri so Torserver.hash is reached (parser-equivalent path) 2026-08-09 16:58:22 +02:00
Hermes 1339b82f4c final: remove test export; play() -> native Lampa.Torrent.open 2026-08-09 16:50:06 +02:00
Hermes 985262715f test: temp export play() for honest headless verification 2026-08-09 16:48:58 +02:00
Hermes b17a842036 final: native Torrent.open playback, only Смотреть button (no download) 2026-08-09 15:27:20 +02:00
Hermes ce5e941b15 test: temp export play() for headless verification 2026-08-09 15:24:58 +02:00
Hermes a87e28fe06 play: native Lampa.Torrent.open(hash) -> Torserver stream (no parser); drop download button 2026-08-09 15:23:19 +02:00
Hermes d4c3c7f7e7 play: always use native Lampa.Player.play with torrent_hash (Lampa routes to system torrent player) 2026-08-09 14:13:24 +02:00
Hermes 814589ca1b play: native torrent via Lampa.Player.play with torrent_hash; download opens magnet directly 2026-08-09 14:02:44 +02:00
Hermes b5fbd9e027 catalog: self-heal lost cursor (focus a card if none focused on toggle); sync selection on all arrows 2026-08-09 13:29:59 +02:00
Hermes e18c49cc69 menu: guard against duplicate (add data-action to native button) 2026-08-09 13:23:56 +02:00
Hermes 0e6cc6f025 menu: use native Lampa.Menu.addButton (reliable, no manual DOM insert); drop makeButton 2026-08-09 13:19:29 +02:00
Hermes 24ac13cf88 menu: restore reliable polling (setInterval 500ms) so the item always appears even if plugin loads before menu 2026-08-09 13:14:27 +02:00
Hermes 51917b4454 back: drop duplicate native back handlers (fix double-back); save/restore catalog scroll+selection 2026-08-09 13:04:57 +02:00
Hermes 4d35315443 menu: add item immediately (no 3s delay) + Lampa.Lang localization (ru: Мои фильмы) 2026-08-09 12:54:54 +02:00
Hermes dd59e79f94 catalog: scrollFocused driven by keydown arrows (Controller may not own arrows); keeps card visible 2026-08-08 23:01:23 +02:00
Hermes 5995ad6c3c catalog: revert Lampa.Scroll wrapper; plain overflow grid + Navigator nav + scrollFocused 2026-08-08 22:59:04 +02:00
Hermes 207c82c743 catalog: explicit .mymovies.scrollTop adjust on focus (Lampa scrollIntoView blocked by Scroll wrapper) 2026-08-08 22:42:21 +02:00
Hermes 7bf1696e8a catalog: Scroll wrapper + browser auto-scroll on focus (scrollIntoView) 2026-08-08 22:38:34 +02:00
Hermes 21f604d6fe catalog: re-toggle content Controller after cards load so focus + Scroll engage 2026-08-08 22:36:38 +02:00
Hermes bba71d11bf catalog start(): register Controller driving Navigator over Scroll cards; focus once 2026-08-08 22:34:38 +02:00
Hermes 747b4b2daa catalog: let native Scroll own navigation; start() is a no-op (Scroll registers Controller) 2026-08-08 22:33:07 +02:00
Hermes c6713090c1 catalog: add required start() activating native Scroll navigation via Navigator 2026-08-08 22:31:34 +02:00
Hermes 3504c006d3 catalog: use native Lampa.Scroll for grid (real focus + auto-scroll like built-in catalogs) 2026-08-08 22:02:05 +02:00
Hermes 318c45f99f catalog: auto-scroll on up/down navigation via scrollIntoView (native Lampa behaviour) 2026-08-08 21:33:37 +02:00
Hermes 15b42ce9b5 catalog: add auto-scroll on focus (MutationObserver scrollIntoView) + remove duplicate focus reset 2026-08-08 21:31:34 +02:00
Hermes 6d3e4cb021 catalog nav: rely on native Navigator for arrows (remove manual move handlers); only set focus once 2026-08-08 21:29:32 +02:00
Hermes 1ad2eb5d16 fix: do not reset focus to card[0] on late apply() retries (stops remote right->left jump) 2026-08-08 21:28:40 +02:00
Hermes 975eb70697 detail poster follows Lampa light--version (simplified UI): square corners like catalog 2026-08-08 21:22:48 +02:00
Hermes f629a07514 remove fixed border-radius/background on detail poster; follow Lampa UI settings like the catalog 2026-08-08 21:17:08 +02:00
Hermes 5a9b4a56ba cache-bust catalog.json (?_=Date.now) so Lampa.Reguest serves fresh content 2026-08-08 21:13:14 +02:00
Hermes 46938814df remove rating from detail (was from catalog rating field) 2026-08-08 20:59:06 +02:00
Hermes 7551ab8051 show Download span (native .button--book hides its span) 2026-08-08 20:50:29 +02:00
Hermes 72e05f3518 detail: force poster opacity, wide download button; native full markup 2026-08-08 20:48:39 +02:00
Hermes 747e0bdc12 detail nav: fix button selector to full-start__button, resolve movie in enter, retry 900ms 2026-08-08 20:44:57 +02:00
Hermes b5dc8d80fa detail screen now uses native Lampa markup (full-start-new + full-descr + full-start__button); data stays local 2026-08-08 20:40:52 +02:00
Hermes 00a68319c0 detail controller renamed to 'content' so Lampa activates it; back via backward() works 2026-08-08 20:01:36 +02:00
Hermes a05f12077e detail: keydown Escape/Backspace -> Activity.backward() (no recursion); removes listener on destroy 2026-08-08 19:08:05 +02:00
Hermes 7a488e928c use Activity.backward() for back (no recursion); works for catalog + detail 2026-08-08 19:06:25 +02:00
Hermes 4e0446bf4e back: clear controller before Activity.back to avoid recursion 2026-08-08 19:03:24 +02:00
Hermes ea70698d5d remove back handler from detail controller (caused recursion); Lampa native back 2026-08-08 19:02:00 +02:00
Hermes d4a5051914 remove duplicate keydown back listeners (caused recursion); rely on Lampa native back 2026-08-08 19:00:08 +02:00
Hermes 202fb021b2 fix detail: resolve wrapped object + catalog fallback, native meta layout, Watch/Download buttons, back via keydown+Controller 2026-08-08 18:57:30 +02:00
Hermes 2e7970ae7a nav: resolve grid from DOM, retry focus via setTimeout (handles async catalog load) 2026-08-08 18:44:11 +02:00
Hermes 029ebd257c apply collectionFocus directly in start() after toggle (ensures focus in headless + device) 2026-08-08 18:41:45 +02:00
Hermes e1b500a313 collectionFocus in toggle without active-check (stable focus like Shikimori) 2026-08-08 18:39:33 +02:00
Hermes a4103f394a move Activity.active() guard into toggle(); always add controller in start() 2026-08-08 18:36:05 +02:00
Hermes 0d24e24168 nav via Controller.add('content') + Activity.active() guard (Shikimori pattern); arrows + enter/back 2026-08-08 18:34:05 +02:00
Hermes b04b6aee9f rely on native hover:enter for open; drop custom Controller (system controller owns nav) 2026-08-08 18:31:56 +02:00
Hermes 7d0c69f995 add Controller enter/back handlers (OK opens movie, Back exits); clear on gone 2026-08-08 18:30:02 +02:00
Hermes 66de82496c use native collection nav (arrows + hover:enter on Enter), drop custom Controller 2026-08-08 18:28:52 +02:00
Hermes 85d8f32f37 always re-apply nav after catalog load (activity.start runs before async load) 2026-08-08 18:25:19 +02:00
Hermes b7b0d209dd remote/keyboard nav via Lampa.Controller.collectionSet + enter/back handlers 2026-08-08 18:20:33 +02:00
Hermes 3d0641df16 use NATIVE Lampa card markup (.card/.card__img) so it matches other sections 2026-08-08 18:12:19 +02:00
Hermes 2a0949307b fix: inject CSS into <head> (Template.add does NOT inject style); styles were missing 2026-08-08 18:01:15 +02:00
Hermes 58a7fe971f real user posters (Supergirl/Interstellar/Inception/Matrix) + DESIRED_ORDER sort 2026-08-08 14:35:33 +02:00
Hermes f12c8d30bb own mm-card template (Shikimori pattern); drop lazy + fixed img height so posters render 2026-08-08 14:26:53 +02:00
Hermes 9ecf92d79a use own card template (mm-card) + Template.add, like Shikimori plugin; fixes empty card (native card__img hidden) 2026-08-08 14:21:28 +02:00
Hermes 62285ac045 pass movie via activity.object (reliable detail render); native card classes; framework-contract create(body)/render() 2026-08-08 13:35:36 +02:00
Hermes ced0d67c87 use native Lampa card classes (card__img/card__title/card__age); fix framework contract create(body)+render() without double-render 2026-08-08 13:32:28 +02:00
Hermes a9c4e7d317 add component.start() to both list and detail (framework calls instance.start) 2026-08-08 13:24:18 +02:00
Hermes e2dce77229 native grid styles via injected CSS; stronger menu dedupe (remove all + fallback check); Supergirl added 2026-08-08 13:15:54 +02:00
Hermes 9ce15b6cd3 fix: add this.create() returning render() (framework calls instance.create) 2026-08-08 13:08:25 +02:00
Hermes 8db23ae058 use Lampa.Reguest (TV-safe) instead of fetch; EN-only comments 2026-08-08 13:01:03 +02:00
Hermes b387a1763d fix: remove all old menu copies before adding, subscribe once (no dupes) 2026-08-08 12:58:33 +02:00
Hermes 9cd7db1bf7 fix: guard Lampa.Selector.update() (undefined in headless) 2026-08-08 12:52:30 +02:00
Hermes c14a8e7f58 fix: guard comp.activity (loader) - render works without activity in headless 2026-08-08 12:50:33 +02:00
Hermes c1f9259e28 fix: framework calls render() not create() - rename to this.render (iptv pattern) 2026-08-08 12:48:42 +02:00
Hermes f93a132b9d fix: create() must return raw DOM node (not jQuery) for Lampa 2026-08-08 12:46:36 +02:00
Hermes 9186ee61a0 fix: Layer.update expects DOM node, not jQuery - use document.createElement 2026-08-08 12:45:07 +02:00
Hermes 48aff1d364 fix: register components as constructor functions (not object literals) - fixes 'not a constructor' crash 2026-08-08 12:43:22 +02:00
Hermes 38632479c9 fix: render component via Lampa.Layer (official iptv pattern), create() returns render() 2026-08-08 12:37:02 +02:00