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
Branches
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