import * as React from 'react'; import { Button, TouchableOpacity, ScrollView, View, Text, StyleSheet, Image, ImageBackground, SafeAreaView, ActivityIndicator, FlatList } from 'react-native'; import {RootStackScreenProps} from "../types"; import {useSafeAreaInsets} from "react-native-safe-area-context"; import Movie from "../model/Movie"; import {LinearGradient} from 'expo-linear-gradient'; import {Stars} from "./HomeScreen"; import {useEffect, useState} from "react"; import config from "../constants/config"; import YoutubeIframe from "react-native-youtube-iframe"; import Icon from "react-native-ionicons"; import Ionicons from "@expo/vector-icons/Ionicons"; export default function InfoScreen({navigation, route}: RootStackScreenProps<'Info'>) { const item: Movie = route.params.item console.log("current", item); const insets = useSafeAreaInsets(); const styles = StyleSheet.create({ background1: { height: '100%', width: '100%', paddingTop: insets.top, }, }); const [trailerPath, setTrailerPath] = useState(""); const getTriller = async () => { const trailerResponse = (await fetch(config.base_url + "movie/" + item.id + "/videos?api_key=" + config.api_key + "&language=fr-FR")); const trailerJson = await trailerResponse.json(); console.log("trailer", trailerJson) const trailer_key = trailerJson.results.slice(0, 1).map((elt) => { if (elt["type"] === "Trailer" && elt["site"] === "YouTube") { return elt["key"]; } }); console.log("key", trailer_key) setTrailerPath(trailer_key); } useEffect(() => { getTriller(); }, []); function formatTime(time: number) { console.log(time); const hours = Math.floor(time / 60); const minutes = time % 60; return `${hours}h ${minutes < 10 ? `0${minutes}` : minutes}m`; } return ( navigation.goBack()} style={{zIndex: 100}}> {item.original_title} {item.vote_average.toFixed(1)} {trailerPath !== "" && ( )} {item.overview} ) } type InfoBadgeProps = { texte: string } export function InfoBadge(props: InfoBadgeProps) { return ( {props.texte} ); }