application-amicale/utils/AprilFoolsManager.js

64 lines
1.7 KiB
JavaScript
Raw Normal View History

2020-03-08 12:50:18 +01:00
// @flow
/**
* Singleton class used to manage themes
*/
export default class AprilFoolsManager {
static instance: AprilFoolsManager | null = null;
aprilFoolsEnabled: boolean;
constructor() {
let today = new Date();
this.aprilFoolsEnabled = (today.getDate() === 1 && today.getMonth() === 3);
}
/**
* Get this class instance or create one if none is found
* @returns {ThemeManager}
*/
static getInstance(): AprilFoolsManager {
return AprilFoolsManager.instance === null ?
AprilFoolsManager.instance = new AprilFoolsManager() :
AprilFoolsManager.instance;
}
static getFakeMenuItem(menu: Object) {
if (menu[1]["dishes"].length >= 3) {
2020-03-09 19:18:10 +01:00
menu[1]["dishes"].splice(0, 0, {name: "Coq au vin"});
menu[1]["dishes"].splice(2, 0, {name: "Pave de loup"});
2020-03-08 12:50:18 +01:00
} else {
2020-03-09 19:18:10 +01:00
menu[1]["dishes"].push({name: "Coq au vin"});
menu[1]["dishes"].push({name: "Pave de loup"});
2020-03-08 12:50:18 +01:00
}
return menu;
}
static getAprilFoolsTheme(currentTheme : Object) {
return {
...currentTheme,
colors: {
...currentTheme.colors,
2020-03-09 19:18:10 +01:00
primary: '#00be45',
accent: '#00be45',
background: '#50005b',
tabBackground: "#50005b",
card: "#50005b",
surface: "#50005b",
dividerBackground: '#3e0047',
textDisabled: '#b9b9b9',
// Calendar/Agenda
agendaBackgroundColor: '#5b3e02',
agendaDayTextColor: '#6d6d6d',
},
};
}
2020-03-08 12:50:18 +01:00
isAprilFoolsEnabled() {
return this.aprilFoolsEnabled;
}
};