diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..36bfbcd --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +packages/*/build/** -diff linguist-generated diff --git a/apps/example/app.json b/apps/example/app.json index 434ca59..6dfa142 100644 --- a/apps/example/app.json +++ b/apps/example/app.json @@ -34,7 +34,8 @@ }, "plugins": [ "expo-router", - "expo-font" + "expo-font", + "expo-web-browser" ], "experiments": { "typedRoutes": true diff --git a/apps/example/package.json b/apps/example/package.json index d6d8cd6..a44ed29 100644 --- a/apps/example/package.json +++ b/apps/example/package.json @@ -14,41 +14,40 @@ }, "dependencies": { "@apollo/client": "^3.11.10", - "@expo/vector-icons": "^14.0.4", - "@react-native-async-storage/async-storage": "1.23.1", + "@expo/vector-icons": "^14.1.0", + "@react-native-async-storage/async-storage": "2.1.2", "@react-native-community/netinfo": "11.4.1", - "@react-navigation/native": "^7.0.0", "@reduxjs/toolkit": "^2.3.0", "@tanstack/react-query": "^5.59.20", - "expo": "^52.0.4", - "expo-font": "~13.0.1", - "expo-linking": "~7.0.2", - "expo-router": "~4.0.3", - "expo-splash-screen": "~0.29.7", - "expo-status-bar": "~2.0.0", - "expo-system-ui": "~4.0.2", - "expo-web-browser": "~14.0.0", + "expo": "53.0.9", + "expo-font": "~13.3.0", + "expo-linking": "~7.1.4", + "expo-router": "~5.0.4", + "expo-splash-screen": "~0.30.8", + "expo-status-bar": "~2.2.3", + "expo-system-ui": "~5.0.7", + "expo-web-browser": "~14.1.6", "graphql": "^16.9.0", - "react": "18.3.1", - "react-dom": "18.3.1", - "react-native": "0.76.1", - "react-native-gesture-handler": "~2.20.2", + "react": "19.0.0", + "react-dom": "19.0.0", + "react-native": "0.79.2", + "react-native-gesture-handler": "~2.24.0", "react-native-mmkv": "^3.1.0", "react-native-paper": "^5.12.5", - "react-native-safe-area-context": "4.12.0", - "react-native-screens": "^4.0.0", - "react-native-web": "~0.19.13", + "react-native-safe-area-context": "5.4.0", + "react-native-screens": "~4.10.0", + "react-native-web": "0.20.0", "react-redux": "^9.1.2", "tinybase": "^5.3.8" }, "devDependencies": { "@babel/core": "^7.26.0", "@babel/plugin-transform-private-methods": "^7.25.9", - "@types/react": "~18.3.12", + "@types/react": "~19.0.10", "jest": "^29.7.0", - "jest-expo": "~52.0.0", + "jest-expo": "~53.0.3", "react-test-renderer": "18.3.1", - "typescript": "^5.6.3" + "typescript": "~5.8.3" }, "overrides": { "react-refresh": "~0.14.0" diff --git a/apps/example/src/app/_layout.tsx b/apps/example/src/app/_layout.tsx index 74dbb25..1969146 100644 --- a/apps/example/src/app/_layout.tsx +++ b/apps/example/src/app/_layout.tsx @@ -1,10 +1,9 @@ -import { useReactNavigationDevTools } from '@dev-plugins/react-navigation'; +import { useReactNavigationDevTools } from '@bam.tech/react-navigation-visualizer-dev-plugin'; import FontAwesome from '@expo/vector-icons/FontAwesome'; import { useFonts } from 'expo-font'; -import { SplashScreen, Stack } from 'expo-router'; -import { useEffect } from 'react'; -import { useNavigationContainerRef } from 'expo-router'; +import { SplashScreen, Stack, useNavigationContainerRef } from 'expo-router'; import { StatusBar } from 'expo-status-bar'; +import { useEffect } from 'react'; export { // Catch any errors thrown by the Layout component. diff --git a/apps/example/src/app/example-stack/(tabs)/_layout.tsx b/apps/example/src/app/example-stack/(tabs)/_layout.tsx new file mode 100644 index 0000000..192ef3a --- /dev/null +++ b/apps/example/src/app/example-stack/(tabs)/_layout.tsx @@ -0,0 +1,8 @@ +import { Tabs, usePathname } from 'expo-router'; + +export default function TabLayout() { + const path = usePathname(); + console.log('TabLayout', path); + + return ; +} diff --git a/apps/example/src/app/example-stack/(tabs)/cards.tsx b/apps/example/src/app/example-stack/(tabs)/cards.tsx new file mode 100644 index 0000000..4cfb853 --- /dev/null +++ b/apps/example/src/app/example-stack/(tabs)/cards.tsx @@ -0,0 +1,22 @@ +import { Button } from '@/components/ Button'; +import { Spacer } from '@/components/Spacer'; +import { useRouter } from 'expo-router'; +import { Text, View } from 'react-native'; + +export default function Cards() { + const router = useRouter(); + + return ( + + Cards +