| .. | .. |
|---|
| 2 | 2 | import { Stack } from "expo-router"; |
|---|
| 3 | 3 | import { ConnectionProvider } from "../contexts/ConnectionContext"; |
|---|
| 4 | 4 | import { ChatProvider } from "../contexts/ChatContext"; |
|---|
| 5 | +import { ThemeProvider, useTheme } from "../contexts/ThemeContext"; |
|---|
| 5 | 6 | import { StatusBar } from "expo-status-bar"; |
|---|
| 7 | + |
|---|
| 8 | +function InnerLayout() { |
|---|
| 9 | + const { isDark, colors } = useTheme(); |
|---|
| 10 | + return ( |
|---|
| 11 | + <> |
|---|
| 12 | + <StatusBar style={isDark ? "light" : "dark"} backgroundColor={colors.bg} /> |
|---|
| 13 | + <Stack |
|---|
| 14 | + screenOptions={{ |
|---|
| 15 | + headerShown: false, |
|---|
| 16 | + contentStyle: { backgroundColor: colors.bg }, |
|---|
| 17 | + animation: "slide_from_right", |
|---|
| 18 | + }} |
|---|
| 19 | + /> |
|---|
| 20 | + </> |
|---|
| 21 | + ); |
|---|
| 22 | +} |
|---|
| 6 | 23 | |
|---|
| 7 | 24 | export default function RootLayout() { |
|---|
| 8 | 25 | return ( |
|---|
| 9 | | - <ConnectionProvider> |
|---|
| 10 | | - <ChatProvider> |
|---|
| 11 | | - <StatusBar style="light" backgroundColor="#0A0A0F" /> |
|---|
| 12 | | - <Stack |
|---|
| 13 | | - screenOptions={{ |
|---|
| 14 | | - headerShown: false, |
|---|
| 15 | | - contentStyle: { backgroundColor: "#0A0A0F" }, |
|---|
| 16 | | - animation: "slide_from_right", |
|---|
| 17 | | - }} |
|---|
| 18 | | - /> |
|---|
| 19 | | - </ChatProvider> |
|---|
| 20 | | - </ConnectionProvider> |
|---|
| 26 | + <ThemeProvider> |
|---|
| 27 | + <ConnectionProvider> |
|---|
| 28 | + <ChatProvider> |
|---|
| 29 | + <InnerLayout /> |
|---|
| 30 | + </ChatProvider> |
|---|
| 31 | + </ConnectionProvider> |
|---|
| 32 | + </ThemeProvider> |
|---|
| 21 | 33 | ); |
|---|
| 22 | 34 | } |
|---|