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 |
|