// @flow import i18n from "i18n-js"; /** * Singleton used to manage update slides. * Must be a singleton because it uses translations. * * Change values in this class to change the update slide. * You will also need to update those translations: * */ export default class Update { // Increment the number to show the update slide static number = 6; // Change the number of slides to display static slidesNumber = 4; // Change the icons to be displayed on the update slide static iconList = [ 'star', 'clock', 'qrcode-scan', 'account', ]; static colorsList = [ ['#e01928', '#be1522'], ['#7c33ec', '#5e11d1'], ['#337aec', '#114ed1'], ['#e01928', '#be1522'], ] static instance: Update | null = null; titleList: Array; descriptionList: Array; /** * Init translations */ constructor() { this.titleList = []; this.descriptionList = []; for (let i = 0; i < Update.slidesNumber; i++) { this.titleList.push(i18n.t('intro.updateSlide' + i + '.title')) this.descriptionList.push(i18n.t('intro.updateSlide' + i + '.text')) } } /** * Get this class instance or create one if none is found * * @returns {Update} */ static getInstance(): Update { return Update.instance === null ? Update.instance = new Update() : Update.instance; } };