created task form
This commit is contained in:
parent
00b18a2db2
commit
a6d9b628ff
72
package-lock.json
generated
72
package-lock.json
generated
@ -1250,35 +1250,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fortawesome/fontawesome-common-types": {
|
|
||||||
"version": "0.2.32",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz",
|
|
||||||
"integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w=="
|
|
||||||
},
|
|
||||||
"@fortawesome/fontawesome-svg-core": {
|
|
||||||
"version": "1.2.32",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz",
|
|
||||||
"integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==",
|
|
||||||
"requires": {
|
|
||||||
"@fortawesome/fontawesome-common-types": "^0.2.32"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@fortawesome/free-solid-svg-icons": {
|
|
||||||
"version": "5.15.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz",
|
|
||||||
"integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==",
|
|
||||||
"requires": {
|
|
||||||
"@fortawesome/fontawesome-common-types": "^0.2.32"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@fortawesome/react-fontawesome": {
|
|
||||||
"version": "0.1.13",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.13.tgz",
|
|
||||||
"integrity": "sha512-/HrLnIft5Ks2511Pz6TxHBIctC9QalVscAC64sufQ4sJH/sXaQlG3uR9LCu6VpEwkBemgcBLrz/QPNP/ddbjDg==",
|
|
||||||
"requires": {
|
|
||||||
"prop-types": "^15.7.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@hapi/address": {
|
"@hapi/address": {
|
||||||
"version": "2.1.4",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
|
||||||
@ -2063,6 +2034,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@types/history": {
|
||||||
|
"version": "4.7.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.8.tgz",
|
||||||
|
"integrity": "sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA=="
|
||||||
|
},
|
||||||
"@types/hoist-non-react-statics": {
|
"@types/hoist-non-react-statics": {
|
||||||
"version": "3.3.1",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
|
||||||
@ -2186,6 +2162,25 @@
|
|||||||
"@types/react": "*"
|
"@types/react": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@types/react-router": {
|
||||||
|
"version": "5.1.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.8.tgz",
|
||||||
|
"integrity": "sha512-HzOyJb+wFmyEhyfp4D4NYrumi+LQgQL/68HvJO+q6XtuHSDvw6Aqov7sCAhjbNq3bUPgPqbdvjXC5HeB2oEAPg==",
|
||||||
|
"requires": {
|
||||||
|
"@types/history": "*",
|
||||||
|
"@types/react": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/react-router-dom": {
|
||||||
|
"version": "5.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.6.tgz",
|
||||||
|
"integrity": "sha512-gjrxYqxz37zWEdMVvQtWPFMFj1dRDb4TGOcgyOfSXTrEXdF92L00WE3C471O3TV/RF1oskcStkXsOU0Ete4s/g==",
|
||||||
|
"requires": {
|
||||||
|
"@types/history": "*",
|
||||||
|
"@types/react": "*",
|
||||||
|
"@types/react-router": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@types/resolve": {
|
"@types/resolve": {
|
||||||
"version": "0.0.8",
|
"version": "0.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
|
||||||
@ -3507,6 +3502,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
||||||
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
|
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
|
||||||
},
|
},
|
||||||
|
"bootstrap": {
|
||||||
|
"version": "4.5.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz",
|
||||||
|
"integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ=="
|
||||||
|
},
|
||||||
"brace-expansion": {
|
"brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
@ -11668,6 +11668,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"react-router-dom": {
|
||||||
|
"version": "5.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz",
|
||||||
|
"integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.1.2",
|
||||||
|
"history": "^4.9.0",
|
||||||
|
"loose-envify": "^1.3.1",
|
||||||
|
"prop-types": "^15.6.2",
|
||||||
|
"react-router": "5.2.0",
|
||||||
|
"tiny-invariant": "^1.0.2",
|
||||||
|
"tiny-warning": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"react-scripts": {
|
"react-scripts": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.1.tgz",
|
||||||
|
@ -3,20 +3,19 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "^1.2.32",
|
|
||||||
"@fortawesome/free-solid-svg-icons": "^5.15.1",
|
|
||||||
"@fortawesome/react-fontawesome": "^0.1.13",
|
|
||||||
"@testing-library/jest-dom": "^5.11.4",
|
"@testing-library/jest-dom": "^5.11.4",
|
||||||
"@testing-library/react": "^11.1.0",
|
"@testing-library/react": "^11.1.0",
|
||||||
"@testing-library/user-event": "^12.1.10",
|
"@testing-library/user-event": "^12.1.10",
|
||||||
"@types/jest": "^26.0.15",
|
"@types/jest": "^26.0.15",
|
||||||
"@types/node": "^12.0.0",
|
"@types/node": "^12.0.0",
|
||||||
"@types/react-dom": "^16.9.8",
|
"@types/react-dom": "^16.9.8",
|
||||||
|
"@types/react-router-dom": "^5.1.6",
|
||||||
"@types/styled-components": "^5.1.4",
|
"@types/styled-components": "^5.1.4",
|
||||||
|
"bootstrap": "^4.5.3",
|
||||||
"react": "^17.0.1",
|
"react": "^17.0.1",
|
||||||
"react-dom": "^17.0.1",
|
"react-dom": "^17.0.1",
|
||||||
"react-redux": "^7.2.2",
|
"react-redux": "^7.2.2",
|
||||||
"react-router": "^5.2.0",
|
"react-router-dom": "^5.2.0",
|
||||||
"react-scripts": "4.0.1",
|
"react-scripts": "4.0.1",
|
||||||
"redux": "^4.0.5",
|
"redux": "^4.0.5",
|
||||||
"styled-components": "^5.2.1",
|
"styled-components": "^5.2.1",
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA==" crossorigin="anonymous" />
|
||||||
<!--
|
<!--
|
||||||
Notice the use of %PUBLIC_URL% in the tags above.
|
Notice the use of %PUBLIC_URL% in the tags above.
|
||||||
It will be replaced with the URL of the `public` folder during the build.
|
It will be replaced with the URL of the `public` folder during the build.
|
||||||
|
15
src/App.tsx
15
src/App.tsx
@ -2,6 +2,9 @@ import React, { useState } from "react";
|
|||||||
import Header from "./components/Header";
|
import Header from "./components/Header";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import SideDrawer from "./components/SideDrawer";
|
import SideDrawer from "./components/SideDrawer";
|
||||||
|
import { Switch, Route } from "react-router-dom";
|
||||||
|
import Login from "./components/Login";
|
||||||
|
import CreateTask from "./components/CreateTask";
|
||||||
|
|
||||||
const StyledApp = styled.div`
|
const StyledApp = styled.div`
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
@ -9,7 +12,7 @@ const StyledApp = styled.div`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const [sideDrawer, setSiderDrawer] = useState(false);
|
const [sideDrawer, setSiderDrawer] = useState<boolean>(false);
|
||||||
|
|
||||||
const toggleSideDrawerHandler = () => {
|
const toggleSideDrawerHandler = () => {
|
||||||
setSiderDrawer(!sideDrawer);
|
setSiderDrawer(!sideDrawer);
|
||||||
@ -17,8 +20,16 @@ function App() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<StyledApp>
|
<StyledApp>
|
||||||
<Header sideDrawer={toggleSideDrawerHandler} />
|
<Header sideDrawer={toggleSideDrawerHandler} isOpen={sideDrawer} />
|
||||||
{sideDrawer && <SideDrawer />}
|
{sideDrawer && <SideDrawer />}
|
||||||
|
<Switch>
|
||||||
|
<Route exact path="/">
|
||||||
|
<CreateTask />
|
||||||
|
</Route>
|
||||||
|
<Route exact path="/login">
|
||||||
|
<Login />
|
||||||
|
</Route>
|
||||||
|
</Switch>
|
||||||
</StyledApp>
|
</StyledApp>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
97
src/components/CreateTask.tsx
Normal file
97
src/components/CreateTask.tsx
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
import React from "react";
|
||||||
|
import styled from "styled-components";
|
||||||
|
import "../../node_modules/bootstrap/dist/css/bootstrap.min.css";
|
||||||
|
|
||||||
|
const StyledTasks = styled.div`
|
||||||
|
width: 100%;
|
||||||
|
height: 92%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
form {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 40rem;
|
||||||
|
padding: 2rem;
|
||||||
|
a {
|
||||||
|
color: blue !important;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
textarea{
|
||||||
|
resize:none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
const CreateTask = () => {
|
||||||
|
return (
|
||||||
|
<StyledTasks>
|
||||||
|
<form>
|
||||||
|
<h3>Create Task</h3>
|
||||||
|
|
||||||
|
<div className="form-group">
|
||||||
|
<label>Task Name</label>
|
||||||
|
<input type="text" className="form-control" placeholder="Task Name" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="form-group">
|
||||||
|
<label>Task Description</label>
|
||||||
|
<textarea
|
||||||
|
className="form-control"
|
||||||
|
id="exampleFormControlTextarea1"
|
||||||
|
rows="4"
|
||||||
|
></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="form-check">
|
||||||
|
<input
|
||||||
|
className="form-check-input"
|
||||||
|
type="radio"
|
||||||
|
name="exampleRadios"
|
||||||
|
id="bussiness"
|
||||||
|
value="bussiness"
|
||||||
|
checked
|
||||||
|
readOnly
|
||||||
|
/>
|
||||||
|
<label className="form-check-label" htmlFor="bussiness">
|
||||||
|
Bussiness
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div className="form-check">
|
||||||
|
<input
|
||||||
|
className="form-check-input"
|
||||||
|
type="radio"
|
||||||
|
name="exampleRadios"
|
||||||
|
id="personal"
|
||||||
|
value="personal"
|
||||||
|
readOnly
|
||||||
|
/>
|
||||||
|
<label className="form-check-label" htmlFor="personal">
|
||||||
|
Personal
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div className="form-check">
|
||||||
|
<input
|
||||||
|
className="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
id="important"
|
||||||
|
/>
|
||||||
|
<label className="form-check-label" htmlFor="important">
|
||||||
|
Important
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<hr/>
|
||||||
|
<div className="form-group">
|
||||||
|
<label>End Date</label>
|
||||||
|
<input type="date" className="form-control" placeholder="Date" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button type="submit" className="btn btn-primary btn-block">
|
||||||
|
Create Task
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</StyledTasks>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default CreateTask;
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { NavLink } from "react-router-dom";
|
||||||
import { faBars } from "@fortawesome/free-solid-svg-icons";
|
|
||||||
import Button from "./Button";
|
import Button from "./Button";
|
||||||
|
|
||||||
const StyledHeader = styled.div`
|
const StyledHeader = styled.div`
|
||||||
|
height: 8%;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
background-color: #4153af;
|
background-color: #4153af;
|
||||||
@ -13,6 +13,8 @@ const StyledHeader = styled.div`
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.menu-icon {
|
.menu-icon {
|
||||||
|
width: 1rem;
|
||||||
|
height: 1rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@ -21,23 +23,36 @@ const StyledHeader = styled.div`
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
sideDrawer: () => void;
|
sideDrawer: () => void;
|
||||||
|
isOpen: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Header: React.FC<Props> = (props) => {
|
const Header: React.FC<Props> = (props) => {
|
||||||
return (
|
return (
|
||||||
<StyledHeader>
|
<StyledHeader>
|
||||||
<Button onClick={props.sideDrawer}>
|
<Button onClick={props.sideDrawer}>
|
||||||
<FontAwesomeIcon className="menu-icon" icon={faBars} />
|
{props.isOpen ? (
|
||||||
|
<i className="fas fa-times menu-icon"></i>
|
||||||
|
) : (
|
||||||
|
<i className="fas fa-bars menu-icon"></i>
|
||||||
|
)}
|
||||||
</Button>
|
</Button>
|
||||||
<span>ToDo App</span>
|
<span>
|
||||||
<div>
|
<NavLink to={process.env.PUBLIC_URL + "/"}>
|
||||||
|
<Button>Create Task</Button>
|
||||||
|
</NavLink>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<NavLink to={process.env.PUBLIC_URL + "/login"}>
|
||||||
<Button>Login</Button>
|
<Button>Login</Button>
|
||||||
<Button>Register</Button>
|
</NavLink>
|
||||||
</div>
|
|
||||||
</StyledHeader>
|
</StyledHeader>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
86
src/components/Login.tsx
Normal file
86
src/components/Login.tsx
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
import React, { useState } from "react";
|
||||||
|
import styled from "styled-components";
|
||||||
|
import "../../node_modules/bootstrap/dist/css/bootstrap.min.css";
|
||||||
|
|
||||||
|
const StyledForm = styled.div`
|
||||||
|
width: 100%;
|
||||||
|
height: 92%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
form {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 40rem;
|
||||||
|
padding: 2rem;
|
||||||
|
a {
|
||||||
|
color: blue !important;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
const Login = () => {
|
||||||
|
const [signUp, setSignUp] = useState<boolean>(false);
|
||||||
|
const [email, setEmail] = useState<string>("");
|
||||||
|
const [password, setPassword] = useState<string>("");
|
||||||
|
|
||||||
|
const authorizationHandler = (e:React.FormEvent) => {
|
||||||
|
e.preventDefault();
|
||||||
|
if (signUp) {
|
||||||
|
console.log('rejestracja', email, password);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
console.log('log', email, password);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<StyledForm>
|
||||||
|
<form onSubmit={authorizationHandler}>
|
||||||
|
{signUp ? <h3>Sign Up</h3> : <h3>Login</h3>}
|
||||||
|
|
||||||
|
<div className="form-group">
|
||||||
|
<label>Email address</label>
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
className="form-control"
|
||||||
|
placeholder="Enter email"
|
||||||
|
value={email}
|
||||||
|
onChange={(e) => setEmail(e.target.value)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="form-group">
|
||||||
|
<label>Password</label>
|
||||||
|
<input
|
||||||
|
type="password"
|
||||||
|
className="form-control"
|
||||||
|
placeholder="Enter password"
|
||||||
|
value={password}
|
||||||
|
onChange={(e) => setPassword(e.target.value)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{signUp ? (
|
||||||
|
<button type="submit" className="btn btn-primary btn-block">
|
||||||
|
Sign Up
|
||||||
|
</button>
|
||||||
|
) : (
|
||||||
|
<button type="submit" className="btn btn-primary btn-block">
|
||||||
|
Login
|
||||||
|
</button>
|
||||||
|
)}
|
||||||
|
<p className="forgot-password text-right">
|
||||||
|
Already registered{" "}
|
||||||
|
{signUp ? (
|
||||||
|
<a onClick={() => setSignUp(false)}>sign in?</a>
|
||||||
|
) : (
|
||||||
|
<a onClick={() => setSignUp(true)}>sign up?</a>
|
||||||
|
)}
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
</StyledForm>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Login;
|
@ -2,15 +2,19 @@ import React from "react";
|
|||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
|
|
||||||
const StyledSidedrawer = styled.div`
|
const StyledSidedrawer = styled.div`
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index:8;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
height: auto;
|
height: auto;
|
||||||
width: 20rem;
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #424242;
|
background-color: #424242;
|
||||||
ul {
|
ul {
|
||||||
|
overflow-x: hidden;
|
||||||
padding: 2rem 0;
|
padding: 2rem 0;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -21,6 +25,19 @@ const StyledSidedrawer = styled.div`
|
|||||||
justify-content: space-evenly;
|
justify-content: space-evenly;
|
||||||
li {
|
li {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
padding-right:1rem;
|
||||||
|
i {
|
||||||
|
padding: 0 1rem;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
span {
|
||||||
|
padding: 0 1rem;
|
||||||
|
display:contents;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 768px) {
|
@media screen and (max-width: 768px) {
|
||||||
@ -32,12 +49,30 @@ const SideDrawer = () => {
|
|||||||
return (
|
return (
|
||||||
<StyledSidedrawer>
|
<StyledSidedrawer>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Finished</li>
|
<li>
|
||||||
<li>On going</li>
|
<i className="fas fa-hourglass-end"></i>
|
||||||
<li>Bussiness</li>
|
<span>Finished</span>
|
||||||
<li>Private</li>
|
</li>
|
||||||
<li>Flagged(important)</li>
|
<li>
|
||||||
<li>Canceled</li>
|
<i className="fas fa-stopwatch"></i>
|
||||||
|
<span>On going</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i className="fas fa-briefcase"></i>
|
||||||
|
<span>Bussiness</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i className="fas fa-lock"></i>
|
||||||
|
<span>Personal</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i className="fas fa-flag"></i>
|
||||||
|
<span>Important</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i className="fas fa-ban"></i>
|
||||||
|
<span>Canceled</span>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</StyledSidedrawer>
|
</StyledSidedrawer>
|
||||||
);
|
);
|
||||||
|
@ -1,14 +1,17 @@
|
|||||||
import React from 'react';
|
import React from "react";
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from "react-dom";
|
||||||
import './index.css';
|
import "./index.css";
|
||||||
import App from './App';
|
import App from "./App";
|
||||||
import reportWebVitals from './reportWebVitals';
|
import reportWebVitals from "./reportWebVitals";
|
||||||
|
import { BrowserRouter } from "react-router-dom";
|
||||||
|
|
||||||
ReactDOM.render(
|
ReactDOM.render(
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
|
<BrowserRouter>
|
||||||
<App />
|
<App />
|
||||||
|
</BrowserRouter>
|
||||||
</React.StrictMode>,
|
</React.StrictMode>,
|
||||||
document.getElementById('root')
|
document.getElementById("root")
|
||||||
);
|
);
|
||||||
|
|
||||||
// If you want to start measuring performance in your app, pass a function
|
// If you want to start measuring performance in your app, pass a function
|
||||||
|
Loading…
Reference in New Issue
Block a user