From 6a9e36ea4d38035179bff4b7b2261b304bb90944 Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Thu, 17 Apr 2025 16:20:34 -0700 Subject: [PATCH] IO-3200 Extended Crisp Segments for BASIC/LITE Signed-off-by: Allan Carr --- client/src/redux/user/user.sagas.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) 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); }