diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/app.jsx | 41 | ||||
-rw-r--r-- | client/components/home/_home.jsx | 3 | ||||
-rw-r--r-- | client/components/router.jsx | 10 | ||||
-rw-r--r-- | client/components/sign_in/_sign_in.jsx | 3 | ||||
-rw-r--r-- | client/index.js | 2 | ||||
-rw-r--r-- | client/package.json | 3 | ||||
-rw-r--r-- | client/yarn.lock | 34 |
7 files changed, 59 insertions, 37 deletions
diff --git a/client/app.jsx b/client/app.jsx index 556623f..5ae62df 100644 --- a/client/app.jsx +++ b/client/app.jsx @@ -1,39 +1,10 @@ -import { useState } from 'react'; -import { setConstantValue } from 'typescript'; - -const App = () => { - const [email, setEmail] = useState(''); - const [password, setPassword] = useState(''); - - const submit = () => { - fetch('/sign_in', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ email, password }), - }); - }; +import { BrowserRouter } from 'react-router-dom'; +import { Router } from './components/router'; +export const App = () => { return ( - <> - <div> - <input - type="email" - value={email} - onChange={(e) => setEmail(e.target.value)} - /> - </div> - <div> - <input - type="password" - value={password} - onChange={(e) => setPassword(e.target.value)} - /> - </div> - <button type="button" onClick={submit}>Login</button> - </> + <BrowserRouter> + <Router /> + </BrowserRouter> ); }; - -export default App; diff --git a/client/components/home/_home.jsx b/client/components/home/_home.jsx new file mode 100644 index 0000000..59389ad --- /dev/null +++ b/client/components/home/_home.jsx @@ -0,0 +1,3 @@ +export const Home = () => { + return <div>I am the home page</div>; +}; diff --git a/client/components/router.jsx b/client/components/router.jsx new file mode 100644 index 0000000..a40b06e --- /dev/null +++ b/client/components/router.jsx @@ -0,0 +1,10 @@ +import { Routes, Route } from 'react-router-dom'; +import { Home } from './home/_home'; + +export const Router = () => { + return ( + <Routes> + <Route path="/" element={<Home />} /> + </Routes> + ); +}; diff --git a/client/components/sign_in/_sign_in.jsx b/client/components/sign_in/_sign_in.jsx new file mode 100644 index 0000000..099ecd6 --- /dev/null +++ b/client/components/sign_in/_sign_in.jsx @@ -0,0 +1,3 @@ +export const SignIn = () => { + return <div>I am the sign in page</div>; +}; diff --git a/client/index.js b/client/index.js index bab4dcd..762ab1b 100644 --- a/client/index.js +++ b/client/index.js @@ -1,5 +1,5 @@ import ReactDOM from 'react-dom'; -import App from './app'; +import { App } from './app'; const app = document.getElementById('app'); ReactDOM.render(<App />, app); diff --git a/client/package.json b/client/package.json index e69cc8e..dfce878 100644 --- a/client/package.json +++ b/client/package.json @@ -8,6 +8,7 @@ "devDependencies": {}, "dependencies": { "react": "^17.0.2", - "react-dom": "^17.0.2" + "react-dom": "^17.0.2", + "react-router-dom": "6" } } diff --git a/client/yarn.lock b/client/yarn.lock index 347c5c2..c39acd0 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -2,6 +2,20 @@ # yarn lockfile v1 +"@babel/runtime@^7.7.6": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + dependencies: + regenerator-runtime "^0.13.4" + +history@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/history/-/history-5.1.0.tgz#2e93c09c064194d38d52ed62afd0afc9d9b01ece" + integrity sha512-zPuQgPacm2vH2xdORvGGz1wQMuHSIB56yNAy5FnLuwOwgSYyPKptJtcMm6Ev+hRGeS+GzhbmRacHzvlESbFwDg== + dependencies: + "@babel/runtime" "^7.7.6" + "js-tokens@^3.0.0 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -28,6 +42,21 @@ react-dom@^17.0.2: object-assign "^4.1.1" scheduler "^0.20.2" +react-router-dom@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.0.2.tgz#860cefa697b9d4965eced3f91e82cdbc5995f3ad" + integrity sha512-cOpJ4B6raFutr0EG8O/M2fEoyQmwvZWomf1c6W2YXBZuFBx8oTk/zqjXghwScyhfrtnt0lANXV2182NQblRxFA== + dependencies: + history "^5.1.0" + react-router "6.0.2" + +react-router@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.0.2.tgz#bd2b0fa84fd1d152671e9f654d9c0b1f5a7c86da" + integrity sha512-8/Wm3Ed8t7TuedXjAvV39+c8j0vwrI5qVsYqjFr5WkJjsJpEvNSoLRUbtqSEYzqaTUj1IV+sbPJxvO+accvU0Q== + dependencies: + history "^5.1.0" + react@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -36,6 +65,11 @@ react@^17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + scheduler@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" |