diff --git a/src/AppRouter.js b/src/AppRouter.js
index ff4c16a..4d33484 100644
--- a/src/AppRouter.js
+++ b/src/AppRouter.js
@@ -1,21 +1,32 @@
import React from 'react'
-import { BrowserRouter, Redirect, Route, Routes } from 'react-router-dom'
+import { BrowserRouter, Route, Routes, Outlet } from 'react-router-dom'
+
import Footer from './components/Footer'
import Navbar from './components/Navbar'
import Home from './pages/Home'
import NotFound from './pages/NotFound'
import Search from './pages/Search'
+const Layout = () => {
+ return (
+ <>
+
+
+
+ >
+ )
+}
+
const AppRouter = () => (
-
- } />
-
-
-
+ }>
+ } />
+ } />
+ } />
+ } />
+
-
)
diff --git a/src/components/Navbar.js b/src/components/Navbar.js
index 46eaa27..e8421cb 100644
--- a/src/components/Navbar.js
+++ b/src/components/Navbar.js
@@ -1,6 +1,6 @@
-import React, { useState, useEffect, useRef } from 'react'
+import React, { useState, useEffect } from 'react'
import { NavLink } from 'react-router-dom'
-import { withRouter } from 'react-router-dom'
+import { useNavigate } from 'react-router-dom'
import { useScroll } from '../hooks/useScroll'
import SearchLogo from '../static/images/search-icon.svg'
@@ -9,7 +9,8 @@ import BellLogo from '../static/images/bell-logo.svg'
import DropdownArrow from '../static/images/drop-down-arrow.svg'
import DropdownContent from '../components/DropdownContent'
-const Navbar = ({ history }) => {
+const Navbar = () => {
+ const navigate = useNavigate()
const searchInput = React.useRef(null)
const [userInput, setUserInput] = useState('')
const [scrollDimensions] = useScroll()
@@ -24,9 +25,9 @@ const Navbar = ({ history }) => {
document.activeElement === searchInput.current &&
userInput.length === 0
) {
- history.push('/browse')
+ navigate('/browse')
}
- if (userInput.length > 0) history.push(`/search?q=${userInput}`)
+ if (userInput.length > 0) navigate(`/search?q=${userInput}`)
}, [userInput, searchInput])
const onLogoClick = () => {
@@ -75,4 +76,4 @@ const Navbar = ({ history }) => {
)
}
-export default withRouter(Navbar)
+export default Navbar
diff --git a/src/hooks/index.js b/src/hooks/index.js
new file mode 100644
index 0000000..98cec71
--- /dev/null
+++ b/src/hooks/index.js
@@ -0,0 +1,6 @@
+import { useDebounce } from './useDebounce'
+import { useScroll } from './useScroll'
+import { useViewport } from './useViewport'
+import { useWithRouter } from './useWithRouter'
+
+export { useDebounce, useScroll, useViewport, useWithRouter }
diff --git a/src/hooks/useWIthRouter.js b/src/hooks/useWIthRouter.js
deleted file mode 100644
index 709062a..0000000
--- a/src/hooks/useWIthRouter.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { useLocation, useNavigate, useParams } from 'react-router-dom'
-
-/**
- * @description Provides react router dom props
- * @param {*} Component React component - JSX Element
- * @returns React component with route props
- */
-export const withRouter = (Component) => {
- const ComponentWithRouterProp = (props) => {
- let location = useLocation()
- let navigate = useNavigate()
- let params = useParams()
- return
- }
-
- return ComponentWithRouterProp
-}
diff --git a/src/index.js b/src/index.js
index 5e6455f..0f6a4a9 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,5 +1,5 @@
import React from 'react'
-import ReactDOM from 'react-dom'
+import * as ReactDOM from 'react-dom/client'
import { Provider } from 'react-redux'
import { createStore, applyMiddleware } from 'redux'
import ReduxThunk from 'redux-thunk'
@@ -23,4 +23,4 @@ const app = (
)
-ReactDOM.render(app, document.getElementById('app'))
+ReactDOM.createRoot(document.getElementById('app')).render(app)