diff --git a/mobile/App.js b/mobile/App.js index cb5f96fdd18a5256764a75ce3623a2b50217626b..f1ae1a9d78d06db8e53679d4b39cbe0cb3bc00d8 100644 --- a/mobile/App.js +++ b/mobile/App.js @@ -1,19 +1,29 @@ import React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import LoginScreen from './Screens/loginScreen' import ChatScreen from './Screens/chatScreen' import RegistrationScreen from './Screens/registrationScreen' - +import HomeScreen from './Screens/homeScreen' const Stack = createNativeStackNavigator(); +const Tab = createBottomTabNavigator(); + +function HomeTabs() { + return ( + <Tab.Navigator> + <Tab.Screen name="Chat" component={ChatScreen} /> + <Tab.Screen name="Home" component={HomeScreen} /> + </Tab.Navigator> + ); +} class App extends React.Component { //In the render here we define the application Screen routes //with navigation, then in the classes we'll use the navigate - //method to move from one page to another - + //method to move from one page to another render() { return ( @@ -24,8 +34,9 @@ class App extends React.Component { component={LoginScreen} /> <Stack.Screen - name="Forum" - component={ChatScreen} + name="Chat" + component={HomeTabs} + options={{ headerShown: false }} /> <Stack.Screen name="Registration" @@ -37,6 +48,4 @@ class App extends React.Component { } } - - export default App; diff --git a/mobile/Screens/homeScreen.js b/mobile/Screens/homeScreen.js new file mode 100644 index 0000000000000000000000000000000000000000..9f465a96dd8547c59fb1b26de365947c240932ab --- /dev/null +++ b/mobile/Screens/homeScreen.js @@ -0,0 +1,15 @@ +import React, { Component } from 'react'; +import { StyleSheet, Text, View, Button, TextInput } from 'react-native'; + +class HomeScreen extends Component { + +render() { + return ( + <Text> + HOME + </Text> + ); + } +} + +export default HomeScreen; \ No newline at end of file diff --git a/mobile/Screens/loginScreen.js b/mobile/Screens/loginScreen.js index 71a2547cc1e17f1835c2411be4bfcdf90dbd6b23..a93bbc2e1b79d74e048255835868cc66fc88b6ed 100644 --- a/mobile/Screens/loginScreen.js +++ b/mobile/Screens/loginScreen.js @@ -32,7 +32,7 @@ class LoginScreen extends Component { } else { alert('Succesful login') - this.props.navigation.navigate('Forum') + this.props.navigation.navigate('Chat') } }) //here we set again username and password as blank diff --git a/mobile/package-lock.json b/mobile/package-lock.json index 82afa1a720d1eac3af63e75f2e24a44bbf46453c..1d51cdb8a0c3f096867a497cfb1628c4d399fbb2 100644 --- a/mobile/package-lock.json +++ b/mobile/package-lock.json @@ -1732,6 +1732,16 @@ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" }, + "@react-navigation/bottom-tabs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.0.9.tgz", + "integrity": "sha512-uRoq6Zd7lPNnLqNQkKC28eR62tpqcDeuakZU1sO8N46FtvrcTuNLoIlssrGty3GF7ALBIxCypn4A93t3nbmMrQ==", + "requires": { + "@react-navigation/elements": "^1.2.1", + "color": "^3.1.3", + "warn-once": "^0.1.0" + } + }, "@react-navigation/core": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.1.0.tgz", diff --git a/mobile/package.json b/mobile/package.json index c05f76f129b02969d28a66c6f315b1d5bf2355ff..842d4a440ffa507652a427070d20ae0f2a16682f 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -10,6 +10,7 @@ "eject": "expo eject" }, "dependencies": { + "@react-navigation/bottom-tabs": "^6.0.9", "@react-navigation/drawer": "^6.1.8", "@react-navigation/native": "^6.0.6", "@react-navigation/native-stack": "^6.2.5", @@ -18,13 +19,13 @@ "react": "17.0.1", "react-dom": "17.0.1", "react-native": "0.64.3", + "react-native-gesture-handler": "~1.10.2", + "react-native-reanimated": "~2.2.0", "react-native-safe-area-context": "3.3.2", "react-native-screens": "~3.8.0", "react-native-uuid": "^2.0.1", "react-native-web": "0.17.1", - "socket.io-client": "^4.4.0", - "react-native-gesture-handler": "~1.10.2", - "react-native-reanimated": "~2.2.0" + "socket.io-client": "^4.4.0" }, "devDependencies": { "@babel/core": "^7.12.9"