@@ -15,6 +15,9 @@ div#wrapper(v-if="loaded")
1515<script lang="ts">
1616import { useSettingsStore } from ' ~/stores/settings' ;
1717import { useServerStore } from ' ~/stores/server' ;
18+ // if vite is used, you can import css file as module
19+ // import darkCssUrl from '../static/dark.css?url';
20+ // import darkCssContent from '../static/dark.css?inline';
1821
1922export default {
2023 data : function () {
@@ -38,12 +41,23 @@ export default {
3841 const theme = settingsStore .theme ;
3942 // Check Application Mode (Light | Dark)
4043 if (theme !== null && theme === ' dark' ) {
41- // Create Dark Theme Element
42- const themeLink = document .createElement (' link' );
43- themeLink .href = ' /static/dark.css' ;
44- themeLink .rel = ' stylesheet' ;
45- // Append Dark Theme Element If Selected Mode Is Dark
46- theme === ' dark' ? document .querySelector (' head' ).appendChild (themeLink ) : ' ' ;
44+ const method: ' link' | ' style' = ' link' ;
45+
46+ if (method === ' link' ) {
47+ // Method 1: Create <link> Element
48+ // Create Dark Theme Element
49+ const themeLink = document .createElement (' link' );
50+ themeLink .href = ' /dark.css' ; // darkCssUrl
51+ themeLink .rel = ' stylesheet' ;
52+ // Append Dark Theme Element If Selected Mode Is Dark
53+ theme === ' dark' ? document .querySelector (' head' ).appendChild (themeLink ) : ' ' ;
54+ } else {
55+ // Not supported for Webpack due to not supporting ?inline import in a cross-compatible way (afaik)
56+ // Method 2: Create <style> Element
57+ // const style = document.createElement('style');
58+ // style.innerHTML = darkCssContent;
59+ // theme === 'dark' ? document.querySelector('head').appendChild(style) : '';
60+ }
4761 }
4862 this .loaded = true ;
4963 },
0 commit comments