diff --git a/manifest/chrome.json b/manifest/chrome.json index d79c7e33..2e913d2b 100644 --- a/manifest/chrome.json +++ b/manifest/chrome.json @@ -3,7 +3,7 @@ "offline_enabled": true, "name": "Mue", "description": "Fast, open and free-to-use new tab page for most modern browsers.", - "version": "4.2.1", + "version": "5.0.0", "browser_action": { "default_icon": "icons/128x128.png" }, diff --git a/manifest/firefox.json b/manifest/firefox.json index 78fac847..3e8d660c 100644 --- a/manifest/firefox.json +++ b/manifest/firefox.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "Mue", "description": "Fast, open and free-to-use new tab page for most modern browsers.", - "version": "4.2.1", + "version": "5.0.0", "browser_action": { "default_icon": "icons/128x128.png" }, diff --git a/manifest/opera.json b/manifest/opera.json index d8c21ad8..a0021666 100644 --- a/manifest/opera.json +++ b/manifest/opera.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "Mue", "description": "Fast, open and free-to-use new tab page for most modern browsers.", - "version": "4.2.0", + "version": "5.0.0", "browser_action": { "default_icon": "icons/128x128.png" }, diff --git a/package.json b/package.json index a77c8670..60576d28 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "homepage": "https://muetab.com", "bugs": "https://github.com/mue/mue/issues/new?assignees=&labels=bug&template=bug-report.md&title=%5BBUG%5D", "license": "BSD-3-Clause", - "version": "4.2.1", + "version": "5.0.0", "dependencies": { "@eartharoid/dtf": "^1.0.8", "@material-ui/core": "4.11.0", diff --git a/src/App.jsx b/src/App.jsx index 89bad205..cbcd1723 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -35,6 +35,12 @@ export default class App extends React.PureComponent { componentDidMount() { if (!localStorage.getItem('firstRun')) SettingsFunctions.setDefaultSettings(); + if (localStorage.getItem('showWelcome') === 'true') this.setState({ welcomeModal: true }); + } + + closeWelcome() { + localStorage.setItem('showWelcome', false); + this.setState({ welcomeModal: false }); } // Render all the components @@ -77,8 +83,8 @@ export default class App extends React.PureComponent { language={language.update} modalClose={() => this.setState({ updateModal: false })} /> - this.setState({ welcomeModal: false })} isOpen={this.state.welcomeModal} className={modalClassList} overlayClassName='Overlay' ariaHideApp={false}> - this.setState({ welcomeModal: false })} /> + this.closeWelcome()} isOpen={this.state.welcomeModal} className={modalClassList} overlayClassName='Overlay' ariaHideApp={false}> + this.closeWelcome()} language={language.welcome} /> diff --git a/src/components/modals/Welcome.jsx b/src/components/modals/Welcome.jsx index fa51e447..c4c33129 100644 --- a/src/components/modals/Welcome.jsx +++ b/src/components/modals/Welcome.jsx @@ -1,5 +1,7 @@ import React from 'react'; import EmailIcon from '@material-ui/icons/Email'; +import TwitterIcon from '@material-ui/icons/Twitter'; +import ForumIcon from '@material-ui/icons/Forum'; export default class Welcome extends React.PureComponent { render() { @@ -7,17 +9,17 @@ export default class Welcome extends React.PureComponent {
×
-

Welcome to

+

{this.props.language.title}

Mue Tab

- celebration -

Information

-

Thank you for downloading Mue Tab,
we hope you enjoy your time with our extension.

-

Support

- {/* twitter - discord */} - + celebration +

{this.props.language.information}

+

{this.props.language.thankyoumessage1},
{this.props.language.thankyoumessage2}

+

{this.props.language.support}

+ + +
- +
); diff --git a/src/components/modals/tabs/Settings.jsx b/src/components/modals/tabs/Settings.jsx index 0bd1de47..79c084bb 100644 --- a/src/components/modals/tabs/Settings.jsx +++ b/src/components/modals/tabs/Settings.jsx @@ -25,11 +25,8 @@ export default class Settings extends React.PureComponent { } document.getElementById('file-input').onchange = (e) => { // import settings - const file = e.target.files[0]; - if (file.type !== 'application/json') return console.error(`expected json, got ${file.type}`); - const reader = new FileReader(); - reader.readAsText(file, 'UTF-8'); + reader.readAsText(e.target.files[0], 'UTF-8'); reader.onload = (readerEvent) => { const content = JSON.parse(readerEvent.target.result); @@ -82,7 +79,7 @@ export default class Settings extends React.PureComponent { - + diff --git a/src/modules/helpers/settings.js b/src/modules/helpers/settings.js index b95c6f56..7752ad49 100644 --- a/src/modules/helpers/settings.js +++ b/src/modules/helpers/settings.js @@ -65,7 +65,7 @@ export default class SettingsFunctions { window.location.reload(); } - static setDefaultSettings() { + static setDefaultSettings(reset) { localStorage.clear(); defaultSettings.forEach((element) => localStorage.setItem(element.name, element.value)); @@ -85,6 +85,8 @@ export default class SettingsFunctions { document.documentElement.lang = browserLanguage; } else localStorage.setItem('language', 'en'); + if (reset) localStorage.setItem('showWelcome', false); + // Finally we set this to true so it doesn't run the function on every load localStorage.setItem('firstRun', true); window.location.reload(); diff --git a/src/modules/json/default_settings.json b/src/modules/json/default_settings.json index 6ca05bc5..217410bd 100644 --- a/src/modules/json/default_settings.json +++ b/src/modules/json/default_settings.json @@ -86,5 +86,9 @@ { "name": "favouriteQuoteEnabled", "value": false + }, + { + "name": "showWelcome", + "value": true } ] \ No newline at end of file diff --git a/src/scss/modules/_welcome.scss b/src/scss/modules/_welcome.scss index 1b78fdae..a6266343 100644 --- a/src/scss/modules/_welcome.scss +++ b/src/scss/modules/_welcome.scss @@ -45,4 +45,8 @@ height: 24px; width: auto; } +} + +.welcomeLink { + color: black !important; } \ No newline at end of file