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/3
  • params: legyen obejct a következő elemkkel:
    • api_key: fent megadott kulcs
    • language: hu-HU

Oldalak

A következő oldalakat készítsd el a pages könyvtárban és vedd fel a Routerbe.

Oldal neveKomponensRouterbeli elnevezésURLLehetséges paraméterek
FőoldalIndexViewindex/
MűfajokGenresViewgenres/:typetype: movie vagy tv
Műfaj elemeiListViewlist/:type/:genretype: movie vagy tv, genre: bármilyen érvényes műfaj ID-ja
Film vagy sorozat megtekintéseSingleViewshow/:type/:idtype: 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.

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:

  1. id: egész
  2. name: szöveg
  3. title: szöveg
  4. original_title: szöveg
  5. original_name: szöveg
  6. overview: szöveg
  7. poster_path: szöveg
  8. backdrop_path: szöveg
  9. media_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:

  1. name
  2. character
  3. profile_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