// Metro module 15839 (f15840). import { useState, useId, useInsertionEffect, useLayoutEffect, useContext, useEffect } from "react"; import { useSharedValue } from "../../../reanimated/ReanimatedRexport"; import { TransitionStates } from "../../../../design/components/TransitionGroup/TransitionGroup"; export default function useActivityWebViewLockManager() { return useState(() => { let c28165_0, c28165_1, c28165_2, $mk117053 = function() { return () => { for (const item of c28165_2) { const [r12, r34] = item; const { canRender, callback } = r34; const canRender2 = getCanRender2(r12); if (canRender2 !== canRender) { const callback2 = callback; c28165_2.set(r12, { canRender: canRender2, callback: callback2 }); callback2(canRender2); } } c28165_0 = void 0; }; }; const getCanRender2 = function getCanRender(a0) { return c28165_1.size === 0 || c28165_1.values().next()?.value === a0; }; c28165_1 = new Set(); c28165_2 = new Map(); return function() { const id = useId(); const [state, setState] = useState(() => c28165_1.size === 0 || c28165_1.values().next()?.value === id); useInsertionEffect(() => { c28165_1.add(id); c28165_2.set(id, { callback: setState, canRender: c28165_1.size === 0 || c28165_1.values().next()?.value === id }); return () => { c28165_1.delete(id); c28165_2.delete(id); }; }, [id]); useLayoutEffect(() => { if (c28165_0 == null) { c28165_0 = Promise.resolve().then($mk117053()); } return () => { if (c28165_0 == null) { c28165_0 = Promise.resolve().then($mk117053()); } }; }, [id, setState]); return state; }; })[0]; }; export function useLockedWebView({ transitionState, context }) { const sharedValue = useSharedValue(false); const activityWebViewLock = (0, useContext(context).useActivityWebViewLock)(); useEffect(() => { if (transitionState !== TransitionStates.YEETED && activityWebViewLock) { sharedValue.set(true); } else { sharedValue.set(false); } }, [sharedValue, transitionState, activityWebViewLock]); return { shown: sharedValue, renderWebView: activityWebViewLock }; }