From 78d899aa33996f473a02da1d318d753964c1b059 Mon Sep 17 00:00:00 2001 From: alguilhot Date: Fri, 21 Oct 2022 19:01:31 +0200 Subject: [PATCH] ADD: Ajout du contenu du Fichier Settings --- bob_party/src/screens/Settings.tsx | 96 +++++++++++++++---- bob_party/src/screens/style/Settings.style.js | 7 +- 2 files changed, 81 insertions(+), 22 deletions(-) diff --git a/bob_party/src/screens/Settings.tsx b/bob_party/src/screens/Settings.tsx index 2341d46..9c122da 100644 --- a/bob_party/src/screens/Settings.tsx +++ b/bob_party/src/screens/Settings.tsx @@ -1,23 +1,34 @@ import { StatusBar } from 'expo-status-bar' -import { StyleSheet, View, Text, Alert} from 'react-native' -import React from 'react'; +import { View, Text } from 'react-native' +import React, { useState } from 'react'; import stylesScreen from './style/screens.style'; import styles from './style/Settings.style'; import { TopBar } from '../components/TopBar'; -import { User } from '../core/user'; - -import tabSkinApp from '../constSkin'; -import tabConv from '../constCov'; import { ButtonGreySmall } from '../components/ButtonGreySmall'; -import { title } from 'process'; -import { info } from 'console'; +import { useDispatch, useSelector } from 'react-redux'; +import { RootState } from '../redux/store'; +import DialogInput from "react-native-dialog-input"; +import { updatePseudo, updatePassword, updateNationality, updateSex } from "../redux/features/currentUserSlice"; +import Dialog from "react-native-dialog" +import RNPickerSelect from "react-native-picker-select"; +import tabNat from '../constNat'; +import tabSex from '../constSex'; +function Settings(props: { navigation: any; }) { + const { navigation } = props -const UserActu=new User("14", "leBg", "MdpDeOuf", "ouioui", "grand", new Date(2022,12,12), 12222, 123324, 12, tabSkinApp[0], tabSkinApp, tabConv); + const currentUser = useSelector((state: RootState) => state.currentUser.value)[0]; + const [dialogPseudoVisible, setDialogPseudoVisible] = useState(false); + const [dialogPasswordVisible, setDialogPasswordVisible] = useState(false); + const [dialogNationalityVisible, setDialogNationalityVisible] = useState(false); + const [dialogSexVisible, setDialogSexVisible] = useState(false); + + const [selectedSex, setSelectedSex] = useState(""); + const [selectedNationality, setSelectedNationality] = useState(""); + + const dispatch=useDispatch(); -function Store(props: { navigation: any; }) { - const { navigation } = props return ( - Pseudo: {UserActu.getUsername()} - + Pseudo: {currentUser.getUsername()} + setDialogPseudoVisible(true)} title='Changer le pseudo'/> - Mot de passe: {UserActu.getPassword()} - console.log('changer mdp')} title='Changer le mot de passe'/> + Mot de passe: {currentUser.getPassword()} + setDialogPasswordVisible(true)} title='Changer le mot de passe'/> - Nationalité: {UserActu.getNationality()} - console.log('changer nat')} title='Changer la nationnalité'/> + Nationalité: {currentUser.getNationality()} + setDialogNationalityVisible(true)} title='Changer la nationnalité'/> - Sexe: {UserActu.getSexe()} - console.log('changer sexe')} title='Changer le sexe'/> + Sexe: {currentUser.getSexe()} + setDialogSexVisible(true)} title='Changer le sexe'/> - ID: {UserActu.getId()} + ID: {currentUser.getId()} + + {dispatch(updatePseudo(inputText)); setDialogPseudoVisible(false)} } + closeDialog={ () => {setDialogPseudoVisible(false)}}> + + + {dispatch(updatePassword(inputText)); setDialogPasswordVisible(false)} } + closeDialog={ () => {setDialogPasswordVisible(false)}}> + + + + Changer de nationalité + + setSelectedNationality(value)} + items={tabNat} + /> + + setDialogNationalityVisible(false)} /> + {dispatch(updateNationality(selectedNationality)); setDialogNationalityVisible(false)}} /> + + + + Changer de sexe + + setSelectedSex(value)} + items={tabSex} + /> + + setDialogSexVisible(false)} /> + {dispatch(updateSex(selectedSex)); setDialogSexVisible(false)}} /> + + ); } -export default Store \ No newline at end of file +export default Settings \ No newline at end of file diff --git a/bob_party/src/screens/style/Settings.style.js b/bob_party/src/screens/style/Settings.style.js index 8d1816e..a1edfb3 100644 --- a/bob_party/src/screens/style/Settings.style.js +++ b/bob_party/src/screens/style/Settings.style.js @@ -27,5 +27,10 @@ export default StyleSheet.create({ borderWidth: 2, width: '90%', margin: 15, - padding: 15,} + padding: 15, + }, + RNPView: { + alignSelf: 'center', + padding: 20, + } }); \ No newline at end of file