diff --git a/client/src/redux/user/user.sagas.js b/client/src/redux/user/user.sagas.js index 35f3d9d97..37b30d916 100644 --- a/client/src/redux/user/user.sagas.js +++ b/client/src/redux/user/user.sagas.js @@ -1,7 +1,4 @@ import FingerprintJS from "@fingerprintjs/fingerprintjs"; -import * as Sentry from "@sentry/browser"; -import { notification } from "antd"; -import axios from "axios"; import { setUserId, setUserProperties } from "@firebase/analytics"; import { checkActionCode, @@ -12,6 +9,9 @@ import { } from "@firebase/auth"; import { arrayUnion, doc, getDoc, setDoc, updateDoc } from "@firebase/firestore"; import { getToken } from "@firebase/messaging"; +import * as Sentry from "@sentry/browser"; +import { notification } from "antd"; +import axios from "axios"; import i18next from "i18next"; import LogRocket from "logrocket"; import { all, call, delay, put, select, takeLatest } from "redux-saga/effects"; @@ -351,7 +351,14 @@ export function* SetAuthLevelFromShopDetails({ payload }) { }); payload.features?.allAccess === true ? window.$crisp.push(["set", "session:segments", [["allAccess"]]]) - : window.$crisp.push(["set", "session:segments", [["basic"]]]); + : (() => { + const featureKeys = Object.keys(payload.features).filter( + (key) => + payload.features[key] === true || + (typeof payload.features[key] === "string" && !isNaN(Date.parse(payload.features[key]))) + ); + window.$crisp.push(["set", "session:segments", [["basic", ...featureKeys]]]); + })(); } catch (error) { console.warn("Couldnt find $crisp.", error.message); }