Compare commits

...
3 Commits
+33 -11
View File
@@ -291,20 +291,42 @@
grid.append('<div class="mymovies-empty">Catalog is empty</div>'); grid.append('<div class="mymovies-empty">Catalog is empty</div>');
return; return;
} }
// 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) { movies.forEach(function (m) {
var card = $( try {
'<div class="card selector card--loaded" data-id="' + esc(m.id) + '">' + var element = {
'<div class="card__view">' + data: {
'<img src="' + resolve(m.poster || m.img || m.cover) + '" class="card__img" />' + title: m.title || m.id,
'<div class="card__icons"><div class="card__icons-inner"></div></div>' + poster: resolve(m.poster || m.img || m.cover),
'</div>' + img: resolve(m.img || m.poster || m.cover),
'<div class="card__title">' + esc(m.title || m.id) + '</div>' + cover: resolve(m.cover || m.img || m.poster),
(m.year ? '<div class="card__age">' + esc(String(m.year)) + '</div>' : '') + _mymovies: m
'</div>'); },
card.on('hover:enter', function () { openMovie(m); }); params: { module: Lampa.Maker.module('Card') }
grid.append(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); }));
}
}); });
} }
function manualCard(m) {
return $(
'<div class="card selector card--loaded" data-id="' + esc(m.id) + '">' +
'<div class="card__view">' +
'<img src="' + resolve(m.poster || m.img || m.cover) + '" class="card__img" />' +
'<div class="card__icons"><div class="card__icons-inner"></div></div>' +
'</div>' +
'<div class="card__title">' + esc(m.title || m.id) + '</div>' +
(m.year ? '<div class="card__age">' + esc(String(m.year)) + '</div>' : '') +
'</div>');
}
} }
Lampa.Component.add(PLUGIN.name, MyMovies); Lampa.Component.add(PLUGIN.name, MyMovies);