Newer
Older

Lukáš Kratochvíl
committed
import { Descriptions, Image } from "antd";
import { useEffect, useState } from "react";
Tomáš Havlíček
committed
import { Link, useParams } from "react-router-dom";
import axiosConfig from '../axios-config';
import {CategoryDTO, DirectorDTO, MovieDTO} from "../dto";
import { ErrorPage } from "./ErrorPage";
Tomáš Havlíček
committed
export const MoviePage = () => {

Lukáš Kratochvíl
committed
const { id } = useParams();
const [movie, setMovie] = useState<MovieDTO>({} as MovieDTO);
const [director, setDirector] = useState<DirectorDTO>({} as DirectorDTO);
const [categories, setCategories] = useState<CategoryDTO[]>([]);
const [isError, setIsError] = useState<boolean>(false);
useEffect(() => {
const fetchMovie = async () => {
try {
const response = await axiosConfig.get("movies/" + id);
setDirector(response.data.director);
setCategories(response.data.categories);
Tomáš Havlíček
committed
const movieCategories = categories.map((category) =>
<>
{category.name}
</>
);
bordered
style={{ padding: "5%" }}
>
<Descriptions.Item label="Title picture" span={3}>
<Image height={400} src={movie.picture}></Image>
</Descriptions.Item>
<Descriptions.Item label="Name" span={2}>
</Descriptions.Item>
<Descriptions.Item label="Original Name">
</Descriptions.Item>
<Descriptions.Item label="Description" span={3}>
</Descriptions.Item>
<Descriptions.Item label="Published">
</Descriptions.Item>
<Descriptions.Item label="Runtime" span={2}>
<Descriptions.Item label="Categories" span={3}>
{movieCategories}
</Descriptions.Item>
</Descriptions>
<Descriptions title="Director" bordered style={{ padding: "5%" }}>
<Descriptions.Item label="Name" span={3}>
<Link to={`/director/${director.id}`}>
{director.name} {director.surname}
</Link>
</Descriptions.Item>
<Descriptions.Item label="Birthdate">
</Descriptions.Item>
</Descriptions>
</>
);
};