lucas_api
Lucas Delanier 2 years ago
parent ebc12c478e
commit 4ef93425cc

@ -1,75 +0,0 @@
import axios from "axios";
import {Cast, People} from "../components/Movie";
import Movie from "../components/Movie";
import Config from "../constants/config";
interface idMovie {
id: string
}
class apiTMBD {
async getTrendingMovie() {
const movielist: string[] = [];
try {
axios.get(Config.base_url + "trending/all/day?api_key=" + Config.api_key).then(async (response) => {
await response.data.results.forEach(async function (id: idMovie) {
movielist.push(id.id);
console.log(id.id);
return movielist;
})
})
} catch (err) {
return movielist;
}
return [];
}
async getInfoMovie(id: string) {
try {
axios.get<Movie>(Config.base_url + "movie/" + id + "?api_key=" + Config.api_key).then(async (response) => {
let director = await this.getDirector(response.data.id);
console.log("----------");
console.log(director);
console.log("----------");
})
/*let newmovie = new Movie(movie.id, movie.original_title, movie.poster_path, movie.runtime, movie.vote_average, director)
console.log(newmovie);*/
return null;
} catch (err) {
return null;
}
}
async getDirector(id: string): Promise<string | undefined> {
try {
const {data: cast} = await axios.get(Config.base_url + "movie/" + id + "/credits?api_key=" + Config.api_key);
cast.crew.forEach((people: People) => {
if (people.job == "Director") {
console.log(people.name);
return people.name;
}
})
} catch (err) {
return undefined;
}
}
}
export default apiTMBD;

@ -2,9 +2,10 @@ import {FlatList, StyleSheet, SafeAreaView, Text, View, Image, TextInput} from '
import * as React from "react";
import { FontAwesomeIcon} from "@fortawesome/react-native-fontawesome";
import { faHeart} from "@fortawesome/free-solid-svg-icons";
import {RootTabScreenProps} from "../types.js";
import {RootTabScreenProps} from "../types";
import {useState} from "react";
import MovieList from "../components/MovieList";
import {ListWidget} from "./WatchLaterScreen";
export default function FavoriteScreen({ navigation }: RootTabScreenProps<'Favorite'>) {
@ -13,15 +14,30 @@ export default function FavoriteScreen({ navigation }: RootTabScreenProps<'Favor
<SafeAreaView style={styles.container}>
<View style={{height: 50, justifyContent: "flex-start",flexDirection: 'row', paddingHorizontal:20, marginBottom: 15,marginVertical:5, alignItems:"flex-end"}} >
<FontAwesomeIcon icon={faHeart} style={{marginBottom: -5, marginRight: 20}} size={50} color="white" />
<Text style={{color: "white", fontSize:30}}>Favorite</Text>
</View>
<Image
source={require('../assets/images/delimiter.png')} style={{height: 2, width: 400, resizeMode: "stretch"}}
source={require('../assets/images/delimiter.png')} style={{height: 2, width: 400, resizeMode:"stretch"}}
/>
<View style={{height:40, width:400, backgroundColor:"grey", borderRadius:20, marginVertical:10, alignSelf:"center"}}>
<TextInput style={{width:'100%', height:40, marginHorizontal:20}} ></TextInput>
</View>
<MovieList></MovieList>
<FlatList
data={[
{key: 'Devin'},
{key: 'Dan'},
{key: 'Dominic'},
{key: 'Jackson'},
{key: 'James'},
{key: 'Joel'},
{key: 'John'},
{key: 'Jillian'},
{key: 'Jimmy'},
{key: 'Julie'},
]}
renderItem={({item}) => <ListWidget name={item.key} ></ListWidget>}
/>
</SafeAreaView>
);
}

@ -16,14 +16,9 @@ import {useEffect, useRef, useState} from "react";
import {RiveViewManager} from "rive-react-native/lib/typescript/Rive.js";
import {useSafeAreaInsets} from "react-native-safe-area-context";
import {Movie} from "../interfaces";
import apiTMBD from '../api/tmdb';
export default function App({navigation}: RootStackScreenProps<'Home'>) {
const insets = useSafeAreaInsets();
let [movies, setMovies] = useState<Movie[]>([]);
var api = new apiTMBD();
let moviess: string[] = api.getTrendingMovie();
api.getInfoMovie("505642");
const styles = StyleSheet.create({
background: {

Loading…
Cancel
Save