mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
7f3e355426
* fix(ios): complete regular snapshot depth frontier * fix(ios): align depth frontier with visibility fold * fix(ios): exercise regular depth frontier in CI * fix(ios): cover visible-depth frontier through public snapshot * fix(ios): tolerate absent deep-link confirmation * test(ios): expose visible-depth fixture hierarchy * test(ios): wait for visible-depth fixture subtree * fix(ios): keep visible-depth fixture minimal * fix(ios): update snapshot hint fixtures * test(ios): avoid fixture label aggregation * test(ios): match fixture raw hierarchy * test(ios): prove visible-depth raw ancestry * test(ios): align depth smoke with AX hierarchy
55 lines
1.7 KiB
TypeScript
55 lines
1.7 KiB
TypeScript
import { Stack } from 'expo-router';
|
|
import { ThemeProvider } from 'expo-router/react-navigation';
|
|
import { StatusBar } from 'expo-status-bar';
|
|
import { StyleSheet } from 'react-native';
|
|
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
|
|
import { ToastViewport } from '../src/components';
|
|
import { LabStateProvider, useLabState } from '../src/lab-state';
|
|
import { getNavigationTheme, useAppColors } from '../src/theme';
|
|
|
|
function RootLayoutContent() {
|
|
const colors = useAppColors();
|
|
const { toastMessage } = useLabState();
|
|
|
|
return (
|
|
<ThemeProvider value={getNavigationTheme(colors)}>
|
|
<StatusBar style={colors.mode === 'light' ? 'dark' : 'light'} />
|
|
<Stack
|
|
screenOptions={{
|
|
contentStyle: { backgroundColor: colors.surface },
|
|
headerShown: false,
|
|
}}
|
|
>
|
|
<Stack.Screen name="(tabs)" />
|
|
<Stack.Screen name="accessory-setup" />
|
|
<Stack.Screen name="automation" options={{ headerShown: true, title: 'Automation' }} />
|
|
<Stack.Screen name="inert" options={{ presentation: 'fullScreenModal' }} />
|
|
<Stack.Screen name="snapshot-depth" />
|
|
<Stack.Screen name="product/[productId]" />
|
|
<Stack.Screen name="webview" />
|
|
</Stack>
|
|
{toastMessage ? <ToastViewport message={toastMessage} /> : null}
|
|
</ThemeProvider>
|
|
);
|
|
}
|
|
|
|
export default function RootLayout() {
|
|
return (
|
|
<GestureHandlerRootView style={styles.root}>
|
|
<SafeAreaProvider>
|
|
<LabStateProvider>
|
|
<RootLayoutContent />
|
|
</LabStateProvider>
|
|
</SafeAreaProvider>
|
|
</GestureHandlerRootView>
|
|
);
|
|
}
|
|
|
|
const styles = StyleSheet.create({
|
|
root: {
|
|
flex: 1,
|
|
},
|
|
});
|