diff --git a/src/components/ScrollToTop.jsx b/src/components/ScrollToTop.jsx new file mode 100644 index 0000000..a5234d6 --- /dev/null +++ b/src/components/ScrollToTop.jsx @@ -0,0 +1,17 @@ +import { useEffect } from 'react'; +import { withRouter } from 'react-router-dom'; + +export const ScrollToTop = ({ history }) => { + useEffect(() => { + const unlisten = history.listen(() => { + window.scroll({top:0, left:0, behavior:'smooth'}); + }); + return () => { + unlisten(); + } + }, []); + + return (null); +} + +export const ScrollToTopRouter = withRouter(ScrollToTop); diff --git a/src/index.jsx b/src/index.jsx index 637d16c..cb36a76 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -9,6 +9,7 @@ import './styles/tabs.scss'; import {Nav} from "./components/Nav"; import {SearchBar} from "./components/SearchBar"; +import {ScrollToTopRouter} from "./components/ScrollToTop"; import {Search} from './views/Search'; import {ArtistView} from "./views/Artist"; @@ -41,6 +42,7 @@ const NoRoute = (props) => { const App = () => (
+