Tonight
Az alkalmazás alapvetően sötét témával készüljön el.
A megvalósítás során The Movie DB API-ját fogjuk használni, ehhez az kulcs:
5c29cc871a74d80e6ef080337f275b27
Feladatok
Allítsd be a kovetkezőket az axios példányodra:
baseURL:https://api.themoviedb.org/3params: legyen obejct a következő elemkkel:api_key: fent megadott kulcslanguage:hu-HU
Oldalak
A következő oldalakat készítsd el a pages könyvtárban és vedd fel a Routerbe.
| Oldal neve | Komponens | Routerbeli elnevezés | URL | Lehetséges paraméterek |
|---|---|---|---|---|
| Főoldal | IndexView | index | / | |
| Műfajok | GenresView | genres | /:type | type: movie vagy tv |
| Műfaj elemei | ListView | list | /:type/:genre | type: movie vagy tv, genre: bármilyen érvényes műfaj ID-ja |
| Film vagy sorozat megtekintése | SingleView | show | /:type/:id | type: movie vagy tv, id: bármilyen film vagy sorozat érvényes ID-ja |
Az oldalak minden esetben a Composition API-t <script setup>-al használják.
Navigációs sáv
Készíts egy olyan navigációs sávot, amely az elemeit egy helyi állapotból szolgálja ki. Ezt Options API segítségével oldd meg.
A menüben jelenjen meg a Főoldal és a műfajkereső a filmekhez és a sorozatokhoz külön-külön.
Egy menüelem:
{
name: "index"
title: "Főoldal"
to: "/"
}
Film kártyák
Készíts egy kártya komponenst amely a setup() függvénnyel működik. A tulajdonságokat Options API-on keresztül
vegye át és add oda a setup()-nak paraméterben. A következőket tudja átvenni:
id: egészname: szövegtitle: szövegoriginal_title: szövegoriginal_name: szövegoverview: szövegposter_path: szövegbackdrop_path: szövegmedia_type: szöveg
Kártyának legyen számított állapota, amely a poster_path és a backdrop_path-ből előállítja az URL-el együtt a teljes
linket. Ehhez a következőt kell eléfűzni: http://image.tmdb.org/t/p/w500
Készíts számított állapotot, amely eldönti, hogy a címnek melyik átvett tulajdonságot kell felhasználni. Ezt a következőképp lehet eldönteni: Ha van
A fentiek segítségével Készíts egy kártyát, amely megjeleníti az adatokat és lehetőséget biztosít a megfelő oldal haszánlatával, annak további adatait megtekinteni.
Színész kártya
Készíts olyan kártyát amely egy színészt fog tudni megjeleníteni, <script setup> segítségével. A következő
adatokat vegye át:
namecharacterprofile_path
Számított mező segítségével készítsétek el a képhez tartozó URL-t, az előző kártyán használt link alapján.
Táblázat
Készíts egy táblázat komponenst. A fejlécet generálja egy átadott tömb alapján, amely szövegként tartalmazza a fejléceket.
A táblázat törzsrészét slot-ként kezeld.
Tetszőleges API-al megoldható.
Műfaj sor
Készíts olyan komponenst, amely egy adott műfaj adataiből tud sort gyártani. A műfaj minden adata melett legyen egy olyan gomb amely átvisz a műfaj filmjeit kilistázó oldalra.
setup() függvénnyel készüljön el a komponens.
Film sor
Legyen egy olyan sorotok amely a film fontosabb adatait megkapja (ld. Film kártya), valamint egy megtekintés gombbal rendelkezik.
Options API-val készüljön el a komponens.
Főoldal (IndexView)
A főoldalon kérd le a jelenleg legnépszerűbb filmeket és sorozatokat és jelenítsd meg őket a fenti kártyák segítségével.
Erőforrás: trending/all/day
Műfajkereső oldal (GenresView)
A router segítségével vizsgáld meg, hogy filmekhez vagy sorozatokhoz tartozó erőforrást kell lekérdezni és ennek megfelelően kérd le a műfajokat. Jelenítsd meg a fenti táblázat és sorok segítségével.
Erőforrások
Filmekhez: genre/movie/list
Sorozatokhoz: genre/tv/list
Listázó oldal (ListView)
Jelenítsen meg egy táblázatot a műfajnak megfelelő filmekkel.
Listához tartozó erőforrások
Filmekhez: discover/movie?with_genres=:id
Sorozatokhoz: discover/tv?with_genres=:id
Film vagy sorozat adatai
Az alábbi erőforrások segítségével kérd le az egyes filmek vagy sorozatok adatait és készíts egy hasonló oldalt az eredtei THe Movie DB-hez.
Minta: Avatar: The Way of Water
Megjegyzés: A User Score-t tartalmazó sávot nem kell elkészíteni!
Alap adatok erőforrásai
Filmekhez: movie/:id
Sorozatokhoz: tv/:id
Szereplők
Filmekhez: movie/:id/credits
Sorozatokhoz: tv/:id/credits
\pagebreak