diff --git a/src/features/welcome/WelcomeSections.jsx b/src/features/welcome/WelcomeSections.jsx deleted file mode 100644 index fd0aba65..00000000 --- a/src/features/welcome/WelcomeSections.jsx +++ /dev/null @@ -1,432 +0,0 @@ -import variables from 'config/variables'; -import { PureComponent } from 'react'; - -import { - MdCloudUpload, - MdAutoAwesome, - MdLightMode, - MdDarkMode, - MdOutlineWavingHand, - MdOpenInNew, - MdOutlineWhatshot, - MdArchive, - MdOutlineOpenInNew, -} from 'react-icons/md'; -import { FaDiscord, FaGithub } from 'react-icons/fa'; -import { Radio, Checkbox, FileUpload } from 'components/Form/Settings'; - -import { loadSettings, importSettings } from 'utils/settings'; - -import default_settings from 'utils/data/default_settings.json'; -import languages from '@/i18n/languages.json'; - -class WelcomeSections extends PureComponent { - constructor() { - super(); - this.state = { - // themes - autoClass: 'toggle auto active', - lightClass: 'toggle lightTheme', - darkClass: 'toggle darkTheme', - // styles - newStyle: 'toggle newStyle active', - legacyStyle: 'toggle legacyStyle', - // welcome - welcomeImage: 0, - // final - importedSettings: [], - }; - this.changeWelcomeImg = this.changeWelcomeImg.bind(this); - this.welcomeImages = 3; - } - - changeTheme(type) { - this.setState({ - autoClass: type === 'auto' ? 'toggle auto active' : 'toggle auto', - lightClass: type === 'light' ? 'toggle lightTheme active' : 'toggle lightTheme', - darkClass: type === 'dark' ? 'toggle darkTheme active' : 'toggle darkTheme', - }); - - localStorage.setItem('theme', type); - loadSettings(true); - } - - changeStyle(type) { - this.setState({ - newStyle: type === 'new' ? 'toggle newStyle active' : 'toggle newStyle', - legacyStyle: type === 'legacy' ? 'toggle legacyStyle active' : 'toggle legacyStyle', - }); - localStorage.setItem('widgetStyle', type); - } - - getSetting(name) { - const value = localStorage.getItem(name).replace('false', 'Off').replace('true', 'On'); - return value.charAt(0).toUpperCase() + value.slice(1); - } - - importSettings(e) { - importSettings(e); - - const settings = []; - const data = JSON.parse(e.target.result); - Object.keys(data).forEach((setting) => { - // language and theme already shown, the others are only used internally - if ( - setting === 'language' || - setting === 'theme' || - setting === 'firstRun' || - setting === 'showWelcome' || - setting === 'showReminder' - ) { - return; - } - - const defaultSetting = default_settings.find((i) => i.name === setting); - if (defaultSetting !== undefined) { - if (data[setting] === String(defaultSetting.value)) { - return; - } - } - - settings.push({ - name: setting, - value: data[setting], - }); - }); - - this.setState({ - importedSettings: settings, - }); - - this.props.switchTab(5); - } - - changeWelcomeImg() { - let welcomeImage = this.state.welcomeImage; - - this.setState({ - welcomeImage: welcomeImage < 3 ? ++welcomeImage : 0, - }); - - this.timeout = setTimeout(this.changeWelcomeImg, 3000); - } - - componentDidMount() { - this.timeout = setTimeout(this.changeWelcomeImg, 3000); - } - - componentWillUnmount() { - if (this.timeout) { - clearTimeout(this.timeout); - this.timeout = null; - } - } - - // cancel welcome image timer if not on welcome tab - componentDidUpdate() { - if (this.props.currentTab !== 0) { - if (this.timeout) { - clearTimeout(this.timeout); - this.timeout = null; - } - } else if (!this.timeout) { - this.timeout = setTimeout(this.changeWelcomeImg, 3000); - } - } - - render() { - const intro = ( - <> - - {variables.getMessage('modals.welcome.sections.intro.title')} - -
- Example Mue setup - #shareyourmue -
-
-
- -
-
- - {variables.getMessage('modals.welcome.sections.intro.title')} - - - {variables.getMessage('modals.welcome.sections.intro.description')} - -
-
-
-
- -
-
- - {variables.getMessage('modals.welcome.sections.intro.notices.discord_title')} - - - {variables.getMessage('modals.welcome.sections.intro.notices.discord_description')} - -
- - {' '} - {variables.getMessage('modals.welcome.sections.intro.notices.discord_join')} - -
-
-
- -
-
- - {variables.getMessage('modals.welcome.sections.intro.notices.github_title')} - - - {variables.getMessage('modals.welcome.sections.intro.notices.github_description')} - -
- - - {variables.getMessage('modals.welcome.sections.intro.notices.github_open')} - -
- - ); - - const chooseLanguage = ( - <> - - {variables.getMessage('modals.welcome.sections.language.title')} - - - {variables.getMessage('modals.welcome.sections.language.description')}{' '} - - - GitHub - - - - Weblate - - -
- -
- - ); - - const theme = ( - <> - - {variables.getMessage('modals.welcome.sections.theme.title')} - - - {variables.getMessage('modals.welcome.sections.theme.description')} - -
-
this.changeTheme('auto')}> - - - {variables.getMessage('modals.main.settings.sections.appearance.theme.auto')} - -
-
-
this.changeTheme('light')}> - - - {variables.getMessage('modals.main.settings.sections.appearance.theme.light')} - -
-
this.changeTheme('dark')}> - - - {variables.getMessage('modals.main.settings.sections.appearance.theme.dark')} - -
-
-
- {variables.getMessage('modals.welcome.tip')} - - {variables.getMessage('modals.welcome.sections.theme.tip')} - - - ); - - const style = ( - <> - - {variables.getMessage('modals.welcome.sections.style.title')} - - - {variables.getMessage('modals.welcome.sections.style.description')} - -
-
-
this.changeStyle('legacy')}> - - {variables.getMessage('modals.welcome.sections.style.legacy')} -
-
this.changeStyle('new')}> - - {variables.getMessage('modals.welcome.sections.style.modern')} -
-
-
- - ); - - const settings = ( - <> - - {variables.getMessage('modals.welcome.sections.settings.title')} - - - {variables.getMessage('modals.welcome.sections.settings.description')} - - - this.importSettings(e)} - /> - {variables.getMessage('modals.welcome.tip')} - - {variables.getMessage('modals.welcome.sections.settings.tip')} - - - ); - - const privacy = ( - <> - - {variables.getMessage('modals.welcome.sections.privacy.title')} - - - {variables.getMessage('modals.welcome.sections.privacy.description')} - - - - {variables.getMessage('modals.welcome.sections.privacy.offline_mode_description')} - - - - {variables.getMessage('modals.welcome.sections.privacy.ddg_proxy_description')} - - - {variables.getMessage('modals.welcome.sections.privacy.links.title')} - - - {variables.getMessage('modals.welcome.sections.privacy.links.privacy_policy')} - - - - - {variables.getMessage('modals.welcome.sections.privacy.links.source_code')} - - - - ); - - const final = ( - <> - - {variables.getMessage('modals.welcome.sections.final.title')} - - - {variables.getMessage('modals.welcome.sections.final.description')} - - - {variables.getMessage('modals.welcome.sections.final.changes')} - - - {variables.getMessage('modals.welcome.sections.final.changes_description')} - -
-
this.props.switchTab(1)}> - - {variables.getMessage('modals.main.settings.sections.language.title')}:{' '} - {languages.find((i) => i.value === localStorage.getItem('language')).name} - -
-
this.props.switchTab(3)}> - - {variables.getMessage('modals.main.settings.sections.appearance.theme.title')}:{' '} - {variables.getMessage( - 'modals.main.settings.sections.appearance.theme.' + localStorage.getItem('theme'), - )} - -
- {this.state.importedSettings.length !== 0 && ( -
this.props.switchTab(2)}> - {variables.getMessage('modals.main.settings.sections.final.imported', { - amount: this.state.importedSettings.length, - })}{' '} - {this.state.importedSettings.length} -
- )} -
- - ); - - switch (this.props.currentTab) { - case 1: - return chooseLanguage; - case 2: - return settings; - case 3: - return theme; - case 4: - return style; - case 5: - return privacy; - case 6: - return final; - // 0 - default: - return intro; - } - } -} - -export default WelcomeSections;