import { useLayoutEffect, useState } from 'react'; import BackendError from '../../components/BackendError' import { Loader } from '../../components/Common/Loader' import { useLibrary } from '../../context/LibraryContext'; import { ILibraryFilter, ILibraryItem } from '../../utils/models'; import SearchPanel from './SearchPanel'; import ViewLibrary from './ViewLibrary'; function LibraryPage() { const library = useLibrary(); const [ filterParams, setFilterParams ] = useState({}); const [ items, setItems ] = useState([]); useLayoutEffect(() => { const filter = filterParams; setItems(library.filter(filter)); }, [library, filterParams]); return (
{ library.loading && } { library.error && } { !library.loading && library.items &&
setFilterParams({})} items={items} />
}
); } export default LibraryPage;