diff --git a/src/components/modals/main/settings/sections/Appearance.jsx b/src/components/modals/main/settings/sections/Appearance.jsx index 027d663c..b04e8f93 100644 --- a/src/components/modals/main/settings/sections/Appearance.jsx +++ b/src/components/modals/main/settings/sections/Appearance.jsx @@ -55,6 +55,8 @@ export default function AppearanceSettings() {

{appearance.accessibility.title}

+ + ); diff --git a/src/components/widgets/greeting/greeting.scss b/src/components/widgets/greeting/greeting.scss index 0d2eeb47..1a2caf3a 100644 --- a/src/components/widgets/greeting/greeting.scss +++ b/src/components/widgets/greeting/greeting.scss @@ -3,4 +3,5 @@ font-size: 1.6em; cursor: initial; user-select: none; + --shadow-shift: 0.2rem; } diff --git a/src/components/widgets/quote/quote.scss b/src/components/widgets/quote/quote.scss index 100270bc..d2249fa7 100644 --- a/src/components/widgets/quote/quote.scss +++ b/src/components/widgets/quote/quote.scss @@ -5,6 +5,7 @@ text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); cursor: initial; user-select: none; + --shadow-shift: 0.125rem; } @media screen and (min-width: 600px) { @@ -18,6 +19,7 @@ font-size: 0.9em; letter-spacing: 0.5px; user-select: none; + --shadow-shift: 0.125rem; svg { margin-left: 10px; diff --git a/src/components/widgets/time/clock.scss b/src/components/widgets/time/clock.scss index f5eec66a..f5e51155 100644 --- a/src/components/widgets/time/clock.scss +++ b/src/components/widgets/time/clock.scss @@ -5,6 +5,7 @@ margin: 0; cursor: initial; user-select: none; + --shadow-shift: 0.4rem; } .ampm { diff --git a/src/modules/default_settings.json b/src/modules/default_settings.json index cd702286..b74fa12a 100644 --- a/src/modules/default_settings.json +++ b/src/modules/default_settings.json @@ -238,5 +238,9 @@ { "name": "offlineMode", "value": false + }, + { + "name": "animations", + "value": true } ] diff --git a/src/modules/helpers/settings/index.js b/src/modules/helpers/settings/index.js index 69620e1c..e4e73229 100644 --- a/src/modules/helpers/settings/index.js +++ b/src/modules/helpers/settings/index.js @@ -57,6 +57,28 @@ export function loadSettings(hotreload) { }); } + if (localStorage.getItem('animations') === 'false') { + document.body.classList.add('no-animations'); + } else { + document.body.classList.remove('no-animations'); + } + + if (localStorage.getItem('textBorder') === 'true') { + const elements = ['greeting', 'clock', 'quote', 'quoteauthor']; + elements.forEach((element) => { + try { + document.querySelector('.' + element).classList.add('textBorder') + } catch (e) {} + }); + } else { + const elements = ['greeting', 'clock', 'quote', 'quoteauthor']; + elements.forEach((element) => { + try { + document.querySelector('.' + element).classList.remove('textBorder') + } catch (e) {} + }); + } + const css = localStorage.getItem('customcss'); if (css) { document.head.insertAdjacentHTML('beforeend', ''); diff --git a/src/scss/_themes.scss b/src/scss/_themes.scss index 042b7874..4afd66fe 100644 --- a/src/scss/_themes.scss +++ b/src/scss/_themes.scss @@ -35,3 +35,9 @@ $modal-link-dark: map-get($modal, 'modal-link-dark'); --photo-info: #{$photo-info-dark}; --modal-link: #{$modal-link-dark}; } + +.no-animations { + .ReactModal__Content, button, svg, input[type=text], .MuiSwitch-switchBase { + transition: none !important; + } +} diff --git a/src/scss/index.scss b/src/scss/index.scss index 647f7897..d0512b33 100644 --- a/src/scss/index.scss +++ b/src/scss/index.scss @@ -34,6 +34,10 @@ body { text-shadow: 0 0 25px rgba(0, 0, 0, 0.3); } +.textBorder { + filter: drop-shadow(var(--shadow-shift) var(--shadow-shift) 0 #111111CC); +} + ::placeholder { color: map-get($theme-colours, 'main'); opacity: 1;