Skip to content
Snippets Groups Projects
Commit 6c40e873 authored by Juliette Kalflèche's avatar Juliette Kalflèche
Browse files

start to work with back

parent aa38cc29
No related branches found
No related tags found
1 merge request!21front, genre etc
...@@ -4,17 +4,14 @@ const router = express.Router(); ...@@ -4,17 +4,14 @@ const router = express.Router();
module.exports = router; module.exports = router;
// router.get("/popular/:number", async function (req, res) { router.get("/", async function (req, res) {
// try { try {
// const filmNumber = await req.params["number"]; const getGenres = await GenreModel.find({});
// const getGenres = await GenreModel.find({}) res.send(getGenres);
// .sort({ popularity: "desc" }) } catch (error) {
// .limit(filmNumber); console.log(error);
// res.send(getGenres); }
// } catch (error) { });
// console.log(error);
// }
// });
router.get("/genre/id/:id", async function (req, res) { router.get("/genre/id/:id", async function (req, res) {
try { try {
......
...@@ -4,17 +4,18 @@ const router = express.Router(); ...@@ -4,17 +4,18 @@ const router = express.Router();
module.exports = router; module.exports = router;
// router.get("/popular/:number", async function (req, res) { router.get("/popular/:number", async function (req, res) {
// try { try {
// const filmNumber = await req.params["number"]; console.log('yo')
// const getMovies = await MovieModel.find({}) const filmNumber = await req.params["number"];
// .sort({ popularity: "desc" }) const getMovies = await MovieModel.find({})
// .limit(filmNumber); .sort({ popularity: "desc" })
// res.send(getMovies); .limit(filmNumber);
// } catch (error) { res.send(getMovies);
// console.log(error); } catch (error) {
// } console.log(error);
// }); }
});
router.get("/movie/id/:id", async function (req, res) { router.get("/movie/id/:id", async function (req, res) {
try { try {
......
<template> <template>
<div class="box"> <div class="box">
<h1>Genre</h1> <h1>Genre</h1>
<li v-for="genre in genres" :key="genre.id">
<div class="check"> <div class="check">
<input type="checkbox" id="action" value="Action" v-model="genre"> <input type="checkbox" id="action" value="Action" v-model="genre">
<label for="Action">Action</label> <label for="Action">{{ }}</label>
</div>
<div class="check">
<input type="checkbox" id="horreur" value="Horreur" v-model="genre">
<label for="horreur">Horreur</label>
</div>
<div class="check">
<input type="checkbox" id="fantastique" value="Fantastique" v-model="genre">
<label for="fantastique">Fantastique</label>
</div> </div>
<br> <br>
</li>
</div> </div>
</template> </template>
<script> <script>
export default {
methods: {
fetchGenres: function () {
axios
.get(
backendURL + "/genres/",
)
.then((response) => {
this.genres = response.data;
})
.catch((error) => {
this.genresLoadingError = "An error occured while e ing genres.";
console.error(error);
});
},
},
created() {
this.fetchMovies();
this.fetchGenres();
},
};
</script> </script>
<style scoped> <style scoped>
......
...@@ -3,6 +3,7 @@ import Home from "../views/Home.vue"; ...@@ -3,6 +3,7 @@ import Home from "../views/Home.vue";
import Connexion from "../views/Connexion.vue"; import Connexion from "../views/Connexion.vue";
import Users from "../views/Users.vue"; import Users from "../views/Users.vue";
import AddUser from "../views/AddUsers.vue"; import AddUser from "../views/AddUsers.vue";
import MoviePage from "../views/MoviePage.vue";
const routes = [ const routes = [
{ {
...@@ -25,6 +26,11 @@ const routes = [ ...@@ -25,6 +26,11 @@ const routes = [
name: "AddUsers", name: "AddUsers",
component: AddUser, component: AddUser,
}, },
{
path: "/movie/:id",
name: "MoviePage",
component: MoviePage,
},
]; ];
const router = createRouter({ const router = createRouter({
......
<template> <template>
<div class="home"> <div class="home">
<div class="carousel"> <div class="carousel">
<carousel :items-to-show="5.5" autoplay="1300"> <carousel :items-to-show="5.5" autoplay=1300>
<slide <slide v-for="movie in movies" :key="movie.id" autoplay='True' transition="100" >
v-for="movie in movies" <router-link :to="'/movie/'+ movie.id">
:key="movie.id"
autoplay="True"
transition="100"
>
<img <img
:src="'https://image.tmdb.org/t/p/original/' + movie.poster_path" :src="'https://image.tmdb.org/t/p/original/' + movie.poster_path"
withd="100" withd="100"
height="300" height="300"
/> />
</router-link>
</slide> </slide>
<template #addons> <template #addons>
<navigation /> <navigation />
...@@ -25,10 +22,10 @@ ...@@ -25,10 +22,10 @@
<div class="type"> <div class="type">
<MovieType /> <MovieType />
</div> </div>
<div> <div class="movie-affichage">
<li v-for="movie in movies" :key="movie.id"> <li v-for="movie in movies" :key="movie.id">
<p class="movie-title"> <p class="name">
{{ movie.title }} <h5> {{ movie.title }}</h5>
</p> </p>
<p class="film"> <p class="film">
<img <img
...@@ -48,6 +45,8 @@ import axios from "axios"; ...@@ -48,6 +45,8 @@ import axios from "axios";
import "vue3-carousel/dist/carousel.css"; import "vue3-carousel/dist/carousel.css";
import { Carousel, Slide, Pagination, Navigation } from "vue3-carousel"; import { Carousel, Slide, Pagination, Navigation } from "vue3-carousel";
import MovieType from "../components/MovieType.vue"; import MovieType from "../components/MovieType.vue";
const backendURL = process.env.VUE_APP_BACKEND_BASE_URL;
export default { export default {
name: "Home", name: "Home",
...@@ -69,10 +68,10 @@ export default { ...@@ -69,10 +68,10 @@ export default {
fetchMovies: function () { fetchMovies: function () {
axios axios
.get( .get(
`https://api.themoviedb.org/3/movie/popular?api_key=522d421671cf75c2cba341597d86403a` backendURL + "/movies/popular/20",
) )
.then((response) => { .then((response) => {
this.movies = response.data.results; this.movies = response.data;
}) })
.catch((error) => { .catch((error) => {
this.moviesLoadingError = "An error occured while e ing movies."; this.moviesLoadingError = "An error occured while e ing movies.";
...@@ -114,6 +113,12 @@ li { ...@@ -114,6 +113,12 @@ li {
display: flex; display: flex;
align-self: center; align-self: center;
} }
.name {
max-width: 200px;
justify-content: center;
align-items: center;
background-color: #eaf2ef;
}
.corps { .corps {
display: flex; display: flex;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment