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

75 lines
2.4 KiB
TypeScript

// Metro module 6260 (f6261).
import _slicedToArray from "../../../_bundle/_slicedToArray";
import { useState, useEffect } from "react";
import UserStore from "../../../stores/UserStore";
import UserOfferStore from "../../../stores/billing/UserOfferStore";
import { PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID, PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID } from "../PremiumConstants";
import { useStateFromStores } from "../../../_bundle/Module589";
import { isPremium } from "../../../utils/PremiumUtils";
import { Timeout } from "../../../_bundle/Timeout";
function $mk114919($env) {
return () => {
const r2 = $env.$parent;
if (!r2[2] && r2[1].hasExpired()) {
(0, r2[3])(true);
} else {
const r10 = r2[1];
if (r10 == null ? void 0 : r10.hasAcknowledged()) {
const r5 = r10.expiresAt != null ? r10.expiresAt.getTime() - Date.now() : 0;
const r24 = $env;
const r25 = r24[0];
if (r25 != null) {
r25.start(r5, $mk114919(r24));
}
}
}
};
}
let env3977 = {};
export default function useDiscountOffer(a0, a1) {
let r36;
let env15637 = {
$parent: env3977
};
env15637[0] = a0;
const stateFromStores = useStateFromStores([UserOfferStore], () => UserOfferStore.getUserDiscountOffer(env15637[0]));
env15637[1] = stateFromStores;
let r19 = stateFromStores == null ? void 0 : stateFromStores.hasExpired();
if (r19 == null) {
r19 = false;
}
L10: {
const r22 = _slicedToArray(useState(r19), 2);
const r23 = r22[0];
env15637[2] = r23;
env15637[3] = r22[1];
const stateFromStores2 = useStateFromStores([UserStore], () => isPremium(UserStore.getCurrentUser()));
useEffect(() => {
const r4 = env15637[1];
if (r4 == null ? void 0 : r4.hasAcknowledged()) {
let env25766;
const r13 = env25766 = {
$parent: env15637
};
const timeout = new Timeout();
env25766[0] = timeout;
if (r4 == null ? void 0 : r4.hasAcknowledged()) {
timeout.start(r4.expiresAt != null ? r4.expiresAt.getTime() - Date.now() : 0, $mk114919(r13));
}
return () => env25766[0].stop();
}
}, [r23, stateFromStores]);
r36 = null;
if (!r23) {
if (stateFromStores2 && !a1 && a0 !== PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID) {
r36 = null;
if (a0 !== PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID) {
break L10;
}
}
r36 = stateFromStores;
}
}
return r36;
};