UNPKG

umbot

Version:

Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф

56 lines (55 loc) 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cardProcessing = cardProcessing; const index_1 = require("../../../index"); const Button_1 = require("./Button"); function getElement(image, countImage = 1) { if (!image.imageToken) { if (index_1.Text.isUrl(image.imageDir || '')) { image.imageToken = image.imageDir; } } let element = { Columns: countImage, Rows: 6, }; if (image.imageToken) { element.Image = image.imageToken; } const btn = image.button?.getButtons(Button_1.buttonProcessing) || null; if (btn?.Buttons !== undefined) { element = { ...element, ...btn.Buttons[0] }; element.Text = `<font color=#000><b>${image.title}</b></font><font color=#000>${image.desc}</font>`; } return element; } /** * Получает карточку для отображения в Viber. * @param cardInfo Информация о карточке * @returns {IViberCard[] | IViberCard} Одна карточка, массив карточек или пустой массив, если нечего отобразить */ function cardProcessing(cardInfo) { const objects = []; let countImage = cardInfo.images.length; if (countImage > 7) { countImage = 7; } if (countImage) { if (countImage === 1 || cardInfo.showOne) { if (!cardInfo.images[0].imageToken && cardInfo.images[0].imageDir) { cardInfo.images[0].imageToken = cardInfo.images[0].imageDir; } if (cardInfo.images[0].imageToken) { return getElement(cardInfo.images[0]); } } else { cardInfo.images.forEach((image) => { if (objects.length <= countImage) { objects.push(getElement(image, countImage)); } }); } } return objects; }