decord/source/modules/premium/useTrialOffer.tsx
2026-07-21 06:55:02 +00:00

83 lines
2.6 KiB
TypeScript

// Module ID: 6682
// Function ID: 51403
// Name: hasUserTrialOfferExpired
// Dependencies: []
// Exports: useTrialOffer
// Module 6682 (hasUserTrialOfferExpired)
function hasUserTrialOfferExpired(stateFromStores) {
let tmp = null != stateFromStores && null != stateFromStores.expires_at;
if (tmp) {
const _Date = Date;
const _Date2 = Date;
const timestamp = Date.now();
tmp = timestamp > Date.parse(stateFromStores.expires_at);
}
return tmp;
}
let closure_2 = importDefault(dependencyMap[0]);
let closure_3 = importAll(dependencyMap[1]);
let closure_4 = importDefault(dependencyMap[2]);
let closure_5 = importDefault(dependencyMap[3]);
const result = arg1(dependencyMap[7]).fileFinishedImporting("modules/premium/useTrialOffer.tsx");
export { hasUserTrialOfferExpired };
export const useTrialOffer = function useTrialOffer(closure_9) {
const arg1 = closure_9;
const items = [closure_5];
const stateFromStores = arg1(dependencyMap[4]).useStateFromStores(items, () => userTrialOffer.getUserTrialOffer(arg0));
const dependencyMap = stateFromStores;
const tmp2 = callback(React.useState(hasUserTrialOfferExpired(stateFromStores)), 2);
const first = tmp2[0];
const callback = first;
const React = tmp2[1];
const obj = arg1(dependencyMap[4]);
const items1 = [closure_4];
let result = !arg1(dependencyMap[4]).useStateFromStores(items1, () => arg0(stateFromStores[5]).isPremium(currentUser.getCurrentUser()));
if (!result) {
result = closure_5.canFractionalPremiumUserUseOffer();
}
const items2 = [first, stateFromStores];
const effect = React.useEffect(() => {
function startTimer() {
if (null != startTimer) {
let num = 0;
if (null != startTimer.expires_at) {
const _Date = Date;
const _Date2 = Date;
const parsed = Date.parse(startTimer.expires_at);
num = parsed - Date.now();
}
if (null != timeout) {
timeout.start(num, () => {
if (!closure_2) {
if (callback3(callback)) {
callback2(true);
}
}
callback();
});
}
}
}
const stateFromStores = startTimer;
if (null != stateFromStores) {
if (null != stateFromStores.expires_at) {
const Timeout = arg0(stateFromStores[6]).Timeout;
const prototype = Timeout.prototype;
const timeout = new Timeout();
const arg0 = timeout;
startTimer();
return () => timeout.stop();
}
}
}, items2);
let tmp7 = null;
if (!first) {
tmp7 = null;
if (result) {
tmp7 = stateFromStores;
}
}
return tmp7;
};