import React, {useEffect} from "react"; import {StatusBar} from "expo-status-bar"; import {useColorScheme, View} from "react-native"; import {Server, WalletCards} from "lucide-react-native"; import {NavigationContainer} from "@react-navigation/native"; import {SafeAreaProvider} from "react-native-safe-area-context"; import {MD3Colors} from "react-native-paper/lib/typescript/types"; import {createBottomTabNavigator} from "@react-navigation/bottom-tabs"; import {createNativeStackNavigator} from "@react-navigation/native-stack"; import {DefaultTheme as NavigationLightTheme, DarkTheme as NavigationDarkTheme} from '@react-navigation/native'; import {JetBrainsMono_400Regular, useFonts} from "@expo-google-fonts/jetbrains-mono"; import { ActivityIndicator, adaptNavigationTheme, MD3DarkTheme, MD3LightTheme, MD3Theme, PaperProvider, Paragraph } from 'react-native-paper'; import RealmContext from "./models/RealmContext"; import linking from "./Linking"; import {AMUITabBar} from "./components/AMUITabBar"; import CardAddModal from "./app/CardAddModal"; import ServerAddModal from "./app/ServerAddModal"; import CardManagerStack from "./app/CardManagerStack"; import ServerManagerStack from "./app/ServerManagerStack"; const AMColors: Partial = { primary: '#e11d48', secondary: "#f97316", tertiary: "#2563eb", } const AMUITheme: Partial = { roundness: 2 } // blend themes to be a combination of react-native-paper and shadcn/ui const AMDarkTheme: MD3Theme = { ...MD3DarkTheme, ...AMUITheme, colors: { ...MD3DarkTheme.colors, ...AMColors, background: "#09090b", surface: "#1c1917", }, }; const AMLightTheme: MD3Theme = { ...MD3LightTheme, ...AMUITheme, colors: { ...MD3LightTheme.colors, ...AMColors, background: "#f9f9f9", surface: "#ffffff", } } const {LightTheme, DarkTheme} = adaptNavigationTheme({ materialDark: AMDarkTheme, materialLight: AMLightTheme, reactNavigationDark: NavigationDarkTheme, reactNavigationLight: NavigationLightTheme }); const {RealmProvider} = RealmContext; const Tab = createBottomTabNavigator(); const Stack = createNativeStackNavigator(); function AppContent() { return ( } screenOptions={{headerShown: false}}> () }}/> () }}/> ) } export default function AppRoot() { const colorScheme = useColorScheme(); const [fontsLoaded] = useFonts({ JetBrainsMono_400Regular }); if (!fontsLoaded) { return ( Starting... ) } return ( {/* @ts-ignore */} {/* main app */} ) }