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.

97 lines
2.9 KiB

import React from "react";
import { View, Text, StyleSheet, TouchableHighlight, Image } from "react-native";
import { useSafeAreaInsets } from "react-native-safe-area-context";
import { TopBar } from "../components/TopBar";
import { FAVORITE_CITY_DATA, getCurrentWeather, WEATHER_DATA } from "../data/stub";
export default function CityDetails({route}){
const insets = useSafeAreaInsets();
const statusBarHeight = insets.top;
const city = route.params.city;
const weather = getCurrentWeather(city.name)
var meteo = getCurrentWeather(city.name);
return (
<View style={{alignItems: "center", backgroundColor: "darksalmon"}}>
<TopBar/>
<Text style={styles.name}>{city.name}</Text>
<View style={styles.place}>
<Text style={styles.petitText}>{city.longitude} - {city.latitude}</Text>
</View>
<TouchableHighlight>
<Image style={styles.image} source={ meteo?.weatherType=="Nuageux" ? require('../assets/Nuageux.png') : require('../assets/Nuageux.png')}/>
</TouchableHighlight>
<Text style={styles.weatherType}>{meteo?.weatherType}</Text>
<View style={styles.supertruc}>
<Image style={styles.petitImage} source={require('../assets/temperature.png')}/>
<View style={styles.supertrucencore}>
<Text style={styles.temperature}>{meteo?.temperature}°C</Text>
<Text style={styles.petitTemp}>Ressenti {meteo?.temperatureFeelsLike}°C</Text>
</View>
</View>
<Text style={styles.title}>{meteo?.at}</Text>
<Text style={styles.title}>{meteo?.humidity}</Text>
<Text style={styles.title}>{meteo?.pressure}</Text>
<Text style={styles.title}>{meteo?.visibility}</Text>
<Text style={styles.title}>{meteo?.visibility}</Text>
<Text style={styles.title}>{meteo?.weatherDescription}</Text>
<Text style={styles.title}>{meteo?.windSpeed}</Text>
</View>
)
}
const styles = StyleSheet.create({
name: {
marginTop: 30,
fontSize: 35,
fontWeight: "bold"
},
place: {
marginBottom: 20,
},
petitText: {
fontSize: 15
},
image: {
height: 100,
width: 100
},
title: {
fontWeight: "bold",
fontSize: 18
},
temperature: {
marginTop: 10,
fontSize: 25,
fontWeight: "600"
},
petitTemp: {
fontSize: 16,
marginBottom: 35
},
weatherType: {
fontSize: 17,
marginBottom: 20
},
button: {
height: 30,
width: 30,
marginTop: 13,
alignSelf: "flex-end",
margin: 5
},
supertruc: {
flexDirection: "row"
},
supertrucencore: {
flexDirection: "column"
},
petitImage: {
height: 40,
width: 40,
marginRight: 7,
marginTop: 15
}
});