Files
discord-decomp/sources/modules/premium/referral_program/ReferralProgramUtils.tsx
T
2026-07-28 01:06:53 +03:00

170 lines
12 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] */
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] */;