// Metro module 13630 (f13631). import { useLayoutEffect, useRef, useCallback } from "react"; import { View } from "react-native"; import { jsx } from "react/jsx-runtime"; import { INITIAL_SAFE_AREA_METRICS } from "./SafeAreaConstants.native"; import { batchUpdates } from "../../_bundle/Module705"; import * as _Module1584 from "../../_bundle/Module1584"; import { useSafeAreaInsets } from "../../_bundle/Module1584"; import { useAppEntryKey } from "../window/native/AppEntryKeyContext"; function $mk91695($env) { return () => { let META_QUEST_SAFE_AREA_INSETS; const r2 = $env; const r9 = r2[0]; const r10 = r2[1]; const r4 = $env.$parent; const r6 = r4[0]; const r3 = r4[2]; if (r6(r3[3]).isMetaQuest()) { META_QUEST_SAFE_AREA_INSETS = r6(r3[4]).META_QUEST_SAFE_AREA_INSETS; } else { const isAndroid = r6(r3[5]).isAndroid(); META_QUEST_SAFE_AREA_INSETS = r9; if (isAndroid) { const r8 = r4[1]; let safeAreaInsets2 = r8(r3[6]).getState().byAppEntry[r10].safeAreaInsets; const stableSafeAreaInsets = r8(r3[7]).getStableSafeAreaInsets(r10); let r30 = r9; if (stableSafeAreaInsets != null) { if (!(stableSafeAreaInsets.bottom === safeAreaInsets2.bottom && (stableSafeAreaInsets.top === safeAreaInsets2.top && (stableSafeAreaInsets.left === safeAreaInsets2.left && stableSafeAreaInsets.right === safeAreaInsets2.right)))) { safeAreaInsets2 = { bottom: stableSafeAreaInsets.bottom, top: stableSafeAreaInsets.top, left: r9.left, right: r9.right }; } r30 = safeAreaInsets2; } META_QUEST_SAFE_AREA_INSETS = r30; } } let env27546 = { $parent: $env }; env27546[0] = META_QUEST_SAFE_AREA_INSETS; (0, r4[1])(r3[6]).setState((state) => { const byAppEntry = state.byAppEntry; const r4 = env27546.$parent[1]; const safeAreaInsets2 = byAppEntry[r4].safeAreaInsets; const safeAreaInsets3 = env27546[0]; let r11 = state; if (safeAreaInsets2 !== safeAreaInsets3) { const byAppEntry2 = { ...state.byAppEntry }; byAppEntry2[r4] = { safeAreaInsets: safeAreaInsets3 }; r11 = { byAppEntry: byAppEntry2 }; } return r11; }); }; } let env9469 = {}; const c9469_6 = { position: "absolute", width: 0, height: 0 }; export function SafeAreaReporter() { let ref; const safeAreaInsets = useSafeAreaInsets(); const appEntryKey = useAppEntryKey(); useLayoutEffect(() => { let env27547; const r5 = env27547 = { $parent: env9469 }; env27547[0] = safeAreaInsets; env27547[1] = appEntryKey; batchUpdates($mk91695(r5)); }, [safeAreaInsets, appEntryKey]); ref = useRef(false); return (0, jsx)(View, { style: c9469_6, onLayout: useCallback(() => { if (!ref.current) { let env27548; ref.current = true; const r7 = env27548 = { $parent: env9469 }; env27548[0] = safeAreaInsets; env27548[1] = appEntryKey; batchUpdates($mk91695(r7)); } }, [safeAreaInsets, appEntryKey]) }); } export function SafeAreaProvider(props) { return <_Module1584.SafeAreaProvider initialMetrics={INITIAL_SAFE_AREA_METRICS} style={props.style}>{props.children}; }