107 lines
3.4 KiB
TypeScript
107 lines
3.4 KiB
TypeScript
// 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}</_Module1584.SafeAreaProvider>;
|
|
}
|