diff --git a/src/FLAD/App.tsx b/src/FLAD/App.tsx index 132d682..84a6c29 100644 --- a/src/FLAD/App.tsx +++ b/src/FLAD/App.tsx @@ -1,9 +1,7 @@ -import { StyleSheet } from 'react-native'; import { Provider } from 'react-redux'; import store from './redux/store'; import AuthNavigation from './navigation/AuthNavigation'; import * as SplashScreen from 'expo-splash-screen'; -import SpotifyService from './services/spotify/spotify.service'; SplashScreen.preventAutoHideAsync(); @@ -15,11 +13,3 @@ export default function App() { ); } - -const styles = StyleSheet.create({ - mainSafeArea: { - flex: 1, - backgroundColor: "#141414", - } -}); -export const theService = new SpotifyService('BQC0rAGJvxTt4-24P-nda6qP9iXYCql2eApnUAoEbZZkKemJ11cU3Nx-I_tKVX0FwEgFbIbSIuaVvxOapRVJq2z1Htyy3XQ5jIYNsrhrnp3KTCfppamAjxgDTf6khBrNGTxe6CNKBsMhc5IRnphey5Td2zJPvGMwnFFfMQdCtVAVsCNK7kPKlCAaf_kRMAoPn30Qk4RD45XmwtZIwQg7X0J4beGuHSiBf0MRjhsnFEW89GxVm8YuIVwgrDbF3izfPR0AlqS4IMJT5m4pEA72lYEwp1JnSDVsafILzmksaqG-11H3WAsWIENrOIu_j7qNgbvYwmUWXOrYmeWBkQ'); diff --git a/src/FLAD/Model/Artist.tsx b/src/FLAD/Model/Artist.tsx index 35c3a3e..dac88f0 100644 --- a/src/FLAD/Model/Artist.tsx +++ b/src/FLAD/Model/Artist.tsx @@ -1,12 +1,17 @@ export default class Artist { private id: string; private name: string; - private url: string; // Image.source + private _url: string; // Image.source constructor(id: string, name: string, url: string) { this.id = id; this.name = name; - this.url = url; + this._url = url; } + get url(): string { + return this.url; + } + + } \ No newline at end of file diff --git a/src/FLAD/components/Friend.tsx b/src/FLAD/components/Friend.tsx new file mode 100644 index 0000000..80e1d65 --- /dev/null +++ b/src/FLAD/components/Friend.tsx @@ -0,0 +1,84 @@ +import React from 'react'; +import { StyleSheet, Text, View, Image } from 'react-native'; +import { color } from 'react-native-reanimated'; +import { useSelector } from 'react-redux'; +import { GraphicalCharterDark } from '../assets/GraphicalCharterDark'; +import { GraphicalCharterLight } from '../assets/GraphicalCharterLight'; +import normalize from './Normalize'; + +type FriendProps = { + image: string; + name: string; + lastMessage: string; +} + +export default function Friend(friend: FriendProps) { + // @ts-ignore + const isDark = useSelector(state => state.userReducer.dark); + + const style = isDark ? GraphicalCharterDark : GraphicalCharterLight; + + const source = typeof friend.image === 'string' ? { uri: friend.image } : friend.image; + + const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + alignItems: 'center', + paddingVertical: 9, + }, + image: { + marginLeft: 15, + marginRight: 12, + width: 55, + height: 55, + borderRadius: 180 + }, + name: { + fontWeight: "500", + color: style.Text, + fontSize: normalize(16) + }, + lastMessageContainer: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'flex-start', + maxWidth: '90%' + }, + lastMessage: { + fontSize: normalize(18), + color: '#989898', + flexShrink: 1 + }, + time: { + fontSize: normalize(18), + color: '#989898' + }, + profilContainer: { + marginTop: 5, + flex: 1, + marginLeft: 5, + alignItems: 'flex-start', + justifyContent: 'center', + }, + button: { + width: normalize(13), + height: normalize(13), + marginRight: 42 + } + }) + + return ( + + + + {friend.name} + + {friend.lastMessage} + · 1sem + + + + + ) +} diff --git a/src/FLAD/components/Genre.tsx b/src/FLAD/components/Genre.tsx index f87efac..6bf423a 100644 --- a/src/FLAD/components/Genre.tsx +++ b/src/FLAD/components/Genre.tsx @@ -5,14 +5,14 @@ import { Artist } from "./Artist"; export const ArtistLayout = () => { const MUSIC_LIST: Music[] = [ - new Music("La pharmacie", "Jul", require("../assets/images/jul.png")), - new Music("Deux frères", "PNL", require("../assets/images/pnl.png")), - new Music("Bambina", "PNL", "https://upload.wikimedia.org/wikipedia/en/a/a0/PNL_-_Dans_la_l%C3%A9gende.png"), - new Music("Stratos", "Kekra", "https://images.genius.com/ddc9cadedd1d4cef0860aaa85af9cd46.705x705x1.png"), - new Music("Autobahn", "Sch", "https://images.genius.com/83b6c98680d38bde1571f6b4093244b5.1000x1000x1.jpg"), - new Music("Freeze Raël", "Freeze Corleone", "https://intrld.com/wp-content/uploads/2020/08/freeze-corleone-la-menace-fanto%CC%82me.png"), - new Music("Blanka", "PNL", require("../assets/images/pnl.png")), - new Music("Kratos", "PNL", "https://upload.wikimedia.org/wikipedia/en/a/a0/PNL_-_Dans_la_l%C3%A9gende.png"), + new Music("La pharmacie", "Jul", require("../assets/images/jul.png"),"",""), + new Music("Deux frères", "PNL", require("../assets/images/pnl.png"),"",""), + new Music("Bambina", "PNL", "https://upload.wikimedia.org/wikipedia/en/a/a0/PNL_-_Dans_la_l%C3%A9gende.png","",""), + new Music("Stratos", "Kekra", "https://images.genius.com/ddc9cadedd1d4cef0860aaa85af9cd46.705x705x1.png","",""), + new Music("Autobahn", "Sch", "https://images.genius.com/83b6c98680d38bde1571f6b4093244b5.1000x1000x1.jpg","",""), + new Music("Freeze Raël", "Freeze Corleone", "https://intrld.com/wp-content/uploads/2020/08/freeze-corleone-la-menace-fanto%CC%82me.png","",""), + new Music("Blanka", "PNL", require("../assets/images/pnl.png"),"",""), + new Music("Kratos", "PNL", "https://upload.wikimedia.org/wikipedia/en/a/a0/PNL_-_Dans_la_l%C3%A9gende.png","",""), ] const [artists, setArtists] = useState(MUSIC_LIST); @@ -23,7 +23,7 @@ export const ArtistLayout = () => { artist={artist} key={artist.title} onPress={() => { - const tmppArtist = new Music("Kratos", "PNL", "https://upload.wikimedia.org/wikipedia/en/a/a0/PNL_-_Dans_la_l%C3%A9gende.png"); + const tmppArtist = new Music("Kratos", "PNL", "https://upload.wikimedia.org/wikipedia/en/a/a0/PNL_-_Dans_la_l%C3%A9gende.png","",""); artists.push(tmppArtist); setArtists([...artists]); diff --git a/src/FLAD/components/Messaging.tsx b/src/FLAD/components/Messaging.tsx new file mode 100644 index 0000000..566b5dd --- /dev/null +++ b/src/FLAD/components/Messaging.tsx @@ -0,0 +1,3 @@ +export default function Messaging() { + +} \ No newline at end of file diff --git a/src/FLAD/components/Onboarding.tsx b/src/FLAD/components/Onboarding.tsx index 4ecdf07..71225a5 100644 --- a/src/FLAD/components/Onboarding.tsx +++ b/src/FLAD/components/Onboarding.tsx @@ -66,7 +66,6 @@ export default function Onboarding() { right: 10 }, modalContent: { - flex: 1, justifyContent: 'center', alignItems: 'center', @@ -77,8 +76,7 @@ export default function Onboarding() { alignItems: 'center' }, backgroundImage: { - flex: 1, - width: '100%', + width: '103%', height: '100%', }, imageButton: { @@ -164,7 +162,7 @@ export default function Onboarding() { - + @@ -186,11 +184,19 @@ export default function Onboarding() { }}> CONTINUER AVEC SPOTIFY - { handleModal(); navigation.navigate('Register'); }}> + { handleModal(); navigation.navigate('Register'); }} + > S’INSCRIRE MAINTENANT - { handleModal(); navigation.navigate('Login'); }}> + { handleModal(); navigation.navigate('Login'); }} + > SE CONNECTER diff --git a/src/FLAD/components/Paginator.tsx b/src/FLAD/components/Paginator.tsx index 8252a6e..c622b68 100644 --- a/src/FLAD/components/Paginator.tsx +++ b/src/FLAD/components/Paginator.tsx @@ -3,6 +3,7 @@ import { View, StyleSheet, Animated, useWindowDimensions } from 'react-native'; import normalize from '../components/Normalize'; +// @ts-ignore export default function Paginator({ data, scrollX }) { const { width } = useWindowDimensions(); diff --git a/src/FLAD/navigation/AuthNavigation.tsx b/src/FLAD/navigation/AuthNavigation.tsx index d9b5b4d..e8c2e32 100644 --- a/src/FLAD/navigation/AuthNavigation.tsx +++ b/src/FLAD/navigation/AuthNavigation.tsx @@ -1,5 +1,5 @@ import Navigation from './Navigation'; -import { AsyncStorage } from 'react-native'; +import AsyncStorage from '@react-native-async-storage/async-storage'; import { SafeAreaProvider } from 'react-native-safe-area-context'; import StartNavigation from './StartNavigation'; import { useDispatch, useSelector } from 'react-redux'; @@ -7,7 +7,7 @@ import { useEffect, useState } from 'react'; import * as SplashScreen from 'expo-splash-screen'; import { ChangeMode, getRefreshToken } from '../redux/thunk/authThunk'; import * as Location from 'expo-location'; -import { theService } from '../App'; +import SpotifyService from '../services/spotify/spotify.service'; import { getCurrentUserMusic } from '../redux/thunk/spotThunk'; import Music from '../Model/Music'; @@ -38,8 +38,9 @@ export default function AuthNavigation() { const currentValue = await AsyncStorage.getItem('dark'); if (currentValue !== null) { const newValue = JSON.stringify(JSON.parse(currentValue)); + //@ts-ignore 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); } @@ -94,8 +95,11 @@ export default function AuthNavigation() { {isLogin ? ( ) : - + } ) } + +const theService = new SpotifyService('BQC0rAGJvxTt4-24P-nda6qP9iXYCql2eApnUAoEbZZkKemJ11cU3Nx-I_tKVX0FwEgFbIbSIuaVvxOapRVJq2z1Htyy3XQ5jIYNsrhrnp3KTCfppamAjxgDTf6khBrNGTxe6CNKBsMhc5IRnphey5Td2zJPvGMwnFFfMQdCtVAVsCNK7kPKlCAaf_kRMAoPn30Qk4RD45XmwtZIwQg7X0J4beGuHSiBf0MRjhsnFEW89GxVm8YuIVwgrDbF3izfPR0AlqS4IMJT5m4pEA72lYEwp1JnSDVsafILzmksaqG-11H3WAsWIENrOIu_j7qNgbvYwmUWXOrYmeWBkQ'); + diff --git a/src/FLAD/navigation/MessagingNavigation.tsx b/src/FLAD/navigation/MessagingNavigation.tsx new file mode 100644 index 0000000..09ac13d --- /dev/null +++ b/src/FLAD/navigation/MessagingNavigation.tsx @@ -0,0 +1,24 @@ +import React from 'react'; +import { createStackNavigator } from '@react-navigation/stack'; +import Conversation from '../screens/Conversation' +import Chat from '../screens/Chat'; + +export default function MessagingNavigation() { + const Stack = createStackNavigator(); + + return ( + + + + + ) +} \ No newline at end of file diff --git a/src/FLAD/navigation/Navigation.tsx b/src/FLAD/navigation/Navigation.tsx index ebe334f..f5cc659 100644 --- a/src/FLAD/navigation/Navigation.tsx +++ b/src/FLAD/navigation/Navigation.tsx @@ -9,7 +9,7 @@ import normalize from '../components/Normalize'; // @ts-ignore import FontAwesome from 'react-native-vector-icons/FontAwesome'; import SpotNavigation from './SpotNavigation'; -import Login from '../screens/login'; +import MessagingNavigation from './MessagingNavigation'; import { useDispatch, useSelector } from 'react-redux'; import { GraphicalCharterDark } from '../assets/GraphicalCharterDark'; import { GraphicalCharterLight } from '../assets/GraphicalCharterLight'; @@ -66,12 +66,12 @@ export default function Navigation() { headerShown: false, tabBarIcon: ({ color }) => , }} /> - , }} /> - , diff --git a/src/FLAD/navigation/SpotNavigation.tsx b/src/FLAD/navigation/SpotNavigation.tsx index 6a62c06..4b46b08 100644 --- a/src/FLAD/navigation/SpotNavigation.tsx +++ b/src/FLAD/navigation/SpotNavigation.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { createStackNavigator } from '@react-navigation/stack'; -import SpotPage from '../screens/spot' +import SpotPage from '../screens/Spot' import MusicDetail from '../screens/MusicDetail'; @@ -16,7 +16,7 @@ export default function SpotNavigation() { }} > { +export const getFavoritesMusic = (music: Music[]) => { return { type: favoritesTypes.GET_FAVORITE_MUSICS, - playload: favoritesMusic, + payload: music, }; } -export const addFavoritesMusic = (favoritesMusic: Music) => { +export const addFavoritesMusic = (music: Music) => { return { type: favoritesTypes.ADD_FAVORITE_MUSICS, - playload: favoritesMusic, + payload: music, }; } diff --git a/src/FLAD/redux/actions/spotActions.tsx b/src/FLAD/redux/actions/spotActions.tsx index 2785034..2bbdf45 100644 --- a/src/FLAD/redux/actions/spotActions.tsx +++ b/src/FLAD/redux/actions/spotActions.tsx @@ -6,13 +6,13 @@ import { spotTypes } from "../types/spotTypes"; export const setSpotList = (spotList: Spot[]) => { return { type: spotTypes.FETCH_SPOT, - playload: spotList, + payload: spotList, }; } export const setUserCurrentMusic = (currentMusic: Music) => { return { type: spotifyTypes.GET_USER_CURRENT_MUSIC, - playload: currentMusic, + payload: currentMusic, }; } \ No newline at end of file diff --git a/src/FLAD/redux/actions/userActions.tsx b/src/FLAD/redux/actions/userActions.tsx index b5ea11e..605e8be 100644 --- a/src/FLAD/redux/actions/userActions.tsx +++ b/src/FLAD/redux/actions/userActions.tsx @@ -17,20 +17,20 @@ 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: user + payload: user }; } export const restoreToken = (token: string) => { return { type: userTypes.RESTORE_TOKEN, - playload: token + payload: token }; } export const userSignUp = (user: User) => { return { type: userTypes.LOGIN, - playload: user + payload: user }; } @@ -43,7 +43,7 @@ export const UserLogout = () => { export const userChangeMode = (value: boolean) => { return { type: userTypes.CHANGE_MODE, - playload: value + payload: value }; } diff --git a/src/FLAD/redux/reducers/appReducer.tsx b/src/FLAD/redux/reducers/appReducer.tsx index bf53a69..41faf1c 100644 --- a/src/FLAD/redux/reducers/appReducer.tsx +++ b/src/FLAD/redux/reducers/appReducer.tsx @@ -4,11 +4,13 @@ import { discoveriesTypes } from "../types/discoverieTypes"; import { favoritesTypes } from "../types/favoritesTypes"; import { spotifyTypes } from "../types/spotifyTypes"; import { spotTypes } from "../types/spotTypes"; + let tmpMusic: Music[] = [ new Music("03o8WSqd2K5rkGvn9IsLy2", "Autobahn", "Sch", "https://images.genius.com/83b6c98680d38bde1571f6b4093244b5.1000x1000x1.jpg", "https://p.scdn.co/mp3-preview/c55f95de81b8c3d0df04148da1b03bd38db56e8f?cid=774b29d4f13844c495f206cafdad9c86"), new Music("6DPrYPPGYK218iVIZDix3i", "Freeze Raël", "Freeze Corleone", "https://intrld.com/wp-content/uploads/2020/08/freeze-corleone-la-menace-fanto%CC%82me.png", "https://p.scdn.co/mp3-preview/a9f9cb19ac1fe6db0d06b67decf8edbb25895a33?cid=774b29d4f13844c495f206cafdad9c86"), new Music("5GFHFEASZeJF0gyWuDDjGE", "Kratos", "PNL", "https://upload.wikimedia.org/wikipedia/en/a/a0/PNL_-_Dans_la_l%C3%A9gende.png", "https://p.scdn.co/mp3-preview/9e854f4905c1228482e390169eb76d8520076b8f?cid=774b29d4f13844c495f206cafdad9c86"), ]; + const initialState = { spot: [] as Spot[], favoriteMusic: tmpMusic, @@ -18,9 +20,9 @@ const initialState = { const appReducer = (state = initialState, action: any) => { switch (action.type) { case favoritesTypes.GET_FAVORITE_MUSICS: - return { ...state, favoriteMusic: action.playload }; + return { ...state, favoriteMusic: action.payload }; case favoritesTypes.ADD_FAVORITE_MUSICS: - return { ...state, favoriteMusic: [action.playload, ...state.favoriteMusic] }; + return { ...state, favoriteMusic: [action.payload, ...state.favoriteMusic] }; case favoritesTypes.REMOVE_FAVORITE_MUSICS: return { ...state, favoriteMusic: state.favoriteMusic }; case spotTypes.FETCH_SPOT: @@ -28,7 +30,7 @@ const appReducer = (state = initialState, action: any) => { case discoveriesTypes.FETCH_DISCOVERIES: return; case spotifyTypes.GET_USER_CURRENT_MUSIC: - return { ...state, userCurrentMusic: action.playload }; + return { ...state, userCurrentMusic: action.payload }; default: return state; } diff --git a/src/FLAD/redux/reducers/userReducer.tsx b/src/FLAD/redux/reducers/userReducer.tsx index 0ee619e..f177d98 100644 --- a/src/FLAD/redux/reducers/userReducer.tsx +++ b/src/FLAD/redux/reducers/userReducer.tsx @@ -17,10 +17,10 @@ const initialState = { const userReducer = (state = initialState, action: any) => { switch (action.type) { case userTypes.RESTORE_TOKEN: - const resp = (action.playload == "" ? false : true) + const resp = (action.payload == "" ? false : true) return { ...state, - userFladToken: action.playload, + userFladToken: action.payload, loading: true, isLogedIn: resp, }; @@ -28,7 +28,7 @@ const userReducer = (state = initialState, action: any) => { AsyncStorage.setItem('dark', JSON.stringify(false)).then(() => { }); return { ...state, - user: action.playload, + user: action.payload, failedLogin: false, isLogedIn: true, dark: false @@ -37,7 +37,7 @@ const userReducer = (state = initialState, action: any) => { AsyncStorage.setItem('dark', JSON.stringify(false)).then(() => { }); return { ...state, - user: action.playload, + user: action.payload, failedSignup: false, isLogedIn: true, dark: false @@ -52,14 +52,14 @@ const userReducer = (state = initialState, action: any) => { case userTypes.SAVE_SPOTIFY: return { ...state, - userSpotifyToken: action.playload, + userSpotifyToken: action.payload, }; 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: action.playload } + return { ...state, dark: action.payload } default: return state; } diff --git a/src/FLAD/redux/thunk/authThunk.tsx b/src/FLAD/redux/thunk/authThunk.tsx index 13432d8..4780249 100644 --- a/src/FLAD/redux/thunk/authThunk.tsx +++ b/src/FLAD/redux/thunk/authThunk.tsx @@ -124,6 +124,7 @@ export const ChangeMode = (value: boolean) => { export const ChangeImageUserCurrent = (value: ImagePicker) => { //@ts-ignore return async dispatch => { + //@ts-ignore dispatch(userChangeImage(value)); } } \ No newline at end of file diff --git a/src/FLAD/screens/Chat.tsx b/src/FLAD/screens/Chat.tsx new file mode 100644 index 0000000..053a21f --- /dev/null +++ b/src/FLAD/screens/Chat.tsx @@ -0,0 +1,22 @@ +import { useNavigation } from "@react-navigation/native"; +import React, { useEffect } from "react"; +import { GiftedChat } from "react-native-gifted-chat"; + +export default function Chat() { + + const navigation = useNavigation(); + + useEffect(() => { + navigation.getParent()?.setOptions({ + tabBarStyle: { + display: "none" + } + }); + return () => navigation.getParent()?.setOptions({ + tabBarStyle: undefined + }); + }, [navigation]); + return ( + + ) +} \ No newline at end of file diff --git a/src/FLAD/screens/Conversation.tsx b/src/FLAD/screens/Conversation.tsx new file mode 100644 index 0000000..dd979c5 --- /dev/null +++ b/src/FLAD/screens/Conversation.tsx @@ -0,0 +1,67 @@ +import { useNavigation } from "@react-navigation/native"; +import { SafeAreaView, StyleSheet, Text, View, FlatList, TouchableOpacity } from "react-native"; +import { useSelector } from "react-redux"; +import { GraphicalCharterDark } from '../assets/GraphicalCharterDark'; +import { GraphicalCharterLight } from '../assets/GraphicalCharterLight'; +import Friend from "../components/Friend"; +import normalize from '../components/Normalize'; + +export default function ConversationList() { + + // @ts-ignore + const isDark = useSelector(state => state.userReducer.dark); + + const navigation = useNavigation(); + + const friends = [ + { id: 1, name: "Lucas", lastMessage: "J'en ai marre de provot", source: require('../assets/images/jul.png') }, + { id: 2, name: "Louison", lastMessage: "Tu vien piscine ?", source: require('../assets/images/jul.png') }, + { id: 3, name: "Dave", lastMessage: "Ok c noté !", source: require('../assets/images/pnl.png') }, + { id: 4, name: "Valentin", lastMessage: "Haha react native c incroyable !!!", source: require('../assets/images/jul.png') }, + ]; + + const style = isDark ? GraphicalCharterDark : GraphicalCharterLight; + + const styles = StyleSheet.create({ + mainSafeArea: { + flex: 1, + backgroundColor: style.body, + }, + titleContainer: { + marginTop: 30, + marginLeft: 20, + }, + title: { + fontSize: normalize(28), + fontWeight: 'bold', + color: style.Text, + }, + description: { + marginTop: 10, + fontSize: normalize(20), + color: '#787878', + marginBottom: 20 + } + }) + + return ( + + + Messages + Retrouvez ici tous vos amis! + + item.id.toString()} + renderItem={({ item }) => ( + navigation.navigate('Chat')}> + + + )} + /> + + ) +} \ No newline at end of file diff --git a/src/FLAD/screens/Favorite.tsx b/src/FLAD/screens/Favorite.tsx index 77f92eb..a553cf9 100644 --- a/src/FLAD/screens/Favorite.tsx +++ b/src/FLAD/screens/Favorite.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Image, StyleSheet, Text, View, FlatList, ScrollView, TouchableOpacity, TouchableHighlight, SafeAreaView } from 'react-native'; +import { Image, StyleSheet, Text, View, FlatList, TouchableOpacity, TouchableHighlight, SafeAreaView } from 'react-native'; import CardMusic from '../components/CardMusic'; import normalize from '../components/Normalize'; import Music from '../Model/Music' @@ -11,7 +11,8 @@ import { GraphicalCharterDark } from '../assets/GraphicalCharterDark'; import { GraphicalCharterLight } from '../assets/GraphicalCharterLight'; export default function FavoritePage() { - //Dark Mode + + // @ts-ignore const isDark = useSelector(state => state.userReducer.dark); const style = isDark ? GraphicalCharterDark : GraphicalCharterLight; @@ -25,6 +26,7 @@ export default function FavoritePage() { { id: 4, source: require('../assets/images/FLADYCry.png') }, ]; const navigueToDetail = (music: any) => { + // @ts-ignore navigation.navigate("MusicDetail", { "music": music }) }; const styles = StyleSheet.create({ @@ -79,38 +81,39 @@ export default function FavoritePage() { Favoris Retrouvez ici vos musiques favorites - - - ( - { navigueToDetail(item) }}> - - - - - - )} - keyExtractor={(item: Music) => item.title} - /> - - What's your mood? - item.id.toString()} - horizontal - showsHorizontalScrollIndicator={false} - renderItem={({ item }) => ( - - )} - /> - navigation.navigate('Genre')}> - - - + ( + { navigueToDetail(item) }}> + + + + + )} + keyExtractor={(item: Music) => item.title} + ListFooterComponent={ + <> + What's your mood? + item.id.toString()} + horizontal + showsHorizontalScrollIndicator={false} + renderItem={({ item }) => ( + + )} + /> + navigation.navigate('Genre')}> + + + + } + nestedScrollEnabled={true} + /> ); }; \ No newline at end of file diff --git a/src/FLAD/screens/MusicDetail.tsx b/src/FLAD/screens/MusicDetail.tsx index cd43325..22ceac4 100644 --- a/src/FLAD/screens/MusicDetail.tsx +++ b/src/FLAD/screens/MusicDetail.tsx @@ -180,7 +180,9 @@ const MusicDetail = ({ route }) => { {simularMusic.length !== 0 && ( {(props) => ( - { navigator.navigate("MusicDetail", { "music": props }) }} > + { navigator.navigate("MusicDetail", { "music": props }) }} > )} diff --git a/src/FLAD/screens/Register.tsx b/src/FLAD/screens/Register.tsx index 7909966..ef087f5 100644 --- a/src/FLAD/screens/Register.tsx +++ b/src/FLAD/screens/Register.tsx @@ -36,6 +36,7 @@ export default function InscriptionPage() { const [sound, setSound] = useState(); const navigation = useNavigation(); const [spotifyToken, setSpotifyToken] = useState(''); + // @ts-ignore const failedSignup = useSelector(state => state.userReducer.failedSignup); async function playSound() { diff --git a/src/FLAD/screens/Setting.tsx b/src/FLAD/screens/Setting.tsx index 601a041..1c152ad 100644 --- a/src/FLAD/screens/Setting.tsx +++ b/src/FLAD/screens/Setting.tsx @@ -27,9 +27,10 @@ export default function Setting() { textInputRef.current?.focus(); }; + // @ts-ignore const currentMusic = useSelector(state => state.appReducer.userCurrentMusic); - //Dark Mode + // @ts-ignore const isDark = useSelector(state => state.userReducer.dark); const style = isDark ? GraphicalCharterDark : GraphicalCharterLight; @@ -40,6 +41,7 @@ export default function Setting() { if (currentValue !== null) { const newValue = JSON.stringify(!JSON.parse(currentValue)); await AsyncStorage.setItem('dark', newValue); + // @ts-ignore dispatch(ChangeMode(JSON.parse(newValue))) } } catch (error) { @@ -263,7 +265,11 @@ export default function Setting() { - navigation.navigate('SettingProfil')}> + + navigation.navigate('SettingProfil')} + > @@ -326,7 +332,7 @@ export default function Setting() { - + diff --git a/src/FLAD/screens/SettingProfil.tsx b/src/FLAD/screens/SettingProfil.tsx index 927ebbe..81d75e8 100644 --- a/src/FLAD/screens/SettingProfil.tsx +++ b/src/FLAD/screens/SettingProfil.tsx @@ -31,7 +31,7 @@ export default function SettingProfil() { useEffect(() => { console.log(UserCurrent.image); - }); + }); const handleModal = () => setIsModalVisible(() => !isModalVisible); @@ -262,7 +262,9 @@ export default function SettingProfil() { - navigation.navigate('Setting')}> + navigation.navigate('Setting')}> Exit diff --git a/src/FLAD/screens/spot.tsx b/src/FLAD/screens/spot.tsx index 3a08562..c2cc953 100644 --- a/src/FLAD/screens/spot.tsx +++ b/src/FLAD/screens/spot.tsx @@ -57,6 +57,7 @@ export default function SpotPage() { const { width: wWidht } = Dimensions.get("window"); const hapti = (card: Spot) => { Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Heavy) + // @ts-ignore navigator.navigate("DetailsSpot", { "music": card.music }) }; return (