import React, { useEffect, useRef, useState } from 'react'; import { Switch, Route, useHistory } from 'react-router-dom'; import './App.css'; import Header from './Header'; import Home from './Home'; import Navbar from './Navbar'; import { queryIsEmpty } from './Navbar/utils'; import SubjectList from './SubjectList'; import { ILoadingState, IFilterQuery } from './types'; import NothingFound from './NothingFound'; const useDidUpdate: typeof useEffect = (func, dependencies) => { const didMountRef = useRef(false); useEffect(() => { if (didMountRef.current) { func(); } else { didMountRef.current = true; } return () => {}; // eslint-disable-next-line react-hooks/exhaustive-deps }, dependencies); }; const App = () => { const history = useHistory(); const [loading, setLoading] = useState({ fetching: true, error: '' }); const [searchQuery, setSearchQuery] = useState({ search: '', class_num: '', type_num: '', predmet_type: '', teacher: '' }); useDidUpdate(() => { if (queryIsEmpty(searchQuery)) return; history.push('/list'); }, [searchQuery]); return ( <>
); }; export default App;