: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
getOrCreateBackgroundApp,
} from '../utils/backgroundAppUtils';
import { domElements } from '../constants/selectors';
import { refreshToken, activationTime } from '../constants/leadinConfig';
import { ProxyMessages } from '../iframe/integratedMessages';
const REVIEW_BANNER_INTRO_PERIOD_DAYS = 15;
const userIsAfterIntroductoryPeriod = () => {
const activationDate = new Date(+activationTime * 1000);
const currentDate = new Date();
const timeElapsed = new Date(
currentDate.getTime() - activationDate.getTime()
return timeElapsed.getUTCDate() - 1 >= REVIEW_BANNER_INTRO_PERIOD_DAYS;
* Adds some methods to window when review banner is
* displayed to monitor events
export function initMonitorReviewBanner() {
const embedder = getOrCreateBackgroundApp(refreshToken);
const container = $(domElements.reviewBannerContainer);
if (container && userIsAfterIntroductoryPeriod()) {
$(domElements.reviewBannerLeaveReviewLink)
key: ProxyMessages.TrackReviewBannerInteraction,
$(domElements.reviewBannerDismissButton)
key: ProxyMessages.TrackReviewBannerDismissed,
key: ProxyMessages.FetchContactsCreateSinceActivation,
payload: +activationTime * 1000,
.then(({ total }: any) => {
container.removeClass('leadin-review-banner--hide');
key: ProxyMessages.TrackReviewBannerRender,
initBackgroundApp(initMonitorReviewBanner);