// 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; }