All files / src/hooks useTheme.ts

100% Statements 6/6
100% Branches 2/2
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16          977x   977x 207x     977x 977x 977x    
import { useEffect } from "react";
import { useDisplaySettings } from "./useDisplaySettings";
import { type ThemeColors, LIGHT_THEME, DARK_THEME } from "../theme/theme";
 
export function useTheme(): { isDark: boolean; colors: ThemeColors } {
  const { darkMode, hydrateFromStorage } = useDisplaySettings();
 
  useEffect(() => {
    void hydrateFromStorage();
  }, [hydrateFromStorage]);
 
  const isDark = darkMode;
  const colors: ThemeColors = isDark ? DARK_THEME : LIGHT_THEME;
  return { isDark, colors };
}