12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- // @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:
- * <ul>
- * <li>intro.updateSlide.title</li>
- * <li>intro.updateSlide.text</li>
- * </ul>
- */
- 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<string>;
- descriptionList: Array<string>;
-
- /**
- * 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;
- }
-
- };
|