FILE / Unmei/Frontend

src/ui/NovelItem/NovelItem.tsx

Исходный файл и его история в репозитории.
FILE 1d285fcfc3ad276e6581dfb05542cf9375b0d15a
Files
Frontend/src/ui/NovelItem/NovelItem.tsx
T
2020-08-18 15:48:14 +03:00

41 lines
1.5 KiB
TypeScript

import React from 'react';
import { TranslateStatus } from '../../api/api';
import { Link } from 'react-router-dom';
import './NovelItem.sass';
import {capitalize, generateClassName} from "../../utils";
type Props = {
id: number
original_name: string
viewType: string
novelId?: number
localized_name?: string
image?: string
status?: string
mark?: number
}
const NovelItem = ({ id, original_name, localized_name, image, status, mark, viewType, novelId }: Props) => (
<Link to={`/novels/${id}`} className={generateClassName("NovelItem", capitalize(viewType) || 'Grid')}>
{viewType === 'grid' && (<>
<div className='NovelItem__Image' style={{ backgroundImage: `url(${image || '/static/img/no-image.png'})` }}/>
<div className="NovelItem__Title">
{localized_name || original_name}
</div>
{status && <div className="NovelItem__Status">
{TranslateStatus[status]} {mark !== undefined && mark > 0 && mark}
</div>}
</>)}
{viewType === 'table' && (<>
<div className="NovelItem__Component">{novelId || ''}</div>
<div className="NovelItem__Title">
{localized_name || original_name}
</div>
{status && <div className="NovelItem__Status">
{TranslateStatus[status]} {mark !== undefined && mark > 0 && mark}
</div>}
</>)}
</Link>
);
export default NovelItem;