This commit is contained in:
2026-04-25 16:36:34 +08:00
commit db90e7579b
1876 changed files with 189777 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
import { isValidStr } from './string-helper';
/**
* 解析配色方案优先dark模式
*/
export function parseColorScheme(colorScheme: string): {
isDarkMode: boolean;
extraSchemeName: string | null;
} {
if (colorScheme === 'dark') {
return {
isDarkMode: true,
extraSchemeName: null,
};
} else if (colorScheme === 'light') {
return {
isDarkMode: false,
extraSchemeName: null,
};
} else if (colorScheme === 'auto') {
return {
isDarkMode: window.matchMedia
? window.matchMedia('(prefers-color-scheme: dark)').matches
: true,
extraSchemeName: null,
};
} else {
// 可能是插件 for example: dark+miku
let [base, name] = colorScheme.split('+');
if (!isValidStr(name)) {
name = base;
base = 'dark';
}
return {
isDarkMode: base === 'dark',
extraSchemeName: `theme-${name}`,
};
}
}