Compare commits

..
3 Commits
+33 -11
View File
@@ -291,20 +291,42 @@
grid.append('<div class="mymovies-empty">Catalog is empty</div>');
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) {
var card = $(
'<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>');
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); }));
}
});
}
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);