import { useEffect, useState } from 'react'; import NavbarSignage from '../../components/navbar'; import PlaylistTable from './playlist-table'; import API from '../../services/api'; import setNotification from '../errors/error-notification'; const Playlists = () => { const [showCreate, setShowCreate] = useState(false); const [showUpdate, setShowUpdate] = useState(false); const [item, setItem] = useState({}); const [page, setPage] = useState(0); const limit = 6; const toggleModalCreate = () => setShowCreate(!showCreate); const toggleModalUpdate = () => setShowUpdate(!showUpdate); const [playlists, setPlaylist] = useState([]); useEffect(() => { API.listPlaylists(limit, page) .then((res) => { if (res.status === 200) { if (playlists.length === 0) setPlaylist(res.data); else setPlaylist((prev) => [...prev, ...res.data]); } }) .catch((err) => { setNotification(true, err.response.data.error); }); return () => {}; // eslint-disable-next-line react-hooks/exhaustive-deps }, [page]); const [search, setSearch] = useState(''); const loadMore = () => { setPage((prev) => prev + limit); }; const navbar = { title: 'Playlists', search: search, handlerChange: (e) => setSearch(e.target.value), buttonCreate: { text: 'New Playlist', handler: toggleModalCreate, }, }; return ( <> setPlaylist(playlists.filter((item) => item._id != id))} updateHandler={toggleModalUpdate} loadMore={loadMore} /> ); }; export default Playlists;