Files
yaak-mountain-loop/src-web/hooks/useTheme.ts
2023-02-24 12:13:30 -08:00

15 lines
427 B
TypeScript

import { useEffect } from 'react';
import { setTheme, subscribeToPreferredThemeChange, toggleTheme } from '../lib/theme';
export default function useTheme(subscribeToChanges = true): { toggleTheme: () => void } {
useEffect(() => {
if (!subscribeToChanges) return;
const unsub = subscribeToPreferredThemeChange(setTheme);
return unsub;
}, [subscribeToChanges]);
return {
toggleTheme: toggleTheme,
};
}