From 494845620465233b2e9ba856bdb1311eba788cc6 Mon Sep 17 00:00:00 2001 From: keplyx Date: Wed, 11 Mar 2020 19:55:48 +0100 Subject: [PATCH] Revert "Remove AF theme and start screen" This reverts commit 91326689 --- App.js | 11 +++++++++-- components/CustomIntroSlider.js | 13 +++++++++++++ utils/AprilFoolsManager.js | 22 ++++++++++++++++++++++ utils/AsyncStorageManager.js | 7 ++++++- utils/ThemeManager.js | 8 ++++++++ 5 files changed, 58 insertions(+), 3 deletions(-) diff --git a/App.js b/App.js index ad94488..5ebd217 100644 --- a/App.js +++ b/App.js @@ -12,6 +12,7 @@ import {createStackNavigator} from '@react-navigation/stack'; import DrawerNavigator from './navigation/DrawerNavigator'; import NotificationsManager from "./utils/NotificationsManager"; import {Provider as PaperProvider} from 'react-native-paper'; +import AprilFoolsManager from "./utils/AprilFoolsManager"; type Props = {}; @@ -19,6 +20,7 @@ type State = { isLoading: boolean, showIntro: boolean, showUpdate: boolean, + showAprilFools: boolean, currentTheme: ?Object, }; @@ -30,6 +32,7 @@ export default class App extends React.Component { isLoading: true, showIntro: true, showUpdate: true, + showAprilFools: false, currentTheme: null, }; @@ -71,9 +74,11 @@ export default class App extends React.Component { this.setState({ showIntro: false, showUpdate: false, + showAprilFools: false, }); AsyncStorageManager.getInstance().savePref(AsyncStorageManager.getInstance().preferences.showIntro.key, '0'); AsyncStorageManager.getInstance().savePref(AsyncStorageManager.getInstance().preferences.showUpdate5.key, '0'); + AsyncStorageManager.getInstance().savePref(AsyncStorageManager.getInstance().preferences.showAprilFoolsStart.key, '0'); } async componentDidMount() { @@ -84,7 +89,7 @@ export default class App extends React.Component { // Wait for custom fonts to be loaded before showing the app await AsyncStorageManager.getInstance().loadPreferences(); ThemeManager.getInstance().setUpdateThemeCallback(this.onUpdateTheme); - await NotificationsManager.initExpoToken(); + // await NotificationsManager.initExpoToken(); this.onLoadFinished(); } @@ -96,6 +101,7 @@ export default class App extends React.Component { currentTheme: ThemeManager.getCurrentTheme(), showIntro: AsyncStorageManager.getInstance().preferences.showIntro.current === '1', showUpdate: AsyncStorageManager.getInstance().preferences.showUpdate5.current === '1', + showAprilFools: AprilFoolsManager.getInstance().isAprilFoolsEnabled() && AsyncStorageManager.getInstance().preferences.showAprilFoolsStart.current === '1', }); // Status bar goes dark if set too fast setTimeout(this.setupStatusBar, 1000); @@ -108,10 +114,11 @@ export default class App extends React.Component { render() { if (this.state.isLoading) { return null; - } else if (this.state.showIntro || this.state.showUpdate) { + } else if (this.state.showIntro || this.state.showUpdate || this.state.showAprilFools) { return ; } else { return ( diff --git a/components/CustomIntroSlider.js b/components/CustomIntroSlider.js index 261cd6e..47a467f 100644 --- a/components/CustomIntroSlider.js +++ b/components/CustomIntroSlider.js @@ -40,12 +40,14 @@ const styles = StyleSheet.create({ type Props = { onDone: Function, isUpdate: boolean, + isAprilFools: boolean, }; export default class CustomIntroSlider extends React.Component { introSlides: Array; updateSlides: Array; + aprilFoolsSlides: Array; constructor() { super(); @@ -109,6 +111,15 @@ export default class CustomIntroSlider extends React.Component { colors: ['#e01928', '#be1522'], }, ]; + this.aprilFoolsSlides = [ + { + key: '1', + title: i18n.t('intro.aprilFoolsSlide.title'), + text: i18n.t('intro.aprilFoolsSlide.text'), + icon: 'fish', + colors: ['#e01928', '#be1522'], + }, + ]; } @@ -147,6 +158,8 @@ export default class CustomIntroSlider extends React.Component { let slides = this.introSlides; if (this.props.isUpdate) slides = this.updateSlides; + else if (this.props.isAprilFools) + slides = this.aprilFoolsSlides; return (