All files / src/hooks usePreferencesDialog.ts

8.33% Statements 1/12
100% Branches 0/0
0% Functions 0/2
8.33% Lines 1/12

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 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34          5x                                                        
import React from "react";
import { useTranslation } from "react-i18next";
import { toast } from "react-toastify";
import useUserStore from "@/store/useUserStore";
 
const usePreferencesDialog = (onClose: () => void) => {
  const { i18n, t } = useTranslation();
  const { accentColor, setAccentColor } = useUserStore();
  const accentColors = ["#0177d2", "#01b4e4", "#01d277", "#d27701", "#d40242", "#805be7"];
 
  const [selectedColor, setSelectedColor] = React.useState<string>(accentColor);
  const [selectedLanguage, setSelectedLanguage] = React.useState<string>(i18n.language);
 
  const handleUpdatePreferences = () => {
    setAccentColor(selectedColor);
    i18n.changeLanguage(selectedLanguage);
    onClose();
    toast("Prefernces saved!");
  };
 
  return {
    accentColors,
    t,
    accentColor,
    selectedColor,
    setSelectedColor,
    selectedLanguage,
    setSelectedLanguage,
    handleUpdatePreferences,
  };
};
 
export default usePreferencesDialog;