native-cards: native Card via createInstance + onlyEnter (fallback manual)

This commit is contained in:
Hermes committed 2026-08-10 04:33:32 +02:00
1 parent 41a0ca2711
commit a6b04f5e32
1 file changed
+21 -6
+21 -6
View File
@@ -291,13 +291,28 @@
grid.append('<div class="mymovies-empty">Catalog is empty</div>');
return;
}
// Manual native-styled cards (.card / .card__img) — identical to Lampa's
// own cards, and the Enter handler works reliably. Native Lampa.Card via
// Utils.createInstance was tried but click-to-detail did not forward.
// Use Lampa's native Card module so cards render identically to built-in
// sections and respect the "Показать обложку" (card_interfice_cover) setting
// automatically. Wire onlyEnter -> our detail page.
movies.forEach(function (m) {
var card = manualCard(m);
card.on('hover:enter', function () { openMovie(m); });
grid.append(card);
try {
var element = {
data: {
title: m.title || m.id,
poster: resolve(m.poster || m.img || m.cover),
img: resolve(m.img || m.poster || m.cover),
cover: resolve(m.cover || m.img || m.poster),
_mymovies: m
},
params: { module: Lampa.Maker.module('Card') }
};
var item = Lampa.Utils.createInstance(Lampa.Card, element);
item.create();
item.use({ onlyEnter: function () { openMovie(m); } });
grid.append(item.html);
} catch (e) {
grid.append(manualCard(m).on('hover:enter', function () { openMovie(m); }));
}
});
}