- packages/ui-native theme.ts accent: amber->main, amberDim->dim, amberGlow->glow (값 보존)
- apps/mobile 20건 + apps/mobile-rn 18건 + ui-native 컴포넌트 9건 = 47 참조 치환
SKIP: Led/PhosphorText/Header color prop 'amber'(의미론적 컴포넌트 API, 별도 마이그레이션)
green/greenGlow 키(amber계 범위外)
정책: docs/REFACTOR_POLICY.md DP1, 이식 인사이트 P7
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
// apps/mobile/app/_layout.tsx
|
|
// Root layout — Stack + AuthProvider + I18nProvider
|
|
|
|
import { Stack } from 'expo-router'
|
|
import { StatusBar } from 'expo-status-bar'
|
|
import { GestureHandlerRootView } from 'react-native-gesture-handler'
|
|
import { SafeAreaProvider } from 'react-native-safe-area-context'
|
|
import { AuthProvider } from '../lib/auth-context'
|
|
import { I18nProvider } from '@d3ro/i18n'
|
|
import { d3roNativePalette } from '@d3ro/ui-native'
|
|
|
|
export default function RootLayout(): React.ReactElement {
|
|
return (
|
|
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
<SafeAreaProvider>
|
|
<I18nProvider initialLocale="ko">
|
|
<AuthProvider>
|
|
<StatusBar style="light" />
|
|
<Stack
|
|
screenOptions={{
|
|
headerStyle: { backgroundColor: d3roNativePalette.bg.app },
|
|
headerTintColor: d3roNativePalette.accent.main,
|
|
contentStyle: { backgroundColor: d3roNativePalette.bg.app }
|
|
}}
|
|
>
|
|
<Stack.Screen name="index" options={{ headerShown: false }} />
|
|
<Stack.Screen name="login" options={{ headerShown: false }} />
|
|
<Stack.Screen name="(tabs)" options={{ headerShown: false }} />
|
|
</Stack>
|
|
</AuthProvider>
|
|
</I18nProvider>
|
|
</SafeAreaProvider>
|
|
</GestureHandlerRootView>
|
|
)
|
|
}
|