diff --git a/apps/TesterIntegrated/App.tsx b/apps/TesterIntegrated/App.tsx index 8c52685f..c83b9b13 100644 --- a/apps/TesterIntegrated/App.tsx +++ b/apps/TesterIntegrated/App.tsx @@ -1,11 +1,13 @@ -import React, { useEffect } from 'react'; -import { StyleSheet, Text, View, Button } from 'react-native'; +import { useEffect } from 'react'; +import { StyleSheet, Text, View, Button, TextInput } from 'react-native'; +import { useBrownieStore } from '@callstack/brownie'; import { createNativeStackNavigator, type NativeStackScreenProps, } from '@react-navigation/native-stack'; import ReactNativeBrownfield from '@callstack/react-native-brownfield'; import { NavigationContainer } from '@react-navigation/native'; +import './BrownfieldStore.brownie'; const getRandomValue = () => Math.round(Math.random() * 255); const getRandomTheme = () => { @@ -22,10 +24,17 @@ const getRandomTheme = () => { }; }; -type Props = NativeStackScreenProps; +type RootStackParamList = { + Home: { theme: { primary: string; secondary: string } }; +}; -function HomeScreen({ navigation, route }: Props) { - const colors = route.params?.theme || getRandomTheme(); +type HomeScreenProps = NativeStackScreenProps; + +const theme = getRandomTheme(); + +function HomeScreen({ navigation, route }: HomeScreenProps) { + const colors = route.params?.theme || theme; + const [state, setState] = useBrownieStore('BrownfieldStore'); useEffect(() => { const unsubscribe = navigation.addListener('focus', () => { @@ -37,10 +46,29 @@ function HomeScreen({ navigation, route }: Props) { return ( - + React Native Screen + + Count: {state.counter} + + + + setState((prev) => ({ user: { ...prev.user, name: text } })) + } + placeholder="User name" + /> + +