diff --git a/assets/images/new_card.png b/assets/images/new_card.png
new file mode 100644
index 0000000..151af64
Binary files /dev/null and b/assets/images/new_card.png differ
diff --git a/assets/images/suggested_card.png b/assets/images/suggested_card.png
new file mode 100644
index 0000000..b11ce6a
Binary files /dev/null and b/assets/images/suggested_card.png differ
diff --git a/components/HeaderMovieComponent.tsx b/components/HeaderMovieComponent.tsx
index f154c4a..c37c308 100644
--- a/components/HeaderMovieComponent.tsx
+++ b/components/HeaderMovieComponent.tsx
@@ -19,7 +19,7 @@ export function HeaderMovie(props: headerMovieProps) {
borderRadius: 100 / 2,
marginTop: 4,
backgroundColor: "lightgray",
- marginHorizontal: 8
+ marginHorizontal: 8,
},
});
diff --git a/components/cards.tsx b/components/cards.tsx
new file mode 100644
index 0000000..3949665
--- /dev/null
+++ b/components/cards.tsx
@@ -0,0 +1,27 @@
+import {Image, View} from "react-native";
+import * as React from "react";
+
+export function SuggestedCard() {
+
+
+ return (
+
+
+
+
+ );
+}
+
+export function NewCard() {
+
+
+ return (
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/model/Movie.tsx b/model/Movie.tsx
index 4104c8e..c9aa89a 100644
--- a/model/Movie.tsx
+++ b/model/Movie.tsx
@@ -13,6 +13,8 @@ class Movie {
public backdrop_path: string
+ public full_date;
+
constructor(id: number, original_title: string, poster_path: string, runtime: number, vote_average: number, release_date: string, genres: string[], overview: string, backdrop_path: string) {
this.id = id;
@@ -21,6 +23,7 @@ class Movie {
this.poster_path_min = 'https://image.tmdb.org/t/p/w185' + poster_path;
this.runtime = runtime;
this.release_date = release_date.substring(0, 4);
+ this.full_date = release_date;
this.genres = genres;
this.overview = overview;
this.vote_average = vote_average;
diff --git a/model/review.tsx b/model/review.tsx
index fd86214..23a5825 100644
--- a/model/review.tsx
+++ b/model/review.tsx
@@ -17,7 +17,6 @@ class Review {
} else {
this.profile_path = 'https://image.tmdb.org/t/p/w185' + profile_path;
}
- console.log("profil_path", this.profile_path)
this.date = date.substring(0, 10);
this.pseudo = pseudo;
diff --git a/screens/HomeScreen.tsx b/screens/HomeScreen.tsx
index 9c572db..bb2cb73 100644
--- a/screens/HomeScreen.tsx
+++ b/screens/HomeScreen.tsx
@@ -11,6 +11,9 @@ import CardsSwipe from 'react-native-cards-swipe';
import AnimatedLottieView from "lottie-react-native";
import {Timer, Timer2} from "../components/TimerComponent";
import {HeaderMovie} from "../components/HeaderMovieComponent";
+import config from "../constants/config.js";
+import * as https from "https";
+import {NewCard, SuggestedCard} from "../components/cards";
export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) {
// @ts-ignore
@@ -21,6 +24,7 @@ export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) {
const [minutes, setMinutes] = useState(0);
const [seconds, setSeconds] = useState(0);
const [displayIndex, setdisplayIndex] = useState(0);
+ const [suggestedMovies, setSuggestedMovies] = useState([]);
var swiper: any = null;
@@ -151,12 +155,27 @@ export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) {
setSeconds(s);
});
- setTimeout(() => interval, 10000);
+ getSuggested();
}, []);
+
+ const getSuggested = async () => {
+ const suggestedResponse = (await fetch("https://codefirst.iut.uca.fr/containers/lucasdelanier-containermoviefinder/api/Suggested"));
+ const suggestedJson = await suggestedResponse.json();
+ //console.log("trailer", trailerJson)
+ // @ts-ignore
+ const suggestedMovies = suggestedJson.map((element) => {
+ return element;
+
+ })
+ console.log("suggested", suggestedMovies)
+ setSuggestedMovies(suggestedMovies);
+ }
+
function addWatchLater(props: Movie) {
dispatch(addMovieToWatchLater(props));
dispatch(removeMovieTrending(props));
+ console.log("movie: ", props.id, props.full_date, new Date(props.full_date).getTime()), new Date(trendingMovies[displayIndex].full_date).getTime();
if (displayIndex == trendingMovies.length - 1) {
setdisplayIndex(0);
swiper.swipeLeft();
@@ -204,6 +223,7 @@ export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) {
>
+
{
swiper = rf
@@ -229,12 +249,21 @@ export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) {
renderCard={(card) =>
(
- )
+ <>
+
+ {suggestedMovies.includes(trendingMovies[displayIndex].id) && ()}
+ {(new Date().setDate(new Date().getDate() - 14) < new Date(trendingMovies[displayIndex].full_date).getTime()) && ()}
+
+
+
+
+ >
+ )
}
/>
diff --git a/screens/InfoScreen.tsx b/screens/InfoScreen.tsx
index ff45d20..9d7ac72 100644
--- a/screens/InfoScreen.tsx
+++ b/screens/InfoScreen.tsx
@@ -365,7 +365,6 @@ export default function InfoScreen({navigation, route}: RootStackScreenProps<'In
}
const getReview = async () => {
const ReviewResponse = (await fetch(config.base_url + "movie/" + item.id + "/reviews?api_key=" + config.api_key + "&language=us-EN&page=1"));
-
const ReviewJson = await ReviewResponse.json();
// @ts-ignore
let ReviewList = ReviewJson.results.slice(0, 5).map((elt) => {