/* Metro module 8314; source: modules/premium/referral_program/ReferralProgramUtils.tsx; dependencies: [7065, 1376, 672, 1244, 3968, 1365, 21, 1367, 7559, 566, 8315, 2] */ import SnowflakeUtils from '../../../utils/SnowflakeUtils.tsx'; /* Metro dependency 21 */ import Durations from '../../../utils/Durations.tsx'; /* Metro dependency 672 */ import ReferralTrialStore from '../ReferralTrialStore.tsx'; /* Metro dependency 7065 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as Dismissible_contentModule from '../../../external/discord_common/js/packages/protos/discord_protos/discord_users/v1/dismissible_content.tsx'; /* Metro dependency 1365 */ import * as DismissibleContentConstantsModule from '../../dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */ import * as DismissibleContentUnsafeUtilsModule from '../../dismissible_content/DismissibleContentUnsafeUtils.tsx'; /* Metro dependency 3968 */ import * as UseIsEligibleSenderForReferralProgramModule from './hooks/useIsEligibleSenderForReferralProgram.tsx'; /* Metro dependency 7559 */ import * as ReferralReminderDCExperimentModule from '../experiments/ReferralReminderDCExperiment.tsx'; /* Metro dependency 8315 */ 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 isReferralProgramPopoverSeen2 = isReferralProgramPopoverSeen; (FileImportTrackerModule).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 = isReferralProgramPopoverSeen2; 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 UNSAFE_isDismissibleContentDismissed = DismissibleContentUnsafeUtilsModule.UNSAFE_isDismissibleContentDismissed; const DismissibleContent = (Dismissible_contentModule).DismissibleContent; const REFERRAL_PROGRAM_POPOVER = DismissibleContent.REFERRAL_PROGRAM_POPOVER; return Reflect.apply(UNSAFE_isDismissibleContentDismissed, DismissibleContentUnsafeUtilsModule, [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 = (IndexNativeModule).intl; var formatToPlainString; const t = (IndexNativeModule).t; var property; var object; var k9v33y; const Date = global.Date; let value = Date.now(); value = a0 - value; const Millis = (Durations).Millis; const HOUR = Millis.HOUR; value /= HOUR; if (value > 24) { formatToPlainString = intl.formatToPlainString; property = t['g9s+dA']; object = {}; object.numDays = global.Math.floor(value / 24); value = Reflect.apply(formatToPlainString, intl, [property, object]); r0 = value; } else if (value >= 1) { formatToPlainString = intl.formatToPlainString; k9v33y = t.k9v33y; object = {}; object.numHours = global.Math.floor(value); value = Reflect.apply(formatToPlainString, intl, [k9v33y, object]); r0 = value; } else { formatToPlainString = intl.formatToPlainString; property = t['/d0GmT']; object = {}; object.numMinutes = global.Math.floor(60 * value); value = Reflect.apply(formatToPlainString, intl, [property, object]); 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 UNSAFE_useIsDismissibleContentDismissed = DismissibleContentUnsafeUtilsModule.UNSAFE_useIsDismissibleContentDismissed; const DismissibleContent = (Dismissible_contentModule).DismissibleContent; const REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE; return Reflect.apply(UNSAFE_useIsDismissibleContentDismissed, DismissibleContentUnsafeUtilsModule, [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 UNSAFE_markDismissibleContentAsDismissed = DismissibleContentUnsafeUtilsModule.UNSAFE_markDismissibleContentAsDismissed; const DismissibleContent = (Dismissible_contentModule).DismissibleContent; const REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_ENTRYPOINT_NITRO_TAB_BADGE; Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, DismissibleContentUnsafeUtilsModule, [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 UNSAFE_isDismissibleContentDismissed = DismissibleContentUnsafeUtilsModule.UNSAFE_isDismissibleContentDismissed; const DismissibleContent = (Dismissible_contentModule).DismissibleContent; const REFERRAL_PROGRAM_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_NITRO_TAB_BADGE; return Reflect.apply(UNSAFE_isDismissibleContentDismissed, DismissibleContentUnsafeUtilsModule, [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 UNSAFE_markDismissibleContentAsDismissed = DismissibleContentUnsafeUtilsModule.UNSAFE_markDismissibleContentAsDismissed; const DismissibleContent = (Dismissible_contentModule).DismissibleContent; const REFERRAL_PROGRAM_NITRO_TAB_BADGE = DismissibleContent.REFERRAL_PROGRAM_NITRO_TAB_BADGE; Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, DismissibleContentUnsafeUtilsModule, [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 = 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 = (Dismissible_contentModule).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 = (UseIsEligibleSenderForReferralProgramModule).useIsEligibleSenderForReferralProgram(false); const useStateFromStores = FluxModule.useStateFromStores; const referralTrialStoreBinding = ReferralTrialStore; const referralsRemaining = Reflect.apply(useStateFromStores, FluxModule, [[referralTrialStoreBinding], function() { return ReferralTrialStore.getReferralsRemaining(); }]); const reminderStateId = FluxModule.useStateFromStores([referralTrialStoreBinding], function() { return ReferralTrialStore.getReminderStateId(); }); 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; } } global.__d(_fun66221, 8314, [7065, 1376, 672, 1244, 3968, 1365, 21, 1367, 7559, 566, 8315, 2]) /* metro module 8314, dependencies: [7065, 1376, 672, 1244, 3968, 1365, 21, 1367, 7559, 566, 8315, 2] */;