Files
discord-decomp/sources/modules/premium/referral_program/ReferralProgramUtils.tsx
T
2026-07-27 16:20:00 +03:00

164 lines
10 KiB
TypeScript

/* 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;
}