/* Metro module 8314; source: modules/premium/referral_program/ReferralProgramUtils.tsx; dependencies: [7065, 1376, 672, 1244, 3968, 1365, 21, 1367, 7559, 566, 8315, 2] */ function _fun66221(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#66221, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:6, offset: 0x01bf38e5, size: 260 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const referralTrialStore = importDefault(7065) /* metro dependency 7065: ReferralTrialStore */; const env0_4 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType; const closure = isReferralProgramPopoverSeen; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/referral_program/ReferralProgramUtils.tsx'); exports.getReferralTrialOfferExpirationCopy = getReferralTrialOfferExpirationCopy; exports.useIsReferralProgramEntrypointBadgeAcknowledged = useIsReferralProgramEntrypointBadgeAcknowledged; exports.markReferralProgramEntrypointBadgeAcknowledged = markReferralProgramEntrypointBadgeAcknowledged; exports.isReferralProgramBadgeAcknowledged = isReferralProgramBadgeAcknowledged; exports.markReferralProgramBadgeAcknowledged = markReferralProgramBadgeAcknowledged; exports.useIsReferralProgramBadgeShowable = useIsReferralProgramBadgeShowable; exports.markReferralProgramPopoverSeen = markReferralProgramPopoverSeen; exports.isReferralProgramPopoverSeen = closure; exports.useIsReferralProgramPopoverShowable = useIsReferralProgramPopoverShowable; } function isReferralProgramPopoverSeen() { // fn#66222, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:174, offset: 0x01bf39e9, size: 62 bytes, params: 1, frame: 14 const value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; const UNSAFE_isDismissibleContentDismissed = value.UNSAFE_isDismissibleContentDismissed; const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; const REFERRAL_PROGRAM_POPOVER = DismissibleContent.REFERRAL_PROGRAM_POPOVER; return Reflect.apply(UNSAFE_isDismissibleContentDismissed, value, [REFERRAL_PROGRAM_POPOVER]); } function getReferralTrialOfferExpirationCopy(a0) { // fn#66223, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:406, offset: 0x01bf3a27, size: 345 bytes, params: 2, frame: 21 var r0; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; var formatToPlainString; const t = (require(1244) /* metro dependency 1244: indexNative */).t; var property; var object2; var k9v33y; const Date = global.Date; let value = Date.now(); value = a0 - value; const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; const HOUR = Millis.HOUR; value /= HOUR; if (value > 24) { formatToPlainString = intl.formatToPlainString; property = t['g9s+dA']; object2 = {}; object2.numDays = global.Math.floor(value / 24); value = Reflect.apply(formatToPlainString, intl, [property, object2]); r0 = value; } else if (value >= 1) { formatToPlainString = intl.formatToPlainString; k9v33y = t.k9v33y; object2 = {}; object2.numHours = global.Math.floor(value); value = Reflect.apply(formatToPlainString, intl, [k9v33y, object2]); r0 = value; } else { formatToPlainString = intl.formatToPlainString; property = t['/d0GmT']; object2 = {}; object2.numMinutes = global.Math.floor(60 * value); value = Reflect.apply(formatToPlainString, intl, [property, object2]); r0 = value; } return r0; } function useIsReferralProgramEntrypointBadgeAcknowledged() { // fn#66224, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:804, offset: 0x01bf3b80, size: 62 bytes, params: 1, frame: 14 const value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; const UNSAFE_useIsDismissibleContentDismissed = value.UNSAFE_useIsDismissibleContentDismissed; const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; const REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE; return Reflect.apply(UNSAFE_useIsDismissibleContentDismissed, value, [REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE]); } function markReferralProgramEntrypointBadgeAcknowledged() { // fn#66225, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:977, offset: 0x01bf3bbe, size: 62 bytes, params: 1, frame: 14 const value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; const UNSAFE_markDismissibleContentAsDismissed = value.UNSAFE_markDismissibleContentAsDismissed; const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; const REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE; Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, value, [REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE]); } function isReferralProgramBadgeAcknowledged() { // fn#66226, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:1141, offset: 0x01bf3bfc, size: 62 bytes, params: 1, frame: 14 const value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; const UNSAFE_isDismissibleContentDismissed = value.UNSAFE_isDismissibleContentDismissed; const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; const REFERRAL_PROGRAM_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_NITRO_TAB_BADGE; return Reflect.apply(UNSAFE_isDismissibleContentDismissed, value, [REFERRAL_PROGRAM_NITRO_TAB_BADGE]); } function markReferralProgramBadgeAcknowledged() { // fn#66227, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:1290, offset: 0x01bf3c3a, size: 62 bytes, params: 1, frame: 14 const value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; const UNSAFE_markDismissibleContentAsDismissed = value.UNSAFE_markDismissibleContentAsDismissed; const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; const REFERRAL_PROGRAM_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_NITRO_TAB_BADGE; Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, value, [REFERRAL_PROGRAM_NITRO_TAB_BADGE]); } function useIsReferralProgramBadgeShowable({trialOffer}) { // fn#66228, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:1442, offset: 0x01bf3c78, size: 152 bytes, params: 2, frame: 17 if (trialOffer == null) { return false; } const value = trialOffer.referrer_id !== undefined; const value2 = trialOffer.redeemed_at === undefined; let Date = global.Date; const defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */; let date = new Date(defaultImport.extractTimestamp(trialOffer.id)); Date = global.Date; date = new Date(); return value && value2 && date >= date; } function markReferralProgramPopoverSeen(a0) { // fn#66229, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:1641, offset: 0x01bf3d10, size: 154 bytes, params: 2, frame: 18 var value; const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; var moduleValue; if (a0 != null) { moduleValue = require(1367) /* metro dependency 1367: DismissibleContentUtils */; moduleValue.markSnowflakeBoundDismissibleContentAsDismissed(DismissibleContent.REFERRAL_PROGRAM_POPOVER_V2, a0, {dismissAction: ContentDismissActionType.INDIRECT_ACTION}); } else { value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; value.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.REFERRAL_PROGRAM_POPOVER); } } function useIsReferralProgramPopoverShowable() { // fn#66230, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8499:2002, offset: 0x01bf3daa, size: 271 bytes, params: 1, frame: 21 var r3; var r1; var value3; var value; const value2 = (require(7559) /* metro dependency 7559: useIsEligibleSenderForReferralProgram */).useIsEligibleSenderForReferralProgram(false); const referralsRemaining = (require(566) /* metro dependency 566: flux */).useStateFromStores([ReferralTrialStore], function() { return ReferralTrialStore.getReferralsRemaining(); }); const reminderStateId = (require(566) /* metro dependency 566: flux */).useStateFromStores([ReferralTrialStore], function() { return ReferralTrialStore.getReminderStateId(); }); const referralReminderDCExperimentModule = require(8315) /* metro dependency 8315: ReferralReminderDCExperiment */; const useIsReferralReminderDCExperimentEnabled = referralReminderDCExperimentModule.useIsReferralReminderDCExperimentEnabled; if (Reflect.apply(useIsReferralReminderDCExperimentEnabled, referralReminderDCExperimentModule, [{location: 'ReferralProgramUtils'}])) { value3 = reminderStateId != null; if (value3) { value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */; value = !value.UNSAFE_isSnowflakeBoundDismissibleContentDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.REFERRAL_PROGRAM_POPOVER_V2, reminderStateId).isDismissed; r3 = value; } else { r3 = value3; } r1 = r3; } else { r1 = !isReferralProgramPopoverSeen(); } return value2 && r1 && referralsRemaining != null && referralsRemaining > 0; }