From 882b1a4f2513c3cc2469263de3cb3394fc52d63c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Rudolf?= Date: Thu, 15 Oct 2026 11:15:09 +0200 Subject: [PATCH] =?UTF-8?q?Lapoz=C3=A1s=20implement=C3=A1l=C3=A1sa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rickandmorty/src/components/Character.jsx | 24 ++++++-- rickandmorty/src/components/Characters.jsx | 70 ++++++++++++++++++++-- rickandmorty/src/components/Main.jsx | 22 ++++++- 3 files changed, 105 insertions(+), 11 deletions(-) diff --git a/rickandmorty/src/components/Character.jsx b/rickandmorty/src/components/Character.jsx index 1300ed9..8bcc1d4 100644 --- a/rickandmorty/src/components/Character.jsx +++ b/rickandmorty/src/components/Character.jsx @@ -1,9 +1,25 @@ -function Character() { - return ( -
Character
- ) +function Character({ character }) { + return ( +
+
+ {character.name} +
+
+

{character.name}

+

Status:{character.status}

+

Species:{character.species}

+

Gender:{character.gender}

+

Location:{character.location.name}

+
+ +
+
+
+ ) } export default Character \ No newline at end of file diff --git a/rickandmorty/src/components/Characters.jsx b/rickandmorty/src/components/Characters.jsx index 3357951..8afc5d3 100644 --- a/rickandmorty/src/components/Characters.jsx +++ b/rickandmorty/src/components/Characters.jsx @@ -1,9 +1,71 @@ - +import { useState, useEffect } from "react" +import Character from "./Character"; function Characters() { - return ( -
Characters
- ) + const [characters, setCharacters] = useState([]); + const [info, setInfo] = useState({}); + const [page, setPage] = useState(1); + + const getCharacters = () => { + fetch(`https://rickandmortyapi.com/api/character?page=${page}`) + .then(res => res.json()) + .then(adatok => { + setCharacters(adatok.results); + setInfo(adatok.info); + }) + .catch(err => alert(err)); + } + + const asGetCharacters = async () => { + try { + let keres = await fetch(`https://rickandmortyapi.com/api/character?page=${page}`); + let adatok = await keres.json(); + setCharacters(adatok.results); + setInfo(adatok.info); + + } catch (error) { + alert(error); + } + } + + const tovabb = () => { + if (page < info.pages) { + setPage(prev => prev + 1); + } + + } + + const vissza = () => { + if (page > 1) { + setPage(prev => prev - 1); + } + + } + + useEffect(() => { + getCharacters(); + }, [page]) + + return ( +
+

Characters

+
+ + + +
+
+ { + characters.map((character) => ()) + } +
+
+ + + +
+
+ ) } export default Characters \ No newline at end of file diff --git a/rickandmorty/src/components/Main.jsx b/rickandmorty/src/components/Main.jsx index 0fe20d0..aa76fb2 100644 --- a/rickandmorty/src/components/Main.jsx +++ b/rickandmorty/src/components/Main.jsx @@ -1,9 +1,25 @@ function Main() { - return ( -
Main
- ) + return ( +
+
+ Rick and Morty API +
+

Rick and Morty API

+

+ Provident cupiditate voluptatem et in. Quaerat fugiat ut assumenda excepturi exercitationem + quasi. In deleniti eaque aut repudiandae et a id nisi. +

+ +
+
+
+ ) } export default Main \ No newline at end of file