(function () { 'use strict'; function data() { Lampa.Lang.add({ nc_title: { ru: "Добавить категории", en: "Add category", uk: "Додати категорії", zh: "新类别" // Chinese translation }, nc_settings_thanks: { ru: "Подяка", en: "Thanks", uk: "Подяка", zh: "感谢" }, nc_settings_thanks_description: { ru: "Поддержка развития плагина добровольная. Спасибо за вклад.", en: "Support for plugin development is voluntary. Thank you for your contribution.", uk: "Підтримка розвитку плагіна добровільна. Дякуємо за внесок.", zh: "对插件开发的支持是自愿的,感谢您的贡献。" }, ncInfo: { ru: "О плагине", en: "About plugin", uk: "Про розширення", zh: "关于插件" // Chinese translation }, ncInfoGr: { ru: "Группа плагина", en: "Plugin group", uk: "Група плагіна", zh: "Plugin group" // Chinese translation }, ncInfoDesc: { ru: "Плагин добавляет новые категории с контентом, сериалы добавляются двух категорий Топ и Новинки по стриминг сервисам. В некоторых категориях возможны дубликаты, так как сериал может выйти на нескольких стриминг сервисах.", en: "The plugin adds new categories with content, series are added to two categories, Top and New, based on streaming services. In some categories, duplicates are possible, since a series can be released on several streaming services.", uk: "Плагін додає нові категорії з контентом, серіали додаються до двох категорій, Топ і Новинки, на основі потокових сервісів. У деяких категоріях можливі дублікати, оскільки серіал може вийти на кількох потокових сервісах.", zh: "该插件添加了带有内容的新类别,根据流媒体服务将电视剧添加到两个类别(热门和新剧)中。在某些类别中可能存在重复项,因为电视剧可以在多个流媒体服务中发布。" // Chinese translation }, nc_choice: { ru: "Выбрать раздел", en: "Choice category", uk: "Обрати розділ", zh: "选择类别" // Chinese translation }, nc_country: { ru: "Страна", en: "Country", uk: "Країна", zh: "国家" // Chinese translation }, nc_subuniversal: { ru: "Общие", en: "General", uk: "Загальні", zh: "一般情况" // Chinese translation }, nc_submovie: { ru: "Кино", en: "Movie", uk: "Кіно", zh: "Movie" // Chinese translation }, nc_subtv: { ru: "TV Топ", en: "TV Тор", uk: "TV Топ", zh: "TV Тор" // Chinese translation }, nc_newsubtv: { ru: "TV Новинки", en: "TV New", uk: "TV Новинки", zh: "TV New" // Chinese translation }, nc_networksList: { ru: "TV Show стриминги", en: "TV Show Networks", uk: "TV Show Networks", zh: "TV Show Networks" // Chinese translation }, nc_networksListGeoAdd: { ru: "Страна успешно выбрана", en: "The country has been successfully selected", uk: "Країну успішно обрано", zh: "该国已成功入选" // Chinese translation }, nc_networksListGeoDeleted: { ru: "Страна успешно удалена", en: "Country successfully deleted", uk: "Країну успішно видалено", zh: "该国家已被成功删除" // Chinese translation }, nc_concert: { ru: "Концерты", en: "Concerts", uk: "Концерты", zh: "音乐会" // Chinese translation }, nc_cartoon: { ru: "Мультфильмы", en: "Cartoons", uk: "Мультфільми", zh: "漫画" // Chinese translation }, nc_documentary: { ru: "Документалки", en: "Documentaries", uk: "Документальні", zh: "纪录片" // Chinese translation }, nc_documentary2: { ru: "Документалки 2", en: "Documentaries 2", uk: "Документальні 2", zh: "纪录片 2" // Chinese translation }, nc_toptv: { ru: "Top", en: "Top", uk: "Top", zh: "Top" // Chinese translation }, nc_newtv: { ru: "New", en: "New", uk: "New", zh: "New" // Chinese translation }, nc_topmovie: { ru: " Top", en: " Top", uk: " Top", zh: " Top" // Chinese translation }, nc_openAction: { "ru": "Открыть", "en": "Open", "uk": "Відкрити", "zh": "开放" // Chinese translation }, nc_networkstat: { "ru": "Найдено записей", "en": "Records found", "uk": "Знайдено записів", "zh": "已找到记录" // Chinese translation }, nc_bookmarksstat: { "ru": "Найдено записей", "en": "Records found", "uk": "Знайдено записів", "zh": "已找到记录" // Chinese translation }, nc_favoriteAdded: { ru: "Вкладка успешно добавлена", en: "Tab successfully added", uk: "Вкладка успішно додана", zh: "成功添加选项卡" // Chinese translation }, nc_favoriteAdd: { "ru": "Добавить в Меню - ", "en": "Add to Menu - ", "uk": "Додати до Меню - ", "zh": "添加到收藏夹 - " // Chinese translation }, nc_favoriteDeleted: { ru: "Вкладка успешно удалена", en: "The tab has been successfully deleted", uk: "Вкладка успішно видалена", zh: "标签已成功删除" // Chinese translation }, nc_favoriteMigrateAlert: { "ru": "Система Избранного была обновлена, удалите все текущие избранные сервисы и добавьте заново!", "en": "The Favorites system has been updated, please remove all current favorite services and add them again!", "uk": "Система Favorites була оновлена, видаліть усі поточні вибрані сервіси та додайте їх знову!", "zh": "收藏系统已更新,请删除所有当前的收藏服务并重新添加!" }, nc_favoriteMigrate: { "ru": "Если вы видите это сообщение, значит мы удалили вкладки с сериалами стриминговых сервисов. Не беспокойтесь, в настройках вас ждет новый раздел с еще более интересными сервисами ;)", "en": "If you are seeing this message, then we have removed the tabs for streaming service series. Don't worry, in the settings you will find a new section with even more exciting services ;)", "uk": "Якщо ви бачите це повідомлення, це означає, що ми видалили вкладки з серіалами стрімінгових сервісів. Не хвилюйтеся, у налаштуваннях вас чекає новий розділ з ще цікавішими сервісами ;)", "zh": "如果您看到此消息,则我们已删除流媒体服务系列的选项卡。不用担心,在设置中您将找到一个新部分,其中包含更多令人兴奋的服务 ;)" // Chinese translation }, nc_bookmark: { ru: "Закладки", en: "Bookmarks", uk: "Закладки", zh: "书签" // Chinese translation }, nc_bookmarkAdd: { ru: "Добавить закладку", en: "Add Bookmark", uk: "Додати закладку", zh: "添加书签" // Chinese translation }, nc_bookmarkDuplicate: { ru: "Закладка уже существует", en: "A bookmark already exists", uk: "Закладка вже існує", zh: "书签已经存在" // Chinese translation }, nc_bookmarkAdded: { ru: "Закладка успешно добавлена", en: "Bookmark successfully added", uk: "Закладка успішно додана", zh: "成功添加书签" // Chinese translation }, nc_bookmarkDelete: { ru: "Удалить закладку", en: "Delete Bookmark", uk: "Видалити закладку", zh: "删除书签" // Chinese translation }, nc_bookmarkDeleted: { ru: "Закладка удалена", en: "Bookmark removed", uk: "Закладка видалена", zh: "已删除书签" // Chinese translation }, nc_bookmarkDeleteError: { ru: "Ошибка удаления", en: "Deletion error", uk: "Помилка видалення", zh: "删除错误" // Chinese translation }, //Collections lmeCollections: { ru: "LME Collections", en: "LME Collections", uk: "LME Collections", zh: "LME Collections" // Chinese translation } }); } var lang = { data: data }; var NEW_ITEM_SOURCES = ["tmdb", "cub"]; var Episode = function Episode(data) { var card = data.card || data; var episode = data.next_episode_to_air || data.episode || {}; if (card.source == undefined) card.source = 'tmdb'; Lampa.Arrays.extend(card, { title: card.name, original_title: card.original_name, release_date: card.first_air_date }); card.release_year = ((card.release_date || '0000') + '').slice(0, 4); function remove(elem) { if (elem) elem.remove(); } this.build = function () { this.card = Lampa.Template.js('card_episode'); this.img_poster = this.card.querySelector('.card__img') || {}; this.img_episode = this.card.querySelector('.full-episode__img img') || {}; this.card.querySelector('.card__title').innerText = card.title; this.card.querySelector('.full-episode__num').innerText = card.unwatched || ''; if (episode && episode.air_date) { this.card.querySelector('.full-episode__name').innerText = 's' + (episode.season_number || '?') + 'e' + (episode.episode_number || '?') + '. ' + (episode.name || Lampa.Lang.translate('noname')); this.card.querySelector('.full-episode__date').innerText = episode.air_date ? Lampa.Utils.parseTime(episode.air_date).full : '----'; } if (card.release_year == '0000') { remove(this.card.querySelector('.card__age')); } else { this.card.querySelector('.card__age').innerText = card.release_year; } this.card.addEventListener('visible', this.visible.bind(this)); }; this.image = function () { var _this = this; this.img_poster.onload = function () {}; this.img_poster.onerror = function () { _this.img_poster.src = './img/img_broken.svg'; }; this.img_episode.onload = function () { _this.card.querySelector('.full-episode__img').classList.add('full-episode__img--loaded'); }; this.img_episode.onerror = function () { _this.img_episode.src = './img/img_broken.svg'; }; }; this.create = function () { var _this2 = this; this.build(); this.card.addEventListener('hover:focus', function () { if (_this2.onFocus) _this2.onFocus(_this2.card, card); }); this.card.addEventListener('hover:hover', function () { if (_this2.onHover) _this2.onHover(_this2.card, card); }); this.card.addEventListener('hover:enter', function () { if (_this2.onEnter) _this2.onEnter(_this2.card, card); }); this.image(); }; this.visible = function () { if (card.poster_path) this.img_poster.src = Lampa.Api.img(card.poster_path);else if (card.profile_path) this.img_poster.src = Lampa.Api.img(card.profile_path);else if (card.poster) this.img_poster.src = card.poster;else if (card.img) this.img_poster.src = card.img;else this.img_poster.src = './img/img_broken.svg'; if (card.still_path) this.img_episode.src = Lampa.Api.img(episode.still_path, 'w300');else if (card.backdrop_path) this.img_episode.src = Lampa.Api.img(card.backdrop_path, 'w300');else if (episode.img) this.img_episode.src = episode.img;else if (card.img) this.img_episode.src = card.img;else this.img_episode.src = './img/img_broken.svg'; if (this.onVisible) this.onVisible(this.card, card); }; this.destroy = function () { this.img_poster.onerror = function () {}; this.img_poster.onload = function () {}; this.img_episode.onerror = function () {}; this.img_episode.onload = function () {}; this.img_poster.src = ''; this.img_episode.src = ''; remove(this.card); this.card = null; this.img_poster = null; this.img_episode = null; }; this.render = function (js) { return js ? this.card : $(this.card); }; }; var SourceTMDB = function SourceTMDB(parrent) { this.network = new Lampa.Reguest(); this.discovery = false; this.main = function () { var owner = this; var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var oncomplite = arguments.length > 1 ? arguments[1] : undefined; var onerror = arguments.length > 2 ? arguments[2] : undefined; var parts_limit = 6; console.log('LMENetworks', 'parts_limit:', parts_limit); var parts_data = [function (call) { owner.get('movie/now_playing', params, function (json) { json.title = Lampa.Lang.translate('title_now_watch'); call(json); }, call); }, function (call) { call({ source: 'tmdb', results: Lampa.TimeTable.lately().slice(0, 20), title: Lampa.Lang.translate('title_upcoming_episodes'), nomore: true, cardClass: function cardClass(_elem, _params) { return new Episode(_elem, _params); } }); }, function (call) { owner.get('trending/all/day', params, function (json) { json.title = Lampa.Lang.translate('title_trend_day'); call(json); }, call); }, function (call) { owner.get('trending/all/week', params, function (json) { json.title = Lampa.Lang.translate('title_trend_week'); call(json); }, call); }]; //Integrate LME_Networks function addNetworkFunctions() { var networkLists = Lampa.Storage.get('nc_networkLists'); networkLists.forEach(function (networkOne) { var withNetworks = networkOne.card_data.$id; var sortBy = networkOne.type === 'new' ? 'first_air_date.desc' : undefined; var params = {}; if (sortBy) { params.sort_by = sortBy; } // Додаємо анонімну функцію до parts_data parts_data.splice(1, 0, function (call) { owner.get("discover/tv?with_networks=".concat(withNetworks), params, function (json) { json.title = "".concat(networkOne.type.toUpperCase(), " ").concat(networkOne.card_data.name); call(json); parts_limit++; // Збільшуємо parts_limit }, call); }); }); } // Виклик функції для додавання мереж addNetworkFunctions(); //END Integrate LME_Networks Lampa.Arrays.insert(parts_data, 0, Lampa.Api.partPersons(parts_data, parts_data.length - 1, 'movie')); parrent.genres.movie.forEach(function (genre) { var event = function event(call) { owner.get('discover/movie?with_genres=' + genre.id, params, function (json) { json.title = Lampa.Lang.translate(genre.title.replace(/[^a-z_]/g, '')); call(json); }, call); }; parts_data.push(event); }); function loadPart(partLoaded, partEmpty) { Lampa.Api.partNext(parts_data, parts_limit, partLoaded, partEmpty); } loadPart(oncomplite, onerror); return loadPart; }; }; function catSubmenu(type) { if (type === 'nc_cartoon') { var NEW_ITEM_TEXT = Lampa.Lang.translate('nc_cartoon'); var NEW_ITEM_SVG = ""; Lampa.Menu.addButton(NEW_ITEM_SVG, NEW_ITEM_TEXT, function () { var _Lampa$Activity$activ = Lampa.Activity.active(), currentSource = _Lampa$Activity$activ.source; var source = NEW_ITEM_SOURCES.includes(currentSource) ? currentSource : NEW_ITEM_SOURCES[0]; Lampa.Activity.push({ url: "movie", title: "".concat(NEW_ITEM_TEXT, " - ").concat(source.toUpperCase()), component: "category", genres: 16, id: 16, source: source, card_type: true, page: 1 }); }); } if (type === 'nc_documentary') { var _NEW_ITEM_TEXT = Lampa.Lang.translate('nc_documentary'); var _NEW_ITEM_SVG = " "; Lampa.Menu.addButton(_NEW_ITEM_SVG, _NEW_ITEM_TEXT, function () { var _Lampa$Activity$activ2 = Lampa.Activity.active(), currentSource = _Lampa$Activity$activ2.source; var source = NEW_ITEM_SOURCES.includes(currentSource) ? currentSource : NEW_ITEM_SOURCES[0]; Lampa.Activity.push({ url: "movie", title: "".concat(_NEW_ITEM_TEXT, " - ").concat(source.toUpperCase()), component: "category", genres: 99, id: 99, source: source, card_type: true, page: 1 }); }); } if (type === 'nc_documentary2') { var _NEW_ITEM_TEXT2 = Lampa.Lang.translate('nc_documentary2'); var _NEW_ITEM_SVG2 = " "; Lampa.Menu.addButton(_NEW_ITEM_SVG2, _NEW_ITEM_TEXT2, function () { Lampa.Activity.push({ url: "discover/tv", title: "".concat(_NEW_ITEM_TEXT2), component: "category_full", networks: '2360|2382|3541|5433|65|1354|1755|3953|106|1079|3900|6903|64|2087|4353|6026|4462|2692|5470|5408|5431|4440|4741|4883|3045|4983|4987|5192|1302|4784|6966|100', sort_by: 'first_air_date.desc', source: 'tmdb', card_type: true, page: 1 }); }); } if (type === 'nc_networksList') { var _NEW_ITEM_TEXT3 = Lampa.Lang.translate('nc_networksList'); var _NEW_ITEM_SVG3 = "\n \n \n \n "; Lampa.Menu.addButton(_NEW_ITEM_SVG3, _NEW_ITEM_TEXT3, function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('nc_networksList'), component: Lampa.Storage.get("nc_networksListHome") || 'lmeNetworks', page: 1 }); }); // Insert Home block's - SourceTMDB integration console.log('LMENetworks', 'Try inject'); if (Lampa.Storage.get('nc_networkLists') !== []) { var lme_networks = Object.assign({}, Lampa.Api.sources.tmdb, new SourceTMDB(Lampa.Api.sources.tmdb)); Lampa.Api.sources.lme_networks = lme_networks; Object.defineProperty(Lampa.Api.sources, 'TMDBs', { get: function get() { return lme_networks; } }); Lampa.Params.select('source', Object.assign({}, Lampa.Params.values['source'], { 'TMDBs': 'TMDB + Streaming' }), 'tmdb'); } } //nc_lmeCollection if (type === 'nc_lmeCollections') { var _NEW_ITEM_TEXT4 = Lampa.Lang.translate('lmeCollections'); var _NEW_ITEM_SVG4 = "\n \n "; Lampa.Menu.addButton(_NEW_ITEM_SVG4, _NEW_ITEM_TEXT4, function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('lmeCollections'), component: Lampa.Storage.get("nc_CollectionHome") || 'lmeCollections', page: 1 }); }); } if (type === Lampa.Storage.get('nc_networkLists') && Lampa.Storage.get('nc_networkLists') !== []) { Lampa.Storage.get('nc_networkLists').forEach(function (item) { var NEW_ITEM_TEXT = "".concat(item.card_data.name); var New = ""; var legacyFavorite = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); if (item.type === "new") New = 'first_air_date.desc'; // Create img tag for network logo var NEW_ITEM_IMG = ""); Lampa.Menu.addButton(NEW_ITEM_IMG, "".concat(legacyFavorite ? "OLD " : "").concat(NEW_ITEM_TEXT), function () { //Migration alert if (legacyFavorite === true) { Lampa.Noty.show(Lampa.Lang.translate('nc_favoriteMigrateAlert')); } else { Lampa.Activity.push({ url: 'discover/tv', title: "".concat(item.type.toUpperCase(), " ").concat(NEW_ITEM_TEXT), component: "category_full", networks: item.card_data.$id, sort_by: New, source: 'tmdb', card_type: true, page: 1 }); } }); // Note: Badge functionality from original code is lost in v3 API // Original had:
${Lampa.Lang.translate(item.type === 'top' ? 'nc_toptv' : 'nc_newtv')}
// This would require custom HTML via Lampa.Menu.addaddElement if badges are critical }); } } var insert = { catSubmenu: catSubmenu }; var UKRAINIAN_THANKS_URL = "https://lampame.donatik.me/"; var DEFAULT_THANKS_URL = "https://t.me/tribute/app?startapp=d5WS"; function getCurrentLanguage() { return String(Lampa.Storage.get("language", "ru") || "ru").toLowerCase(); } function getThanksUrlByLanguage() { return getCurrentLanguage() === "uk" ? UKRAINIAN_THANKS_URL : DEFAULT_THANKS_URL; } function openThanksModal() { var thanksUrl = getThanksUrlByLanguage(); var html = Lampa.Template.get("modal_qr", { title: Lampa.Lang.translate("nc_settings_thanks"), text: Lampa.Lang.translate("nc_settings_thanks_description"), qr_text: "").concat(thanksUrl, "") }); var qrElement = html.find(".account-modal-split__qr-code"); var enabledController = Lampa.Controller.enabled().name; Lampa.Utils.qrcode(thanksUrl, qrElement, function (error) { console.error("NC", "Unable to generate thanks QR code", error); qrElement.text(thanksUrl); }); Lampa.Modal.open({ title: "", html: html, size: "medium", onBack: function onBack() { Lampa.Modal.close(); Lampa.Controller.toggle(enabledController); } }); } function setting() { Lampa.SettingsApi.addComponent({ component: "addCategory", name: Lampa.Lang.translate('nc_title'), icon: '\n' + '\n' + '\n' + '\n' + '\n' + '' }); Lampa.SettingsApi.addParam({ component: "addCategory", param: { name: "nc_thanks", type: "button" }, field: { name: Lampa.Lang.translate("nc_settings_thanks"), description: Lampa.Lang.translate("nc_settings_thanks_description") }, onChange: function onChange() { openThanksModal(); } }); //Info Lampa.Settings.listener.follow("open", function (e) { if (e.name === "addCategory") { if (Lampa.Settings.main().render().find('[data-component="ncInfo"]').length === 0) { Lampa.SettingsApi.addComponent({ component: "ncInfo", name: Lampa.Lang.translate('ncInfo') }); } Lampa.Settings.main().update(); Lampa.Settings.main().render().find('[data-component="ncInfo"]').addClass("hide"); } }); //Info Lampa.SettingsApi.addParam({ component: 'addCategory', param: { name: "ncInfo", type: 'static', "default": true }, field: { name: Lampa.Lang.translate('ncInfo') }, onRender: function onRender(item) { item.show(); item.on("hover:enter", function () { Lampa.Settings.create("ncInfo"); var enabledController = Lampa.Controller.enabled(); enabledController.controller.back = function () { Lampa.Settings.create('ncInfo'); }; }); } }); Lampa.SettingsApi.addParam({ component: 'ncInfo', param: { name: "group", type: "static" }, field: { name: "\"GroupLTD\"", description: Lampa.Lang.translate('ncInfoGr') } }); Lampa.SettingsApi.addParam({ component: 'ncInfo', param: { name: "group", type: "static" }, field: { name: "Info", description: Lampa.Lang.translate('ncInfoDesc') } }); //Stream Network Lampa.SettingsApi.addParam({ component: "addCategory", param: { name: "nc_networksList", type: "trigger", "default": false }, field: { name: Lampa.Lang.translate('nc_networksList'), description: "" }, onChange: function onChange(value) { if (value === 'true') insert.catSubmenu('nc_networksList');else $('body').find('.menu [data-action="nc_networksList"]').remove(); Lampa.Settings.update(); } }); // Menu 2.0 Lampa.SettingsApi.addParam({ component: "addCategory", param: { name: "nc_documentary", type: "trigger", "default": false }, field: { name: Lampa.Lang.translate('nc_documentary'), description: "TMDB/CUB" }, onChange: function onChange(value) { if (value === 'true') insert.catSubmenu('nc_documentary');else $('body').find('.menu [data-action="nc_documentary"]').remove(); Lampa.Settings.update(); } }); Lampa.SettingsApi.addParam({ component: "addCategory", param: { name: "nc_documentary2", type: "trigger", "default": false }, field: { name: Lampa.Lang.translate('nc_documentary2'), description: "TMDB" }, onChange: function onChange(value) { if (value === 'true') insert.catSubmenu('nc_documentary2');else $('body').find('.menu [data-action="nc_documentary2"]').remove(); Lampa.Settings.update(); } }); //End Universal } var config = { setting: setting }; function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } var network = new Lampa.Reguest(); var api_url = 'https://cloud.appwrite.io/v1/databases/65fd540d95317ea2a89f/collections/TVNetworksSource/documents?queries[0]={"method":"limit","values":[36]}&queries[]={"method":"orderDesc","values":["$createdAt"]}'; var api_urlCollection = 'https://cloud.appwrite.io/v1/databases/65fd540d95317ea2a89f/collections/CollectionSource/documents?queries[0]={"method":"limit","values":[36]}&queries[]={"method":"orderDesc","values":["$createdAt"]}'; var auth = { headers: { "X-Appwrite-Project": "65fd523956f5ca97eaff" } }; var allNetworks = []; // Store all networks globally function main$2(params, oncomplite, onerror) { var trakt_headers = { 'Content-Type': 'application/json', 'trakt-api-version': '2', 'trakt-api-key': 'a77093dcf5db97106d9303f3ab7d46a80a93a6e0c1d7a2ff8a1aacebe0dc161b', 'x-requested-with': 'lme-plugins' }; // Ensure page starts from 0 var page = Math.max(0, (params.page || 1) - 1); network["native"]('https://apx.lme.isroot.in/trakt/networks', function (networks) { if (params.searchQuery) { console.log('LMENetworks', 'Search query:', params.searchQuery); networks = networks.filter(function (network) { return network.name.toLowerCase().includes(params.searchQuery.toLowerCase()); }); console.log('LMENetworks', 'Filtered networks by searchQuery:', networks); } if (!params.searchQuery && (params.geoSearchQuery || Lampa.Storage.get('nc_networksListGeo'))) { var countryCode = (Lampa.Storage.get('nc_networksListGeo') || params.geoSearchQuery).toLowerCase(); networks = networks.filter(function (network) { return network.country && network.country.toLowerCase() === countryCode; }); } allNetworks = networks; processPage(page, _toConsumableArray(allNetworks), oncomplite); }, function (error) { onerror(error); }, false, { headers: trakt_headers }); } function processPage(page, networks, oncomplite) { var itemsPerPage = 36; var start = page * itemsPerPage; var end = start + itemsPerPage; // If no networks or start index is out of bounds if (!networks.length || start >= networks.length) { oncomplite({ collection: true, total_pages: Math.max(1, Math.ceil(networks.length / itemsPerPage)), total: networks.length, documents: [] }); return; } var pageNetworks = networks.slice(start, end); var promises = pageNetworks.map(function (network_item) { return new Promise(function (resolve) { if (network_item.ids.tmdb) { var tmdbUrl = "".concat(Lampa.TMDB.api('network/' + network_item.ids.tmdb + '/images' + '?api_key=' + Lampa.TMDB.key())); network["native"](tmdbUrl, function (json) { var _json$logos, _network_item$country; resolve({ name: network_item.name, logo_path: ((_json$logos = json.logos) === null || _json$logos === void 0 || (_json$logos = _json$logos[0]) === null || _json$logos === void 0 ? void 0 : _json$logos.file_path) || '', origin_country: ((_network_item$country = network_item.country) === null || _network_item$country === void 0 ? void 0 : _network_item$country.toUpperCase()) || null, $id: network_item.ids.tmdb, tmdb_id: network_item.ids.tmdb }); }, function () { var _network_item$country2; resolve({ name: network_item.name, logo_path: '', origin_country: ((_network_item$country2 = network_item.country) === null || _network_item$country2 === void 0 ? void 0 : _network_item$country2.toUpperCase()) || null, $id: network_item.ids.tmdb, tmdb_id: network_item.ids.tmdb }); }); } else { var _network_item$country3; resolve({ name: network_item.name, logo_path: '', origin_country: ((_network_item$country3 = network_item.country) === null || _network_item$country3 === void 0 ? void 0 : _network_item$country3.toUpperCase()) || null, $id: network_item.ids.tmdb, tmdb_id: null }); } }); }); Promise.all(promises).then(function (documents) { var data = { collection: true, total_pages: Math.ceil(networks.length / itemsPerPage), total: networks.length, documents: documents }; data.documents.forEach(function (element) { element.poster_path = element.logo_path; }); oncomplite(data); }); } function full(params, oncomplite, onerror) { var apiUrl = api_url; if (params.searchQuery && params.searchQuery !== "") { apiUrl += "&queries[]={\"method\":\"search\",\"attribute\":\"name\",\"values\":[\"".concat(params.searchQuery, "\"]}"); } if (!params.searchQuery && (params.geoSearchQuery && params.geoSearchQuery !== "" || Lampa.Storage.get('nc_networksListGeo') && Lampa.Storage.get('nc_networksListGeo') !== "null")) { apiUrl += "&queries[]={\"method\":\"equal\",\"attribute\":\"origin_country\",\"values\":[\"".concat(Lampa.Storage.get('nc_networksListGeo') || params.geoSearchQuery, "\"]}"); } network.silent(encodeURI(apiUrl + "&queries[]={\"method\":\"offset\",\"values\":[".concat(params.page * 36, "]}")), function (data) { data.collection = true; data.total_pages = data.total / 36; data.documents.forEach(function (element) { element.poster_path = element.logo_path; if (element.origin_country !== null) { element.name = "".concat(element.name, " ").concat(element.origin_country); } }); oncomplite(data); }, onerror, false, auth); } function bookmarkSave(data) { if (data.action === 'bookmarkAdd') { try { var currentItems = Lampa.Storage.get('nc_bookmarks') || []; var isDuplicate = currentItems.some(function (item) { return item.$id === data.card_data.$id; }); if (isDuplicate) { return false; } Lampa.Storage.add('nc_bookmarks', data.card_data); return true; } catch (error) { return false; } } } function bookmarkRemove(data) { if (data.action === 'bookmarkRemove') { try { var currentItems = Lampa.Storage.get('nc_bookmarks'); var updatedItems = currentItems.filter(function (item) { return item.$id !== data.card_data.$id; }); if (currentItems.length === updatedItems.length) { console.error('Ошибка: Запись не найдена'); return false; } Lampa.Storage.set('nc_bookmarks', JSON.stringify(updatedItems)); return true; } catch (error) { console.error('Произошла ошибка при удалении записи:', error); return false; } } } /* Collection */ function mainCollection(params, oncomplite, onerror) { var apiUrl = api_urlCollection; if (params.searchQuery && params.searchQuery !== "") { // Получаем значение языка из хранилища var language = Lampa.Storage.get('language'); // Определяем атрибут для поиска в зависимости от языка var searchAttribute = language === 'uk' ? 'uk' : language === 'ru' ? 'ru' : 'name'; apiUrl += "&queries[]={\"method\":\"search\",\"attribute\":\"".concat(searchAttribute, "\",\"values\":[\"").concat(params.searchQuery, "\"]}"); } network.silent(encodeURI(apiUrl), function (data) { data.collection = false; data.total_pages = data.total / 36; data.documents.forEach(function (element) { var language = Lampa.Storage.get('language'); if (language === 'uk') { element.name = element.uk || element.name; } else if (language === 'ru') { element.name = element.ru || element.name; } else { element.name = "".concat(element.name); } }); oncomplite(data); }, onerror, false, auth); } function fullCollection(params, oncomplite, onerror) { var apiUrl = api_urlCollection; if (params.searchQuery && params.searchQuery !== "") { apiUrl += "&queries[]={\"method\":\"search\",\"attribute\":\"name\",\"values\":[\"".concat(params.searchQuery, "\"]}"); } network.silent(encodeURI(apiUrl + "&queries[]={\"method\":\"offset\",\"values\":[".concat(params.page * 36, "]}")), function (data) { data.collection = false; data.total_pages = data.total / 36; data.documents.forEach(function (element) { var language = Lampa.Storage.get('language'); if (language === 'uk') { element.name = element.uk || element.name; } else if (language === 'ru') { element.name = element.ru || element.name; } else { element.name = "".concat(element.name); } }); oncomplite(data); }, onerror, false, auth); } function mainCollectionGet(params, oncomplite, onerror) { var apiUrlTMDB = 'https://api.themoviedb.org/3/'; var apiUrlProxy = 'apitmdb.' + (Lampa.Manifest && Lampa.Manifest.cub_domain ? Lampa.Manifest.cub_domain : 'cub.red') + '/3/'; var request = "collection/".concat(params.collectionID, "?api_key=4ef0d7355d9ffb5151e987764708ce96&language=").concat(Lampa.Storage.get('language')); var apiUrl = Lampa.Storage.field('proxy_tmdb') ? Lampa.Utils.protocol() + apiUrlProxy + request : apiUrlTMDB + request; network.silent(apiUrl, function (data) { //data = data.contents; data.results = data.parts; data.total_pages = data.total / 36; oncomplite(data); }, onerror, false); } function collectionBookmarkSave(action, card_data) { if (action === 'collectionBookmarkAdd') { try { var currentItems = Lampa.Storage.get('nc_collectionBookmarks') || []; var isDuplicate = currentItems.some(function (item) { return item.$id === card_data.$id; }); if (isDuplicate) { return false; } Lampa.Storage.add('nc_collectionBookmarks', card_data); return true; } catch (error) { return false; } } } function collectionBookmarkRemove(action, card_data) { if (action === 'collectionBookmarkRemove') { try { var currentItems = Lampa.Storage.get('nc_collectionBookmarks'); var updatedItems = currentItems.filter(function (item) { return item.$id !== card_data.$id; }); if (currentItems.length === updatedItems.length) { console.error('Ошибка: Запись не найдена'); return false; } Lampa.Storage.set('nc_collectionBookmarks', JSON.stringify(updatedItems)); return true; } catch (error) { console.error('Произошла ошибка при удалении записи:', error); return false; } } } function clear() { network.clear(); } var Api = { main: main$2, full: full, bookmarkRemove: bookmarkRemove, bookmarkSave: bookmarkSave, mainCollection: mainCollection, fullCollection: fullCollection, mainCollectionGet: mainCollectionGet, collectionBookmarkSave: collectionBookmarkSave, collectionBookmarkRemove: collectionBookmarkRemove, clear: clear }; var Favorites$1 = /*#__PURE__*/function () { function Favorites() { _classCallCheck(this, Favorites); } return _createClass(Favorites, null, [{ key: "get", value: function get() { return Lampa.Storage.get('nc_networkLists', '[]'); } }, { key: "find", value: function find(favorite) { return this.get().find(function (a) { return a.id === favorite.id; }); } }, { key: "remove", value: function remove(favorite) { var list = this.get(); var find = this.find(favorite); if (find) { Lampa.Arrays.remove(list, find); Lampa.Storage.set('nc_networkLists', list); Lampa.Noty.show(Lampa.Lang.translate('nc_favoriteDeleted') + ' ' + find.card_data.name); } } }, { key: "add", value: function add(favorite) { var list = this.get(); var find = this.find(favorite); if (!find) { Lampa.Arrays.extend(favorite, { //id: Lampa.Utils.uid(), id: favorite.type + favorite.card_data.$id, added: Date.now() }); list.push(favorite); Lampa.Storage.set('nc_networkLists', list); Lampa.Noty.show("Add, need reboot"); } } }, { key: "update", value: function update(favorite) { var list = this.get(); var find = this.find(favorite); if (find) { Lampa.Storage.set('nc_networkLists', list); } } }, { key: "toggle", value: function toggle(favorite) { return this.find(favorite) ? this.remove(favorite) : this.add(favorite); } }]); }(); function list() { return { "results": [{ "iso_3166_1": "CN", "english_name": "China", "native_name": "China" }, { "iso_3166_1": "US", "english_name": "United States of America", "native_name": "United States" }, { "iso_3166_1": "FR", "english_name": "France", "native_name": "France" }, { "iso_3166_1": "GB", "english_name": "United Kingdom", "native_name": "United Kingdom" }, { "iso_3166_1": "RU", "english_name": "Russia", "native_name": "Russia" }, { "iso_3166_1": "AD", "english_name": "Andorra", "native_name": "Andorra" }, { "iso_3166_1": "AE", "english_name": "United Arab Emirates", "native_name": "United Arab Emirates" }, { "iso_3166_1": "AG", "english_name": "Antigua and Barbuda", "native_name": "Antigua & Barbuda" }, { "iso_3166_1": "AL", "english_name": "Albania", "native_name": "Albania" }, { "iso_3166_1": "AR", "english_name": "Argentina", "native_name": "Argentina" }, { "iso_3166_1": "AT", "english_name": "Austria", "native_name": "Austria" }, { "iso_3166_1": "AU", "english_name": "Australia", "native_name": "Australia" }, { "iso_3166_1": "BA", "english_name": "Bosnia and Herzegovina", "native_name": "Bosnia & Herzegovina" }, { "iso_3166_1": "BB", "english_name": "Barbados", "native_name": "Barbados" }, { "iso_3166_1": "BE", "english_name": "Belgium", "native_name": "Belgium" }, { "iso_3166_1": "BG", "english_name": "Bulgaria", "native_name": "Bulgaria" }, { "iso_3166_1": "BH", "english_name": "Bahrain", "native_name": "Bahrain" }, { "iso_3166_1": "BM", "english_name": "Bermuda", "native_name": "Bermuda" }, { "iso_3166_1": "BO", "english_name": "Bolivia", "native_name": "Bolivia" }, { "iso_3166_1": "BR", "english_name": "Brazil", "native_name": "Brazil" }, { "iso_3166_1": "BS", "english_name": "Bahamas", "native_name": "Bahamas" }, { "iso_3166_1": "CA", "english_name": "Canada", "native_name": "Canada" }, { "iso_3166_1": "CH", "english_name": "Switzerland", "native_name": "Switzerland" }, { "iso_3166_1": "CI", "english_name": "Cote D'Ivoire", "native_name": "Côte d’Ivoire" }, { "iso_3166_1": "CL", "english_name": "Chile", "native_name": "Chile" }, { "iso_3166_1": "CO", "english_name": "Colombia", "native_name": "Colombia" }, { "iso_3166_1": "CR", "english_name": "Costa Rica", "native_name": "Costa Rica" }, { "iso_3166_1": "CU", "english_name": "Cuba", "native_name": "Cuba" }, { "iso_3166_1": "CV", "english_name": "Cape Verde", "native_name": "Cape Verde" }, { "iso_3166_1": "CZ", "english_name": "Czech Republic", "native_name": "Czech Republic" }, { "iso_3166_1": "DE", "english_name": "Germany", "native_name": "Germany" }, { "iso_3166_1": "DK", "english_name": "Denmark", "native_name": "Denmark" }, { "iso_3166_1": "DO", "english_name": "Dominican Republic", "native_name": "Dominican Republic" }, { "iso_3166_1": "DZ", "english_name": "Algeria", "native_name": "Algeria" }, { "iso_3166_1": "EC", "english_name": "Ecuador", "native_name": "Ecuador" }, { "iso_3166_1": "EE", "english_name": "Estonia", "native_name": "Estonia" }, { "iso_3166_1": "EG", "english_name": "Egypt", "native_name": "Egypt" }, { "iso_3166_1": "ES", "english_name": "Spain", "native_name": "Spain" }, { "iso_3166_1": "FI", "english_name": "Finland", "native_name": "Finland" }, { "iso_3166_1": "FJ", "english_name": "Fiji", "native_name": "Fiji" }, { "iso_3166_1": "GF", "english_name": "French Guiana", "native_name": "French Guiana" }, { "iso_3166_1": "GH", "english_name": "Ghana", "native_name": "Ghana" }, { "iso_3166_1": "GI", "english_name": "Gibraltar", "native_name": "Gibraltar" }, { "iso_3166_1": "GP", "english_name": "Guadaloupe", "native_name": "Guadeloupe" }, { "iso_3166_1": "GQ", "english_name": "Equatorial Guinea", "native_name": "Equatorial Guinea" }, { "iso_3166_1": "GR", "english_name": "Greece", "native_name": "Greece" }, { "iso_3166_1": "GT", "english_name": "Guatemala", "native_name": "Guatemala" }, { "iso_3166_1": "HK", "english_name": "Hong Kong", "native_name": "Hong Kong SAR China" }, { "iso_3166_1": "HN", "english_name": "Honduras", "native_name": "Honduras" }, { "iso_3166_1": "HR", "english_name": "Croatia", "native_name": "Croatia" }, { "iso_3166_1": "HU", "english_name": "Hungary", "native_name": "Hungary" }, { "iso_3166_1": "ID", "english_name": "Indonesia", "native_name": "Indonesia" }, { "iso_3166_1": "IE", "english_name": "Ireland", "native_name": "Ireland" }, { "iso_3166_1": "IL", "english_name": "Israel", "native_name": "Israel" }, { "iso_3166_1": "IN", "english_name": "India", "native_name": "India" }, { "iso_3166_1": "IQ", "english_name": "Iraq", "native_name": "Iraq" }, { "iso_3166_1": "IS", "english_name": "Iceland", "native_name": "Iceland" }, { "iso_3166_1": "IT", "english_name": "Italy", "native_name": "Italy" }, { "iso_3166_1": "JM", "english_name": "Jamaica", "native_name": "Jamaica" }, { "iso_3166_1": "JO", "english_name": "Jordan", "native_name": "Jordan" }, { "iso_3166_1": "JP", "english_name": "Japan", "native_name": "Japan" }, { "iso_3166_1": "KE", "english_name": "Kenya", "native_name": "Kenya" }, { "iso_3166_1": "KR", "english_name": "South Korea", "native_name": "South Korea" }, { "iso_3166_1": "KW", "english_name": "Kuwait", "native_name": "Kuwait" }, { "iso_3166_1": "LB", "english_name": "Lebanon", "native_name": "Lebanon" }, { "iso_3166_1": "LC", "english_name": "St. Lucia", "native_name": "St. Lucia" }, { "iso_3166_1": "LI", "english_name": "Liechtenstein", "native_name": "Liechtenstein" }, { "iso_3166_1": "LT", "english_name": "Lithuania", "native_name": "Lithuania" }, { "iso_3166_1": "LV", "english_name": "Latvia", "native_name": "Latvia" }, { "iso_3166_1": "LY", "english_name": "Libyan Arab Jamahiriya", "native_name": "Libya" }, { "iso_3166_1": "MA", "english_name": "Morocco", "native_name": "Morocco" }, { "iso_3166_1": "MC", "english_name": "Monaco", "native_name": "Monaco" }, { "iso_3166_1": "MD", "english_name": "Moldova", "native_name": "Moldova" }, { "iso_3166_1": "MK", "english_name": "Macedonia", "native_name": "Macedonia" }, { "iso_3166_1": "MT", "english_name": "Malta", "native_name": "Malta" }, { "iso_3166_1": "MU", "english_name": "Mauritius", "native_name": "Mauritius" }, { "iso_3166_1": "MX", "english_name": "Mexico", "native_name": "Mexico" }, { "iso_3166_1": "MY", "english_name": "Malaysia", "native_name": "Malaysia" }, { "iso_3166_1": "MZ", "english_name": "Mozambique", "native_name": "Mozambique" }, { "iso_3166_1": "NE", "english_name": "Niger", "native_name": "Niger" }, { "iso_3166_1": "NG", "english_name": "Nigeria", "native_name": "Nigeria" }, { "iso_3166_1": "NL", "english_name": "Netherlands", "native_name": "Netherlands" }, { "iso_3166_1": "NO", "english_name": "Norway", "native_name": "Norway" }, { "iso_3166_1": "NZ", "english_name": "New Zealand", "native_name": "New Zealand" }, { "iso_3166_1": "OM", "english_name": "Oman", "native_name": "Oman" }, { "iso_3166_1": "PA", "english_name": "Panama", "native_name": "Panama" }, { "iso_3166_1": "PE", "english_name": "Peru", "native_name": "Peru" }, { "iso_3166_1": "PF", "english_name": "French Polynesia", "native_name": "French Polynesia" }, { "iso_3166_1": "PH", "english_name": "Philippines", "native_name": "Philippines" }, { "iso_3166_1": "PK", "english_name": "Pakistan", "native_name": "Pakistan" }, { "iso_3166_1": "PL", "english_name": "Poland", "native_name": "Poland" }, { "iso_3166_1": "PS", "english_name": "Palestinian Territory", "native_name": "Palestinian Territories" }, { "iso_3166_1": "PT", "english_name": "Portugal", "native_name": "Portugal" }, { "iso_3166_1": "PY", "english_name": "Paraguay", "native_name": "Paraguay" }, { "iso_3166_1": "QA", "english_name": "Qatar", "native_name": "Qatar" }, { "iso_3166_1": "RO", "english_name": "Romania", "native_name": "Romania" }, { "iso_3166_1": "RS", "english_name": "Serbia", "native_name": "Serbia" }, { "iso_3166_1": "SA", "english_name": "Saudi Arabia", "native_name": "Saudi Arabia" }, { "iso_3166_1": "SC", "english_name": "Seychelles", "native_name": "Seychelles" }, { "iso_3166_1": "SE", "english_name": "Sweden", "native_name": "Sweden" }, { "iso_3166_1": "SG", "english_name": "Singapore", "native_name": "Singapore" }, { "iso_3166_1": "SI", "english_name": "Slovenia", "native_name": "Slovenia" }, { "iso_3166_1": "SK", "english_name": "Slovakia", "native_name": "Slovakia" }, { "iso_3166_1": "SM", "english_name": "San Marino", "native_name": "San Marino" }, { "iso_3166_1": "SN", "english_name": "Senegal", "native_name": "Senegal" }, { "iso_3166_1": "SV", "english_name": "El Salvador", "native_name": "El Salvador" }, { "iso_3166_1": "TC", "english_name": "Turks and Caicos Islands", "native_name": "Turks & Caicos Islands" }, { "iso_3166_1": "TH", "english_name": "Thailand", "native_name": "Thailand" }, { "iso_3166_1": "TN", "english_name": "Tunisia", "native_name": "Tunisia" }, { "iso_3166_1": "TR", "english_name": "Turkey", "native_name": "Turkey" }, { "iso_3166_1": "TT", "english_name": "Trinidad and Tobago", "native_name": "Trinidad & Tobago" }, { "iso_3166_1": "TW", "english_name": "Taiwan", "native_name": "Taiwan" }, { "iso_3166_1": "TZ", "english_name": "Tanzania", "native_name": "Tanzania" }, { "iso_3166_1": "UG", "english_name": "Uganda", "native_name": "Uganda" }, { "iso_3166_1": "UY", "english_name": "Uruguay", "native_name": "Uruguay" }, { "iso_3166_1": "VA", "english_name": "Holy See", "native_name": "Vatican City" }, { "iso_3166_1": "VE", "english_name": "Venezuela", "native_name": "Venezuela" }, { "iso_3166_1": "XK", "english_name": "Kosovo", "native_name": "Kosovo" }, { "iso_3166_1": "YE", "english_name": "Yemen", "native_name": "Yemen" }, { "iso_3166_1": "ZA", "english_name": "South Africa", "native_name": "South Africa" }, { "iso_3166_1": "ZM", "english_name": "Zambia", "native_name": "Zambia" }] }; } var GeoBase$1 = list(); function setGeo(a) { if (Lampa.Storage.get('nc_networksListGeo') === a.id) { nullGeo(); } else { Lampa.Storage.set('nc_networksListGeo', a.id); Lampa.Noty.show(Lampa.Lang.translate('nc_networksListGeoAdd')); } } function nullGeo() { Lampa.Storage.set('nc_networksListGeo', null); Lampa.Noty.show(Lampa.Lang.translate('nc_networksListGeoDeleted')); } function component$4(object) { var network = new Lampa.Reguest(); var scroll = new Lampa.Scroll({ mask: true, over: true, step: 250, end_ratio: 2 }); var items = []; var html = document.createElement('div'); var header = document.createElement('div'); var body = document.createElement('div'); var total_pages = 0; var last; var waitload; var active = 0; this.create = function () { Api.main(object, this.build.bind(this), this.empty.bind(this)); }; this.empty = function () { header.className = 'lme-catalog lme-header lme-error'; //Bookmarks var bookmarks = document.createElement('div'); bookmarks.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; bookmarks.innerHTML = "\n \n \n
".concat(Lampa.Lang.translate('nc_bookmark'), "
"); bookmarks.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('nc_bookmark'), component: 'lmeNetworksBookmarks', page: 1 }); }); bookmarks.on('hover:long', function () { Lampa.Storage.set("nc_networksListHome", 'lmeNetworksBookmarks'); Lampa.Noty.show('Главный раздел изменен'); }); //Favorites var favorites = document.createElement('div'); favorites.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; favorites.innerHTML = "\n \n \n
".concat(Lampa.Lang.translate('settings_input_links'), "
"); favorites.on('hover:enter', function () { var itemsFavs = []; Favorites$1.get().forEach(function (item) { var legacyFavorites = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); itemsFavs.push({ title: "".concat(legacyFavorites ? "OLD " : "").concat(item.type, " ").concat(item.card_data.name), id: item.id }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsFavs, onSelect: function onSelect(a) { Favorites$1.remove(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); header.appendChild(favorites); //Bookmarks header.appendChild(bookmarks); var button = document.createElement('div'); button.className = 'empty simple-button simple-button--invisible selector button--clear'; button.innerHTML = "\n \n \n \n
Reset search
\n "; button.on('hover:enter', function () { object.searchQuery = ""; object.geoSearchQuery = ""; Lampa.Activity.replace(object); }); var empty = new Lampa.Empty(); if (button) empty.append(button); html.addClass('lmeCatalog'); html.appendChild(header); html.appendChild(empty.render(true)); this.start = empty.start; this.activity.loader(false); this.activity.toggle(); }; this.next = function () { var _this = this; if (waitload) return; if (object.page < total_pages) { waitload = true; object.page++; this.nextPageReuest(object, function (result) { _this.append(result, true); waitload = false; _this.limit(); }, function () { waitload = false; }); } }; this.nextPageReuest = function (object, resolve, reject) { Api.main(object, resolve.bind(this), reject.bind(this)); }; this.append = function (data, append) { var _this2 = this; data.documents.forEach(function (element) { // Migrate to Lampa.Maker.make('Card') var card = Lampa.Maker.make('Card', _objectSpread2(_objectSpread2({}, element), {}, { params: { // No special params needed for default card } })); card.create(); // In v3, use card.render() to get DOM element var cardElement = card.render(true); var _cardElement$children = _slicedToArray(cardElement.children, 2), viewElement = _cardElement$children[0], titleElement = _cardElement$children[1]; // Перевірка наявності елементів if (viewElement && titleElement) { var iconsContainer = viewElement.querySelector('.card__icons'); if (iconsContainer) { titleElement.classList.add('networkTitle'); // Видаляємо title з попереднього місця cardElement.removeChild(titleElement); // Додаємо до icons iconsContainer.appendChild(titleElement); // Add flag image if country exists if (card.data.origin_country) { var flagImg = document.createElement('img'); flagImg.src = "https://flagsapi.com/".concat(card.data.origin_country, "/flat/64.png"); iconsContainer.appendChild(flagImg); } } } // Use .use() method for event handling in v3 card.use({ onFocus: function onFocus() { last = this.render(true); active = items.indexOf(card); scroll.update(this.render(true)); }, onTouch: function onTouch() { last = this.render(true); active = items.indexOf(card); }, onEnter: function onEnter() { var enabled = Lampa.Controller.enabled().name; var card_data = this.data; var menu = []; menu.push({ title: "".concat(Lampa.Lang.translate('nc_openAction'), " New"), action: 'open', sort_by: 'first_air_date.desc', type: 'New', card_data: card_data }); menu.push({ title: "".concat(Lampa.Lang.translate('nc_openAction'), " Top"), action: 'open', sort_by: '', type: 'Top', card_data: card_data }); menu.push({ title: Lampa.Lang.translate('nc_bookmarkAdd'), action: 'bookmarkAdd', card_data: card_data }); menu.push({ title: Lampa.Lang.translate('nc_favoriteAdd') + ' New', action: 'favorite', card_data: card_data, type: 'new' }); menu.push({ title: Lampa.Lang.translate('nc_favoriteAdd') + ' Top', action: 'favorite', card_data: card_data, type: 'top' }); menu.push({ title: '-----------------' }); menu.push({ title: 'Favorites', favorites: true }); menu.push({ title: 'Search', search: true }); menu.push({ title: 'Country', country: true }); menu.push({ title: 'Reset', reset: true }); Lampa.Select.show({ title: "".concat(card_data.name, " [").concat(card_data.$id, "]"), items: menu, onBack: function onBack() { Lampa.Controller.toggle(enabled); }, onSelect: function onSelect(a) { if (a.action === 'favorite') { Favorites$1.add(a); } if (a.action === 'bookmarkAdd') { var result = Api.bookmarkSave(a); if (result === true) { console.log('LMENetworks', 'Запись была успешно добавлена.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkAdded')); } else if (result === false) { console.error('Не удалось добавить запись.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDuplicate')); } } if (a.action === 'open') { Lampa.Activity.push({ url: 'discover/tv', title: "".concat(a.type, " ").concat(a.card_data.title), //a.title + " " + a.card_data.title, component: "category_full", networks: a.card_data.$id, sort_by: a.sort_by, source: 'tmdb', card_type: true, page: 1 }); } if (a.favorites) { var itemsFavs = []; Favorites$1.get().forEach(function (item) { var legacyFavorites = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); itemsFavs.push({ title: "".concat(legacyFavorites ? "OLD " : "").concat(item.type, " ").concat(item.card_data.name), id: item.id }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsFavs, onSelect: function onSelect(a) { Favorites$1.remove(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); } if (a.search) { Lampa.Input.edit({ free: true, nosave: true, nomic: true, value: '' }, function (val) { if (val) { //this.clearButtons(false, val) object.searchQuery = val; Lampa.Activity.replace(object); } else { Lampa.Controller.toggle('content'); } }); } if (a.country) { var itemsGeo = []; GeoBase$1.results.forEach(function (item) { itemsGeo.push({ title: item.english_name, id: item.iso_3166_1 }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsGeo, onSelect: function onSelect(a) { object.geoSearchQuery = a.id; Lampa.Activity.replace(object); }, onLong: function onLong(a) { setGeo(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); } if (a.reset) { object.searchQuery = ""; Lampa.Activity.replace(object); } } }); } }); body.appendChild(card.render(true)); items.push(card); if (_this2.cardRender) _this2.cardRender(object, element, card); if (append) Lampa.Controller.collectionAppend(card.render(true)); }); }; this.limit = function () { var limit_view = 12; var lilit_collection = 36; var colection = items.slice(Math.max(0, active - limit_view), active + limit_view); items.forEach(function (item) { if (colection.indexOf(item) === -1) { item.render(true).classList.remove('layer--render'); } else { item.render(true).classList.add('layer--render'); } }); Navigator.setCollection(items.slice(Math.max(0, active - lilit_collection), active + lilit_collection).map(function (c) { return c.render(true); })); Navigator.focused(last); Lampa.Layer.visible(scroll.render(true)); }; this.build = function (data) { var _this3 = this; header.className = 'lme-catalog lme-header'; //Bookmarks var bookmarks = document.createElement('div'); bookmarks.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; bookmarks.innerHTML = "\n \n \n
".concat(Lampa.Lang.translate('nc_bookmark'), "
"); bookmarks.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('nc_bookmark'), component: 'lmeNetworksBookmarks', page: 1 }); }); bookmarks.on('hover:long', function () { Lampa.Storage.set("nc_networksListHome", 'lmeNetworksBookmarks'); Lampa.Noty.show('Главный раздел изменен'); }); //Favorites var favorites = document.createElement('div'); favorites.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; favorites.innerHTML = "\n \n \n
".concat(Lampa.Lang.translate('settings_input_links'), "
"); favorites.on('hover:enter', function () { var itemsFavs = []; Favorites$1.get().forEach(function (item) { var legacyFavorites = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); itemsFavs.push({ title: "".concat(legacyFavorites ? "OLD " : "").concat(item.type, " ").concat(item.card_data.name), id: item.id }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsFavs, onSelect: function onSelect(a) { Favorites$1.remove(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); var baseInfo = document.createElement('div'); baseInfo.className = 'lme-baseInfo'; baseInfo.innerHTML = "".concat(Lampa.Lang.translate('nc_networkstat'), ": ").concat(data.total === 5000 ? '5000+' : data.total); var search = document.createElement('div'); search.className = 'lme-search simple-button simple-button--invisible simple-button--filter selector button--search'; search.innerHTML = "\n \n \n \n \n
Search
\n "; var clear = document.createElement('div'); clear.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; clear.innerHTML = "\n \n \n \n
Reset search
\n "; clear.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('nc_networksList'), component: 'lmeNetworks', page: 1 }); }); var geo = document.createElement('div'); geo.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; geo.innerHTML = "\n \n \n \n
".concat(Lampa.Lang.translate("nc_country"), "
\n "); geo.on('hover:enter', function () { var itemsGeo = []; GeoBase$1.results.forEach(function (item) { itemsGeo.push({ title: item.english_name, id: item.iso_3166_1 }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsGeo, onSelect: function onSelect(a) { object.geoSearchQuery = a.id; Lampa.Activity.replace(object); }, onLong: function onLong(a) { setGeo(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); geo.on('hover:long', function () { nullGeo(); }); header.appendChild(search); header.appendChild(clear); header.appendChild(geo); header.appendChild(favorites); //Bookmarks header.appendChild(bookmarks); header.appendChild(baseInfo); if (data.documents.length) { total_pages = data.total_pages; body.classList.add('lme-catalog', 'category-full', 'cols--6'); scroll.minus(); scroll.onEnd = this.next.bind(this); scroll.onScroll = this.limit.bind(this); scroll.onWheel = function (step) { if (!Lampa.Controller.own(_this3)) _this3.start(); if (step > 0) Navigator.move('down');else Navigator.move('up'); }; this.append(data); scroll.append(body); html.addClass('lmeCatalog'); html.appendChild(header); html.appendChild(scroll.render(true)); this.buildSearch(); this.limit(); this.activity.loader(false); this.activity.toggle(); } else { this.empty(); } }; this.buildSearch = function () { var btn = html.find('.button--search'); btn.on('hover:enter', function () { Lampa.Input.edit({ free: true, nosave: true, nomic: true, value: '' }, function (val) { if (val) { //this.clearButtons(false, val) object.searchQuery = val; object.geoSearchQuery = ""; Lampa.Activity.replace(object); } else { Lampa.Controller.toggle('content'); } }); }); }; this.start = function () { var _this4 = this; Lampa.Controller.add('content', { link: this, toggle: function toggle() { Lampa.Controller.collectionSet(header, scroll.render(true)); Lampa.Controller.collectionFocus(last || false, header, scroll.render(true)); }, left: function left() { if (Navigator.canmove('left')) Navigator.move('left');else Lampa.Controller.toggle('menu'); }, right: function right() { if (_this4.onRight) { if (Navigator.canmove('right')) Navigator.move('right');else _this4.onRight(); } else Navigator.move('right'); }, up: function up() { if (Navigator.canmove('up')) Navigator.move('up');else Lampa.Controller.toggle('head'); }, down: function down() { if (Navigator.canmove('down')) Navigator.move('down'); }, back: function back() { Lampa.Activity.backward(); } }); Lampa.Controller.toggle('content'); }; this.refresh = function () { this.activity.needRefresh(); }; this.pause = function () {}; this.stop = function () {}; this.render = function (js) { return js ? html : $(html); }; this.clearButtons = function (category, search) { var btn_search = html.find('.button--search'); btn_search.find('div').addClass('hide').text(''); btn_search.find('div').removeClass('hide').text(search); }; this.destroy = function () { network.clear(); Lampa.Arrays.destroy(items); scroll.destroy(); html.remove(); body.remove(); items = []; }; } function component$3(object) { var network = new Lampa.Reguest(); var scroll = new Lampa.Scroll({ mask: true, over: true, step: 250, end_ratio: 2 }); var items = []; var html = document.createElement('div'); var header = document.createElement('div'); var body = document.createElement('div'); var total_pages = 0; var last; var waitload; var active = 0; this.create = function () { //Api.bookmark(this.build.bind(this), this.empty.bind(this)) if (Lampa.Storage.get('nc_bookmarks')) this.build(Lampa.Storage.get('nc_bookmarks'));else this.empty(new Error("No results found")); }; this.empty = function () { var panel = document.createElement('div'); panel.className = 'panelNC blockNC'; var ncMain = document.createElement('div'); ncMain.className = 'nc-main simple-button simple-button--invisible simple-button--filter selector'; ncMain.innerHTML = "\n \n \n \n \n
All service
"; ncMain.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('nc_networksList'), component: 'lmeNetworks', page: 1 }); }); ncMain.on('hover:long', function () { Lampa.Storage.set("nc_networksListHome", 'lmeNetworks'); Lampa.Noty.show('Главный раздел изменен'); }); var button = document.createElement('div'); button.className = 'nc-empty simple-button simple-button--invisible selector button--clear'; button.innerHTML = "\n \n \n \n
Reset search
\n "; button.on('hover:enter', function () { object.searchQuery = ""; object.geoSearchQuery = ""; Lampa.Activity.replace(object); }); var empty = new Lampa.Empty(); if (button) panel.append(button); if (button) panel.append(ncMain); empty.append(panel); html.appendChild(empty.render(true)); this.start = empty.start; this.activity.loader(false); this.activity.toggle(); }; this.next = function () { var _this = this; if (waitload) return; if (object.page < total_pages) { waitload = true; object.page++; this.nextPageReuest(object, function (result) { _this.append(result, true); waitload = false; _this.limit(); }, function () { waitload = false; }); } }; this.nextPageReuest = function (object, resolve, reject) { Api.full(object, resolve.bind(this), reject.bind(this)); }; this.append = function (data, append) { var _this2 = this; data.forEach(function (element) { // Migrate to Lampa.Maker.make('Card') var card = Lampa.Maker.make('Card', _objectSpread2(_objectSpread2({}, element), {}, { params: { // No special params needed for default card } })); card.create(); // Use .use() method for event handling in v3 card.use({ onFocus: function onFocus() { last = this.render(true); active = items.indexOf(card); scroll.update(this.render(true)); }, onTouch: function onTouch() { last = this.render(true); active = items.indexOf(card); }, onEnter: function onEnter() { var enabled = Lampa.Controller.enabled().name; var card_data = this.data; var menu = []; menu.push({ title: "".concat(Lampa.Lang.translate('nc_openAction'), " New"), action: 'open', sort_by: 'first_air_date.desc', type: 'New', card_data: card_data }); menu.push({ title: "".concat(Lampa.Lang.translate('nc_openAction'), " Top"), action: 'open', sort_by: '', type: 'Top', card_data: card_data }); menu.push({ title: Lampa.Lang.translate('nc_favoriteAdd') + ' New', action: 'favorite', card_data: card_data, type: 'new' }); menu.push({ title: Lampa.Lang.translate('nc_favoriteAdd') + ' Top', action: 'favorite', card_data: card_data, type: 'top' }); menu.push({ title: Lampa.Lang.translate('nc_bookmarkDelete'), action: 'bookmarkRemove', card_data: card_data }); menu.push({ title: '-----------------' }); menu.push({ title: 'Favorites', favorites: true }); Lampa.Select.show({ title: Lampa.Lang.translate('title_action') + ' ' + card_data.name, items: menu, onBack: function onBack() { Lampa.Controller.toggle(enabled); }, onSelect: function onSelect(a) { if (a.action === 'favorite') { Favorites$1.add(a); } if (a.action === 'bookmarkRemove') { //Api.bookmarkRemove(a) var result = Api.bookmarkRemove(a); if (result === true) { console.log('LMENetworks', 'Запись была успешно удалена.'); Lampa.Activity.replace({ url: '', title: Lampa.Lang.translate('nc_bookmark'), component: 'lmeNetworksBookmarks', page: 1 }); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDeleted')); } else if (result === false) { console.error('Не удалось удалить запись.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDeleteError')); } } if (a.action === 'open') { Lampa.Activity.push({ url: 'discover/tv', title: "".concat(a.type, " ").concat(a.card_data.title), //a.title + " " + a.card_data.title, component: "category_full", networks: a.card_data.$id, sort_by: a.sort_by, source: 'tmdb', card_type: true, page: 1 }); } if (a.favorites) { var itemsFavs = []; Favorites$1.get().forEach(function (item) { var legacyFavorites = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); itemsFavs.push({ title: "".concat(legacyFavorites ? "OLD " : "").concat(item.type, " ").concat(item.card_data.name), id: item.id }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsFavs, onSelect: function onSelect(a) { Favorites$1.remove(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); } if (a.search) { Lampa.Input.edit({ free: true, nosave: true, nomic: true, value: '' }, function (val) { if (val) { //this.clearButtons(false, val) object.searchQuery = val; Lampa.Activity.replace(object); } else { Lampa.Controller.toggle('content'); } }); } if (a.country) { var itemsGeo = []; GeoBase$1.results.forEach(function (item) { itemsGeo.push({ title: item.english_name, id: item.iso_3166_1 }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsGeo, onSelect: function onSelect(a) { object.geoSearchQuery = a.id; Lampa.Activity.replace(object); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); } if (a.reset) { object.searchQuery = ""; Lampa.Activity.replace(object); } } }); } }); body.appendChild(card.render(true)); items.push(card); if (_this2.cardRender) _this2.cardRender(object, element, card); if (append) Lampa.Controller.collectionAppend(card.render(true)); }); }; this.limit = function () { var limit_view = 12; var lilit_collection = 36; var colection = items.slice(Math.max(0, active - limit_view), active + limit_view); items.forEach(function (item) { if (colection.indexOf(item) === -1) { item.render(true).classList.remove('layer--render'); } else { item.render(true).classList.add('layer--render'); } }); Navigator.setCollection(items.slice(Math.max(0, active - lilit_collection), active + lilit_collection).map(function (c) { return c.render(true); })); Navigator.focused(last); Lampa.Layer.visible(scroll.render(true)); }; this.build = function (data) { var _this3 = this; header.className = 'lme-catalog lme-header'; //Main var ncMain = document.createElement('div'); ncMain.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; ncMain.innerHTML = "\n \n \n \n \n
".concat(Lampa.Lang.translate('nc_networksList'), "
"); ncMain.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('nc_networksList'), component: 'lmeNetworks', page: 1 }); }); ncMain.on('hover:long', function () { Lampa.Storage.set("nc_networksListHome", 'lmeNetworks'); Lampa.Noty.show('Главный раздел изменен'); }); var favorites = document.createElement('div'); favorites.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; favorites.innerHTML = "\n \n \n \n \n
".concat(Lampa.Lang.translate('settings_input_links'), "
"); favorites.on('hover:enter', function () { var itemsFavs = []; Favorites$1.get().forEach(function (item) { var legacyFavorites = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); itemsFavs.push({ title: "".concat(legacyFavorites ? "OLD " : "").concat(item.type, " ").concat(item.card_data.name), id: item.id }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsFavs, onSelect: function onSelect(a) { Favorites$1.remove(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); var baseInfo = document.createElement('div'); baseInfo.className = 'lme-baseInfo'; baseInfo.innerHTML = "".concat(Lampa.Lang.translate('nc_bookmarksstat'), ": ").concat(data.length); var search = document.createElement('div'); search.className = 'lme-search simple-button simple-button--invisible simple-button--filter selector button--search'; search.innerHTML = "\n \n \n \n \n
Search
\n "; var clear = document.createElement('div'); clear.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; clear.innerHTML = "\n \n \n \n
Reset search
\n "; clear.on('hover:enter', function () { object.searchQuery = ""; object.geoSearchQuery = ""; Lampa.Activity.replace(object); }); var geo = document.createElement('div'); geo.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; geo.innerHTML = "\n \n \n \n
".concat(Lampa.Lang.translate("nc_country"), "
\n "); geo.on('hover:enter', function () { var itemsGeo = []; GeoBase$1.results.forEach(function (item) { itemsGeo.push({ title: item.english_name, id: item.iso_3166_1 }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsGeo, onSelect: function onSelect(a) { object.geoSearchQuery = a.id; Lampa.Activity.replace(object); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); //header.appendChild(search) //header.appendChild(clear) //header.appendChild(geo) header.appendChild(favorites); header.appendChild(ncMain); header.appendChild(baseInfo); if (data.length) { total_pages = data.total_pages; body.classList.add('lme-catalog', 'category-full'); scroll.minus(); scroll.onEnd = this.next.bind(this); scroll.onScroll = this.limit.bind(this); scroll.onWheel = function (step) { if (!Lampa.Controller.own(_this3)) _this3.start(); if (step > 0) Navigator.move('down');else Navigator.move('up'); }; this.append(data); scroll.append(body); html.addClass('lmeCatalog'); html.appendChild(header); html.appendChild(scroll.render(true)); //this.buildSearch() this.limit(); this.activity.loader(false); this.activity.toggle(); } else { this.empty(); } }; this.buildSearch = function () { var btn = html.find('.button--search'); btn.on('hover:enter', function () { Lampa.Input.edit({ free: true, nosave: true, nomic: true, value: '' }, function (val) { if (val) { //this.clearButtons(false, val) object.searchQuery = val; object.geoSearchQuery = ""; Lampa.Activity.replace(object); } else { Lampa.Controller.toggle('content'); } }); }); }; this.start = function () { var _this4 = this; Lampa.Controller.add('content', { link: this, toggle: function toggle() { Lampa.Controller.collectionSet(header, scroll.render(true)); Lampa.Controller.collectionFocus(last || false, header, scroll.render(true)); }, left: function left() { if (Navigator.canmove('left')) Navigator.move('left');else Lampa.Controller.toggle('menu'); }, right: function right() { if (_this4.onRight) { if (Navigator.canmove('right')) Navigator.move('right');else _this4.onRight(); } else Navigator.move('right'); }, up: function up() { if (Navigator.canmove('up')) Navigator.move('up');else Lampa.Controller.toggle('head'); }, down: function down() { if (Navigator.canmove('down')) Navigator.move('down'); }, back: function back() { Lampa.Activity.backward(); } }); Lampa.Controller.toggle('content'); }; this.refresh = function () { this.activity.needRefresh(); }; this.pause = function () {}; this.stop = function () {}; this.render = function (js) { return js ? html : $(html); }; this.clearButtons = function (category, search) { var btn_search = html.find('.button--search'); btn_search.find('div').addClass('hide').text(''); btn_search.find('div').removeClass('hide').text(search); }; this.destroy = function () { network.clear(); Lampa.Arrays.destroy(items); scroll.destroy(); html.remove(); body.remove(); items = []; }; } function component$2(object) { var network = new Lampa.Reguest(); var scroll = new Lampa.Scroll({ mask: true, over: true, step: 250, end_ratio: 2 }); var items = []; var html = document.createElement('div'); var header = document.createElement('div'); var body = document.createElement('div'); var total_pages = 0; var last; var waitload; var active = 0; this.create = function () { Api.mainCollection(object, this.build.bind(this), this.empty.bind(this)); }; this.empty = function () { var button = document.createElement('div'); button.className = 'empty simple-button simple-button--invisible selector button--clear'; button.innerHTML = "\n \n \n \n
Reset search
\n "; button.on('hover:enter', function () { object.searchQuery = ""; object.geoSearchQuery = ""; Lampa.Activity.replace(object); }); var empty = new Lampa.Empty(); if (button) empty.append(button); html.appendChild(empty.render(true)); this.start = empty.start; this.activity.loader(false); this.activity.toggle(); }; this.next = function () { var _this = this; if (waitload) return; if (object.page < total_pages) { waitload = true; object.page++; this.nextPageReuest(object, function (result) { _this.append(result, true); waitload = false; _this.limit(); }, function () { waitload = false; }); } }; this.nextPageReuest = function (object, resolve, reject) { Api.fullCollection(object, resolve.bind(this), reject.bind(this)); }; this.append = function (data, append) { var _this2 = this; data.documents.forEach(function (element) { // Migrate to Lampa.Maker.make('Card') var card = Lampa.Maker.make('Card', _objectSpread2(_objectSpread2({}, element), {}, { params: { // No special params needed for default card } })); card.create(); // Use .use() method for event handling in v3 card.use({ onFocus: function onFocus() { last = this.render(true); active = items.indexOf(card); scroll.update(this.render(true)); }, onTouch: function onTouch() { last = this.render(true); active = items.indexOf(card); }, onMenu: function onMenu() { var result = Api.collectionBookmarkSave('collectionBookmarkAdd', this.data); if (result === true) { console.log('LMENetworks', 'Запись была успешно добавлена.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkAdded')); } else if (result === false) { console.error('Не удалось добавить запись.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDuplicate')); } }, onEnter: function onEnter() { Lampa.Activity.push({ url: '', title: this.data.name, collectionID: this.data.$id, component: 'lmeCollection', page: 1 }); } }); body.appendChild(card.render(true)); items.push(card); if (_this2.cardRender) _this2.cardRender(object, element, card); if (append) Lampa.Controller.collectionAppend(card.render(true)); }); }; this.limit = function () { var limit_view = 12; var lilit_collection = 36; var colection = items.slice(Math.max(0, active - limit_view), active + limit_view); items.forEach(function (item) { if (colection.indexOf(item) === -1) { item.render(true).classList.remove('layer--render'); } else { item.render(true).classList.add('layer--render'); } }); Navigator.setCollection(items.slice(Math.max(0, active - lilit_collection), active + lilit_collection).map(function (c) { return c.render(true); })); Navigator.focused(last); Lampa.Layer.visible(scroll.render(true)); }; this.build = function (data) { var _this3 = this; header.className = 'lme-catalog lme-header'; //Bookmarks var bookmarks = document.createElement('div'); bookmarks.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; bookmarks.innerHTML = "\n \n \n
".concat(Lampa.Lang.translate('nc_bookmark'), "
"); bookmarks.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('nc_bookmark'), component: 'lmeCollectionBookmark', page: 1 }); }); bookmarks.on('hover:long', function () { Lampa.Storage.set("nc_collectionHome", 'lmeCollectionBookmark'); Lampa.Noty.show('Главный раздел изменен'); }); //Favorites var favorites = document.createElement('div'); favorites.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; favorites.innerHTML = "\n \n \n
".concat(Lampa.Lang.translate('settings_input_links'), "
"); favorites.on('hover:enter', function () { var itemsFavs = []; Favorites$1.get().forEach(function (item) { var legacyFavorites = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); itemsFavs.push({ title: "".concat(legacyFavorites ? "OLD " : "").concat(item.type, " ").concat(item.card_data.name), id: item.id }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsFavs, onSelect: function onSelect(a) { Favorites$1.remove(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); var baseInfo = document.createElement('div'); baseInfo.className = 'lme-baseInfo'; baseInfo.innerHTML = "".concat(Lampa.Lang.translate('nc_networkstat'), ": ").concat(data.total === 5000 ? '5000+' : data.total); var search = document.createElement('div'); search.className = 'lme-search simple-button simple-button--invisible simple-button--filter selector button--search'; search.innerHTML = "\n \n \n \n \n
Search
\n "; var clear = document.createElement('div'); clear.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; clear.innerHTML = "\n \n \n \n
Reset search
\n "; clear.on('hover:enter', function () { object.searchQuery = ""; object.geoSearchQuery = ""; Lampa.Activity.replace(object); }); var geo = document.createElement('div'); geo.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; geo.innerHTML = "\n \n \n \n
".concat(Lampa.Lang.translate("nc_country"), "
\n "); geo.on('hover:enter', function () { var itemsGeo = []; GeoBase$1.results.forEach(function (item) { itemsGeo.push({ title: item.english_name, id: item.iso_3166_1 }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsGeo, onSelect: function onSelect(a) { object.geoSearchQuery = a.id; Lampa.Activity.replace(object); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); header.appendChild(search); header.appendChild(clear); //Bookmarks header.appendChild(bookmarks); header.appendChild(baseInfo); if (data.documents.length) { total_pages = data.total_pages; body.classList.add('lme-catalog', 'category-full'); scroll.minus(); scroll.onEnd = this.next.bind(this); scroll.onScroll = this.limit.bind(this); scroll.onWheel = function (step) { if (!Lampa.Controller.own(_this3)) _this3.start(); if (step > 0) Navigator.move('down');else Navigator.move('up'); }; this.append(data); scroll.append(body); html.addClass('lmeCatalog'); html.appendChild(header); html.appendChild(scroll.render(true)); this.buildSearch(); this.limit(); this.activity.loader(false); this.activity.toggle(); } else { this.empty(); } }; this.buildSearch = function () { var btn = html.find('.button--search'); btn.on('hover:enter', function () { Lampa.Input.edit({ free: true, nosave: true, nomic: true, value: '' }, function (val) { if (val) { //this.clearButtons(false, val) object.searchQuery = val; object.geoSearchQuery = ""; Lampa.Activity.replace(object); } else { Lampa.Controller.toggle('content'); } }); }); }; this.start = function () { var _this4 = this; Lampa.Controller.add('content', { link: this, toggle: function toggle() { Lampa.Controller.collectionSet(header, scroll.render(true)); Lampa.Controller.collectionFocus(last || false, header, scroll.render(true)); }, left: function left() { if (Navigator.canmove('left')) Navigator.move('left');else Lampa.Controller.toggle('menu'); }, right: function right() { if (_this4.onRight) { if (Navigator.canmove('right')) Navigator.move('right');else _this4.onRight(); } else Navigator.move('right'); }, up: function up() { if (Navigator.canmove('up')) Navigator.move('up');else Lampa.Controller.toggle('head'); }, down: function down() { if (Navigator.canmove('down')) Navigator.move('down'); }, back: function back() { Lampa.Activity.backward(); } }); Lampa.Controller.toggle('content'); }; this.refresh = function () { this.activity.needRefresh(); }; this.pause = function () {}; this.stop = function () {}; this.render = function (js) { return js ? html : $(html); }; this.clearButtons = function (category, search) { var btn_search = html.find('.button--search'); btn_search.find('div').addClass('hide').text(''); btn_search.find('div').removeClass('hide').text(search); }; this.destroy = function () { network.clear(); Lampa.Arrays.destroy(items); scroll.destroy(); html.remove(); body.remove(); items = []; }; } function component$1(object) { console.log('LMENetworks', 'Collection:', object); var comp = new Lampa.InteractionCategory(object); comp.create = function () { Api.mainCollectionGet(object, this.build.bind(this), this.empty.bind(this)); }; return comp; } function component(object) { var network = new Lampa.Reguest(); var scroll = new Lampa.Scroll({ mask: true, over: true, step: 250, end_ratio: 2 }); var items = []; var html = document.createElement('div'); var header = document.createElement('div'); var body = document.createElement('div'); var total_pages = 0; var last; var waitload; var active = 0; this.create = function () { //Api.bookmark(this.build.bind(this), this.empty.bind(this)) if (Lampa.Storage.get('nc_collectionBookmarks')) this.build(Lampa.Storage.get('nc_collectionBookmarks'));else this.empty(new Error("No results found")); }; this.empty = function () { var panel = document.createElement('div'); panel.className = 'panelNC blockNC'; var ncMain = document.createElement('div'); ncMain.className = 'nc-main simple-button simple-button--invisible simple-button--filter selector'; ncMain.innerHTML = "\n \n \n \n \n
All Collections
"; ncMain.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: 'Collections', component: 'lmeCollections', page: 1 }); }); ncMain.on('hover:long', function () { Lampa.Storage.set("nc_collectionHome", 'lmeCollections'); Lampa.Noty.show('Главный раздел изменен'); }); var button = document.createElement('div'); button.className = 'nc-empty simple-button simple-button--invisible selector button--clear'; button.innerHTML = "\n \n \n \n
Reset search
\n "; button.on('hover:enter', function () { object.searchQuery = ""; object.geoSearchQuery = ""; Lampa.Activity.replace(object); }); var empty = new Lampa.Empty(); if (button) panel.append(button); if (button) panel.append(ncMain); empty.append(panel); html.appendChild(empty.render(true)); this.start = empty.start; this.activity.loader(false); this.activity.toggle(); }; this.next = function () { var _this = this; if (waitload) return; if (object.page < total_pages) { waitload = true; object.page++; this.nextPageReuest(object, function (result) { _this.append(result, true); waitload = false; _this.limit(); }, function () { waitload = false; }); } }; this.nextPageReuest = function (object, resolve, reject) { Api.full(object, resolve.bind(this), reject.bind(this)); }; this.append = function (data, append) { var _this2 = this; data.forEach(function (element) { // Migrate to Lampa.Maker.make('Card') var card = Lampa.Maker.make('Card', _objectSpread2(_objectSpread2({}, element), {}, { params: { // No special params needed for default card } })); card.create(); // Use .use() method for event handling in v3 card.use({ onFocus: function onFocus() { last = this.render(true); active = items.indexOf(card); scroll.update(this.render(true)); }, onTouch: function onTouch() { last = this.render(true); active = items.indexOf(card); }, onMenu: function onMenu() { var result = Api.collectionBookmarkRemove('collectionBookmarkRemove', this.data); if (result === true) { console.log('LMENetworks', 'Запись была успешно удалена.'); Lampa.Activity.replace({ url: '', title: Lampa.Lang.translate('nc_bookmark'), component: 'lmeCollectionBookmark', page: 1 }); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDeleted')); } else if (result === false) { console.error('Не удалось удалить запись.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDeleteError')); } }, onEnter: function onEnter() { Lampa.Activity.push({ url: '', title: this.data.name, collectionID: this.data.$id, component: 'lmeCollection', page: 1 }); } }); body.appendChild(card.render(true)); items.push(card); if (_this2.cardRender) _this2.cardRender(object, element, card); if (append) Lampa.Controller.collectionAppend(card.render(true)); }); }; this.limit = function () { var limit_view = 12; var lilit_collection = 36; var colection = items.slice(Math.max(0, active - limit_view), active + limit_view); items.forEach(function (item) { if (colection.indexOf(item) === -1) { item.render(true).classList.remove('layer--render'); } else { item.render(true).classList.add('layer--render'); } }); Navigator.setCollection(items.slice(Math.max(0, active - lilit_collection), active + lilit_collection).map(function (c) { return c.render(true); })); Navigator.focused(last); Lampa.Layer.visible(scroll.render(true)); }; this.build = function (data) { var _this3 = this; header.className = 'lme-catalog lme-header'; //Main var ncMain = document.createElement('div'); ncMain.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; ncMain.innerHTML = "\n \n \n \n \n
".concat(Lampa.Lang.translate('lmeCollections'), "
"); ncMain.on('hover:enter', function () { Lampa.Activity.push({ url: '', title: Lampa.Lang.translate('lmeCollections'), component: 'lmeCollections', page: 1 }); }); ncMain.on('hover:long', function () { Lampa.Storage.set("nc_networksListHome", 'lmeCollections'); Lampa.Noty.show('Главный раздел изменен'); }); var favorites = document.createElement('div'); favorites.className = 'lme-favorites simple-button simple-button--invisible simple-button--filter selector'; favorites.innerHTML = "\n \n \n \n \n
".concat(Lampa.Lang.translate('settings_input_links'), "
"); favorites.on('hover:enter', function () { var itemsFavs = []; Favorites.get().forEach(function (item) { var legacyFavorites = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]+$/.test(item.card_data.$id); itemsFavs.push({ title: "".concat(legacyFavorites ? "OLD " : "").concat(item.type, " ").concat(item.card_data.name), id: item.id }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsFavs, onSelect: function onSelect(a) { Favorites.remove(a); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); var baseInfo = document.createElement('div'); baseInfo.className = 'lme-baseInfo'; baseInfo.innerHTML = "".concat(Lampa.Lang.translate('nc_bookmarksstat'), ": ").concat(data.length); var search = document.createElement('div'); search.className = 'lme-search simple-button simple-button--invisible simple-button--filter selector button--search'; search.innerHTML = "\n \n \n \n \n
Search
\n "; var clear = document.createElement('div'); clear.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; clear.innerHTML = "\n \n \n \n
Reset search
\n "; clear.on('hover:enter', function () { object.searchQuery = ""; object.geoSearchQuery = ""; Lampa.Activity.replace(object); }); var geo = document.createElement('div'); geo.className = 'lme-clear simple-button simple-button--invisible selector button--clear'; geo.innerHTML = "\n \n \n \n
".concat(Lampa.Lang.translate("nc_country"), "
\n "); geo.on('hover:enter', function () { var itemsGeo = []; GeoBase.results.forEach(function (item) { itemsGeo.push({ title: item.english_name, id: item.iso_3166_1 }); }); Lampa.Select.show({ title: Lampa.Lang.translate('nc_networksList'), items: itemsGeo, onSelect: function onSelect(a) { object.geoSearchQuery = a.id; Lampa.Activity.replace(object); }, onBack: function onBack() { Lampa.Controller.toggle('content'); } }); }); //header.appendChild(search) //header.appendChild(clear) //header.appendChild(geo) //header.appendChild(favorites) header.appendChild(ncMain); header.appendChild(baseInfo); if (data.length) { total_pages = data.total_pages; body.classList.add('lme-catalog', 'category-full'); scroll.minus(); scroll.onEnd = this.next.bind(this); scroll.onScroll = this.limit.bind(this); scroll.onWheel = function (step) { if (!Lampa.Controller.own(_this3)) _this3.start(); if (step > 0) Navigator.move('down');else Navigator.move('up'); }; this.append(data); scroll.append(body); html.addClass('lmeCatalog'); html.appendChild(header); html.appendChild(scroll.render(true)); //this.buildSearch() this.limit(); this.activity.loader(false); this.activity.toggle(); } else { this.empty(); } }; this.buildSearch = function () { var btn = html.find('.button--search'); btn.on('hover:enter', function () { Lampa.Input.edit({ free: true, nosave: true, nomic: true, value: '' }, function (val) { if (val) { //this.clearButtons(false, val) object.searchQuery = val; object.geoSearchQuery = ""; Lampa.Activity.replace(object); } else { Lampa.Controller.toggle('content'); } }); }); }; this.start = function () { var _this4 = this; Lampa.Controller.add('content', { link: this, toggle: function toggle() { Lampa.Controller.collectionSet(header, scroll.render(true)); Lampa.Controller.collectionFocus(last || false, header, scroll.render(true)); }, left: function left() { if (Navigator.canmove('left')) Navigator.move('left');else Lampa.Controller.toggle('menu'); }, right: function right() { if (_this4.onRight) { if (Navigator.canmove('right')) Navigator.move('right');else _this4.onRight(); } else Navigator.move('right'); }, up: function up() { if (Navigator.canmove('up')) Navigator.move('up');else Lampa.Controller.toggle('head'); }, down: function down() { if (Navigator.canmove('down')) Navigator.move('down'); }, back: function back() { Lampa.Activity.backward(); } }); Lampa.Controller.toggle('content'); }; this.refresh = function () { this.activity.needRefresh(); }; this.pause = function () {}; this.stop = function () {}; this.render = function (js) { return js ? html : $(html); }; this.clearButtons = function (category, search) { var btn_search = html.find('.button--search'); btn_search.find('div').addClass('hide').text(''); btn_search.find('div').removeClass('hide').text(search); }; this.destroy = function () { network.clear(); Lampa.Arrays.destroy(items); scroll.destroy(); html.remove(); body.remove(); items = []; }; } function createCollectionButton(e) { var nc_collection = "
\n \n \n \n ".concat(Lampa.Lang.translate('title_collection'), "\n
"); e.object.activity.render().find('.full-start-new__buttons').append(nc_collection); return { $id: e.data.movie.belongs_to_collection.id, poster_path: e.data.movie.belongs_to_collection.poster_path, backdrop_path: e.data.movie.belongs_to_collection.backdrop_path, name: e.data.movie.belongs_to_collection.name }; } function handleLongHover(card_data) { var result = Api.collectionBookmarkSave('collectionBookmarkAdd', card_data); if (result === true) { console.log('LMENetworks', 'Запись была успешно добавлена.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkAdded')); } else if (result === false) { console.error('Не удалось добавить запись.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDuplicate')); } } function handleEnterHover(card_data) { Lampa.Activity.push({ url: '', title: card_data.name, collectionID: card_data.$id, component: 'lmeCollection', page: 1 }); } function setupCollectionButtonHandlers(card_data) { $(".button--nc_collection").on("hover:long hover:enter", function (event) { if (event.type === "hover:long") { handleLongHover(card_data); } else if (event.type === "hover:enter") { handleEnterHover(card_data); } }); } function createNetworkTag(name, items, call) { var logo = $('').attr({ src: Lampa.TMDB.image("t/p/w92" + items[0].logo_path), alt: items[0].name })[0].outerHTML; var elem = $("
\n
".concat(name, "
\n
").concat(items.length > 1 ? items.length : logo, "
\n
")); var controller = Lampa.Controller.enabled().name; elem.on('hover:enter', function () { if (items.length > 1) { var select = items.map(function (a) { var img = new Image(); img.crossOrigin = 'Anonymous'; img.src = Lampa.TMDB.image("t/p/w154" + a.logo_path); img.onload = function () { var canvas = document.createElement('canvas'); var context = canvas.getContext('2d'); canvas.width = img.width; canvas.height = img.height; context.drawImage(img, 0, 0, img.width, img.height); var imageData = context.getImageData(0, 0, img.width, img.height); var data = imageData.data; var isDark = true; for (var i = 0; i < data.length; i += 4) { var brightness = (data[i] * 0.299 + data[i + 1] * 0.587 + data[i + 2] * 0.114) / 255 * 100; if (brightness > 50) { isDark = false; break; } } if (isDark) { document.getElementById("logo-".concat(a.id)).style.filter = 'invert(1)'; } }; return { title: "
\n \"").concat(a.name,\n
"), elem: a }; }); Lampa.Select.show({ title: name, items: select, onSelect: function onSelect(a) { Lampa.Controller.toggle(controller); call(a.elem); }, onBack: function onBack() { Lampa.Controller.toggle(controller); } }); } else { call(items[0]); } }); return elem; } function handleNetworkClick(network) { var card_data = { $id: network.id, logo_path: network.logo_path, poster_path: network.logo_path, name: "".concat(network.name, " ").concat(network.origin_country), title: "".concat(network.name, " ").concat(network.origin_country), origin_country: network.origin_country }; var enabled = Lampa.Controller.enabled().name; var menu = [{ title: "".concat(Lampa.Lang.translate('nc_openAction'), " New"), action: 'open', sort_by: 'first_air_date.desc', type: 'New', card_data: card_data }, { title: "".concat(Lampa.Lang.translate('nc_openAction'), " Top"), action: 'open', sort_by: '', type: 'Top', card_data: card_data }, { title: Lampa.Lang.translate('nc_bookmarkAdd'), action: 'bookmarkAdd', card_data: card_data }, { title: Lampa.Lang.translate('nc_favoriteAdd') + ' New', action: 'favorite', card_data: card_data, type: 'new' }, { title: Lampa.Lang.translate('nc_favoriteAdd') + ' Top', action: 'favorite', card_data: card_data, type: 'top' }]; Lampa.Select.show({ title: card_data.name, items: menu, onBack: function onBack() { Lampa.Controller.toggle(enabled); }, onSelect: function onSelect(a) { if (a.action === 'favorite') { Favorites$1.add(a); } if (a.action === 'bookmarkAdd') { var result = Api.bookmarkSave(a); if (result === true) { console.log('LMENetworks', 'Запись была успешно добавлена.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkAdded')); } else if (result === false) { console.error('Не удалось добавить запись.'); Lampa.Noty.show(Lampa.Lang.translate('nc_bookmarkDuplicate')); } } if (a.action === 'open') { Lampa.Activity.push({ url: 'discover/tv', title: "".concat(a.type, " ").concat(a.card_data.name), component: "category_full", networks: a.card_data.$id, sort_by: a.sort_by, source: 'tmdb', card_type: true, page: 1 }); } } }); } function main$1() { Lampa.Listener.follow('full', function (e) { if (e.type === 'complite' && e.object.method === 'movie' && Lampa.Storage.field('nc_networksList') === true) { if (e.data.movie.belongs_to_collection) { var card_data = createCollectionButton(e); setupCollectionButtonHandlers(card_data); } } if (e.type === 'complite' && e.object.method === 'tv' && Lampa.Storage.field('nc_networksList') === true) { if (e.data.movie.networks && e.data.movie.networks.length > 0) { var networkTag = createNetworkTag('Networks', e.data.movie.networks, handleNetworkClick); e.object.activity.render().find('.full-descr__tags').append(networkTag); } } }); } var manifest = { type: "other", version: "5.0.0", name: "New category", description: "Add new category and TV Show stream service", component: "nc" }; var main = function main() { // Check Lampa version for v3 API compatibility if (Lampa.Manifest.app_digital < 300) { console.error('NC Plugin requires Lampa v3.0.0 or higher'); Lampa.Noty.show('NC Plugin requires Lampa v3.0.0+'); return; } if (Lampa.Storage.field('nc_anime') === true || Lampa.Storage.field('nc_cartoon') === true) { localStorage.removeItem('nc_anime'); localStorage.removeItem('nc_cartoon'); } if (!Lampa.Storage.get('nc_migration_lmeCollections', 'false')) { if (localStorage.getItem('nc_lmeCollections') !== null) { localStorage.removeItem('nc_lmeCollections'); } Lampa.Storage.set('nc_migration_lmeCollections', true, true); } Lampa.Manifest.plugins = manifest; Lampa.Component.add('lmeNetworks', component$4); Lampa.Component.add('lmeNetworksBookmarks', component$3); Lampa.Component.add('lmeCollections', component$2); Lampa.Component.add('lmeCollection', component$1); Lampa.Component.add('lmeCollectionBookmark', component); Lampa.Template.add('ncStyle', "\n \n "); lang.data(); config.setting(); // Menu 2.0 var submenuCatalogkeys = Object.keys(localStorage).filter(function (key) { return key.indexOf('nc_') === 0; }); function addsubmenu(category) { switch (category) { case 'nc_cartoon': case 'nc_documentary': case 'nc_networksList': case 'nc_documentary2': case 'nc_lmeCollections': // Вызываем функцию insert.catSubmenu(category) if (Lampa.Storage.get(category) === true) { insert.catSubmenu(category); } break; case 'nc_networkLists': if (Array.isArray(Lampa.Storage.get('nc_networkLists')) && Lampa.Storage.get('nc_networkLists').length > 0) { insert.catSubmenu(Lampa.Storage.get('nc_networkLists')); } break; default: // Вызываем функцию bookmarks(info) if (Lampa.Storage.get(category).available === true || Lampa.Storage.get('nc_concert') === true) { if (Lampa.Storage.get(category)) { localStorage.removeItem(category); Lampa.Noty.show(Lampa.Lang.translate('nc_favoriteMigrate')); } else { console.log('LMENetworks', "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441 \u043A\u043B\u044E\u0447\u043E\u043C ".concat(Lampa.Storage.get(category), " \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0432 localStorage.")); } } } } // Menu 2.0 submenuCatalogkeys.forEach(addsubmenu); $('body').append(Lampa.Template.get('ncStyle', {}, true)); //Get Stream in card main$1(); }; if (window.appready) { main(); } else { Lampa.Listener.follow("app", function (event) { if (event.type === "ready") { main(); } }); } })();