Proje: OkulUp · Hub: OkulUp — Architecture
Provider Hierarchy
app/_layout.tsx’teki tam sıra (dıştan içe):
wrapWithSentry(RootLayout)
└── SafeAreaProvider
└── ErrorBoundary
└── QueryProvider ← TanStack React Query
└── GluestackUIProvider (config)
└── ThemeProvider ← custom dark/light theme
└── DrawerProvider
└── AppContent
├── OfflineBanner
├── Stack (screenOptions: headerShown=false)
├── NotificationBanner
└── ToastContainer
└── Drawer ← global drawer (arkada bekliyor)
Notlar
GluestackUIProviderconfigimport’u@gluestack-ui/config’ten alıyor (v1 config)ThemeProvidercustom:useColorScheme()hook’u ile sistem teması takip ediyor, Zustand’da persist ediliyorDrawerProviderglobal: her sayfadanuseDrawer()hook’u ile açılıp kapatılabiliyorDrawerbileşeni her zaman mount edilmiş,translateXile gizleniyorSentry.wraproot layout’u wrapper’ın en dışına sarıyor
AppContent İçi Hooks
useWebSocket() // auth varsa WS bağlantısı kur
useNotificationPolling() // authenticated'sa badge count polling
useSentryNavigationIntegration() // sayfa geçişlerini Sentry'ye aktar
setupNotificationHandlers() // push notification deep link handlerRelated
- tech-stack — kütüphane versiyonları
- navigation-architecture — routing detayları