34 lines
1.1 KiB
TypeScript
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;
|
|
};
|