mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { defineComponentMetadata } from '@/components/define'
|
|
import { LifeCycleEventTypes } from '@/core/life-cycle'
|
|
|
|
import { darkExcludes } from '../dark-urls'
|
|
|
|
export const component = defineComponentMetadata({
|
|
name: 'darkModeFollowSystem',
|
|
displayName: '夜间模式跟随系统',
|
|
entry: () => {
|
|
unsafeWindow.addEventListener(LifeCycleEventTypes.End, async () => {
|
|
const { getComponentSettings } = await import('@/core/settings')
|
|
const darkMode = getComponentSettings('darkMode')
|
|
const matchList = matchMedia('(prefers-color-scheme: dark)')
|
|
const check = (isSystemDark: boolean) => {
|
|
if (isSystemDark !== darkMode.enabled) {
|
|
darkMode.enabled = isSystemDark
|
|
}
|
|
}
|
|
check(matchList.matches)
|
|
matchList.addEventListener('change', e => {
|
|
check(e.matches)
|
|
})
|
|
})
|
|
},
|
|
urlExclude: darkExcludes,
|
|
tags: [componentsTags.style, componentsTags.general],
|
|
description: {
|
|
'zh-CN': `
|
|
使夜间模式同步系统设置的亮 / 暗主题, 请勿和 \`夜间模式计划时段\` 一同使用.
|
|
|
|
> 注:在某些浏览器 (如 \`Microsoft Edge\`) 中,夜间模式仅会同步浏览器的亮 / 暗主题.
|
|
`.trim(),
|
|
},
|
|
})
|