mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-01-16 05:56:47 +01:00
19 lines
559 B
TypeScript
19 lines
559 B
TypeScript
import { useEffect, useState } from 'react';
|
|
import type { Appearance } from '../lib/theme/appearance';
|
|
import {
|
|
getCSSAppearance,
|
|
getWindowAppearance,
|
|
subscribeToWindowAppearanceChange,
|
|
} from '../lib/theme/appearance';
|
|
|
|
export function usePreferredAppearance() {
|
|
const [preferredAppearance, setPreferredAppearance] = useState<Appearance>(getCSSAppearance());
|
|
|
|
useEffect(() => {
|
|
getWindowAppearance().then(setPreferredAppearance);
|
|
return subscribeToWindowAppearanceChange(setPreferredAppearance);
|
|
}, []);
|
|
|
|
return preferredAppearance;
|
|
}
|