Skip to content

Commit 098378e

Browse files
perf($Theme): abstract codes of color scheme
1 parent ae66f3d commit 098378e

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

src/main.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,15 @@ import vuetify from './plugins/vuetify'
66
import 'roboto-fontface/css/roboto/roboto-fontface.css'
77
import '@mdi/font/css/materialdesignicons.css'
88
import '@/directives/throttled-click'
9-
import { ColorSchemeUtil } from '@/utils/color-scheme-util'
9+
import { listenToColorScheme } from '@/plugins/adaptive-color-scheme'
1010

1111
Vue.config.productionTip = false
1212

13-
const vue = new Vue({
13+
const vueInstance = new Vue({
1414
router,
1515
store,
1616
vuetify,
1717
render: h => h(App)
1818
}).$mount('#app')
1919

20-
const media = window.matchMedia('(prefers-color-scheme: dark)')
21-
media.addEventListener('change', () => {
22-
vue.$vuetify.theme.dark = ColorSchemeUtil.isDarkMode()
23-
})
20+
listenToColorScheme(vueInstance)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { ColorSchemeUtil } from '@/utils/color-scheme-util'
2+
// eslint-disable-next-line no-unused-vars
3+
import Vue from 'vue'
4+
5+
/**
6+
* Listen to color scheme
7+
* @param vueInstance Vue instance
8+
* @author Johnny Miller (鍾俊), e-mail: [email protected]
9+
* @date 12/31/19 7:43 AM
10+
*/
11+
export function listenToColorScheme (vueInstance: Vue): void {
12+
const media = window.matchMedia('(prefers-color-scheme: dark)')
13+
media.addEventListener('change', () => {
14+
vueInstance.$vuetify.theme.dark = ColorSchemeUtil.isDarkMode()
15+
})
16+
}

0 commit comments

Comments
 (0)