Files
discord-decomp/modules/premium/useTrialOffer.tsx
T
2026-11-01 12:12:55 +02:00

66 lines
2.3 KiB
TypeScript

// Metro module 6244 (f6245).
import _slicedToArray from "../../_bundle/_slicedToArray";
import { useState, useEffect } from "react";
import UserStore from "../../stores/UserStore";
import UserOfferStore from "../../stores/billing/UserOfferStore";
import { useStateFromStores } from "../../_bundle/Module589";
import { isPremium } from "../../utils/PremiumUtils";
import { Timeout } from "../../_bundle/Timeout";
function $mk114917($env) {
return () => {
L12: {
const r2 = $env.$parent;
if (!r2[2]) {
const r7 = r2[1];
if (r7 != null && r7.expires_at != null && Date.now() > Date.parse(r7.expires_at)) {
(0, r2[3])(true);
break L12;
}
}
const r18 = r2[1];
if (r18 != null) {
const r22 = r18.expires_at != null ? Date.parse(r18.expires_at) - Date.now() : 0;
const r31 = $env;
const r32 = r31[0];
if (r32 != null) {
r32.start(r22, $mk114917(r31));
}
}
}
};
}
let env3965 = {};
export function hasUserTrialOfferExpired(a0) {
return a0 != null && a0.expires_at != null && Date.now() > Date.parse(a0.expires_at);
}
export function useTrialOffer(a0) {
let env15611 = {
$parent: env3965
};
env15611[0] = a0;
const stateFromStores = useStateFromStores([UserOfferStore], () => UserOfferStore.getUserTrialOffer(env15611[0]));
env15611[1] = stateFromStores;
const r30 = _slicedToArray(useState(stateFromStores != null && stateFromStores.expires_at != null && Date.now() > Date.parse(stateFromStores.expires_at)), 2);
const r31 = r30[0];
env15611[2] = r31;
env15611[3] = r30[1];
const stateFromStores2 = useStateFromStores([UserStore], () => isPremium(UserStore.getCurrentUser()));
const r40 = stateFromStores2 ? UserOfferStore.canFractionalPremiumUserUseOffer() : !stateFromStores2;
useEffect(() => {
const r4 = env15611[1];
if (r4 != null && r4.expires_at != null) {
let env25764;
const r13 = env25764 = {
$parent: env15611
};
const timeout = new Timeout();
env25764[0] = timeout;
if (r4 != null) {
timeout.start(r4.expires_at != null ? Date.parse(r4.expires_at) - Date.now() : 0, $mk114917(r13));
}
return () => env25764[0].stop();
}
}, [r31, stateFromStores]);
return r31 ? null : r40 ? stateFromStores : null;
}