import { useDispatch, useSelector } from "react-redux"; import { cookieHelper } from "@/libs/helpers/cookie-helper"; import type { RootState } from "../store"; import { localizationActions } from "./localization.slice"; import type { ILocalizationStore } from "./localization-store.types"; export const useLocalizationStore = () => { const localizationState = useSelector( (state) => state.localization, ); const dispatch = useDispatch(); function setLocalizationData(localizationData: ILocalizationStore["data"]) { cookieHelper.setStr("lng", localizationData.language); cookieHelper.setStr("currency", localizationData.currency); const urlParams = new URLSearchParams(window.location.search); if (localizationData.language) urlParams.set("lng", localizationData.language); if (localizationData.currency) urlParams.set("cur", localizationData.currency); if (localizationData.region) urlParams.set("rgn", localizationData.region); dispatch(localizationActions.setLocalizationData(localizationData)); const newUrl = `${window.location.pathname}?${urlParams.toString()}`; window.history.pushState({}, "", newUrl); } return { localizationState, setLocalizationData, }; };