links to create account page (empty)
This commit is contained in:
61
db_app/package-lock.json
generated
61
db_app/package-lock.json
generated
@@ -13,6 +13,7 @@
|
|||||||
"@testing-library/user-event": "^13.5.0",
|
"@testing-library/user-event": "^13.5.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
|
"react-router-dom": "^6.10.0",
|
||||||
"react-scripts": "5.0.1",
|
"react-scripts": "5.0.1",
|
||||||
"web-vitals": "^2.1.4"
|
"web-vitals": "^2.1.4"
|
||||||
}
|
}
|
||||||
@@ -3106,6 +3107,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@remix-run/router": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@rollup/plugin-babel": {
|
"node_modules/@rollup/plugin-babel": {
|
||||||
"version": "5.3.1",
|
"version": "5.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
|
||||||
@@ -14350,6 +14359,36 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/react-router": {
|
||||||
|
"version": "6.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz",
|
||||||
|
"integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@remix-run/router": "1.5.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=16.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react-router-dom": {
|
||||||
|
"version": "6.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz",
|
||||||
|
"integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@remix-run/router": "1.5.0",
|
||||||
|
"react-router": "6.10.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=16.8",
|
||||||
|
"react-dom": ">=16.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/react-scripts": {
|
"node_modules/react-scripts": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz",
|
||||||
@@ -19366,6 +19405,11 @@
|
|||||||
"source-map": "^0.7.3"
|
"source-map": "^0.7.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@remix-run/router": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg=="
|
||||||
|
},
|
||||||
"@rollup/plugin-babel": {
|
"@rollup/plugin-babel": {
|
||||||
"version": "5.3.1",
|
"version": "5.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
|
||||||
@@ -27382,6 +27426,23 @@
|
|||||||
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
|
||||||
"integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A=="
|
"integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A=="
|
||||||
},
|
},
|
||||||
|
"react-router": {
|
||||||
|
"version": "6.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz",
|
||||||
|
"integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==",
|
||||||
|
"requires": {
|
||||||
|
"@remix-run/router": "1.5.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react-router-dom": {
|
||||||
|
"version": "6.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz",
|
||||||
|
"integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==",
|
||||||
|
"requires": {
|
||||||
|
"@remix-run/router": "1.5.0",
|
||||||
|
"react-router": "6.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"react-scripts": {
|
"react-scripts": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz",
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
"@testing-library/user-event": "^13.5.0",
|
"@testing-library/user-event": "^13.5.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
|
"react-router-dom": "^6.10.0",
|
||||||
"react-scripts": "5.0.1",
|
"react-scripts": "5.0.1",
|
||||||
"web-vitals": "^2.1.4"
|
"web-vitals": "^2.1.4"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,38 +1,27 @@
|
|||||||
import React,{useState} from 'react';
|
import "./App.css";
|
||||||
import './App.css';
|
import Login from "./components/Login";
|
||||||
|
import CreateAccount from "./components/CreateAccount";
|
||||||
|
|
||||||
|
|
||||||
|
import {
|
||||||
|
BrowserRouter as Router,
|
||||||
|
Routes,
|
||||||
|
Route,
|
||||||
|
useNavigate,
|
||||||
|
} from 'react-router-dom';
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const [data,setData] = useState({
|
|
||||||
username:"",
|
|
||||||
password:""
|
|
||||||
})
|
|
||||||
|
|
||||||
const {username,password} = data;
|
|
||||||
|
|
||||||
const changeHandler = e => {
|
|
||||||
setData({...data,[e.target.name]:[e.target.value]});
|
|
||||||
}
|
|
||||||
|
|
||||||
const submitHandler = e => {
|
return (
|
||||||
e.preventDefault();
|
<Router>
|
||||||
console.log(data);
|
<Routes>
|
||||||
}
|
<Route path='/' element={<Login/>}></Route>
|
||||||
|
<Route path='/CreateAccount' element={<CreateAccount/>}></Route>
|
||||||
|
</Routes>
|
||||||
|
</Router>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
export default App;
|
||||||
<div>
|
|
||||||
<center>
|
|
||||||
<h1>Log In</h1>
|
|
||||||
<p>Log in to your account</p>
|
|
||||||
<form onSubmit={submitHandler}>
|
|
||||||
<input type="text" name="username" value={username} onChange={changeHandler}/><br/>
|
|
||||||
<input type="password" name="password" value={password} onChange={changeHandler}/><br/>
|
|
||||||
<input type="submit" name="submit"/>
|
|
||||||
</form>
|
|
||||||
<button>Create New Account</button>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default App;
|
|
||||||
|
|||||||
19
db_app/src/components/CreateAccount.js
Normal file
19
db_app/src/components/CreateAccount.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import React,{useState} from 'react';
|
||||||
|
import {Routes, Route, useNavigate} from 'react-router-dom';
|
||||||
|
import './Login.css';
|
||||||
|
|
||||||
|
function CreateAccount() {
|
||||||
|
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<center>
|
||||||
|
<h1>Create Account</h1>
|
||||||
|
|
||||||
|
</center>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default CreateAccount;
|
||||||
39
db_app/src/components/Login.css
Normal file
39
db_app/src/components/Login.css
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
.App {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.App-logo {
|
||||||
|
height: 40vmin;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-reduced-motion: no-preference) {
|
||||||
|
.App-logo {
|
||||||
|
animation: App-logo-spin infinite 20s linear;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.App-header {
|
||||||
|
background-color: #282c34;
|
||||||
|
min-height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: calc(10px + 2vmin);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.App-link {
|
||||||
|
color: #61dafb;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes App-logo-spin {
|
||||||
|
from {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
45
db_app/src/components/Login.js
Normal file
45
db_app/src/components/Login.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
import React,{useState} from 'react';
|
||||||
|
import {Routes, Route, useNavigate} from 'react-router-dom';
|
||||||
|
import './Login.css';
|
||||||
|
|
||||||
|
function Login() {
|
||||||
|
const navigate = useNavigate();
|
||||||
|
|
||||||
|
const navigateCreateAccount = () => {
|
||||||
|
navigate('/CreateAccount');
|
||||||
|
}
|
||||||
|
|
||||||
|
const [data,setData] = useState({
|
||||||
|
username:"",
|
||||||
|
password:""
|
||||||
|
})
|
||||||
|
|
||||||
|
const {username,password} = data;
|
||||||
|
|
||||||
|
const changeHandler = e => {
|
||||||
|
setData({...data,[e.target.name]:[e.target.value]});
|
||||||
|
}
|
||||||
|
|
||||||
|
const submitHandler = e => {
|
||||||
|
e.preventDefault();
|
||||||
|
console.log(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<center>
|
||||||
|
<h1>Log In</h1>
|
||||||
|
<p>Log in to your account</p>
|
||||||
|
<form onSubmit={submitHandler}>
|
||||||
|
<input type="text" name="username" value={username} onChange={changeHandler}/><br/>
|
||||||
|
<input type="password" name="password" value={password} onChange={changeHandler}/><br/>
|
||||||
|
<input type="submit" name="submit"/>
|
||||||
|
</form>
|
||||||
|
<button onClick={navigateCreateAccount}>Create New Account</button>
|
||||||
|
</center>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Login;
|
||||||
Reference in New Issue
Block a user