diff --git a/package.json b/package.json
index dec4325..0a7343f 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
"react-helmet-async": "^1.2.3",
"react-icons": "^4.3.1",
"react-loading-icons": "^1.0.8",
+ "react-router-dom": "^6.2.2",
"react-scripts": "5.0.0",
"styled-components": "^5.3.3",
"styled-normalize": "^8.0.7",
diff --git a/src/components/App/App.tsx b/src/components/App/App.tsx
index 268d125..1b28073 100644
--- a/src/components/App/App.tsx
+++ b/src/components/App/App.tsx
@@ -1,18 +1,34 @@
-import logo from 'assets/logo.svg';
import './App.css';
+import { useLocation, Routes, Route, Navigate } from 'react-router-dom';
+import Layout from 'pages/Layout/Layout';
+import Home from 'pages/Home/Home';
+import Search from 'pages/Search/Search';
+import MyRecipes from 'pages/MyRecipes/MyRecipes';
+import Modal from 'pages/Modal/Modal';
+import PageNotFound from 'pages/PageNotFound/PageNotFound';
export const App = () => {
+ const location = useLocation();
+ const state = location.state as { backgroundLocation?: Location };
+ const backgroundLocation = state?.backgroundLocation;
+
return (
-
+ <>
+
+ }>
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
+
+ {backgroundLocation && (
+
+ } />
+
+ )}
+ >
);
};
diff --git a/src/index.tsx b/src/index.tsx
index c3a4a35..773aee7 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,5 +1,6 @@
import { StrictMode } from 'react';
import { render } from 'react-dom';
+import { BrowserRouter } from 'react-router-dom';
import { ThemeProvider } from 'styled-components';
import { GlobalStyle } from 'styles/GlobalStyle';
import { defaultTheme } from 'theme/theme';
@@ -10,7 +11,9 @@ render(
-
+
+
+
,
document.getElementById('root'),
diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx
new file mode 100644
index 0000000..aa58832
--- /dev/null
+++ b/src/pages/Home/Home.tsx
@@ -0,0 +1,3 @@
+export default function Home() {
+ return Home
;
+}
diff --git a/src/pages/Layout/Layout.tsx b/src/pages/Layout/Layout.tsx
new file mode 100644
index 0000000..ed2d0ad
--- /dev/null
+++ b/src/pages/Layout/Layout.tsx
@@ -0,0 +1,9 @@
+import { Outlet } from 'react-router-dom';
+
+export default function Layout() {
+ return (
+
+
+
+ );
+}
diff --git a/src/pages/Modal/Modal.tsx b/src/pages/Modal/Modal.tsx
new file mode 100644
index 0000000..7ab549c
--- /dev/null
+++ b/src/pages/Modal/Modal.tsx
@@ -0,0 +1,3 @@
+export default function Modal() {
+ return Modal
;
+}
diff --git a/src/pages/MyRecipes/MyRecipes.tsx b/src/pages/MyRecipes/MyRecipes.tsx
new file mode 100644
index 0000000..d9e694b
--- /dev/null
+++ b/src/pages/MyRecipes/MyRecipes.tsx
@@ -0,0 +1,3 @@
+export default function MyRecipes() {
+ return MyRecipes
;
+}
diff --git a/src/pages/PageNotFound/PageNotFound.tsx b/src/pages/PageNotFound/PageNotFound.tsx
new file mode 100644
index 0000000..432890c
--- /dev/null
+++ b/src/pages/PageNotFound/PageNotFound.tsx
@@ -0,0 +1,3 @@
+export default function PageNotFound() {
+ return PageNotFound
;
+}
diff --git a/src/pages/Search/Search.tsx b/src/pages/Search/Search.tsx
new file mode 100644
index 0000000..0d4f3a3
--- /dev/null
+++ b/src/pages/Search/Search.tsx
@@ -0,0 +1,3 @@
+export default function Search() {
+ return Search
;
+}
diff --git a/yarn.lock b/yarn.lock
index 58d3248..b0f85f8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -14287,7 +14287,7 @@ react-refresh@^0.11.0:
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
-react-router-dom@^6.0.0:
+react-router-dom@^6.0.0, react-router-dom@^6.2.2:
version "6.2.2"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.2.2.tgz#f1a2c88365593c76b9612ae80154a13fcb72e442"
integrity sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==