81 lines
3.8 KiB
TypeScript
81 lines
3.8 KiB
TypeScript
// Metro module 7836 (f7837).
|
|
import ReferralTrialStore from "../ReferralTrialStore";
|
|
import { ContentDismissActionType } from "../../dismissible_content/DismissibleContentConstants";
|
|
import Durations from "../../../utils/Durations";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { useIsDismissibleContentDismissed_UNSAFE, UNSAFE_markDismissibleContentAsDismissed, UNSAFE_isDismissibleContentDismissed, UNSAFE_isSnowflakeBoundDismissibleContentDismissed } from "../../dismissible_content/DismissibleContentUnsafeUtils";
|
|
import { DismissibleContent } from "../../../_bundle/Module1358";
|
|
import SnowflakeUtils from "../../../utils/SnowflakeUtils";
|
|
import { markSnowflakeBoundDismissibleContentAsDismissed } from "../../dismissible_content/DismissibleContentUtils";
|
|
import { useIsEligibleSenderForReferralProgram } from "./hooks/useIsEligibleSenderForReferralProgram";
|
|
import { useStateFromStores } from "../../../_bundle/Module589";
|
|
import { useIsReferralReminderDCExperimentEnabled } from "../experiments/ReferralReminderDCExperiment";
|
|
export function getReferralTrialOfferExpirationCopy(a0) {
|
|
const r10 = (a0 - Date.now()) / Durations.Millis.HOUR;
|
|
return r10 > 24 ? intl.formatToPlainString(t["g9s+dA"], {
|
|
numDays: Math.floor(r10 / 24)
|
|
}) : r10 >= 1 ? intl.formatToPlainString(t.k9v33y, {
|
|
numHours: Math.floor(r10)
|
|
}) : intl.formatToPlainString(t["/d0GmT"], {
|
|
numMinutes: Math.floor(60 * r10)
|
|
});
|
|
}
|
|
export function useIsReferralProgramEntrypointBadgeAcknowledged() {
|
|
return useIsDismissibleContentDismissed_UNSAFE(DismissibleContent.REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE);
|
|
}
|
|
export function markReferralProgramEntrypointBadgeAcknowledged() {
|
|
UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE);
|
|
}
|
|
export function isReferralProgramBadgeAcknowledged() {
|
|
return UNSAFE_isDismissibleContentDismissed(DismissibleContent.REFERRAL_PROGRAM_NITRO_TAB_BADGE);
|
|
}
|
|
export function markReferralProgramBadgeAcknowledged() {
|
|
UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.REFERRAL_PROGRAM_NITRO_TAB_BADGE);
|
|
}
|
|
export function useIsReferralProgramBadgeShowable({ trialOffer }) {
|
|
if (trialOffer == null) {
|
|
return false;
|
|
}
|
|
let r11 = trialOffer.referrer_id !== void 0;
|
|
const redeemed_at = trialOffer.redeemed_at;
|
|
const date = new Date(SnowflakeUtils.extractTimestamp(trialOffer.id));
|
|
const date2 = new Date();
|
|
if (r11) {
|
|
r11 = redeemed_at === void 0;
|
|
}
|
|
if (r11) {
|
|
r11 = date2 >= date;
|
|
}
|
|
return r11;
|
|
}
|
|
export function markReferralProgramPopoverSeen(a0) {
|
|
if (a0 != null) {
|
|
markSnowflakeBoundDismissibleContentAsDismissed(DismissibleContent.REFERRAL_PROGRAM_POPOVER_V2, a0, {
|
|
dismissAction: ContentDismissActionType.INDIRECT_ACTION
|
|
});
|
|
} else {
|
|
UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.REFERRAL_PROGRAM_POPOVER);
|
|
}
|
|
}
|
|
export function isReferralProgramPopoverSeen() {
|
|
return UNSAFE_isDismissibleContentDismissed(DismissibleContent.REFERRAL_PROGRAM_POPOVER);
|
|
}
|
|
export function useIsReferralProgramPopoverShowable() {
|
|
let r14 = useIsEligibleSenderForReferralProgram(false);
|
|
const stateFromStores = useStateFromStores([ReferralTrialStore], () => ReferralTrialStore.getReferralsRemaining());
|
|
const stateFromStores2 = useStateFromStores([ReferralTrialStore], () => ReferralTrialStore.getReminderStateId());
|
|
const r37 = useIsReferralReminderDCExperimentEnabled({
|
|
location: "ReferralProgramUtils"
|
|
}) ? stateFromStores2 != null && !UNSAFE_isSnowflakeBoundDismissibleContentDismissed(DismissibleContent.REFERRAL_PROGRAM_POPOVER_V2, stateFromStores2).isDismissed : !UNSAFE_isDismissibleContentDismissed(DismissibleContent.REFERRAL_PROGRAM_POPOVER);
|
|
if (r14) {
|
|
r14 = r37;
|
|
}
|
|
if (r14) {
|
|
r14 = stateFromStores != null;
|
|
}
|
|
if (r14) {
|
|
r14 = stateFromStores > 0;
|
|
}
|
|
return r14;
|
|
}
|