import { isDevMode } from "@/lib/utils/env";
import { RootProviders } from "@/providers";
import { useCurrentPalette } from "@/providers/ThemeProvider";
import {
Lexend_100Thin,
Lexend_200ExtraLight,
Lexend_300Light,
Lexend_400Regular,
Lexend_500Medium,
Lexend_600SemiBold,
Lexend_700Bold,
Lexend_800ExtraBold,
Lexend_900Black,
useFonts,
} from "@expo-google-fonts/lexend";
import { Slot, SplashScreen } from "expo-router";
import { useEffect } from "react";
import { Platform, View } from "react-native";
import { GestureHandlerRootView } from "react-native-gesture-handler";
const RootLayoutInner = () => {
const [loaded, error] = useFonts({
Lexend_100Thin,
Lexend_200ExtraLight,
Lexend_300Light,
Lexend_400Regular,
Lexend_500Medium,
Lexend_600SemiBold,
Lexend_700Bold,
Lexend_800ExtraBold,
Lexend_900Black,
});
const { semantic } = useCurrentPalette();
useEffect(() => {
if (!isDevMode) return;
if (Platform.OS === "web" && typeof window !== "undefined") {
const hostname = window.location.hostname;
if (hostname === "127.0.0.1") return;
if (hostname === "localhost") {
const newUrl = window.location.href.replace(
"localhost",
"127.0.0.1",
);
window.location.replace(newUrl);
return;
}
throw new Error(
"don't use localhost, use 127.0.0.1. this shouldn't error unless you've done something very wrong.",
);
}
});
useEffect(() => {
if (loaded || error) {
void SplashScreen.hideAsync();
}
}, [loaded, error]);
if (!loaded && !error) {
return null;
}
return (
);
};
const RootLayout = () => {
return (
);
};
export default RootLayout;