import './Novels.sass'
import React from "react";
import {fetchNovels} from "../../api/novels";
import NovelItem from '../../ui/NovelItem/NovelItem';
import Loading from "../../ui/Loading";
type State = {
novels: NovelType[] | null
years: string[]
genres: string[]
}
class Novels extends React.Component<{}, State> {
state: State = {
novels: null,
genres: [], years: []
};
componentDidMount = () => {
fetchNovels('rating').then((novels: NovelType[]) => {
novels.forEach(novel => {
novel.release_date = new Date(novel.release_date);
});
this.setState({ novels });
document.title = 'Новелы';
})
};
switchFilter(filter: string, key: any) {
// @ts-ignore
const filters: string[] = this.state[filter];
if(filters.includes(key)) {
// @ts-ignore
this.setState({ [filter]: [...filters.filter(x => x !== key)] })
} else {
// @ts-ignore
this.setState({ [filter]: [...filters, key] })
}
};
render() {
const { novels } = this.state;
if(!novels)
return