You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.3 KiB
80 lines
2.3 KiB
import MainTabNavigator from './src/navigation/AppNavigator'
|
|
import store from './src/redux/store'
|
|
import { Provider } from 'react-redux'
|
|
import LoaderUserApi from './src/services/userServices/loaderUserApi'
|
|
import ManagerUser from './src/services/userServices/ManagerUser'
|
|
import FakeSaverUser from './src/services/userServices/fakeSaverUser'
|
|
import { View, Text, Button } from 'react-native';
|
|
import React, { useCallback } from 'react';
|
|
import { useUserStore } from './userContext';
|
|
import stylesScreen from './src/screens/style/screens.style'
|
|
import { User } from './src/core/User/user';
|
|
import { stat } from 'fs';
|
|
import StubUser from './src/services/userServices/stub';
|
|
|
|
|
|
|
|
export const MANAGER_USER = new ManagerUser(new LoaderUserApi, new FakeSaverUser);
|
|
|
|
|
|
export default function App() {
|
|
const setUser = useUserStore((state) => state.setUser);
|
|
const resetUser = useUserStore((state) => state.resetUser);
|
|
|
|
const handleUserConnect = useCallback(async () => {
|
|
/*
|
|
fetch(GET_USER_URL)
|
|
.then((res) => {
|
|
if (res.status === 200) {
|
|
return res.json();
|
|
}
|
|
throw new Error("Bad User");
|
|
})
|
|
.then((user) => {
|
|
setUser(user);
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
*/
|
|
await MANAGER_USER.getLoaderUser().loadByID("14").then((res) => {
|
|
MANAGER_USER.setCurrentUser(res);
|
|
console.log(res);
|
|
});
|
|
setUser(MANAGER_USER.getCurrentUser());
|
|
|
|
|
|
}, []);
|
|
|
|
const handleUserLogout = useCallback(async () => {
|
|
// TODO: Call logout API
|
|
MANAGER_USER.setCurrentUser(null);
|
|
resetUser();
|
|
}, []);
|
|
|
|
const handleUserChange = useCallback(async () => {
|
|
MANAGER_USER.getCurrentUser()?.setCurrentCoins(MANAGER_USER.getCurrentUser()?.getCurrentCoins()+100);
|
|
setUser(MANAGER_USER.getCurrentUser());
|
|
}, []);
|
|
|
|
|
|
return (
|
|
<Provider store={store}>
|
|
<MainTabNavigator/>
|
|
</Provider>
|
|
);
|
|
}
|
|
|
|
|
|
const AUser = () => {
|
|
const userName = useUserStore((state) => state.user?.getUsername());
|
|
const test = useUserStore((state) => state.user?.getCurrentCoins());
|
|
return userName === undefined ? (
|
|
<Text>Not Connected</Text>
|
|
) : (
|
|
<View>
|
|
<Text>Hello {userName}</Text>
|
|
<Text>Money {test}</Text>
|
|
</View>
|
|
);
|
|
}; |