decord/beta/source/modules/premium/useTrialOffer.tsx

260 lines
6.9 KiB
TypeScript
Raw Permalink Normal View History

2026-10-12 16:32:48 +00:00
// Module ID: 7172
// Function ID: 7173
// Name: useTrialOffer
2026-10-12 16:32:48 +00:00
// Dependencies: [32, 19, 1390, 7173, 558, 576, 504, 4769, 2060, 2]
2026-10-02 13:37:24 +00:00
// Exports: hasUserTrialOfferExpired
2026-10-12 16:32:48 +00:00
// Module 7172 (useTrialOffer)
2026-10-01 14:13:23 +00:00
import _slicedToArray from "_slicedToArray" /* 32 */;
import react_mod from "react" /* 19 */;
2026-10-12 16:32:48 +00:00
import UserStore from "UserStore" /* 1390 */;
import UserOfferStore from "UserOfferStore" /* 7173 */;
2026-10-02 13:37:24 +00:00
import ReactCompilerGating from "ReactCompilerGating" /* 558 */;
2026-10-01 14:13:23 +00:00
import size from "module_2" /* 2 */;
const require = globalThis.__r;
2026-10-02 13:37:24 +00:00
let _require, startResult, tmp3;
2026-10-01 14:13:23 +00:00
let react = react_mod;
2026-10-12 16:32:48 +00:00
let tmp2 = ReactCompilerGating.isReactCompilerEnabled() ? (function useTrialOffer(arg0) {
2026-10-02 13:37:24 +00:00
let closure_0;
let closure_3;
let currentUser;
let first;
let first1;
let stateFromStores;
let tmp10;
let tmp11;
let tmp6;
_require = arg0;
let tmp = _require;
const tmp2 = stateFromStores;
let obj = require("react");
const cResult = obj.c(9);
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
const tmp5 = UserOfferStore;
const items = [UserOfferStore];
let num = 0;
cResult[0] = items;
first = items;
} else {
first = cResult[0];
}
if (cResult[1] !== arg0) {
2026-10-12 16:32:48 +00:00
const fn = function o() {
2026-10-02 13:37:24 +00:00
return UserOfferStore.getUserTrialOffer(closure_0);
};
cResult[1] = arg0;
cResult[2] = fn;
tmp6 = fn;
} else {
tmp6 = cResult[2];
}
const tmpResult = tmp(tmp2[6]);
stateFromStores = tmpResult.useStateFromStores(first, tmp6);
let flag;
2026-10-02 13:37:24 +00:00
const useState = react.useState;
const obj3 = react;
if (stateFromStores != null) {
flag = stateFromStores.hasExpired;
}
if (flag == null) {
flag = false;
}
2026-10-02 13:37:24 +00:00
const tmp8 = first1(useState(flag), 2);
first1 = tmp8[0];
react = tmp8[1];
if (cResult[3] === Symbol.for("react.memo_cache_sentinel")) {
const items1 = [UserStore];
2026-10-12 16:32:48 +00:00
const fn2 = function p() {
const obj = closure_0(stateFromStores[7]);
return obj.isPremium(currentUser.getCurrentUser());
};
2026-10-02 13:37:24 +00:00
cResult[3] = items1;
2026-10-12 16:32:48 +00:00
cResult[4] = fn2;
tmp11 = fn2;
2026-10-02 13:37:24 +00:00
tmp10 = items1;
} else {
tmp10 = cResult[3];
tmp11 = cResult[4];
}
const tmpResult2 = tmp(tmp2[6]);
const stateFromStores1 = tmpResult2.useStateFromStores(tmp10, tmp11);
2026-10-12 16:32:48 +00:00
let result = !stateFromStores1;
2026-10-02 13:37:24 +00:00
if (stateFromStores1) {
2026-10-12 16:32:48 +00:00
result = UserOfferStore.canFractionalPremiumUserUseOffer();
2026-10-02 13:37:24 +00:00
}
if (cResult[5] === first1) {
let tmp16;
let tmp17;
if (cResult[6] === stateFromStores) {
tmp16 = cResult[7];
tmp17 = cResult[8];
}
const effect = obj3.useEffect(tmp16, tmp17);
2026-10-12 16:32:48 +00:00
let tmp19 = null;
if (!first1) {
tmp19 = null;
if (result) {
tmp19 = stateFromStores;
2026-10-02 13:37:24 +00:00
}
}
2026-10-12 16:32:48 +00:00
return tmp19;
2026-10-02 13:37:24 +00:00
}
2026-10-12 16:32:48 +00:00
class E {
2026-10-02 13:37:24 +00:00
constructor() {
tmp = closure_1;
if (null != closure_1) {
if (tmp.hasAcknowledged) {
tmp2 = closure_0;
tmp3 = closure_1;
self = this;
self2 = this;
timeout = new closure_0(closure_1[8]).Timeout();
tmp4 = timeout;
closure_0 = timeout;
if (null != tmp) {
num = 0;
if (null != tmp.expiresAt) {
expiresAt = tmp.expiresAt;
tmp6 = globalThis;
_Date = Date;
time = expiresAt.getTime();
num = time - Date.now();
}
startResult = timeout.start(num, () => {
const tmp = first1;
if (!tmp) {
if (stateFromStores.hasExpired) {
closure_3(true);
}
}
if (null != stateFromStores) {
let num = 0;
if (null != stateFromStores.expiresAt) {
const expiresAt = tmp5.expiresAt;
const _Date = Date;
const time = expiresAt.getTime();
num = time - Date.now();
}
const obj = timeout;
if (timeout != null) {
2026-10-12 16:32:48 +00:00
obj.start(num, f153991);
2026-10-02 13:37:24 +00:00
}
}
});
}
return () => timeout.stop();
}
}
return;
}
}
const items2 = [first1, stateFromStores];
cResult[5] = first1;
cResult[6] = stateFromStores;
2026-10-12 16:32:48 +00:00
cResult[7] = E;
2026-10-02 13:37:24 +00:00
cResult[8] = items2;
tmp17 = items2;
2026-10-12 16:32:48 +00:00
tmp16 = E;
}) : (function useTrialOffer(arg0) {
2026-10-01 14:13:23 +00:00
let closure_0;
let closure_3;
let currentUser;
let first;
let stateFromStores;
_require = arg0;
2026-10-01 14:13:23 +00:00
let tmp = _require;
const tmp2 = stateFromStores;
let obj = require("get initialized");
const items = [UserOfferStore];
2026-10-01 14:13:23 +00:00
stateFromStores = obj.useStateFromStores(items, () => UserOfferStore.getUserTrialOffer(closure_0));
let flag;
2026-10-01 14:13:23 +00:00
const useState = react.useState;
const obj2 = UserOfferStore;
const obj3 = react;
if (stateFromStores != null) {
flag = stateFromStores.hasExpired;
}
if (flag == null) {
flag = false;
}
2026-10-01 14:13:23 +00:00
const tmp4 = first(useState(flag), 2);
first = tmp4[0];
2026-10-01 14:13:23 +00:00
react = tmp4[1];
const items1 = [UserStore];
2026-10-02 13:37:24 +00:00
const tmpResult = tmp(tmp2[6]);
2026-10-01 14:13:23 +00:00
const stateFromStores1 = tmpResult.useStateFromStores(items1, () => {
2026-10-02 13:37:24 +00:00
const obj = closure_0(stateFromStores[7]);
2026-10-01 14:13:23 +00:00
return obj.isPremium(currentUser.getCurrentUser());
});
let result = !stateFromStores1;
if (stateFromStores1) {
result = obj2.canFractionalPremiumUserUseOffer();
}
const items2 = [first, stateFromStores];
2026-10-01 14:13:23 +00:00
const effect = obj3.useEffect(function() {
2026-10-12 16:32:48 +00:00
const f153992 = () => {
2026-10-01 14:13:23 +00:00
const tmp = first;
if (!tmp) {
if (stateFromStores.hasExpired) {
closure_3(true);
}
}
if (null != stateFromStores) {
let num = 0;
if (null != stateFromStores.expiresAt) {
const expiresAt = tmp5.expiresAt;
const _Date = Date;
const time = expiresAt.getTime();
num = time - Date.now();
}
const obj = timeout;
if (timeout != null) {
2026-10-12 16:32:48 +00:00
obj.start(num, f153992);
2026-10-01 14:13:23 +00:00
}
}
};
let tmp = stateFromStores;
if (null != stateFromStores) {
if (tmp.hasAcknowledged) {
2026-10-01 14:13:23 +00:00
const self = this;
const self2 = this;
2026-10-02 13:37:24 +00:00
const timeout = new closure_0(stateFromStores[8]).Timeout();
if (null != tmp) {
let num = 0;
if (null != tmp.expiresAt) {
2026-10-01 14:13:23 +00:00
let expiresAt = tmp.expiresAt;
let _Date = Date;
let time = expiresAt.getTime();
num = time - Date.now();
}
2026-10-12 16:32:48 +00:00
timeout.start(num, f153992);
}
return () => timeout.stop();
}
}
}, items2);
let tmp9 = null;
if (!first) {
tmp9 = null;
if (result) {
tmp9 = stateFromStores;
}
}
return tmp9;
2026-10-02 13:37:24 +00:00
});
let result = size.fileFinishedImporting("modules/premium/useTrialOffer.tsx");
export const hasUserTrialOfferExpired = function hasUserTrialOfferExpired(hasExpired) {
let flag;
if (hasExpired != null) {
flag = hasExpired.hasExpired;
}
if (flag == null) {
flag = false;
}
return flag;
};
2026-10-02 13:37:24 +00:00
export const useTrialOffer = tmp2;