feat: publish HoloLake model-native living system source

This commit is contained in:
冰朔 2026-08-03 10:04:41 +08:00
commit c395dd3a99
2467 changed files with 615073 additions and 0 deletions

View file

@ -0,0 +1,33 @@
import { useSyncExternalStore } from 'react'
import {
DEFAULT_THEME_MODE,
normalizeResolvedThemeMode,
type ResolvedThemeMode,
} from '../lib/themeMode'
function readDocumentThemeMode(): ResolvedThemeMode {
if (typeof document === 'undefined') return DEFAULT_THEME_MODE
return normalizeResolvedThemeMode(document.documentElement.getAttribute('data-theme')) ?? DEFAULT_THEME_MODE
}
function subscribeDocumentThemeMode(onChange: () => void): () => void {
if (typeof document === 'undefined' || typeof MutationObserver === 'undefined') {
return () => {}
}
const observer = new MutationObserver(onChange)
observer.observe(document.documentElement, {
attributeFilter: ['class', 'data-theme'],
attributes: true,
})
return () => observer.disconnect()
}
export function useDocumentThemeMode(): ResolvedThemeMode {
return useSyncExternalStore(
subscribeDocumentThemeMode,
readDocumentThemeMode,
() => DEFAULT_THEME_MODE,
)
}