mirror of
https://github.com/Findus23/RPGnotes.git
synced 2024-09-19 15:43:45 +02:00
try color switcher
This commit is contained in:
parent
81ee61fdb8
commit
5822a4d62b
4 changed files with 8 additions and 5 deletions
|
@ -1,9 +1,10 @@
|
|||
/*!
|
||||
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
|
||||
* Color mode toggler based on Bootstrap's docs (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors
|
||||
* Licensed under the Creative Commons Attribution 3.0 Unported License.
|
||||
*/
|
||||
|
||||
const darkQuery='(prefers-color-scheme: dark)'
|
||||
|
||||
const getStoredTheme = () => localStorage.getItem('theme')
|
||||
const setStoredTheme = (theme: string) => localStorage.setItem('theme', theme)
|
||||
|
@ -14,11 +15,11 @@ const getPreferredTheme = () => {
|
|||
return storedTheme
|
||||
}
|
||||
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
|
||||
return window.matchMedia(darkQuery).matches ? 'dark' : 'light'
|
||||
}
|
||||
|
||||
const setTheme = (theme: string) => {
|
||||
if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
if (theme === 'auto' && window.matchMedia(darkQuery).matches) {
|
||||
document.documentElement.setAttribute('data-bs-theme', 'dark')
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-bs-theme', theme)
|
||||
|
@ -52,7 +53,7 @@ const showActiveTheme = (theme: string, focus: boolean = false) => {
|
|||
}
|
||||
}
|
||||
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
|
||||
window.matchMedia(darkQuery).addEventListener('change', () => {
|
||||
const storedTheme = getStoredTheme()
|
||||
if (storedTheme !== 'light' && storedTheme !== 'dark') {
|
||||
setTheme(getPreferredTheme())
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import 'vite/modulepreload-polyfill'
|
||||
|
||||
// import "./scss/main.scss"
|
||||
import "./js/colortheme"
|
||||
import "./js/sentry"
|
||||
// @ts-ignore
|
||||
import {default as Dropdown} from 'bootstrap/js/src/dropdown'
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
{% endfor %}
|
||||
<link rel="stylesheet" href="{{ static("css/main.css") }}">
|
||||
{% endif %}
|
||||
<script type="module" src="{{ js_asset_url("colortheme.ts") }}"></script>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
@ -14,6 +14,7 @@ export default defineConfig({
|
|||
// overwrite default .html entry
|
||||
input: {
|
||||
"main": 'static/main.ts',
|
||||
"colortheme": 'static/js/colortheme.ts',
|
||||
// "tenantbase": 'static/tenantbase.js',
|
||||
// "editor": 'static/editor.js'
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue