diff --git a/README.md b/README.md
index e834043..2acfb91 100644
--- a/README.md
+++ b/README.md
@@ -82,7 +82,7 @@ Tout d'abord, il faut fournir votre *adresse e-mail* et votre *nom Spotify* aux
-

+
@@ -117,19 +117,25 @@ Notre environnement de travail se base sur plusieurs outils et langages :👇
La composition pour le projet se voit réaliser par deux élèves de l'IUT d'Aubière:
-Emre KARTAL : emre.kartal@etu.uca.fr
-
-David D'ALMEIDA : david.d_almeida@etu.uca.fr
+- Emre KARTAL : emre.kartal@etu.uca.fr
+- David D'ALMEIDA : david.d_almeida@etu.uca.fr
+
+
© PM2 (Projet inspiré par nos très chers développeurs de la Dafl Team (S.O les Dafl dev))
+
+
+
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.
+
+
diff --git a/doc/Images/Real_RegisterPage.JPG b/doc/Images/Real_RegisterPage.JPG
deleted file mode 100644
index b73b267..0000000
Binary files a/doc/Images/Real_RegisterPage.JPG and /dev/null differ
diff --git a/doc/Images/Real_RegisterPage.png b/doc/Images/Real_RegisterPage.png
new file mode 100644
index 0000000..8fc8b80
Binary files /dev/null and b/doc/Images/Real_RegisterPage.png differ
diff --git a/src/FLAD/components/CardMusic.tsx b/src/FLAD/components/CardMusic.tsx
index c46f577..ff62bbe 100644
--- a/src/FLAD/components/CardMusic.tsx
+++ b/src/FLAD/components/CardMusic.tsx
@@ -17,7 +17,7 @@ type CustomCardMusic = { //Props
export default function CardMusic(CBP: CustomCardMusic) {
const isDark = useSelector(state => state.userReducer.dark);
- const style = isDark ? GraphicalCharterLight : GraphicalCharterDark;
+ const style = isDark ? GraphicalCharterDark : GraphicalCharterLight;
const currentMusic = useSelector(state => state.appReducer.currentMusic);
const source = typeof CBP.image === 'string' ? { uri: CBP.image } : CBP.image;
diff --git a/src/FLAD/navigation/AuthNavigation.tsx b/src/FLAD/navigation/AuthNavigation.tsx
index 8c220dd..031d2c7 100644
--- a/src/FLAD/navigation/AuthNavigation.tsx
+++ b/src/FLAD/navigation/AuthNavigation.tsx
@@ -1,5 +1,5 @@
import Navigation from './Navigation';
-import { StyleSheet, SafeAreaView } from 'react-native';
+import { StyleSheet, SafeAreaView, AsyncStorage } from 'react-native';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import StartNavigation from './StartNavigation';
import { Provider, useDispatch, useSelector } from 'react-redux';
@@ -7,7 +7,7 @@ import store from '../redux/store';
import { useCallback, useEffect, useState } from 'react';
import * as SplashScreen from 'expo-splash-screen';
import { View } from 'react-native';
-import { getRefreshToken } from '../redux/thunk/authThunk';
+import { ChangeMode, getRefreshToken } from '../redux/thunk/authThunk';
import * as Location from 'expo-location';
// const LOCATION_TASK_NAME = 'flad-background-location-task';
@@ -60,16 +60,28 @@ export default function AuthNavigation() {
// };
// }, []);
+ async function prepare() {
+ //@ts-ignore
+ await dispatch(getRefreshToken())
+ if (tokenProcesed && appIsReady) {
+ await SplashScreen.hideAsync();
+ } // await SplashScreen.hideAsync();
+ }
+ async function ChangeDarkMode() {
+ try {
+ const currentValue = await AsyncStorage.getItem('dark');
+ if (currentValue !== null) {
+ const newValue = JSON.stringify(JSON.parse(currentValue));
+ dispatch(ChangeMode(JSON.parse(newValue)))
+ }
+ } catch (error) {
+ console.log(`Une erreur s'est produite lors de la mise à jour de la valeur booléenne pour la clé 'dark': `, error);
+ }
+ }
useEffect(() => {
- async function prepare() {
- //@ts-ignore
- await dispatch(getRefreshToken())
- if (tokenProcesed && appIsReady) {
- await SplashScreen.hideAsync();
- } // await SplashScreen.hideAsync();
- }
+ ChangeDarkMode();
prepare();
}, [appIsReady, tokenProcesed]);
diff --git a/src/FLAD/navigation/Navigation.tsx b/src/FLAD/navigation/Navigation.tsx
index a5d3b55..8ee9e98 100644
--- a/src/FLAD/navigation/Navigation.tsx
+++ b/src/FLAD/navigation/Navigation.tsx
@@ -21,7 +21,7 @@ import SpotifyService from '../services/spotify/spotify.service';
export default function Navigation() {
const isDark = useSelector(state => state.userReducer.dark);
- const style = isDark ? GraphicalCharterLight : GraphicalCharterDark;
+ const style = isDark ? GraphicalCharterDark : GraphicalCharterLight;
const BottomTabNavigator = createBottomTabNavigator();
const MyTheme = {
dark: false,
diff --git a/src/FLAD/package.json b/src/FLAD/package.json
index 72ede96..31ffb22 100644
--- a/src/FLAD/package.json
+++ b/src/FLAD/package.json
@@ -9,6 +9,7 @@
"web": "expo start --web"
},
"dependencies": {
+ "@react-native-async-storage/async-storage": "^1.17.11",
"@react-navigation/bottom-tabs": "^6.5.4",
"@react-navigation/native": "^6.1.4",
"@react-navigation/native-stack": "^6.9.8",
diff --git a/src/FLAD/redux/actions/userActions.tsx b/src/FLAD/redux/actions/userActions.tsx
index 7164c60..42f175e 100644
--- a/src/FLAD/redux/actions/userActions.tsx
+++ b/src/FLAD/redux/actions/userActions.tsx
@@ -3,15 +3,15 @@ import { userTypes } from "../types/userTypes";
export interface Credentials {
- email : string,
- password : string
+ email: string,
+ password: string
}
export interface CredentialsRegister {
- email : string,
- password : string,
- name : string,
- idFlad : string,
- idSpotify : string
+ email: string,
+ password: string,
+ name: string,
+ idFlad: string,
+ idSpotify: string
}
// export const setLoggedInState = loggedInState => (
// {
@@ -19,34 +19,48 @@ export interface CredentialsRegister {
// loggedInState,
// }
// );
-export const setLoginState = (cred : Credentials) => {
+export const setLoginState = (userJson: any) => {
+ const user = new User(userJson.data.idFlad,userJson.data.idSpotify,userJson.data.email,new Date(),userJson.data.name, require('../../assets/images/jul.png'));
return {
- type: userTypes.LOGIN,
- playload : cred
+ type: userTypes.LOGIN,
+ playload: user
};
}
-export const restoreToken = (token : string) => {
+export const restoreToken = (token: string) => {
return {
- type: userTypes.RESTORE_TOKEN,
- playload : token
+ type: userTypes.RESTORE_TOKEN,
+ playload: token
+ };
+}
+export const userSignUp = (user: User) => {
+ return {
+ type: userTypes.LOGIN,
+ playload: user
};
}
-export const userSignUp = (user : User) => {
- return {
- type: userTypes.LOGIN,
- playload : user
- };
- }
- export const UserLogout = () => {
- return {
- type: userTypes.USER_LOGOUT,
- };
- }
-
- export const userChangeMode = () => {
- return {
- type: userTypes.CHANGE_MODE,
- };
- }
\ No newline at end of file
+export const UserLogout = () => {
+ return {
+ type: userTypes.USER_LOGOUT,
+ };
+}
+
+export const userChangeMode = (value: boolean) => {
+ return {
+ type: userTypes.CHANGE_MODE,
+ playload: value
+ };
+}
+
+export const ChangeErrorLogin = () => {
+ return {
+ type: userTypes.CHANGE_ERROR_LOGIN,
+ };
+}
+
+export const ChangeErrorSignup = () => {
+ return {
+ type: userTypes.CHANGE_ERROR_SIGNUP,
+ };
+}
\ No newline at end of file
diff --git a/src/FLAD/redux/reducers/userReducer.tsx b/src/FLAD/redux/reducers/userReducer.tsx
index 908bef2..ad28a6e 100644
--- a/src/FLAD/redux/reducers/userReducer.tsx
+++ b/src/FLAD/redux/reducers/userReducer.tsx
@@ -1,3 +1,4 @@
+import AsyncStorage from '@react-native-async-storage/async-storage';
import { User } from "../../Model/User";
import { userTypes } from "../types/userTypes";
const initialState = {
@@ -7,7 +8,9 @@ const initialState = {
userSpotifyToken: null,
error: null,
isLogedIn: false,
- dark: false,
+ failedLogin: false,
+ failedSignup: false,
+ dark: null
}
const userReducer = (state = initialState, action: any) => {
@@ -24,25 +27,38 @@ const userReducer = (state = initialState, action: any) => {
isLogedIn: resp,
};
case userTypes.LOGIN:
+ AsyncStorage.setItem('dark', JSON.stringify(false)).then(() => {
+ console.log('La nouvelle clé et sa valeur ont été créées dans le localstorage');
+ });
console.log("++++++++++++++++++++++++++++++++++++++userRducer+++++++++++++++++++++++++++++3");
console.log(action.playload, "LOOGGIIINN");
console.log("++++++++++++++++++++++++++++++++++++++userRducer+++++++++++++++++++++++++++++3");
return {
...state,
user: action.playload,
- isLogedIn: true
+ failedLogin: false,
+ isLogedIn: true,
+ dark: false
};
case userTypes.SIGNUP:
+ AsyncStorage.setItem('dark', JSON.stringify(false)).then(() => {
+ console.log('La nouvelle clé et sa valeur ont été créées dans le localstorage');
+ });
console.log("++++++++++++++++++++++++++++++++++++++userRducer+++++++++++++++++++++++++++++3");
- console.log(action.playload, "LOOGGIIINN");
+ console.log(action.playload, "SIGNNNNNUUUUPPPPPPP");
console.log("++++++++++++++++++++++++++++++++++++++userRducer+++++++++++++++++++++++++++++3");
return {
...state,
user: action.playload,
- isLogedIn: true
+ failedSignup: false,
+ isLogedIn: true,
+ dark: false
};
case userTypes.USER_LOGOUT:
+ AsyncStorage.removeItem('dark').then(() => {
+ console.log('La clé a été supprimée du localstorage');
+ });
return {
...state,
user: null,
@@ -53,8 +69,12 @@ const userReducer = (state = initialState, action: any) => {
...state,
userSpotifyToken: action.playload,
};
+ case userTypes.CHANGE_ERROR_LOGIN:
+ return { ...state, failedLogin: true }
+ case userTypes.CHANGE_ERROR_SIGNUP:
+ return { ...state, failedSignup: true }
case userTypes.CHANGE_MODE:
- return { ...state, dark: !state.dark }
+ return { ...state, dark: action.playload }
default:
return state;
}
diff --git a/src/FLAD/redux/thunk/authThunk.tsx b/src/FLAD/redux/thunk/authThunk.tsx
index f6931e1..f68d286 100644
--- a/src/FLAD/redux/thunk/authThunk.tsx
+++ b/src/FLAD/redux/thunk/authThunk.tsx
@@ -4,57 +4,60 @@ import axios from "axios";
import { json } from "express";
import { useEffect } from "react";
import { API_URL } from "../../fladConfig";
-import { Credentials, CredentialsRegister, restoreToken, setLoginState, UserLogout, userChangeMode, userSignUp } from "../actions/userActions";
+import { Credentials, CredentialsRegister, restoreToken, setLoginState, UserLogout, userChangeMode, userSignUp, ChangeErrorLogin, ChangeErrorSignup } from "../actions/userActions";
import * as SecureStore from 'expo-secure-store';
import { User } from "../../Model/User";
import { UserFactory } from "../../Model/factory/UserFactory";
+import * as ImagePicker from 'expo-image-picker';
const key = 'userToken';
-export const registerUser = ( resgisterCredential : CredentialsRegister) => {
+export const registerUser = (resgisterCredential: CredentialsRegister) => {
//@ts-ignore
return async dispatch => {
try {
console.log(resgisterCredential);
- const config = {
- headers: {
+ const config = {
+ headers: {
'Content-Type': 'application/json',
- },
+ },
}
const resp = await axios.post(
- `${API_URL}/api/users/register`,
- resgisterCredential,
- config
- )
+ `${API_URL}/api/users/register`,
+ resgisterCredential,
+ config
+ )
- if (resp.data.token) {
- console.log(resp.data.token);
- const token = resp.data.token;
+ if (resp.data.token) {
+ console.log(resp.data.token);
+ const token = resp.data.token;
// await SecureStore.setItemAsync(key, token);
const headers = {
- 'Authorization': 'Bearer ' + token};
+ 'Authorization': 'Bearer ' + token
+ };
const user = await axios.get(
"https://flad-api-production.up.railway.app/api/users",
- {headers}
- )
- dispatch(userSignUp( UserFactory.JsonToModel(user.data) )); // our action is called here
- // console.log(user.data);
+ { headers }
+ )
+ dispatch(userSignUp(UserFactory.JsonToModel(user.data))); // our action is called here
+ // console.log(user.data);
// dispatch(setLoginState(user.data) ); // our action is called here
- } else {
+ } else {
console.log('Login Failed', 'Username or Password is incorrect');
- }
+ }
- // if (resp.data.msg === 'success') { // response success checking logic could differ
- // await SecureStore.setItemAsync(key, resp.data.token);
- // dispatch(setLoginState(resp.data.user) ); // our action is called here
- // } else {
- // console.log('Login Failed', 'Username or Password is incorrect');
- // }
+ // if (resp.data.msg === 'success') { // response success checking logic could differ
+ // await SecureStore.setItemAsync(key, resp.data.token);
+ // dispatch(setLoginState(resp.data.user) ); // our action is called here
+ // } else {
+ // console.log('Login Failed', 'Username or Password is incorrect');
+ // }
} catch (error) {
console.log('Error---------', error);
+ dispatch(ChangeErrorSignup())
}
}
}
@@ -95,12 +98,14 @@ export const userLogin = (loginCredential: Credentials) => {
)
// dispatch(setLoginState(resp.data.user) ); // our action is called here
console.log(user.data);
+
dispatch(setLoginState(user.data)); // our action is called here
} else {
console.log('Login Failed', 'Username or Password is incorrect');
}
} catch (error) {
+ dispatch(ChangeErrorLogin())
console.log('Error---------', error);
}
}
@@ -146,14 +151,21 @@ export const DeleteToken = () => {
}
}
-export const ChangeMode = () => {
+export const ChangeMode = (value: boolean) => {
+ //@ts-ignore
+ return async dispatch => {
+ dispatch(userChangeMode(value));
+ }
+}
+
+export const ChangeImageUserCurrent = (value: ImagePicker) => {
//@ts-ignore
return async dispatch => {
- dispatch(userChangeMode());
- await SecureStore.deleteItemAsync(key);
+ dispatch(userChangeImage(value));
}
}
+
// const logIn = (email, password) => {
// const action = (dispatch) => {
// if (email === user.email && password === user.password) {
diff --git a/src/FLAD/redux/types/userTypes.tsx b/src/FLAD/redux/types/userTypes.tsx
index 12d45ad..8ced6fe 100644
--- a/src/FLAD/redux/types/userTypes.tsx
+++ b/src/FLAD/redux/types/userTypes.tsx
@@ -6,5 +6,7 @@ export const userTypes = {
UPDATE_PROFILE_PICTURE: 'UPDATE_PROFILE_PICTURE',
USER_LOGOUT: 'USER_LOGOUT',
RESTORE_TOKEN: "RESTORE_TOKEN",
- CHANGE_MODE: "CHANGE_MODE"
+ CHANGE_MODE: "CHANGE_MODE",
+ CHANGE_ERROR_LOGIN: "CHANGE_ERROR_LOGIN",
+ CHANGE_ERROR_SIGNUP: "CHANGE_ERROR_SIGNUP"
}
\ No newline at end of file
diff --git a/src/FLAD/screens/Favorite.tsx b/src/FLAD/screens/Favorite.tsx
index a9e11d7..042a6fb 100644
--- a/src/FLAD/screens/Favorite.tsx
+++ b/src/FLAD/screens/Favorite.tsx
@@ -12,14 +12,14 @@ import { GraphicalCharterDark } from '../assets/GraphicalCharterDark';
import { GraphicalCharterLight } from '../assets/GraphicalCharterLight';
export default function favoritePage() {
+ const dispatch = useDispatch();
//Dark Mode
const isDark = useSelector(state => state.userReducer.dark);
- const style = isDark ? GraphicalCharterLight : GraphicalCharterDark;
+ const style = isDark ? GraphicalCharterDark : GraphicalCharterLight;
const navigation = useNavigation();
//@ts-ignore
const favoritesMusic = useSelector(state => state.appReducer.favoriteMusic);
- const dispatch = useDispatch();
const images = [
{ id: 1, source: require('../assets/images/FLADYLove.png') },
{ id: 2, source: require('../assets/images/FLADYStar.png') },
diff --git a/src/FLAD/screens/LoginPage.tsx b/src/FLAD/screens/LoginPage.tsx
index 617f1fb..9453f6d 100644
--- a/src/FLAD/screens/LoginPage.tsx
+++ b/src/FLAD/screens/LoginPage.tsx
@@ -3,7 +3,7 @@ import { View, Image, StyleSheet, Text, ImageBackground, TextInput, TouchableWit
import { useNavigation } from "@react-navigation/native";
import normalize from '../components/Normalize';
import { userLogin } from '../redux/thunk/authThunk';
-import { useDispatch } from 'react-redux';
+import { useDispatch, useSelector } from 'react-redux';
import { Audio } from 'expo-av';
import { Credentials } from '../redux/actions/userActions';
@@ -19,6 +19,8 @@ export default function loginPage() {
const [rememberMe, setRememberMe] = useState(false);
const navigation = useNavigation();
+ const failedLogin = useSelector(state => state.userReducer.failedLogin);
+
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
async function playSound() {
@@ -56,14 +58,19 @@ export default function loginPage() {
SE CONNECTER
-
- Email ou mot de passe incorrect!
+ )}
+
+
@@ -118,6 +125,12 @@ const styles = StyleSheet.create({
height: normalize(100),
borderRadius: 21
},
+ textError: {
+ fontSize: 15,
+ alignSelf: "center",
+ color: "red",
+ fontWeight: 'bold'
+ },
buttonImage: {
width: normalize(46),
height: normalize(46),
@@ -152,7 +165,7 @@ const styles = StyleSheet.create({
fontSize: normalize(29),
alignSelf: 'center',
color: 'white',
- marginBottom: 15
+ marginBottom: 8
},
shadow: {
shadowColor: 'black',
diff --git a/src/FLAD/screens/Register.tsx b/src/FLAD/screens/Register.tsx
index e543f5f..d96411a 100644
--- a/src/FLAD/screens/Register.tsx
+++ b/src/FLAD/screens/Register.tsx
@@ -7,7 +7,7 @@ import * as AuthSession from 'expo-auth-session';
import * as WebBrowser from 'expo-web-browser';
import { makeRedirectUri, useAuthRequest } from 'expo-auth-session';
import { registerUser } from '../redux/thunk/authThunk';
-import { useDispatch } from 'react-redux';
+import { useDispatch, useSelector } from 'react-redux';
import { Audio } from 'expo-av';
import { CredentialsRegister } from '../redux/actions/userActions';
import { Buffer } from 'buffer';
@@ -41,6 +41,8 @@ export default function InscriptionPage() {
const navigation = useNavigation();
const [spotifyToken, setSpotifyToken] = useState('');
const [spotifyID, setSpotifyIds] = useState('')
+ const failedSignup = useSelector(state => state.userReducer.failedSignup);
+
async function playSound() {
console.log('Loading Sound');
const { sound } = await Audio.Sound.createAsync(
@@ -238,20 +240,26 @@ export default function InscriptionPage() {
S'INSCRIRE
-
+ {failedSignup && (
+ Email ou mot de passe incorrect!
+ )}
+
@@ -307,6 +315,12 @@ const styles = StyleSheet.create({
height: normalize(100),
borderRadius: 21
},
+ textError: {
+ fontSize: 15,
+ alignSelf: "center",
+ color: "red",
+ fontWeight: 'bold'
+ },
buttonImage: {
width: normalize(46),
height: normalize(46),
@@ -324,7 +338,7 @@ const styles = StyleSheet.create({
fontSize: normalize(29),
alignSelf: 'center',
color: 'white',
- marginBottom: 15
+ marginBottom: 8
},
textIntoButton: {
fontWeight: 'bold',
diff --git a/src/FLAD/screens/Setting.tsx b/src/FLAD/screens/Setting.tsx
index 33049e1..c5d9185 100644
--- a/src/FLAD/screens/Setting.tsx
+++ b/src/FLAD/screens/Setting.tsx
@@ -1,4 +1,5 @@
import React, { useEffect, useRef, useState } from 'react';
+import AsyncStorage from '@react-native-async-storage/async-storage';
import { View, StyleSheet, Text, Image, TouchableWithoutFeedback, Keyboard, TouchableOpacity, SafeAreaView } from 'react-native';
import { Svg, Path } from 'react-native-svg';
import { useNavigation } from "@react-navigation/native";
@@ -33,10 +34,20 @@ export default function Setting() {
//Dark Mode
const isDark = useSelector(state => state.userReducer.dark);
- const style = isDark ? GraphicalCharterLight : GraphicalCharterDark;
- const ChangeDarkMode = () => {
- dispatch(ChangeMode())
+ const style = isDark ? GraphicalCharterDark : GraphicalCharterLight;
+
+ async function ChangeDarkMode() {
+ try {
+ const currentValue = await AsyncStorage.getItem('dark');
+ if (currentValue !== null) {
+ const newValue = JSON.stringify(!JSON.parse(currentValue));
+ await AsyncStorage.setItem('dark', newValue);
+ dispatch(ChangeMode(JSON.parse(newValue)))
+ }
+ } catch (error) {
+ console.log(`Une erreur s'est produite lors de la mise à jour de la valeur booléenne pour la clé 'dark': `, error);
+ }
}
//Notification
@@ -87,7 +98,7 @@ export default function Setting() {
},
inputSearch: {
placeholderTextColor: 'red',
- color: 'white',
+ color: style.Text,
width: normalize(350),
},
profil: {
@@ -319,7 +330,7 @@ export default function Setting() {
-
+
diff --git a/src/FLAD/screens/SettingProfil.tsx b/src/FLAD/screens/SettingProfil.tsx
index 66dff37..b3caee4 100644
--- a/src/FLAD/screens/SettingProfil.tsx
+++ b/src/FLAD/screens/SettingProfil.tsx
@@ -1,16 +1,17 @@
-import React, { useState, useRef } from 'react';
+import React, { useState, useRef, useEffect } from 'react';
import { View, Text, StyleSheet, TouchableWithoutFeedback, Keyboard, ScrollView, Image } from 'react-native';
import { TextInput, TouchableOpacity } from 'react-native-gesture-handler';
import { Svg, Path } from 'react-native-svg';
import Modal from "react-native-modal";
import { useNavigation } from "@react-navigation/native";
-import { useSelector } from 'react-redux';
+import { useDispatch, useSelector } from 'react-redux';
import normalize from '../components/Normalize';
import * as ImagePicker from 'expo-image-picker';
import { SafeAreaView } from 'react-native-safe-area-context';
import { GraphicalCharterDark } from '../assets/GraphicalCharterDark';
import { GraphicalCharterLight } from '../assets/GraphicalCharterLight';
+import AsyncStorage from '@react-native-async-storage/async-storage';
// @ts-ignore
const DismissKeyboard = ({ children }) => (
@@ -22,14 +23,20 @@ const DismissKeyboard = ({ children }) => (
export default function SettingProfil() {
//Dark Mode
+ const dispatch = useDispatch();
const isDark = useSelector(state => state.userReducer.dark);
- const style = isDark ? GraphicalCharterLight : GraphicalCharterDark;
+ const UserCurrent = useSelector(state => state.userReducer.user);
+
+ const style = isDark ? GraphicalCharterDark : GraphicalCharterLight;
- const [image, setImage] = useState(null);
const navigation = useNavigation();
const [currentIndex, setCurrentIndex] = useState(0);
const [isModalVisible, setIsModalVisible] = React.useState(false);
+ useEffect(() => {
+ console.log(UserCurrent.image);
+ });
+
const handleModal = () => setIsModalVisible(() => !isModalVisible);
// @ts-ignore
const viewableItemsChanged = useRef(({ viewableItems }) => {
@@ -44,11 +51,7 @@ export default function SettingProfil() {
aspect: [4, 3],
quality: 1,
});
-
- console.log(result);
-
if (!result.canceled) {
- setImage(result.assets[0].uri);
}
};
@@ -172,12 +175,12 @@ export default function SettingProfil() {
textInputId: {
marginLeft: 50,
width: '57%',
- color: 'white',
+ color: style.Text,
fontSize: normalize(18),
},
textInputMail: {
marginLeft: 100,
- color: 'white',
+ color: style.Text,
width: '57%',
fontSize: normalize(18)
},
@@ -278,7 +281,7 @@ export default function SettingProfil() {
Profil
- {image && }
+
@@ -291,11 +294,11 @@ export default function SettingProfil() {
Identifiant
-
+
Mail
-
+