Skip to content
Snippets Groups Projects
Commit 81141660 authored by Martin Korec's avatar Martin Korec
Browse files

fix: add fetch from api

parent 19be1ffe
No related branches found
No related tags found
No related merge requests found
import { Badge, Descriptions, Image } from "antd"; import { Badge, Descriptions, Image } from "antd";
import React from "react"; import React, {useEffect, useState} from "react";
import { Link, useParams } from "react-router-dom"; import { Link, useParams } from "react-router-dom";
import { MovieIO } from "./Preview"; import {DirectorIO, MovieIO} from "./Preview";
import axios from 'axios';
export const MoviePage = () => { export const MoviePage = () => {
const { id, name } = useParams(); const { id, name } = useParams();
//replace this with /channel/${id} API call const instance = axios.create({
const exampleMovie: MovieIO = { baseURL: 'http://127.0.0.1:4000/movies/',
id: "789", });
name: "Saw",
originalName: "Saw", const [movie, setMovie] = useState<MovieIO>(Object);
intro: "Jigsaw is the bad guy and this is the game", const [director, setDirector] = useState<DirectorIO>(Object);
picture:
"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse3.mm.bing.net%2Fth%3Fid%3DOIP.Jo6M-3oyAlMsB4-F__Z9bwHaHa%26pid%3DApi&f=1",
published: "1.1.2000", useEffect(() => {
runtimeMinutes: 120, const fetchMovie = async () => {
director: { try {
id: "123456789", const response = await instance.get(id as string);
name: "Karel", setMovie(response.data);
surname: "Vomacka", if (response.data.director) {
birthdate: "20.2.1987", setDirector(response.data.director);
}, }
}; } catch (err) {
}
}
fetchMovie();
}, [])
return ( return (
<> <>
<Descriptions <Descriptions
title={exampleMovie.name} title={movie.name}
bordered bordered
style={{ padding: "5%" }} style={{ padding: "5%" }}
> >
<Descriptions.Item label="Title picture" span={3}> <Descriptions.Item label="Title picture" span={3}>
<Image src={exampleMovie.picture}></Image> <Image src={movie.picture}></Image>
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item label="Name" span={2}> <Descriptions.Item label="Name" span={2}>
{exampleMovie.name} {movie.name}
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item label="Original Name"> <Descriptions.Item label="Original Name">
{exampleMovie.originalName} {movie.originalName}
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item label="Description" span={3}> <Descriptions.Item label="Description" span={3}>
{exampleMovie.intro} {movie.intro}
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item label="Published"> <Descriptions.Item label="Published">
{exampleMovie.published} {movie.publishedAt}
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item label="Runtime" span={2}> <Descriptions.Item label="Runtime" span={2}>
{exampleMovie.runtimeMinutes} minutes {movie.runTimeMinutes} minutes
</Descriptions.Item> </Descriptions.Item>
</Descriptions> </Descriptions>
<Descriptions title="Director" bordered style={{ padding: "5%" }}> <Descriptions title="Director" bordered style={{ padding: "5%" }}>
<Descriptions.Item label="Name" span={3}> <Descriptions.Item label="Name" span={3}>
<Link to={`/director/${exampleMovie.director.id}`}> <Link to={`/director/${director.id}`}>
{exampleMovie.director.name} {exampleMovie.director.surname} {director.name} {director.surname}
</Link> </Link>
</Descriptions.Item> </Descriptions.Item>
<Descriptions.Item label="Birthdate"> <Descriptions.Item label="Birthdate">
{exampleMovie.director.birthdate} {director.birthdate}
</Descriptions.Item> </Descriptions.Item>
</Descriptions> </Descriptions>
</> </>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment