aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/hooks/use-theme/use-theme.ts
blob: 0605d8bcd0a2503b7145db013d71b81935ff28c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { useCallback, useContext } from 'react';
import { ThemeContext } from '../../providers';

export const useTheme = () => {
  const { resolvedTheme, theme, setTheme } = useContext(ThemeContext);

  const toggleTheme = useCallback(() => {
    setTheme(() => {
      if (resolvedTheme === 'dark') return 'light';
      return 'dark';
    });
  }, [resolvedTheme, setTheme]);

  return { resolvedTheme, setTheme, theme, toggleTheme };
};