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

34 lines
1.1 KiB
TypeScript

// Metro module 14607 (f14608).
import { useEffect, useState } from "react";
import { MAX_TIMEOUT_MS } from "../../../Constants";
import { ShopBlockType } from "../../../_bundle/Module5829";
export const useHasExpiredShopBlocks = (a0, a1, a2) => {
const [state, setState] = useState(false);
useEffect(() => {
let time;
L7: {
time = null;
a0.forEach((item) => {
const r18 = item.type === ShopBlockType.IMMERSIVE_BANNER ? item.endTime != null ? item.endTime.getTime() : null : item.type === ShopBlockType.COUNTDOWN_TIMER ? item.endTime.getTime() : null;
if (time == null || r18 != null && r18 < time) {
time = r18;
}
});
if (!a1 && !a2 && time != null) {
const r9 = time - Date.now();
if (r9 <= 0) {
setState(true);
break L7;
}
setState(false);
let c27781_0 = setTimeout(() => {
setState(true);
}, Math.min(MAX_TIMEOUT_MS, r9));
return () => clearTimeout(c27781_0);
}
setState(false);
}
}, [a1, a2, a0]);
return state;
};