import variables from 'modules/variables'; import { PureComponent } from 'react'; import EventBus from 'modules/helpers/eventbus'; import WelcomeSections from './WelcomeSections'; import ProgressBar from './ProgressBar'; import './welcome.scss'; export default class WelcomeModal extends PureComponent { getMessage = (text) => variables.language.getMessage(variables.languagecode, text); constructor() { super(); this.state = { image: './././icons/undraw_celebration.svg', currentTab: 0, finalTab: 5, buttonText: this.getMessage('modals.welcome.buttons.next'), }; this.images = [ './././icons/undraw_celebration.svg', './././icons/undraw_around_the_world_modified.svg', './././icons/undraw_add_files_modified.svg', './././icons/undraw_dark_mode.svg', './././icons/undraw_making_art.svg', './././icons/undraw_private_data_modified.svg', './././icons/undraw_upgrade_modified.svg', ]; } changeTab(minus) { localStorage.setItem('bgtransition', true); localStorage.removeItem('welcomeTab'); if (minus) { return this.setState({ currentTab: this.state.currentTab - 1, image: this.images[this.state.currentTab - 1], buttonText: this.getMessage('modals.welcome.buttons.next'), }); } if (this.state.buttonText === this.getMessage('modals.main.addons.create.finish.title')) { return this.props.modalClose(); } this.setState({ currentTab: this.state.currentTab + 1, image: this.images[this.state.currentTab + 1], buttonText: this.state.currentTab !== this.state.finalTab ? this.getMessage('modals.welcome.buttons.next') : this.getMessage('modals.main.addons.create.finish.title'), }); } // specific switchTab(tab) { this.setState({ currentTab: tab, image: this.images[tab], buttonText: tab !== this.state.finalTab + 1 ? this.getMessage('modals.welcome.buttons.next') : this.getMessage('modals.main.addons.create.finish.title'), }); localStorage.setItem('bgtransition', true); localStorage.removeItem('welcomeTab'); } componentDidMount() { const welcomeTab = localStorage.getItem('welcomeTab'); if (welcomeTab) { this.setState({ currentTab: Number(welcomeTab), image: this.images[Number(welcomeTab)], buttonText: Number(welcomeTab) !== this.state.finalTab + 1 ? this.getMessage('modals.welcome.buttons.next') : this.getMessage('modals.main.addons.create.finish.title'), }); } EventBus.on('refresh', (data) => { if (data === 'welcomeLanguage') { localStorage.setItem('welcomeTab', this.state.currentTab); localStorage.setItem('bgtransition', false); window.location.reload(); } }); } componentWillUnmount() { EventBus.off('refresh'); } render() { return (
sidebar icon this.switchTab(tab)} />
this.switchTab(tab)} />
{this.state.currentTab !== 0 ? ( ) : ( )}
); } }