Current Path : /storage/v11800/leadideascloud/public_html/wp-content/plugins/leadin/scripts/entries/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/leadideascloud/public_html/wp-content/plugins/leadin/scripts/entries/reviewBanner.ts |
import $ from 'jquery';
import {
getOrCreateBackgroundApp,
initBackgroundApp,
} 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() {
if (refreshToken) {
const embedder = getOrCreateBackgroundApp(refreshToken);
const container = $(domElements.reviewBannerContainer);
if (container && userIsAfterIntroductoryPeriod()) {
$(domElements.reviewBannerLeaveReviewLink)
.off('click')
.on('click', () => {
embedder.postMessage({
key: ProxyMessages.TrackReviewBannerInteraction,
});
});
$(domElements.reviewBannerDismissButton)
.off('click')
.on('click', () => {
embedder.postMessage({
key: ProxyMessages.TrackReviewBannerDismissed,
});
});
embedder
.postAsyncMessage({
key: ProxyMessages.FetchContactsCreateSinceActivation,
payload: +activationTime * 1000,
})
.then(({ total }: any) => {
if (total >= 5) {
container.removeClass('leadin-review-banner--hide');
embedder.postMessage({
key: ProxyMessages.TrackReviewBannerRender,
});
}
});
}
}
}
initBackgroundApp(initMonitorReviewBanner);