Merge branch 'Persistance' of https://codefirst.iut.uca.fr/git/BOB_PARTEAM/BOB_PARTY into Persistance
continuous-integration/drone/push Build is failing Details

Persistance
Lucie Bedouret 3 years ago
commit 214892ade9

@ -1,27 +1,10 @@
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 React, { useCallback } from 'react';
import ManagerConversation from './src/services/conversationService/managerConversation'
import { LoaderConversationApi } from './src/services/conversationService/loaderConversationApi'
import { FakeSaverConversation } from './src/services/conversationService/fakeSaverConversation'
import ManagerMatch from './src/services/matchServices/managerMatch'
import LoaderMatchApi from './src/services/matchServices/loaderMatchApi'
import SaverMatchApi from './src/services/matchServices/saverMatchApi'
import LoaderGameApi from './src/services/gameService/loaderGameApi'
import ManagerGame from './src/services/gameService/managerGame'
import { useFonts } from 'expo-font';
import * as SplashScreen from 'expo-splash-screen';
import { View } from 'react-native'
export const MANAGER_USER = new ManagerUser(new LoaderUserApi, new FakeSaverUser);
export const MANAGER_CONVERSATION = new ManagerConversation(new LoaderConversationApi, new FakeSaverConversation);
export const MANAGER_MATCH = new ManagerMatch(new LoaderMatchApi, new SaverMatchApi);
export const MANAGER_GAME = new ManagerGame(new LoaderGameApi);
export default function App() {

@ -0,0 +1,16 @@
import { FakeSaverConversation } from "./src/services/conversationService/fakeSaverConversation";
import { LoaderConversationApi } from "./src/services/conversationService/loaderConversationApi";
import ManagerConversation from "./src/services/conversationService/managerConversation";
import LoaderGameApi from "./src/services/gameService/loaderGameApi";
import ManagerGame from "./src/services/gameService/managerGame";
import LoaderMatchApi from "./src/services/matchServices/loaderMatchApi";
import ManagerMatch from "./src/services/matchServices/managerMatch";
import SaverMatchApi from "./src/services/matchServices/saverMatchApi";
import FakeSaverUser from "./src/services/userServices/fakeSaverUser";
import LoaderUserApi from "./src/services/userServices/loaderUserApi";
import ManagerUser from "./src/services/userServices/managerUser";
export const MANAGER_USER = new ManagerUser(new LoaderUserApi, new FakeSaverUser);
export const MANAGER_CONVERSATION = new ManagerConversation(new LoaderConversationApi, new FakeSaverConversation);
export const MANAGER_MATCH = new ManagerMatch(new LoaderMatchApi, new SaverMatchApi);
export const MANAGER_GAME = new ManagerGame(new LoaderGameApi);

@ -9,7 +9,7 @@ import {
TouchableHighlight,
Alert,
} from 'react-native'
import { MANAGER_MATCH, MANAGER_USER } from '../../../App';
import { MANAGER_MATCH, MANAGER_USER } from '../../../appManagers';
import { useMatchStore } from '../../context/matchContext';
import { useUserStore } from '../../context/userContext';
import { Match } from '../../core/Match/match';

@ -7,9 +7,9 @@ import React from "react"
*/
import styles from './style/BotBar.style';
import { useStoreStore } from "../context/storeContext";
import { MANAGER_CONVERSATION, MANAGER_USER } from "../../App";
import tabSkinApp from "../constSkin";
import { useConversationStore } from "../context/conversationContext";
import { MANAGER_CONVERSATION, MANAGER_USER } from "../../appManagers";
/*
Images that are required to create a bottom bar

@ -9,8 +9,6 @@ import { Conversation } from "../core/conversation"
*/
import styles from "./style/ConverstationComponent.style"
import { SkinComponent } from "./Skin"
import { User } from "../core/User/user"
import { MANAGER_USER } from "../../App"
export const ConversationComponent :
/* Parameters :

@ -11,8 +11,8 @@ import styles from './style/Game.style';
import LobbySolo from "../screens/LobbySolo"
import ManagerMatch from "../services/matchServices/managerMatch"
import MatchCreator from "../core/Match/matchCreator"
import { MANAGER_MATCH, MANAGER_USER } from "../../App"
import { useMatchStore } from "../context/matchContext"
import { MANAGER_MATCH, MANAGER_USER } from "../../appManagers"
export const GameComponent :

@ -8,12 +8,12 @@ import { Skin } from "../core/skin"
*/
import styles from "./style/Skin.style"
import { useDispatch, useSelector } from "react-redux"
import { MANAGER_USER } from "../../App"
import { useUserStore } from "../context/userContext"
import { ManagerCoinsUser } from "../core/User/userCoinsModifier"
import { UserCoinsModifier } from "../core/User/userCoinsModifier"
import UserSkinModifier from "../core/User/userSkinModifier"
import { useStoreStore } from "../context/storeContext"
import tabSkinApp from "../constSkin"
import { MANAGER_USER } from "../../appManagers"
@ -68,7 +68,7 @@ export const SkinComponent:
async function buySkin(skin: Skin) {
const mSkin = new UserSkinModifier();
const mCoins = new ManagerCoinsUser();
const mCoins = new UserCoinsModifier();
const tmp = MANAGER_USER.getCurrentUser();
if (tmp !== null) {

@ -9,11 +9,8 @@ import { User } from "../core/User/user"
Import the correct stylesheet
*/
import styles from './style/TopBar.style';
import { useSelector } from "react-redux"
import { RootState } from "../redux/store"
import { MANAGER_USER } from "../../App"
import { useUserStore } from "../context/userContext"
import { useMatchStore } from "../context/matchContext"
import { MANAGER_USER } from "../../appManagers"
/*
Images required

@ -1,6 +1,5 @@
import React from "react";
import create from "zustand";
import { MANAGER_USER } from "../../App";
import { Conversation } from "../core/conversation";

@ -1,10 +1,6 @@
import React from "react";
import create from "zustand";
import { MANAGER_USER } from "../../App";
import tabSkinApp from "../constSkin";
import { Game } from "../core/game";
import { Skin } from "../core/Skin";
import { User } from "../core/User/user";
// Define store types

@ -2,7 +2,7 @@ import { Match } from "./match";
import { User } from "../User/user";
import { Game } from "../game";
import { GameCasino } from "../gameCasino";
import { ManagerCoinsUser } from "../User/userCoinsModifier";
import { UserCoinsModifier } from "../User/userCoinsModifier";
export default class MatchCasino extends Match{
@ -11,7 +11,7 @@ export default class MatchCasino extends Match{
}
updatePostMatch(user:User, points: number): void {
const manage= new ManagerCoinsUser();
const manage= new UserCoinsModifier();
manage.addCoins(user, this.getGame().coinsCalculator(points));
}

@ -1,5 +1,4 @@
import { MANAGER_MATCH } from "../../../App";
import ManagerMatch from "../../services/matchServices/managerMatch";
import { MANAGER_MATCH } from "../../../appManagers";
import { Game } from "../game";
import { User } from "../User/user";
import { Match } from "./match";

@ -2,7 +2,7 @@ import { Match } from "./match";
import { User } from "../User/user";
import { Game } from "../game";
import { GameMulti } from "../gameMulti";
import { ManagerCoinsUser } from "../User/userCoinsModifier";
import { UserCoinsModifier } from "../User/userCoinsModifier";
export default class MatchMulti extends Match{
@ -11,7 +11,7 @@ export default class MatchMulti extends Match{
}
updatePostMatch(user:User, points: number): void {
const manage= new ManagerCoinsUser();
const manage= new UserCoinsModifier();
manage.addCoins(user, this.getGame().coinsCalculator(points));
}
}

@ -2,7 +2,7 @@ import { Match } from "./match";
import { GameSolo } from "../gameSolo";
import { User } from "../User/user";
import { Game } from "../game";
import { ManagerCoinsUser } from "../User/userCoinsModifier";
import { UserCoinsModifier } from "../User/userCoinsModifier";
export default class MatchSolo extends Match{
@ -11,7 +11,7 @@ export default class MatchSolo extends Match{
}
updatePostMatch(user:User, points: number): void {
const manage= new ManagerCoinsUser();
const manage= new UserCoinsModifier();
manage.addCoins(user, this.getGame().coinsCalculator(points));
}
}

@ -1,8 +1,7 @@
import { MANAGER_USER } from "../../../App";
import ManagerUser from "../../services/userServices/managerUser";
import { MANAGER_USER } from "../../../appManagers";
import { User } from "./user";
export class ManagerCoinsUser{
export class UserCoinsModifier{
async addCoins(u:User, coins:number){

@ -2,7 +2,7 @@ import { User } from "./user";
import tabSkinApp from "../../constSkin";
import { Conversation } from "../conversation";
import ManagerUser from "../../services/userServices/managerUser";
import { MANAGER_USER } from "../../../App";
import { MANAGER_USER } from "../../../appManagers";
export class UserCreator{

@ -1,4 +1,4 @@
import { MANAGER_USER } from "../../../App";
import { MANAGER_USER } from "../../../appManagers";
import { User } from "./user";

@ -1,4 +1,4 @@
import { MANAGER_USER } from '../../../App';
import { MANAGER_USER } from '../../../appManagers';
import { Skin } from '../Skin'
import { User } from './user'

@ -6,8 +6,6 @@ import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar';
import { FlatList } from 'react-native-gesture-handler';
import { ConversationComponent } from '../components/ConversationComponent';
import { Conversation } from '../core/conversation';
import { MANAGER_CONVERSATION, MANAGER_USER } from '../../App';
import { useConversationStore } from '../context/conversationContext';
function Chat(props: { navigation: any; }) {

@ -6,14 +6,10 @@ import { Skin } from '../core/skin';
import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar';
import { GameComponent } from '../components/GameComponent';
import { User } from '../core/User/user';
import tabSkinApp from '../constSkin';
import { Conversation } from '../core/conversation';
import { GameSolo } from '../core/gameSolo';
import { ScreenIndicator } from '../components/ScreenIndicator';
import stylesScreen from './style/screens.style'
import { MANAGER_GAME } from '../../App';
import { useGameStore } from '../context/gameContext';
import { MANAGER_GAME } from '../../appManagers';
let tabConv:Conversation[]=[];

@ -6,11 +6,9 @@ import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar';
import { Conversation } from '../core/conversation';
import { ButtonGameTypeChoice } from '../components/ButtonGameTypeChoice';
import { MANAGER_GAME } from '../../App';
import { useGameStore } from '../context/gameContext';
import { GameSolo } from '../core/gameSolo';
import { Game } from '../core/game';
import game from '../testGameSolo';
import { MANAGER_GAME } from '../../appManagers';

@ -6,7 +6,6 @@ import { TopBar } from '../components/TopBar';
import { BotBar } from '../components/BotBar';
import { Conversation } from '../core/conversation';
import { ButtonGameTypeChoice } from '../components/ButtonGameTypeChoice';
import { MANAGER_MATCH } from '../../App';
import { useMatchStore } from '../context/matchContext';

@ -8,7 +8,6 @@ import { BotBar } from '../components/BotBar';
import { SkinComponent } from '../components/Skin';
import { ButtonGreySmall } from '../components/ButtonGreySmall';
import { ScreenIndicator } from '../components/ScreenIndicator';
import { MANAGER_USER } from '../../App';
import { useUserStore } from '../context/userContext';
const coin = require('../../assets/Icons/Coin.png')

@ -5,18 +5,15 @@ import stylesScreen from './style/screens.style';
import styles from './style/Settings.style';
import { TopBar } from '../components/TopBar';
import { ButtonGreySmall } from '../components/ButtonGreySmall';
import { useDispatch, useSelector } from 'react-redux';
import { RootState } from '../redux/store';
import Dialog from "react-native-dialog"
import RNPickerSelect from "react-native-picker-select";
import { PickerGreySmall } from '../components/PickerGreySmall';
import { MANAGER_USER } from '../../App';
import { useUserStore } from '../context/userContext';
import DialogInput from 'react-native-dialog-input';
import UserModificationManager from '../core/User/userModificationManager';
import { MANAGER_USER } from '../../appManagers';
function Settings(props: { navigation: any; }) {
const { navigation } = props
const setUser = useUserStore((state) => state.setUser);
@ -29,26 +26,45 @@ function Settings(props: { navigation: any; }) {
async function changeUsername(username:string){
const m = new UserModificationManager();
const tmp=MANAGER_USER.getCurrentUser();
if (tmp!==null){
await m.changeUsername(tmp, username);
let userManager = new UserModificationManager();
let tmp=MANAGER_USER.getCurrentUser();
if (tmp!=null){
await userManager.changeUsername(tmp, username);
setUser(tmp);
MANAGER_USER.setCurrentUser(tmp);
}
}
async function changePassword(password:string){
const m = new UserModificationManager();
const tmp=MANAGER_USER.getCurrentUser();
if (tmp!==null){
await m.changePassword(tmp, password);
let userManager = new UserModificationManager();
let tmp=MANAGER_USER.getCurrentUser();
if (tmp!=null){
await userManager.changePassword(tmp, password);
setUser(tmp);
MANAGER_USER.setCurrentUser(tmp);
}
}
async function changeSexe(sexe:string){
let userManager = new UserModificationManager();
let tmp=MANAGER_USER.getCurrentUser();
if (tmp!=null && sexe != null){
await userManager.changeSexe(tmp, sexe);
setUser(tmp);
MANAGER_USER.setCurrentUser(tmp);
}
}
async function changeNationality(nationality:string){
let userManager = new UserModificationManager();
let tmp=MANAGER_USER.getCurrentUser();
if (tmp!=null && nationality != null){
await userManager.changeNationality(tmp, nationality);
setUser(tmp);
MANAGER_USER.setCurrentUser(tmp);
}
}
const dispatch=useDispatch();
return (
<View style={stylesScreen.container}>
@ -72,11 +88,11 @@ function Settings(props: { navigation: any; }) {
</View>
<View>
<Text style={styles.text}>Nationalité: {useUserStore().user?.getNationality()}</Text>
<PickerGreySmall title='Changer la nationalité' valueChange={(value:string) => setSelectedNationality(value)} donePress={() => dispatch(updateNationality(selectedNationality))} values={["Francais", "Anglais"]} />
<PickerGreySmall title='Selectionner un pays' valueChange={(value:string) => setSelectedNationality(value)} donePress={() => changeNationality(selectedNationality)} values={[ { label: 'France', value: 'Francais(e)' }, { label: 'Royaume-Uni', value: 'Anglais(e)' }, { label: 'Espagne', value: 'Espagnol(e)' }, { label: 'Belgique', value: 'Belge' }, { label: 'Allemagne', value: 'Allemand(e)' }, ]}/>
</View>
<View>
<Text style={styles.text}>Sexe: {useUserStore().user?.getSexe()}</Text>
<PickerGreySmall title='Changer le sexe' valueChange={(value:string) => setSelectedSex(value)} donePress={() => dispatch(updateSex(selectedSex))} values={["Homme", "Femme", "Autre"]} />
<PickerGreySmall title='Selectionner le sexe' valueChange={(value:string) => setSelectedSex(value)} donePress={() => changeSexe(selectedSex)} values={[ { label: 'Homme', value: 'Homme' }, { label: 'Femme', value: 'Femme' }, {label: 'Autre', value: 'Autre' } ]} />
</View>
</View>
<Text style={styles.textID}>ID: {useUserStore().user?.getId()}</Text>

@ -9,8 +9,8 @@ import { loginUser } from '../redux/features/currentUserSlice';
import { RootState } from '../redux/store';
import { updateIncorrectCredentials } from '../redux/features/credentialErrorsSlice';
import Dialog from "react-native-dialog";
import { MANAGER_USER } from '../../App';
import { useUserStore } from '../context/userContext';
import { MANAGER_USER } from '../../appManagers';

@ -8,7 +8,7 @@ import { FlatList } from 'react-native-gesture-handler';
import { SkinComponent } from '../components/Skin';
import tabSkinApp from '../constSkin';
import { ScreenIndicator } from '../components/ScreenIndicator';
import { MANAGER_USER } from '../../App';
import { MANAGER_USER } from '../../appManagers';

@ -7,11 +7,6 @@ import { BotBar } from '../components/BotBar';
import { FlatList } from 'react-native-gesture-handler';
import { SkinComponent } from '../components/Skin';
import { ScreenIndicator } from '../components/ScreenIndicator';
import { useSelector } from 'react-redux';
import { RootState } from '../redux/store';
import tabSkinApp from '../constSkin';
import { MANAGER_USER } from '../../App';
import { useUserStore } from '../context/userContext';
import { useStoreStore } from '../context/storeContext';

@ -1,28 +0,0 @@
{
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"jsx": "react",
"lib": [
"dom",
"es2017"
],
"module": "esnext",
"moduleResolution": "node",
"noEmit": true,
"noUnusedLocals": false,
"noUnusedParameters": false,
"preserveConstEnums": true,
"removeComments": false,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"target": "esnext"
},
"include": [
"**/*.ts",
"**/*.tsx"
, "tsconfig.test.json" ],
"extends": "expo/tsconfig.base"
}
Loading…
Cancel
Save