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.

66 lines
1.9 KiB

import { View, Text, StyleSheet, ImageBackground } from "react-native"
import { FlatList } from "react-native-gesture-handler"
import { City, Weather } from "../data/stub"
import { useSafeAreaInsets } from 'react-native-safe-area-context';
import { VilleCompopo } from "../components/VilleCompopo";
import { TopBar } from "../components/TopBar";
import CityDetails from "./CityDetails";
import { useDispatch, useSelector } from "react-redux";
import React, { useEffect } from "react";
import { getFavoriteCity } from "../redux/actions/getFavoriteCity";
import { Details } from "../components/Details";
import { getWeather } from "../redux/actions/getWeather";
export default function Home(navigation){
const insets = useSafeAreaInsets();
const statusBarHeight = insets.top;
const favoriteCity: City | null = useSelector(state => state.appReducer.favoriteCity);
const weather: Weather | null = useSelector(state => state.appReducer.favoriteWeather);
const dispatch = useDispatch();
useEffect(() => {
const loadFavoriteCity = async () => {
await dispatch(getFavoriteCity());
};
loadFavoriteCity();
}, [dispatch]);
return (
<View style={{alignItems: "center", width: "100%"}}>
<TopBar/>
{(() => {
if (weather != null){
return (
<Details weather={weather}/>
)
}
else{
return(
<Text style={leStyle.text}>Vous n'avez pas ajouté de ville en favoris</Text>
)
}
})()}
</View>
)
}
const leStyle = StyleSheet.create({
container: {
alignItems: 'center',
},
text: {
fontWeight: "normal",
fontStyle: 'italic',
fontSize: 10,
alignSelf: "center",
alignContent: "center",
marginLeft: 7
},
});