mirror of
https://github.com/mue/mue.git
synced 2026-07-16 05:23:49 +02:00
Add some appearance/accessibility settings (no ui yet)
This commit is contained in:
15
src/App.jsx
15
src/App.jsx
@@ -38,16 +38,9 @@ export default class App extends React.PureComponent {
|
||||
welcomeModal: true
|
||||
});
|
||||
}
|
||||
|
||||
SettingsFunctions.loadSettings();
|
||||
|
||||
const css = localStorage.getItem('customcss');
|
||||
if (css) {
|
||||
document.head.insertAdjacentHTML('beforeend', '<style>' + css + '</style>');
|
||||
}
|
||||
|
||||
if (localStorage.getItem('darkTheme') === 'true') {
|
||||
document.getElementsByClassName('Toastify')[0].classList.add('dark');
|
||||
}
|
||||
|
||||
// These lines of code prevent double clicking the page or pressing CTRL + A from highlighting the page
|
||||
document.addEventListener('mousedown', (event) => {
|
||||
if (event.detail > 1) {
|
||||
@@ -92,10 +85,12 @@ export default class App extends React.PureComponent {
|
||||
const languagecode = localStorage.getItem('language') || 'en';
|
||||
const language = merge(require('./translations/en.json'), require(`./translations/${languagecode}.json`));
|
||||
|
||||
const toastDisplayTime = localStorage.getItem('toastDisplayTime') || 2500;
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
<Background/>
|
||||
<ToastContainer position='bottom-right' autoClose={2500} newestOnTop={true} closeOnClick rtl={false} pauseOnFocusLoss />
|
||||
<ToastContainer position='bottom-right' autoClose={toastDisplayTime} newestOnTop={true} closeOnClick pauseOnFocusLoss />
|
||||
<div id='center'>
|
||||
<Navbar openModal={(modal) => this.setState({ [modal]: true })} language={language} />
|
||||
<Widgets language={language} languagecode={languagecode} />
|
||||
|
||||
@@ -74,4 +74,38 @@ export default class SettingsFunctions {
|
||||
localStorage.setItem('firstRun', true);
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
static loadSettings() {
|
||||
const css = localStorage.getItem('customcss');
|
||||
if (css) {
|
||||
document.head.insertAdjacentHTML('beforeend', '<style>' + css + '</style>');
|
||||
}
|
||||
|
||||
if (localStorage.getItem('darkTheme') === 'true') {
|
||||
document.getElementsByClassName('Toastify')[0].classList.add('dark');
|
||||
}
|
||||
|
||||
const font = localStorage.getItem('font');
|
||||
if (font) {
|
||||
const data = JSON.parse(font);
|
||||
|
||||
let url = '';
|
||||
if (data.google === true) {
|
||||
url = `@import url('https://fonts.googleapis.com/css2?family=${data.name}&display=swap');`;
|
||||
}
|
||||
|
||||
document.head.insertAdjacentHTML('beforeend', `
|
||||
<style>
|
||||
${url}
|
||||
* {
|
||||
font-family: '${data.name}', 'Lexend Deca' !important;
|
||||
}
|
||||
</style>`);
|
||||
}
|
||||
|
||||
const zoom = localStorage.getItem('zoom');
|
||||
if (zoom !== 100) { // don't bother if it's default zoom
|
||||
document.body.style.zoom = zoom + '%';
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user