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

108 lines
5.5 KiB
TypeScript

/* Metro module 7063; source: modules/premium/useTrialOffer.tsx; dependencies: [57, 31, 1878, 7064, 566, 3802, 4041, 2] */
import Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */
import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import UserOfferStore from '../../stores/billing/UserOfferStore.tsx'; /* Metro dependency 7064 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */
function _fun55994(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#55994, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7241:6, offset: 0x013ba9f1, size: 178 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = function(a0) {
var r0;
var Date;
var value = a0 != null;
r0 = value && a0.expires_at != null;
if (r0) {
Date = global.Date;
value = Date.now();
Date = global.Date;
value = value > Date.parse(a0.expires_at);
r0 = value;
}
return r0;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(FileImportTrackerModule).fileFinishedImporting('modules/premium/useTrialOffer.tsx');
exports.hasUserTrialOfferExpired = closure;
exports.useTrialOffer = useTrialOffer;
function useTrialOffer(a0) { // fn#55996, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7241:380, offset: 0x013baaea, size: 227 bytes, params: 2, frame: 19
const env0_0 = a0;
const userTrialOffer = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserOfferStore],
_fun55997);
const binding = env0_3;
const useState = binding.useState;
const value3 = Module00057(Reflect.apply(useState, binding, [hasUserTrialOfferExpired(userTrialOffer)]), 2);
const property = value3[0];
var env0_3 = value3[1];
const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return require(dependencyMap[5]).isPremium(UserStore.getCurrentUser());
});
const r2 = value4 ? UserOfferStore.canFractionalPremiumUserUseOffer() : !value4;
env0_3.useEffect(_fun55999, [property, userTrialOffer]);
const value = null;
return property ? value : r2 ? userTrialOffer : value;
function _fun55997() { // fn#55997, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7241:444, offset: 0x013babcd, size: 27 bytes, params: 1, frame: 11
return UserOfferStore.getUserTrialOffer(env0_0);
}
function _fun55999() { // fn#55999, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7241:675, offset: 0x013bac1b, size: 108 bytes, params: 1, frame: 12
var environment;
var timeout;
var value;
if (userTrialOffer != null) {
if (userTrialOffer.expires_at != null) {
value = environment.__proto__;
timeout = new (require(4041) /* metro dependency 4041: Timers */).Timeout();
startTimer();
return _fun56002;
}
}
function startTimer() { // fn#56000, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7241:750, offset: 0x013bac87, size: 109 bytes, params: 1, frame: 15
var environment;
var r3;
var Date;
let value = environment.__proto__;
if (userTrialOffer.expires_at != null) {
Date = global.Date;
value = Date.parse(userTrialOffer.expires_at);
Date = global.Date;
value -= Date.now();
r3 = value;
} else {
r3 = 0;
}
if (env0_0 != null) {
env0_0.start(r3, _fun56001);
}
function _fun56001() { // fn#56001, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7241:838, offset: 0x013bacf4, size: 61 bytes, params: 1, frame: 12
var value2;
if (env2_2) {
value = environment.__proto__;
startTimer();
} else {
value2 = environment.__proto__.__proto__.__proto__;
if (hasUserTrialOfferExpired(userTrialOffer)) {
env2_3(true);
} else {
value = environment.__proto__;
startTimer();
}
}
}
}
function _fun56002() { // fn#56002, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7241:918, offset: 0x00dc92ce, size: 19 bytes, params: 1, frame: 9
return env0_0.stop();
}
}
}
}
global.__d(_fun55994, 7063, [57, 31, 1878, 7064, 566, 3802, 4041,
2]) /* metro module 7063, dependencies: [57, 31, 1878, 7064, 566, 3802, 4041, 2] */;