From 02c88b49dc9cdbc6e7ce4351d591967c6acee46c Mon Sep 17 00:00:00 2001 From: Tymo Date: Tue, 1 Apr 2025 15:40:25 +0200 Subject: [PATCH 1/9] version 1.0 --- .env.example | 1 - client/index.css | 7 +- client/reset.css | 3 +- images/noImage.jpg | Bin 0 -> 2246 bytes server/components/card/card.css | 40 +++++++-- server/components/card/card.liquid | 13 ++- server/layouts/base.css | 97 ++++++++++++++++++++- server/layouts/base.liquid | 39 ++++++++- server/server.js | 133 +++++++++++++++++++++-------- server/views/detail.liquid | 48 ++++++++++- server/views/details.css | 64 ++++++++++++++ server/views/index.css | 20 +++++ server/views/index.liquid | 50 ++++++++++- 13 files changed, 458 insertions(+), 57 deletions(-) delete mode 100644 .env.example create mode 100644 images/noImage.jpg create mode 100644 server/views/details.css diff --git a/.env.example b/.env.example deleted file mode 100644 index c0d6652..0000000 --- a/.env.example +++ /dev/null @@ -1 +0,0 @@ -NODE_ENV=development diff --git a/client/index.css b/client/index.css index 31cbc4b..6b0adde 100644 --- a/client/index.css +++ b/client/index.css @@ -5,16 +5,21 @@ /*.layout and view styling */ @import '../server/layouts/base.css'; @import '../server/views/index.css'; +@import '../server/views/details.css'; /* component styling */ @import '../server/components/card/card.css'; + body { color: black; - max-width: 1440px; margin: 0 auto; } main { padding: 1rem; } + +.container { + max-width: 1440px; +} diff --git a/client/reset.css b/client/reset.css index d9f27b5..caea9a1 100644 --- a/client/reset.css +++ b/client/reset.css @@ -2,7 +2,7 @@ v2.0 | 20110126 License: none (public domain) */ - +/* html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, @@ -23,6 +23,7 @@ time, mark, audio, video { font: inherit; vertical-align: baseline; } + */ /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { diff --git a/images/noImage.jpg b/images/noImage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..08178466124172b24fe12702b8def24fa8b489f9 GIT binary patch literal 2246 zcmb7Fdpy+J7T>=auQM73gOnVM(F{gcd5bIOMsd7pFmdj|`o377FGk0DMZrjo~$ggL(%b<5{-|GE43`>nP1T6=x>UVE+m+mZpv z7{Iu@?so+c1ONm-Kr#%@f-e*l)zKIgG+Gq{e`r-zRSX7=L91ZUnrd2FTIw2_o3|15 zH*djj)zmPsFu)T{&CSiV^>^9sBH0i~=B5w|g_4(-SAkzs9St4R|GP=<0W~Es4#ts? zAwZ}>NHs{(0=7z*iG-wU{n#L+oV)@;5jHwv00M&K7H5eZqpas7||nAzBbOZ_VRH5PWqevZ11F4d}iHrEI35ZDCcBh-*; z;ICk{1%PwF*+)+P6VbR^1bDaj`EgZ2SL*4#-fYzc#njfZ)z>2W9P(_+F0X#o-R))y3t-5U?H z^7fxN`PL4P8Or#)z{%zV6AKZ!Yi(QGpe_XU9poO9b~M;q}lRxX%7^VtsVoz_!5RRnfcT zHjVd>=ignj-b!KNGhWB_P|Qb}FS&xoJzcTB)7cNuD%+(%y56(jv_G@7;@q0%j}9lK z&AJ7tc*{JQGQ0h~58Z!?g2r8@{}W3uP8{kg(`Dvz`>x%8o0go*yKyCw`|wURO;~vN z`%0kYAd8a!tSusxlHPwa;&MVRdD(R$Z}MlszM^>28$AV+kXK~BtEggNbnOi9(8O0` zzZ_+iojRCeaf)kmSon`*wO2@e0s_I15x|h<3M5!+CDuNDf~!b44h!R}3}H{e!D+r( z82WVjLR5uS%mA@dn|Dr+aG(EUJrtgM7?bk%A znbzZ;IorRVa)~9m+gi@LmE9l*;&eFWnl&%o^6j_i^_G*|_=TbB3&`4-VUjOv>nLgd zz@t`fAKUd^6xZRunS^6Zx%erQcOQs~d;qYk{l33#L3M;qN13 z2Wv1(IH3YO#6_B72<(*x20jGDtm1bEKav3N7m7joX9`M5_L*akO_CP>rb2D#ZR%{G zH91l`6M(``HcCCo#y!)F;aY{c{eU=eqMP_5w z@K8C&=6SmyCY)kE<8Tj6cf4hVC%D;8N&uBtLh+zjX)9_^?~f2@WVn}{@nfPLy7jJ= zDwB!>FJ!GAn5ynjbl4b1bo3MQmmS|6&KR~a{8Em7QAZXFfSfT!3?FHHvU-hQYYUoq zZYD}>Yj939@!V^-Tbkd?{V9X}1; zg@SXQ4|(;x#IHWeSLET;a@!#6 z275a(Y9MbS88~Qp8s%>1q>raksC5!>TsK~^e}BzwV)$_V6@7?T!b!$fP3$(hn=ROW z+7!nxIHG!30xo!u%?K4j9cG@sOM97F_rL4Xz!|Pf8G-9k2^29^q6|IA$6FEs$aRA77;Egjh>w0|ys>2ZCNZm{=Ue(xW)+$&Fal(lrVbiZK@Yy`xISbtGkE__5>wp)7^ zYkZz(-XsHn7D^8l*m9`GrIj_6hk}I1&16T`@}zV*DjBvjEX^wXduR~=czVg@o{U+occw9ij=6+5gq5@XLb{tKSDYADFYV)-! z)A}8ot>YyUhmQ<~QLPrw|C{~VqZ-8__9o&o1hG?RJk9=<89+83BC{@Aa=PQwr!UIl79c5tjD6I~xFKOfcfFG$8T=ELihm0L literal 0 HcmV?d00001 diff --git a/server/components/card/card.css b/server/components/card/card.css index 5be8712..d2ab076 100644 --- a/server/components/card/card.css +++ b/server/components/card/card.css @@ -1,10 +1,38 @@ +.grid__item { + background-color: #fff; + box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; + border-radius: 10px; + + a { + text-decoration: none; + } +} + .card { width: 100%; max-width: 300px; -} + display: grid; + overflow: hidden; + border-radius: 10px; + height: 100%;; -.card__image { - width: 100%; - height: auto; - margin-top: 1rem; -} + .card__image { + width: 100%; + height: auto; + border-radius: 10px 10px 0 0; + transition: all 0.3s ease-out; + + &:hover { + scale: 1.05; + } + } + + h2 { + color: #000; + } + + *:not(.card__image) { + padding: 10px; + margin: 0; + } +} \ No newline at end of file diff --git a/server/components/card/card.liquid b/server/components/card/card.liquid index c1706e4..35b22da 100644 --- a/server/components/card/card.liquid +++ b/server/components/card/card.liquid @@ -1,4 +1,9 @@ -
-

{{ item.name }}

- {{ item.image.alt }} -
+
+ {{ item.title }} +

{{ item.title }}

+
diff --git a/server/layouts/base.css b/server/layouts/base.css index 6efd0ce..8c89a86 100644 --- a/server/layouts/base.css +++ b/server/layouts/base.css @@ -1,7 +1,100 @@ +body { + display: grid; + grid-template-rows: auto 1fr auto; +} + header { - padding: 1rem; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto auto; + align-items: center; + grid-gap: 1em 0; + background-color: #212121; + color: #fff; + + .topbar { + display: flex; + justify-content: space-between; + align-items: center; + background-color: #1db954; + padding: 1em; + } + + .main .container { + display: flex; + justify-content: space-between; + align-items: center; + padding: 1em; + + .search { + display: flex; + align-items: center; + gap: 0; + + input { + margin-right: 0; + border-radius: 5px 0 0 5px; + } + + button { + border-radius: 0 5px 5px 0; + border: 1px solid #1aa34a; + } + } + } +} + +main { + } footer { - padding: 1rem; +display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + color: #fff; + + .main { + background-color: #b3b3b3; + } + + .footerBottom { + background: #212121; + + p { + text-align: center; + } + } + + a { + color: #fff; + transition: color 0.3s ease; + + &:hover { + color: #1db954; + } + } } + +button, a[role="button"] { + padding: 0.5rem 1rem; + background-color: #1db954; + color: #fff; + border: none; + border-radius: 5px; + cursor: pointer; + transition: background-color 0.3s ease; + text-decoration: none; + + &:hover { + background-color: #1aa34a; + } +} + +input, select { + padding: 0.5rem; + border: 1px solid #ccc; + border-radius: 5px; + max-width: 300px; + margin-right: 1rem; +} \ No newline at end of file diff --git a/server/layouts/base.liquid b/server/layouts/base.liquid index ed429ff..495faea 100644 --- a/server/layouts/base.liquid +++ b/server/layouts/base.liquid @@ -3,6 +3,7 @@ {% block head %} + {{ title }} {% endblock %} {% if NODE_ENV == "development" %} @@ -18,13 +19,45 @@
- Deze header staat op elke pagina +
+ +
+ +
+
+ + + + + +
+
- {% block content %}{% endblock %} +
+ {% block content %}{% endblock %} +
- Deze footer staat op elke pagina +
+
+ Deze footer staat op elke pagina +
+
+ +
+
+

All rights reserved © {{ "now" | date: "%Y" }} Tymo's Movie App

+
+
+
diff --git a/server/server.js b/server/server.js index f44f6bd..773ea3d 100644 --- a/server/server.js +++ b/server/server.js @@ -4,59 +4,122 @@ import { logger } from '@tinyhttp/logger'; import { Liquid } from 'liquidjs'; import sirv from 'sirv'; -const data = { - 'beemdkroon': { - id: 'beemdkroon', - name: 'Beemdkroon', - image: { - src: 'https://i.pinimg.com/736x/09/0a/9c/090a9c238e1c290bb580a4ebe265134d.jpg', - alt: 'Beemdkroon', - width: 695, - height: 1080, - } - }, - 'wilde-peen': { - id: 'wilde-peen', - name: 'Wilde Peen', - image: { - src: 'https://mens-en-gezondheid.infonu.nl/artikel-fotos/tom008/4251914036.jpg', - alt: 'Wilde Peen', - width: 418, - height: 600, - } +// ApiKey and URL for The Movie Database API +const apiKey = process.env.movieDB_APIKey; +const apiUrl = 'https://api.themoviedb.org/3/discover/movie'; +const genreListUrl = `https://api.themoviedb.org/3/genre/movie/list?api_key=${apiKey}&language=en-US`; + +const engine = new Liquid({ extname: '.liquid' }); +const app = new App(); +app.use(logger()).use('/', sirv('dist')); + +// Genre map to store genre names +let genreMap = {}; + +// Get the genre list from the API and store it in genreMap +async function fetchGenres() { + try { + const response = await fetch(genreListUrl); + const genreData = await response.json(); + genreMap = genreData.genres; // Store the list of genres + return genreMap; + } catch (error) { + console.error('Error fetching genres:', error); + return []; } } -const engine = new Liquid({ - extname: '.liquid', -}); +async function fetchMovieData(page = 1, sort = 'popularity.desc', selected_genre = '') { + try { + // Use the genre and sort parameters to dynamically build the API URL + const genreQuery = selected_genre ? `&with_genres=${selected_genre}` : ''; + const sortQuery = sort ? `&sort_by=${sort}` : ''; + const url = `${apiUrl}?api_key=${apiKey}&language=en-US&page=${page}${genreQuery}${sortQuery}`; + + const response = await fetch(url); + const data = await response.json(); + return data; + } catch (error) { + console.error('Error fetching movie data:', error); + return { results: [], total_pages: 1 }; // Default empty data if error occurs + } +} -const app = new App(); +// Route for the home page +app.get('/', async (req, res) => { + const selectedGenre = req.query.genre ? parseInt(req.query.genre, 10) : ""; + const page = req.query.page ? parseInt(req.query.page, 10) : 1; // Get current page, default to 1 -app - .use(logger()) - .use('/', sirv('dist')) - .listen(3000, () => console.log('Server available on http://localhost:3000')); + // Get the selected genre name from the genreMap + const apiUrl = `https://api.themoviedb.org/3/discover/movie?api_key=${apiKey}&language=en-US&page=${page}&sort_by=${req.query.sort || 'popularity.desc'}&with_genres=${selectedGenre}`; -app.get('/', async (req, res) => { - return res.send(renderTemplate('server/views/index.liquid', { title: 'Home', items: Object.values(data) })); + // Fetch movie data from the API + try { + const response = await fetch(apiUrl); + const movieData = await response.json(); + + // Check if movieData is valid and contains results + if (!movieData.results) { + return res.status(500).send('Movie data is not available. Please try again later.'); + } + + // Fetch genre names for the selected genre + const genreResponse = await fetch(`https://api.themoviedb.org/3/genre/movie/list?api_key=${apiKey}&language=en-US`); + const genreData = await genreResponse.json(); + + // Map the genre IDs to their names and create an array of genre names + return res.send(renderTemplate('server/views/index.liquid', { + title: 'Home', + items: movieData.results, + genre_names: genreData.genres, + selected_genre: selectedGenre, + sort: req.query.sort || 'popularity.desc', + page: page, + total_pages: movieData.total_pages // Pass total pages + })); + } catch (error) { + console.error('Error fetching movie data:', error); + return res.status(500).send('Error loading movies.'); + } }); -app.get('/plant/:id/', async (req, res) => { + + +// Route for handling movie details page +app.get('/movie/:id/', async (req, res) => { const id = req.params.id; - const item = data[id]; + + // Fetch detailed movie data by ID + const movieDetailsUrl = `https://api.themoviedb.org/3/movie/${id}?api_key=${apiKey}&language=en-US`; + const response = await fetch(movieDetailsUrl); + const item = await response.json(); + if (!item) { - return res.status(404).send('Not found'); + return res.status(404).send('Movie not found'); } - return res.send(renderTemplate('server/views/detail.liquid', { title: `Detail page for ${id}`, item })); + + // Map the genre IDs to their names and create an array of genre names + const genreNames = item.genres.map(genre => genre.name); + + // Add the genre names array to the item object + item.genre_names = genreNames; + + // Render the movie details template with the movie data and genre names + return res.send(renderTemplate('server/views/detail.liquid', { title: item.title, item })); }); + + +// Function to render the Liquid template const renderTemplate = (template, data) => { const templateData = { NODE_ENV: process.env.NODE_ENV || 'production', ...data }; - return engine.renderFileSync(template, templateData); }; +// Fetch genres before starting the server +fetchGenres().then(() => { + app.listen(3000, () => console.log('Server available on http://localhost:3000')); +}); diff --git a/server/views/detail.liquid b/server/views/detail.liquid index 45c94b4..bfd26f4 100644 --- a/server/views/detail.liquid +++ b/server/views/detail.liquid @@ -1,6 +1,50 @@ {% layout "server/layouts/base.liquid" %} {% block content %} -

{{ item.name }}

-{{ item.image.alt }} +
+
+
+

{{ item.title }}

+
+ +
+ {{ item.title }} +
+ +
+

Description

+

{{ item.overview }}

+ +
+ +

Info

+

Release Date: {{ item.release_date }}

+ + {% assign full_stars = item.vote_average | divided_by: 2 | floor %} + {% assign half_star = item.vote_average | modulo: 2 %} + {% assign empty_stars = 5 | minus: full_stars | minus: half_star %} + +

+ Rating: + {% for i in (1..full_stars) %} + + {% endfor %} + {% if half_star > 0 %} + + {% endif %} + {% for i in (1..empty_stars) %} + + {% endfor %} + ({{ item.vote_count }}) +

+ + Genres: +
    + {% for genre in item.genre_names %} +
  • {{ genre }}
  • + {% endfor %} +
+
+
+
{% endblock %} diff --git a/server/views/details.css b/server/views/details.css new file mode 100644 index 0000000..6f4f63d --- /dev/null +++ b/server/views/details.css @@ -0,0 +1,64 @@ +.movieDetails { + .detailsGrid { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto 1fr; + gap: 1em; + + .movieDetails__header { + grid-column: 1; + grid-row: 1; + } + + .movieDetails__image { + grid-column: 1; + grid-row: 3; + } + + .movieDetails__info { + grid-column: 1; + grid-row: 2; + } + + @media screen and (min-width: 768px) { + grid-template-columns: 1fr 2fr; + grid-template-rows: auto; + + .movieDetails__header { + grid-column: 2; + grid-row: 1; + } + + .movieDetails__image { + grid-column: 1; + grid-row: 2; + } + + .movieDetails__info { + grid-column: 2; + grid-row: 2; + } + } + } + + .movieDetails__info { + h3 { + margin-top: 0; + } + + .rating i { + color: #1db954; + } + + .genres { + padding: 0 1em; + margin: 0; + list-style: initial; + } + } + + img { + max-width: 100%; + height: auto; + } +} \ No newline at end of file diff --git a/server/views/index.css b/server/views/index.css index 055029e..6eadeab 100644 --- a/server/views/index.css +++ b/server/views/index.css @@ -3,3 +3,23 @@ gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } + +.filters { + display: flex; + justify-content: flex-end; + align-items: center; + margin-bottom: 1rem; +} + +main .container > ul { + padding: 0; + margin: 0; +} + +.pagination { + display: flex; + justify-content: center; + align-items: center; + gap: 1rem; + margin-top: 2rem; +} \ No newline at end of file diff --git a/server/views/index.liquid b/server/views/index.liquid index 0dc52f4..0d4a06d 100644 --- a/server/views/index.liquid +++ b/server/views/index.liquid @@ -4,14 +4,60 @@

{{ title }}

+
+
+ + + + + + + + + + + + +
+
+ + + + + +
+ {% if page > 1 %} + Vorige + {% endif %} + + Pagina {{ page }} + + {% if page < total_pages %} + Volgende + {% endif %} +
+ {% endblock %} From 4ec22eaeb93348e4b6e32bc17c61891f676b42f8 Mon Sep 17 00:00:00 2001 From: Tymo Date: Mon, 7 Apr 2025 15:12:05 +0200 Subject: [PATCH 2/9] added fonts --- client/fonts.css | 31 ++++++++++++++++++++++++++++ client/index.css | 9 ++++++-- fonts/Quicksand-Bold.ttf | Bin 0 -> 78592 bytes fonts/Quicksand-Light.ttf | Bin 0 -> 78656 bytes fonts/Quicksand-Medium.ttf | Bin 0 -> 78944 bytes fonts/Quicksand-Regular.ttf | Bin 0 -> 78932 bytes fonts/Quicksand-SemiBold.ttf | Bin 0 -> 78816 bytes server/layouts/base.liquid | 4 +++- server/server.js | 8 +++---- server/views/detail.liquid | 35 +++++++++++++++++++++++++++---- server/views/details.css | 39 ++++++++++++++++++++++++++++++++--- 11 files changed, 111 insertions(+), 15 deletions(-) create mode 100644 client/fonts.css create mode 100644 fonts/Quicksand-Bold.ttf create mode 100644 fonts/Quicksand-Light.ttf create mode 100644 fonts/Quicksand-Medium.ttf create mode 100644 fonts/Quicksand-Regular.ttf create mode 100644 fonts/Quicksand-SemiBold.ttf diff --git a/client/fonts.css b/client/fonts.css new file mode 100644 index 0000000..d1d98da --- /dev/null +++ b/client/fonts.css @@ -0,0 +1,31 @@ +/* Light Weight */ +@font-face { + font-family: "Poppins"; + src: local("Poppins"), url("/fonts/Quicksand-Light.ttf") format("truetype"); + font-weight: 300; + font-style: normal; +} + +/* Regular Weight */ +@font-face { + font-family: "Poppins"; + src: local("Poppins"), url("/fonts/Quicksand-Regular.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} + +/* Medium Weight */ +@font-face { + font-family: "Poppins"; + src: local("Poppins"), url("/fonts/Quicksand-Medium.ttf") format("truetype"); + font-weight: 500; /* Medium weight */ + font-style: normal; +} + +/* Bold Weight */ +@font-face { + font-family: "Poppins"; + src: local("Poppins"), url("/fonts/Quicksand-Bold.ttf") format("truetype"); + font-weight: bold; + font-style: normal; +} \ No newline at end of file diff --git a/client/index.css b/client/index.css index 6b0adde..163fe04 100644 --- a/client/index.css +++ b/client/index.css @@ -1,6 +1,7 @@ /* global styles */ @import 'reset.css'; -@import "typography.css"; +@import 'typography.css'; +@import 'fonts.css'; /*.layout and view styling */ @import '../server/layouts/base.css'; @@ -10,12 +11,16 @@ /* component styling */ @import '../server/components/card/card.css'; - body { color: black; margin: 0 auto; } +* { + box-sizing: border-box; + font-family: "Quicksand", sans-serif; +} + main { padding: 1rem; } diff --git a/fonts/Quicksand-Bold.ttf b/fonts/Quicksand-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0106805ff5eddc4da561019fe8124c3831c69164 GIT binary patch literal 78592 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�hnUnyIc- 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 literal 0 HcmV?d00001 diff --git a/fonts/Quicksand-Medium.ttf b/fonts/Quicksand-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..afca2d9fe319096481940b396b5bb22ea44d27f9 GIT binary patch literal 78944 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℞2Sycm2EZ)H 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

      ?=F%W`QGJw0TgcB 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 literal 0 HcmV?d00001 diff --git a/fonts/Quicksand-SemiBold.ttf b/fonts/Quicksand-SemiBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..83475eaa632ce4316c2634e3320df73013dd943c GIT binary patch literal 78816 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

      >7#Xr8CZxwO2A7$% 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 literal 0 HcmV?d00001 diff --git a/server/layouts/base.liquid b/server/layouts/base.liquid index 32ca85c..4044997 100644 --- a/server/layouts/base.liquid +++ b/server/layouts/base.liquid @@ -4,7 +4,9 @@ {% block head %} - {{ title }} + + {{ title }} + {% endblock %} diff --git a/server/server.js b/server/server.js index 267ab03..4d3f87e 100644 --- a/server/server.js +++ b/server/server.js @@ -41,7 +41,7 @@ async function fetchMovieData(page = 1, sort = 'popularity.desc', selected_genre return data; } catch (error) { console.error('Error fetching movie data:', error); - return { results: [], total_pages: 1 }; // Default empty data if error occurs + return { results: [], total_pages: 1 }; } } @@ -83,8 +83,6 @@ app.get('/', async (req, res) => { } }); - - // Route for handling movie details page app.get('/movie/:id/', async (req, res) => { const id = req.params.id; @@ -94,6 +92,8 @@ app.get('/movie/:id/', async (req, res) => { const response = await fetch(movieDetailsUrl); const item = await response.json(); + console.log(item); + if (!item) { return res.status(404).send('Movie not found'); } @@ -103,8 +103,6 @@ app.get('/movie/:id/', async (req, res) => { })); }); - - // Function to render the Liquid template const renderTemplate = (template, data) => { const templateData = { diff --git a/server/views/detail.liquid b/server/views/detail.liquid index bfd26f4..f7236ff 100644 --- a/server/views/detail.liquid +++ b/server/views/detail.liquid @@ -5,6 +5,7 @@

      {{ item.title }}

      +

      {{ item.tagline }}

      @@ -15,17 +16,24 @@

      Description

      {{ item.overview }}

      + {% if item.homepage %} +

      {{item.homepage}}

      + {% endif %} +

      Info

      -

      Release Date: {{ item.release_date }}

      +

      + Release Date: + {{ item.release_date }} +

      {% assign full_stars = item.vote_average | divided_by: 2 | floor %} {% assign half_star = item.vote_average | modulo: 2 %} {% assign empty_stars = 5 | minus: full_stars | minus: half_star %}

      - Rating: + Rating: {% for i in (1..full_stars) %} {% endfor %} @@ -40,11 +48,30 @@ Genres:

        - {% for genre in item.genre_names %} -
      • {{ genre }}
      • + {% for genre in item.genres %} +
      • {{ genre.name }}
      • {% endfor %}
      + +
      + {% if item.production_companies %} +

      Production company's

      +
      + {% for company in item.production_companies %} +
      + {% if company.logo_path %} + {{ company.name }} + {% else %} + {{ company.name }} + {% endif %} +

      {{ company.name }}

      +
      + {% endfor %} +
      + {% endif %} + +
      {% endblock %} diff --git a/server/views/details.css b/server/views/details.css index 6f4f63d..52653db 100644 --- a/server/views/details.css +++ b/server/views/details.css @@ -20,6 +20,11 @@ grid-row: 2; } + .movieDetails__extra { + grid-column: 1; + grid-row: 4; + } + @media screen and (min-width: 768px) { grid-template-columns: 1fr 2fr; grid-template-rows: auto; @@ -31,13 +36,18 @@ .movieDetails__image { grid-column: 1; - grid-row: 2; + grid-row: 1 / span 2; } .movieDetails__info { grid-column: 2; grid-row: 2; } + + .movieDetails__extra { + grid-column: 1 / span 2; + grid-row: 3; + } } } @@ -45,7 +55,7 @@ h3 { margin-top: 0; } - + .rating i { color: #1db954; } @@ -57,8 +67,31 @@ } } - img { + .movieDetails__image img { max-width: 100%; height: auto; + border-radius: 5px; + } + + .movieDetails__extra { + .companys { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); + gap: 1em; + } + + .company { + display: flex; + align-items: center; + gap: 0.5em; + padding: 0.5em; + background-color: #f0f0f0; + border-radius: 5px; + + img { + width: 50px; + height: auto; + } + } } } \ No newline at end of file From 352d8fc07b2f09753bb5d3ffe450f9d7366daf87 Mon Sep 17 00:00:00 2001 From: Tymo Date: Wed, 16 Apr 2025 09:39:07 +0200 Subject: [PATCH 3/9] version 2.0 --- README.md | 137 ++++++++++------------------- client/index.css | 32 +++++++ client/index.js | 116 +++++++++++++++++++++++- server/components/card/card.css | 14 +-- server/components/card/card.liquid | 2 +- server/layouts/base.css | 21 ++++- server/layouts/base.liquid | 12 ++- server/server.js | 32 +++++-- server/views/detail.liquid | 10 ++- server/views/details.css | 29 +++++- server/views/favorites.liquid | 21 +++++ server/views/index.css | 2 +- server/views/index.liquid | 2 +- 13 files changed, 306 insertions(+), 124 deletions(-) create mode 100644 server/views/favorites.liquid diff --git a/README.md b/README.md index 377ea97..9ab8338 100644 --- a/README.md +++ b/README.md @@ -1,112 +1,65 @@ -# API @cmda-minor-web 2024 - 2025 -Het web is een geweldige plek en de beschikbare technologieën ervan zijn vandaag de dag krachtiger dan ooit tevoren. -De kracht van het web ligt in het feit dat het een platform is dat voor iedereen beschikbaar is en dat het gebaseerd is -op open standaarden. De technologieën worden ontworpen en gespecificeerd op basis van consensus en zijn niet in handen -van één enkele entiteit. +# API -Desondanks zijn er veel mensen en bedrijven die vinden dat het internet niet voldoet aan hun behoeften. Dit blijkt uit -de pogingen van grote techbedrijven om hun eigen afgesloten ecosystemen te creëren. Ze streven hiermee naar controle over -zowel de gebruikerservaring als de gegenereerde data. +Maker: **Tymo Smids** -**In dit vier weken durende vak zullen we de kracht van het web ervaren en kijken hoe we (mobiele) web apps kunnen maken die -net zo aantrekkelijk zijn als native mobiele apps. We beginnen met het maken van een server-side gerenderde applicatie -waarbij we geleidelijk de gebruikerservaring verbeteren met relevante beschikbare web API's.** +Datum: *2025/03/25* - *2025/04/29* -[TLDR; hoe zet ik mijn project op?](#Inrichten-ontwikkelomgeving) +## Randvoorwaarden -## Doelen +- Minimaal een overzichts- en detailpagina; +- Gebouwd in TinyHTTP + Liquid; +- Minimaal een content API; +- Minimaal twee Web API's. -Na deze cursus zul je: +## Mijn project -- In staat zijn om een server-side gerenderde applicatie te maken. -- In staat zijn om een enerverende gebruikerservaring te creëren. -- Een breder begrip hebben van het web en zijn mogelijkheden. +De pagina's die ik heb zijn: een homepagina, detailpagina en een favorieten pagina. Het project is gebouwd in **TinyHTTP** en **Liquid** is de templating taal die is gebruikt. De **content API** die is gebruikt is de `MovieDB API`. -## Opdracht +### Verbinden met de API -In dit vak zullen we een van de meest voorkomende app-concepten van vandaag -gebruiken en ontdekken dat we deze kunnen maken met moderne webtechnologie -met als doel om een rijke gebruikerservaring creëeren. +De API key is opgeslagen in het `.env` bestand. Dit bestand staat in de `.gitignore`. Dit zorgt ervoor dat de key veilig wordt opgeslagen want de bestanden in de .gitignore worden niet meegestuurd naar Github. Als dit niet wordt gedaan kan iedereen bij de api key en zelf request afvuren. -Randvoorwaarden: +```js +// ApiKey and URL for The Movie Database API +const apiKey = process.env.movieDB_APIKey; +const apiUrl = 'https://api.themoviedb.org/3/discover/movie'; +``` -- Minimaal een overzichts- en detailpagina -- Gebouwd in TinyHTTP + Liquid -- Minimaal een content API -- Minimaal twee Web API's +Als de `apiUrl` direct in de browser zou worden gezet krijg je een Json bestand terug. Dit bestand is ook wat je krijgt als je een `Fetch()` afvuurt. -Voorbeelden: +```js + const response = await fetch(movieDetailsUrl); + const item = await response.json(); +``` -- Maak je eigen streamingplatform (Netflix/Spotify). -- Maak je eigen doom-scroll-app (Instagram/TikTok). -- Maak je eigen chatapplicatie (WhatsApp/Signal). -- Een andere app die je zelf leuk vindt... +De data die je terugkrijgt kan je nu gebruiken om de website te vullen. -Voorbeeld content API's die je kan gebruiken: +```js +
      + {{ item.title }} +

      {{ item.title }}

      +
      +``` -- [MovieDB API](https://developer.themoviedb.org/reference/intro/getting-started) -- [Rijksmuseum API](https://data.rijksmuseum.nl/object-metadata/api/) -- [Spotify API](https://developer.spotify.com/documentation/web-api) -- ... +## CSS -Voorbeelden van Web API's die je kan gebruiken: +Alle `liquid` bestanden hebben een los css bestand zodat het compact en los van elkaar staat. De kaarten worden via een render template. -- [Page Transition API voor animaties tusse npagina's](https://developer.mozilla.org/en-US/docs/Web/API/Page_Transitions_API) -- [Web Animations API voor complexe animaties](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API) -- [Service Worker API voor installable web apps](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) -- [Web Push API voor push notifications](https://developer.mozilla.org/en-US/docs/Web/API/Push_API) -- [Server sent events voor realtime functionaliteit](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) -- [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) -- [Web Speech API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API) -- [Web Share API voor sharen van content binnen de context van de gebruiker](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share) -- ... +```liquid +{% render 'server/components/card/card.liquid', item: item %} +``` -De lijst is eindeloos, laat je vooral inspireren op de overzichtspagina van [MDN](https://developer.mozilla.org/en-US/docs/Web/API). +Om de css die ik wil aanroepen voor elk bestand zet ik een algemene class die alleen voorkomt bij die pagina. Dit zorgt ervoor dat de css alleen wordt aangeroepen als dit nodig is. -## Beoordeling -De beoordelingscriteria zijn te vinden op [DLO](https://dlo.mijnhva.nl/d2l/le/content/609470/Home) +```css +/* Detail pagina */ +.movieDetails {} +``` -## Planning - -| Planning | Maandag | Dinsdag | Vrijdag | -|----------------------------|-----------------------|--------------------|---------------------------------------------| -| Week 1 - Kickoff & concept | Introductie ne uitleg | Workshops | Feedback gesprekken | -| Week 2 - The baseline | College + workshops | Workshops | Feedback gesprekken | -| Week 3 - Enhance | College + workshops | Workshops | Feedback gesprekken(*DONDERDAG*) | -| Week 4 - Enhance & wrap up | Tweede paasdag | Individuele vragen | Beoordelingsgesprekken(*DONDERDAG/VRIJDAG*) | - -## Bronnen - -- [Nodejs.org](https://nodejs.org/en/), voor de installatie van NodeJS op jouw systeem, kies voor NodeJS 22.13.1 Long Term Support. Dit is de meest stabiele versie van NodeJS, welke ondersteund wordt met goede documentatie. -- [VSCode How To Open Terminal](https://www.youtube.com/watch?v=OmQhOnBzg_k), om iemand de terminal te zien openen en gebruiken op Youtube. -- [Introduction to NodeJS](https://nodejs.dev/en/learn/), voor een in depth introductie met de NodeJS ontwikkelomgeving. Let op: dit is best een technisch verhaal. De eerste zes pagina’s zijn interessant. -- Om serverside te kunnen renderen maken we gebruik van [TinyHttp](https://github.com/tinyhttp). -- Voor templating maken we gebruik van [LiquidJS](https://liquidjs.com/). -- [Liquid Filters](https://liquidjs.com/filters/overview.html) -- Voor build tooling(CSS en JS) maken we gebruik [Vite](https://vitejs.dev/). -- [Using the Fetch API @ MDN](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) -- [JSON.parse() @ MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) -- [Partial commits in GitHub Desktop](https://github.blog/news-insights/product-news/partial-commits-in-github-for-windows/) -- [Committing and reviewing changes to your project in GitHub Desktop](https://docs.github.com/en/desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project-in-github-desktop) - -## Inrichten ontwikkelomgeving - -1. Navigeer naar [nodejs.org](https://nodejs.org/en/) en installeer de NodeJS ontwikkelomgeving. Kies voor _NodeJS 22.13.1 with long-term support_, download de benodigde bestanden en doorloop het installatieproces. - -2. Fork daarna [deze repository](https://github.com/cmda-minor-web/API-2425) en *clone* deze op jouw computer. - -3. Open deze repository in je code editor. - -4. Open de _Terminal_ in Visual Studio Code door de toetscombinatie `` ^` `` (control + `) te gebruiken. Er opent een terminalscherm in de hoofdmap van jouw project. - -5. Voer in de terminal het commando `npm install` uit, door het in te typen en op enter te drukken. Je gebruikt _NPM_, de _NodeJS Package Manager_ om alle _afhankelijkheden_ voor dit project te installeren. NPM is een veelgebruikte package manager in frontend land. Voor dit project gebruiken we _TinyHTTP_ (om een _server_ te maken) en _Liquid_ (om HTML te _renderen_). -- (Optioneel) Na de installatie is de map `node_modules` aangemaakt, en gevuld met allerlei _packages_. Scroll eens door deze map heen; vele honderden *open source* ontwikkelaars hebben de packages die je ziet gebouwd en die mag je gratis gebruiken. Ontwikkelen in NodeJS is *standing on the shoulders of giants*. - -### Project starten en stoppen -Start het voorbeeldproject op door in de terminal het commando `npm run dev` uit te voeren. Als het goed is, komt een melding te staan over het opstarten van de server: `Server available on http://localhost:3000` — Open deze URL in je browser. Let op: Vite draait op een andere poort dan TinyHTTP, dus je moet de poort van TinyHTTP gebruiken: http://localhost:3000 - -Als het werkt, zet je je server weer uit door in de terminal de toetscombinatie `^c` (control + c) in te voeren. Deze toetsencombinatie wordt in de terminal gebruikt om de huidige taak te stoppen en *controle* (vandaar de c) terug te krijgen van het programma. - -- Optioneel: Volg het [NodeJS ‘Hello World’ voorbeeld](https://medium.com/@mohammedijas/hello-world-in-node-js-b333275ddc89) -- Optioneel, iets technischer: Lees de eerste vijf delen van [Introduction to Node](https://nodejs.dev/en/learn/) als je een meer in-depth introductie wilt met de NodeJS ontwikkelomgeving. +## Link +[Link naar project](tymonl.github.io/API-2425/) diff --git a/client/index.css b/client/index.css index 163fe04..4db19eb 100644 --- a/client/index.css +++ b/client/index.css @@ -11,6 +11,10 @@ /* component styling */ @import '../server/components/card/card.css'; +html { + scroll-behavior: smooth; +} + body { color: black; margin: 0 auto; @@ -28,3 +32,31 @@ main { .container { max-width: 1440px; } + +:root { + view-transition-name: root; +} + +@view-transition { + navigation: auto; +} + +html::view-transition { + /* Optional: custom styling */ + animation-duration: 0.4s; +} + +::view-transition-old(movie-*) { + opacity: 1; +} + +::view-transition-new(movie-*) { + opacity: 0; + animation: fadeIn 0.5s ease forwards; +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + diff --git a/client/index.js b/client/index.js index 5f2dbf3..f619c24 100644 --- a/client/index.js +++ b/client/index.js @@ -1,3 +1,117 @@ import './index.css'; -console.log('Hello, world!'); +document.querySelectorAll('.card_image').forEach(card => { + card.addEventListener('click', (e) => { + e.preventDefault(); + + const movieId = card.getAttribute('id'); + const targetUrl = `/movies/${movieId}`; // adjust depending on your site + + if (document.startViewTransition) { + document.startViewTransition(() => { + window.location.href = targetUrl; + }); + } else { + window.location.href = targetUrl; + } + }); +}); + +const favBtn = document.querySelector('.addToFavorites'); +if (favBtn) { + favBtn.addEventListener('click', (e) => { + AddToFavorites(e.target.dataset.id); + }); +} + +function AddToFavorites(id, obj) { + const favorites = JSON.parse(localStorage.getItem('favorites')) || []; + if (!favorites.includes(id)) { + favorites.push(id); + localStorage.setItem('favorites', JSON.stringify(favorites)); + } +} + +const favorites = JSON.parse(localStorage.getItem('favorites')) || []; + +const btn = document.querySelector('.addToFavorites'); + +if (btn) { // Safety check + const id = btn.dataset.id; + const icon = btn.querySelector('i'); + + if (favorites.includes(id)) { + icon.classList.remove('fa-regular'); + icon.classList.add('fa-solid'); + } +} + +document.addEventListener('DOMContentLoaded', () => { + const btn = document.querySelector('.addToFavorites'); + if (!btn) return; + + const id = btn.dataset.id; + const icon = btn.querySelector('i'); + + // Sanity check + if (!id || !icon) { + console.warn("Missing movie ID or tag inside button."); + return; + } + + // Clean localStorage + let favorites = JSON.parse(localStorage.getItem('favorites')) || []; + favorites = favorites.filter(fav => fav); // remove nulls + localStorage.setItem('favorites', JSON.stringify(favorites)); + + // Set initial icon + if (favorites.includes(id)) { + icon.classList.remove('fa-regular'); + icon.classList.add('fa-solid'); + } + + // Toggle on click + btn.addEventListener('click', () => { + let favorites = JSON.parse(localStorage.getItem('favorites')) || []; + const index = favorites.indexOf(id); + + if (!id) return; // extra safety + + if (index === -1) { + favorites.push(id); + icon.classList.remove('fa-regular'); + icon.classList.add('fa-solid'); + } else { + favorites.splice(index, 1); + icon.classList.remove('fa-solid'); + icon.classList.add('fa-regular'); + } + + localStorage.setItem('favorites', JSON.stringify(favorites)); + }); +}); + +var favoritesLink = document.querySelector('.goToFavorites'); + +if (favoritesLink) { + favoritesLink.addEventListener('click', (e) => { + goToFavoritesPage(); + console.log('kaas'); + }); +} + +function goToFavoritesPage() { + let favorites = JSON.parse(localStorage.getItem('favorites')) || []; + + // Filter out null/undefined/empty + favorites = favorites.filter(id => id); + + if (favorites.length === 0) { + alert("No favorites yet!"); + return; + } + + const query = favorites.join(','); + window.location.href = `/favorites?ids=${query}`; +} + diff --git a/server/components/card/card.css b/server/components/card/card.css index d2ab076..9baa2f2 100644 --- a/server/components/card/card.css +++ b/server/components/card/card.css @@ -8,23 +8,27 @@ } } +.movie__link { + + &:hover img, + &:focus img { + scale: 1.05; + } +} + .card { width: 100%; max-width: 300px; display: grid; overflow: hidden; border-radius: 10px; - height: 100%;; + height: 100%; .card__image { width: 100%; height: auto; border-radius: 10px 10px 0 0; transition: all 0.3s ease-out; - - &:hover { - scale: 1.05; - } } h2 { diff --git a/server/components/card/card.liquid b/server/components/card/card.liquid index 35b22da..b3811e7 100644 --- a/server/components/card/card.liquid +++ b/server/components/card/card.liquid @@ -1,5 +1,5 @@
      - {{ item.title }} + + {{ title }} {% endblock %} @@ -21,13 +23,15 @@

      Tymo's Movie App

      + +
      - +
      -
      -
      - Deze footer staat op elke pagina -
      -
      -

      All rights reserved © {{ "now" | date: "%Y" }} Tymo's Movie App

      diff --git a/server/server.js b/server/server.js index 4d3f87e..825fd7a 100644 --- a/server/server.js +++ b/server/server.js @@ -41,7 +41,6 @@ async function fetchMovieData(page = 1, sort = 'popularity.desc', selected_genre return data; } catch (error) { console.error('Error fetching movie data:', error); - return { results: [], total_pages: 1 }; } } @@ -58,11 +57,6 @@ app.get('/', async (req, res) => { const response = await fetch(apiUrl); const movieData = await response.json(); - // Check if movieData is valid and contains results - if (!movieData.results) { - return res.status(500).send('Movie data is not available. Please try again later.'); - } - // Fetch genre names for the selected genre const genreResponse = await fetch(`https://api.themoviedb.org/3/genre/movie/list?api_key=${apiKey}&language=en-US`); const genreData = await genreResponse.json(); @@ -79,7 +73,6 @@ app.get('/', async (req, res) => { })); } catch (error) { console.error('Error fetching movie data:', error); - return res.status(500).send('Error loading movies.'); } }); @@ -103,6 +96,31 @@ app.get('/movie/:id/', async (req, res) => { })); }); +app.get('/favorites', async (req, res) => { + const ids = req.query.ids ? req.query.ids.split(',') : []; + + if (!ids.length) { + return res.send(renderTemplate('server/views/favorites.liquid', { + title: 'Favorites', + items: [] + })); + } + + const items = []; + + for (const id of ids) { + const url = `https://api.themoviedb.org/3/movie/${id}?api_key=${apiKey}&language=en-US`; + const response = await fetch(url); + const movie = await response.json(); + items.push(movie); + } + + return res.send(renderTemplate('server/views/favorites.liquid', { + title: 'Favorites', + items + })); +}); + // Function to render the Liquid template const renderTemplate = (template, data) => { const templateData = { diff --git a/server/views/detail.liquid b/server/views/detail.liquid index f7236ff..d062b3f 100644 --- a/server/views/detail.liquid +++ b/server/views/detail.liquid @@ -4,12 +4,20 @@
      +

      {{ item.title }}

      {{ item.tagline }}

      - {{ item.title }} + {{ item.title }}
      diff --git a/server/views/details.css b/server/views/details.css index 52653db..5937493 100644 --- a/server/views/details.css +++ b/server/views/details.css @@ -67,10 +67,31 @@ } } - .movieDetails__image img { - max-width: 100%; - height: auto; - border-radius: 5px; + .movieDetails__header { + position: relative; + + button { + position: absolute; + top: 0; + right: 0; + z-index: 10; + background: none; + border: none; + + i { color: #1db954; } + + &:hover i.fa-regular {font-weight: 700; } + &:hover i.fa-solid { font-weight: 400; } + } + + } + + .movieDetails__image { + img { + max-width: 100%; + height: auto; + border-radius: 5px; + } } .movieDetails__extra { diff --git a/server/views/favorites.liquid b/server/views/favorites.liquid new file mode 100644 index 0000000..1eefe76 --- /dev/null +++ b/server/views/favorites.liquid @@ -0,0 +1,21 @@ +{% layout "server/layouts/base.liquid" %} + +{% block content %} + +

      {{ title }}

      + +{% if items.length > 0 %} + +{% else %} +

      No favorites found.

      +{% endif %} + +{% endblock %} \ No newline at end of file diff --git a/server/views/index.css b/server/views/index.css index 6eadeab..a220238 100644 --- a/server/views/index.css +++ b/server/views/index.css @@ -1,7 +1,7 @@ .grid { display: grid; gap: 1rem; - grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } .filters { diff --git a/server/views/index.liquid b/server/views/index.liquid index 0d4a06d..3651d88 100644 --- a/server/views/index.liquid +++ b/server/views/index.liquid @@ -40,7 +40,7 @@
        {% for item in items %}
      • - + {% render 'server/components/card/card.liquid', item: item %}
      • From 67daa85fa9faadc5fe096c0d33e40be9792fa5f5 Mon Sep 17 00:00:00 2001 From: Tymo Date: Tue, 22 Apr 2025 12:56:23 +0200 Subject: [PATCH 4/9] added search --- README.md | 61 +++++++++++++++++++++++++++++++++-- client/index.js | 20 ------------ server/layouts/base.css | 21 ++++++------ server/layouts/base.liquid | 22 ++++++------- server/server.js | 36 +++++++++++++++------ server/views/detail.liquid | 2 +- server/views/details.css | 4 +-- server/views/favorites.liquid | 2 +- 8 files changed, 111 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 9ab8338..1800d68 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Datum: *2025/03/25* - *2025/04/29* ## Mijn project -De pagina's die ik heb zijn: een homepagina, detailpagina en een favorieten pagina. Het project is gebouwd in **TinyHTTP** en **Liquid** is de templating taal die is gebruikt. De **content API** die is gebruikt is de `MovieDB API`. +De pagina's die ik heb zijn: een homepagina, detailpagina en een favorieten pagina. Het project is gebouwd in **TinyHTTP** en **Liquid** is de templating taal die is gebruikt. De **content API** die is gebruikt is de `MovieDB API`. De **Web API's** die gebruikt worden zijn: de `Localstorage API` en de `View transition API`. ### Verbinden met de API @@ -45,9 +45,66 @@ De data die je terugkrijgt kan je nu gebruiken om de website te vullen.
      ``` +## Favorieten + +Om favorieten toe te voegen heb ik gebruik gemaakt van localstorage. Dit zorgt ervoor dat de films die worden toegevoegd aan de favorieten ook daar blijven tot deze worden verwijderd. Om naar de favorieten te gaan heb ik een link naar de favorieten pagina gemaakt zodat je een lijst hebt van je favorieten lijst. + +```js +// Pad naar de favorieten pagina +app.get('/favorites', async (req, res) => { + const ids = req.query.ids ? req.query.ids.split(',') : []; + + // Check of er geen favorieten zijn + if (!ids.length) { + return res.send(renderTemplate('server/views/favorites.liquid', { + title: 'Favorites', + items: [] + })); + } + + const items = []; + + // Haal de de details op van de films met de opgegeven ids + for (const id of ids) { + const url = `https://api.themoviedb.org/3/movie/${id}?api_key=${apiKey}&language=en-US`; + const response = await fetch(url); + const movie = await response.json(); + + // voeg de films toe aan de items array + items.push(movie); + } + + // Render de template met de opgehaalde films + return res.send(renderTemplate('server/views/favorites.liquid', { + title: 'Favorites', + items + })); +}); +``` + +## Zoeken + +Om te kunnen zoeken wordt er getest of **search** in de URL zit. Als dit zo is wordt de API url veranderd zodat alle films worden opgehaald relevant zijn voor de zoekterm. + +```js + const searchQuery = req.query.search; + + let apiUrl; + + // Als search in de URL zit + if (searchQuery) { + // Gebruik de zoekendpoint van de API + apiUrl = `https://api.themoviedb.org/3/search/movie?api_key=${apiKey}&language=en-US&page=${page}&query=${encodeURIComponent(searchQuery)}`; + } else { + // Standaard ontdekking API + const genreQuery = selectedGenre ? `&with_genres=${selectedGenre}` : ''; + apiUrl = `https://api.themoviedb.org/3/discover/movie?api_key=${apiKey}&language=en-US&page=${page}&sort_by=${sort}${genreQuery}`; + } +``` + ## CSS -Alle `liquid` bestanden hebben een los css bestand zodat het compact en los van elkaar staat. De kaarten worden via een render template. +Alle `liquid` bestanden hebben een los CSS bestand zodat het compact en los van elkaar staat. De kaarten worden via een render template. ```liquid {% render 'server/components/card/card.liquid', item: item %} diff --git a/client/index.js b/client/index.js index f619c24..1b91550 100644 --- a/client/index.js +++ b/client/index.js @@ -17,21 +17,6 @@ document.querySelectorAll('.card_image').forEach(card => { }); }); -const favBtn = document.querySelector('.addToFavorites'); -if (favBtn) { - favBtn.addEventListener('click', (e) => { - AddToFavorites(e.target.dataset.id); - }); -} - -function AddToFavorites(id, obj) { - const favorites = JSON.parse(localStorage.getItem('favorites')) || []; - if (!favorites.includes(id)) { - favorites.push(id); - localStorage.setItem('favorites', JSON.stringify(favorites)); - } -} - const favorites = JSON.parse(localStorage.getItem('favorites')) || []; const btn = document.querySelector('.addToFavorites'); @@ -106,11 +91,6 @@ function goToFavoritesPage() { // Filter out null/undefined/empty favorites = favorites.filter(id => id); - if (favorites.length === 0) { - alert("No favorites yet!"); - return; - } - const query = favorites.join(','); window.location.href = `/favorites?ids=${query}`; } diff --git a/server/layouts/base.css b/server/layouts/base.css index a1c0810..efd2364 100644 --- a/server/layouts/base.css +++ b/server/layouts/base.css @@ -35,13 +35,14 @@ header { flex-wrap: wrap; gap: 1rem; - @media screen and (min-width: 768px) { + @media screen and (min-width: 568px) { justify-content: space-between; } .search { display: flex; align-items: center; + margin-bottom: 0; gap: 0; input { @@ -57,22 +58,20 @@ header { } } -main { - -} +main {} footer { -display: grid; + display: grid; grid-template-columns: 1fr; grid-template-rows: auto; color: #fff; - + .main { background-color: #b3b3b3; } - .footerBottom { - background: #212121; + .footerBottom { + background: #212121; p { text-align: center; @@ -89,7 +88,8 @@ display: grid; } } -button, a[role="button"] { +button, +a[role="button"] { padding: 0.5rem 1rem; background-color: #1db954; color: #fff; @@ -104,7 +104,8 @@ button, a[role="button"] { } } -input, select { +input, +select { padding: 0.5rem; border: 1px solid #ccc; border-radius: 5px; diff --git a/server/layouts/base.liquid b/server/layouts/base.liquid index 80a695a..a588870 100644 --- a/server/layouts/base.liquid +++ b/server/layouts/base.liquid @@ -1,16 +1,16 @@ - - + + {% block head %} - - + + - + {{ title }} {% endblock %} - + {% block styles %}{% endblock %} {% block scripts %}{% endblock %} @@ -24,7 +24,7 @@ Tymo's Movie App

      - + @@ -34,10 +34,10 @@ - + diff --git a/server/server.js b/server/server.js index 825fd7a..d9c638e 100644 --- a/server/server.js +++ b/server/server.js @@ -47,35 +47,45 @@ async function fetchMovieData(page = 1, sort = 'popularity.desc', selected_genre // Route for the home page app.get('/', async (req, res) => { const selectedGenre = req.query.genre ? parseInt(req.query.genre, 10) : ""; - const page = req.query.page ? parseInt(req.query.page, 10) : 1; // Get current page, default to 1 - - // Get the selected genre name from the genreMap - const apiUrl = `https://api.themoviedb.org/3/discover/movie?api_key=${apiKey}&language=en-US&page=${page}&sort_by=${req.query.sort || 'popularity.desc'}&with_genres=${selectedGenre}`; + const page = req.query.page ? parseInt(req.query.page, 10) : 1; + const sort = req.query.sort || 'popularity.desc'; + const searchQuery = req.query.search; + + let apiUrl; + + // Als search in de URL zit + if (searchQuery) { + // Gebruik de zoekendpoint van de API + apiUrl = `https://api.themoviedb.org/3/search/movie?api_key=${apiKey}&language=en-US&page=${page}&query=${encodeURIComponent(searchQuery)}`; + } else { + // Standaard ontdekking API + const genreQuery = selectedGenre ? `&with_genres=${selectedGenre}` : ''; + apiUrl = `https://api.themoviedb.org/3/discover/movie?api_key=${apiKey}&language=en-US&page=${page}&sort_by=${sort}${genreQuery}`; + } - // Fetch movie data from the API try { const response = await fetch(apiUrl); const movieData = await response.json(); - // Fetch genre names for the selected genre const genreResponse = await fetch(`https://api.themoviedb.org/3/genre/movie/list?api_key=${apiKey}&language=en-US`); const genreData = await genreResponse.json(); - // Map the genre IDs to their names and create an array of genre names return res.send(renderTemplate('server/views/index.liquid', { title: 'Home', items: movieData.results, genre_names: genreData.genres, selected_genre: selectedGenre, - sort: req.query.sort || 'popularity.desc', + sort: sort, page: page, - total_pages: movieData.total_pages // Pass total pages + total_pages: movieData.total_pages, + search: searchQuery || '' })); } catch (error) { console.error('Error fetching movie data:', error); } }); + // Route for handling movie details page app.get('/movie/:id/', async (req, res) => { const id = req.params.id; @@ -96,9 +106,11 @@ app.get('/movie/:id/', async (req, res) => { })); }); +// Pad naar de favorieten pagina app.get('/favorites', async (req, res) => { const ids = req.query.ids ? req.query.ids.split(',') : []; + // Check of er geen favorieten zijn if (!ids.length) { return res.send(renderTemplate('server/views/favorites.liquid', { title: 'Favorites', @@ -108,13 +120,17 @@ app.get('/favorites', async (req, res) => { const items = []; + // Haal de de details op van de films met de opgegeven ids for (const id of ids) { const url = `https://api.themoviedb.org/3/movie/${id}?api_key=${apiKey}&language=en-US`; const response = await fetch(url); const movie = await response.json(); - items.push(movie); + + // voeg de films toe aan de items array + items.push(movie); } + // Render de template met de opgehaalde films return res.send(renderTemplate('server/views/favorites.liquid', { title: 'Favorites', items diff --git a/server/views/detail.liquid b/server/views/detail.liquid index d062b3f..7a63545 100644 --- a/server/views/detail.liquid +++ b/server/views/detail.liquid @@ -16,7 +16,7 @@ id="movie_{{ item.id }}" src="https://image.tmdb.org/t/p/original{{ item.poster_path }}" title="{{ item.title }}" alt="{{ item.title }}" - style="view-transition-name: card__image_{{ item.id }}" + style="view-transition-name: movie_{{ item.id }}" /> diff --git a/server/views/details.css b/server/views/details.css index 5937493..834b4ad 100644 --- a/server/views/details.css +++ b/server/views/details.css @@ -12,12 +12,12 @@ .movieDetails__image { grid-column: 1; - grid-row: 3; + grid-row: 2; } .movieDetails__info { grid-column: 1; - grid-row: 2; + grid-row: 3; } .movieDetails__extra { diff --git a/server/views/favorites.liquid b/server/views/favorites.liquid index 1eefe76..c3844df 100644 --- a/server/views/favorites.liquid +++ b/server/views/favorites.liquid @@ -15,7 +15,7 @@ {% endfor %}
{% else %} -

No favorites found.

+

Geen favorieten gevonden.

{% endif %} {% endblock %} \ No newline at end of file From 30c7cf97376db0cf9e0fdbd92b5298f6559ce3e9 Mon Sep 17 00:00:00 2001 From: Tymo Date: Tue, 22 Apr 2025 13:07:26 +0200 Subject: [PATCH 5/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1800d68..bf69338 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ Om te kunnen zoeken wordt er getest of **search** in de URL zit. Als dit zo is w Alle `liquid` bestanden hebben een los CSS bestand zodat het compact en los van elkaar staat. De kaarten worden via een render template. -```liquid +```js {% render 'server/components/card/card.liquid', item: item %} ``` From c90366a6deb2f36f943f1efb71ae0df19e6563fb Mon Sep 17 00:00:00 2001 From: Tymo Date: Tue, 22 Apr 2025 13:11:23 +0200 Subject: [PATCH 6/9] Update README.md --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index bf69338..bc2b1e2 100644 --- a/README.md +++ b/README.md @@ -106,10 +106,6 @@ Om te kunnen zoeken wordt er getest of **search** in de URL zit. Als dit zo is w Alle `liquid` bestanden hebben een los CSS bestand zodat het compact en los van elkaar staat. De kaarten worden via een render template. -```js -{% render 'server/components/card/card.liquid', item: item %} -``` - Om de css die ik wil aanroepen voor elk bestand zet ik een algemene class die alleen voorkomt bij die pagina. Dit zorgt ervoor dat de css alleen wordt aangeroepen als dit nodig is. ```css From d5dd983ea67164b78b35a52654ce5627e64b60e1 Mon Sep 17 00:00:00 2001 From: Tymo Date: Wed, 23 Apr 2025 09:37:01 +0200 Subject: [PATCH 7/9] changes after feedback --- client/index.css | 16 +++++++++---- client/index.js | 12 ++++++++++ server/components/card/card.css | 21 +++++++++++++++-- server/layouts/base.css | 42 +++++++++++++++++++-------------- server/layouts/base.liquid | 17 ++++--------- server/views/detail.liquid | 6 ++--- server/views/details.css | 2 +- server/views/index.liquid | 2 +- 8 files changed, 76 insertions(+), 42 deletions(-) diff --git a/client/index.css b/client/index.css index 4db19eb..e067510 100644 --- a/client/index.css +++ b/client/index.css @@ -16,7 +16,7 @@ html { } body { - color: black; + color: #fff; margin: 0 auto; } @@ -42,15 +42,14 @@ main { } html::view-transition { - /* Optional: custom styling */ animation-duration: 0.4s; } -::view-transition-old(movie-*) { +::view-transition-old(movie_*) { opacity: 1; } -::view-transition-new(movie-*) { +::view-transition-new(movie_*) { opacity: 0; animation: fadeIn 0.5s ease forwards; } @@ -60,3 +59,12 @@ html::view-transition { to { opacity: 1; } } +.fade-transition { + opacity: 1; + transition: opacity 0.4s ease-in-out; +} + +.fade-transition.fade-out { + opacity: 0; +} + diff --git a/client/index.js b/client/index.js index 1b91550..f867680 100644 --- a/client/index.js +++ b/client/index.js @@ -95,3 +95,15 @@ function goToFavoritesPage() { window.location.href = `/favorites?ids=${query}`; } + document.querySelectorAll('.pagination a').forEach(link => { + link.addEventListener('click', function (e) { + e.preventDefault(); + + const movieList = document.getElementById('movie-list'); + movieList.classList.add('fade-out'); + + setTimeout(() => { + window.location.href = this.href; + }, 400); // match transition duration + }); + }); \ No newline at end of file diff --git a/server/components/card/card.css b/server/components/card/card.css index 9baa2f2..978c572 100644 --- a/server/components/card/card.css +++ b/server/components/card/card.css @@ -23,6 +23,7 @@ overflow: hidden; border-radius: 10px; height: 100%; + position: relative; .card__image { width: 100%; @@ -32,11 +33,27 @@ } h2 { - color: #000; + color: #fff; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + transition: all 0.3s ease-out; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.5)); + margin: 0; + padding: 10px; + opacity: 0; } - *:not(.card__image) { + *:not(.card__image, h2) { padding: 10px; margin: 0; } + + &:hover { + h2 { + transition: all 0.3s ease-out; + opacity: 1; + } + } } \ No newline at end of file diff --git a/server/layouts/base.css b/server/layouts/base.css index efd2364..d6d92d1 100644 --- a/server/layouts/base.css +++ b/server/layouts/base.css @@ -1,6 +1,7 @@ body { display: grid; grid-template-rows: auto 1fr auto; + color: #fff; } header { @@ -24,6 +25,25 @@ header { display: flex; justify-content: space-between; align-items: center; + + .search { + display: flex; + align-items: center; + margin-bottom: 0; + gap: 0; + + input { + margin-right: 0; + border-radius: 5px 0 0 5px; + } + + button { + border-radius: 0 5px 5px 0; + border: none; + background-color: #fff; + color: #1aa34a; + } + } } } @@ -38,27 +58,13 @@ header { @media screen and (min-width: 568px) { justify-content: space-between; } - - .search { - display: flex; - align-items: center; - margin-bottom: 0; - gap: 0; - - input { - margin-right: 0; - border-radius: 5px 0 0 5px; - } - - button { - border-radius: 0 5px 5px 0; - border: 1px solid #1aa34a; - } - } } } -main {} +main { +background-color: #333; + +} footer { display: grid; diff --git a/server/layouts/base.liquid b/server/layouts/base.liquid index a588870..e621e14 100644 --- a/server/layouts/base.liquid +++ b/server/layouts/base.liquid @@ -1,6 +1,7 @@ + {% block head %} @@ -25,19 +26,11 @@

- - - -
-
- - - - +
diff --git a/server/views/detail.liquid b/server/views/detail.liquid index 7a63545..06ad0d2 100644 --- a/server/views/detail.liquid +++ b/server/views/detail.liquid @@ -12,12 +12,10 @@
- {{ item.title }} + style="view-transition-name: movie_{{ item.id }}" />
diff --git a/server/views/details.css b/server/views/details.css index 834b4ad..a54f006 100644 --- a/server/views/details.css +++ b/server/views/details.css @@ -106,7 +106,7 @@ align-items: center; gap: 0.5em; padding: 0.5em; - background-color: #f0f0f0; + background-color: #444; border-radius: 5px; img { diff --git a/server/views/index.liquid b/server/views/index.liquid index 3651d88..ba733d7 100644 --- a/server/views/index.liquid +++ b/server/views/index.liquid @@ -37,7 +37,7 @@ -