Files
yaak-mountain-loop/src-web/hooks/usePreferredAppearance.ts
Gregory Schier 696e72323b More theme stuff
2024-05-24 17:36:48 -07:00

19 lines
538 B
TypeScript

import { useEffect, useState } from 'react';
import {
type Appearance,
getPreferredAppearance,
subscribeToPreferredAppearanceChange,
} from '../lib/theme/window';
export function usePreferredAppearance() {
const [preferredAppearance, setPreferredAppearance] = useState<Appearance>();
// Set appearance when preferred theme changes
useEffect(() => {
getPreferredAppearance().then(setPreferredAppearance);
return subscribeToPreferredAppearanceChange(setPreferredAppearance);
}, []);
return preferredAppearance;
}