%PDF- %PDF-
Direktori : /home/emergentqj/actioncivile/pre-auth/def/static/js/init/ |
Current File : /home/emergentqj/actioncivile/pre-auth/def/static/js/init/index.js |
import appEnvs from "config/appEnvs"; import appConfig from "config/countryData"; import { setEnvConstant, setDualEnv, } from "actions/list_actions"; import { getUser } from "actions/api_actions"; // eslint-disable-line import/no-cycle import { initLanguage } from "actions/languageActions"; import { isDomEnabled, } from "utils"; import { getUniversalCookies, cookies } from "utils/cookies"; import getCountry from "utils/getCountry"; const ReactGA = isDomEnabled ? require("react-ga") : null; function isDual(store) { const isDualAccount = {}; const sessionKey = getUniversalCookies().get("session_key"); if (sessionKey) { const cookieDual = sessionKey; isDualAccount.isDual = cookieDual.isDual === true; isDualAccount.userFullName = cookieDual.fullName; isDualAccount.userEmail = cookieDual.email; store.dispatch(setDualEnv(isDualAccount)); } } function futuresConfig() { return { totalTimeSaved: true, totalMoneySaved: false, businessHeaderLink: true, footerCountryLinks: true, showBetaBadge: true, optimizedVideo: true, parkingPlanV2: true, homePageV1: false, homePageV2: false, homePageV3: true, }; } function envConstant(store, hostname = null) { isDual(store); const countryCode = getCountry(); const envs = appEnvs; store.dispatch(initLanguage(countryCode)); // eslint-disable-next-line func-names const getEnv = function (fallbackEnv) { const hostName = isDomEnabled ? window.location.hostname : hostname; for (const key in envs) { if (Object.prototype.hasOwnProperty.call(envs, key)) { if (envs[key].indexOf(hostName) > -1) return key; } } return fallbackEnv; }; const env = getEnv("production"); const performanceCookie = document.cookie .split("; ") .find((c) => c.startsWith("userConsent") && c.includes("performance")) || "={}"; const isPerformanceAllowed = JSON.parse( decodeURIComponent(performanceCookie.split("=").pop()), ).performance; // Dont know if i need this yet /* if (mixpanel && isPerformanceAllowed) { const config = configFunc(); mixpanel.init(config.mixpanel_token, { api_host: "https://api-eu.mixpanel.com", }); } */ if (!isPerformanceAllowed) { setTimeout(() => { Object.entries(cookies.getAll()) .filter( ([cName]) => cName.endsWith("mixpanel"), ) .forEach(([cName, c]) => { cookies.removeCookie(cName, { path: c.path, domain: c.domain, }); cookies.removeCookie(cName, { path: "/", domain: c.domain, }); }); }, 5000); } const { gaId } = appConfig.countryData[countryCode] || {}; if (ReactGA && gaId) { ReactGA.initialize(gaId); } const action = setEnvConstant({ countryFormDomainConfig: env === "staging" ? "config" : "domain", countryConstant: countryCode, envConstant: env, currentYear: new Date().getFullYear(), futuresConfig: futuresConfig(), appConfig: appConfig.countryData[countryCode], gaEnabled: env === "production" ? !!gaId : false, }); store.dispatch(action); } export default function init(store) { envConstant(store); store.dispatch(getUser()); }