Skip to content

Commit 93f5922

Browse files
authored
chore: inject safe-area-inset values (#90)
1 parent d0f68e2 commit 93f5922

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

screens/MainScreen.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {
2222
import { NativeStackScreenProps } from "@react-navigation/native-stack";
2323
import { RootStackParamList } from "types";
2424
import { shareFileFromUrl } from "utils/shareFile";
25+
import { useSafeAreaInsets } from "react-native-safe-area-context";
2526

2627
function LoadingScreen() {
2728
return <ActivityIndicator size="large" />;
@@ -31,6 +32,7 @@ export default function MainScreen({
3132
navigation,
3233
}: NativeStackScreenProps<RootStackParamList, "Main">) {
3334
const { t } = useTranslation();
35+
const insets = useSafeAreaInsets();
3436
const { serverUrl, basicAuth } = useAppContext();
3537
const webViewRef = useRef(null);
3638
const [isConnected, setIsConnected] = useState(false);
@@ -152,6 +154,12 @@ export default function MainScreen({
152154
<WebView
153155
basicAuthCredential={basicAuthCredential}
154156
source={{ uri: serverUrl }}
157+
injectedJavaScript={`
158+
document.documentElement.style.setProperty("--safe-area-inset-top", "${insets.top}px");
159+
document.documentElement.style.setProperty("--safe-area-inset-bottom", "${insets.bottom}px");
160+
document.documentElement.style.setProperty("--safe-area-inset-left", "${insets.left}px");
161+
document.documentElement.style.setProperty("--safe-area-inset-right", "${insets.right}px");
162+
`}
155163
style={{ flex: 1 }}
156164
key={webViewKey}
157165
bounces={false}

0 commit comments

Comments
 (0)