From 5b35e747b98fed4dd4f8700d4e3b83a1e6c71150 Mon Sep 17 00:00:00 2001 From: Vazhin Tayeb Date: Fri, 15 Jan 2021 12:11:42 +0300 Subject: [PATCH] Abstracts away the Card component --- React/package-lock.json | 13 ---- React/package.json | 1 - React/src/App.js | 2 +- React/src/pages/RegisterVehicle.js | 68 +++---------------- React/src/pages/components/Card.js | 11 +++ React/src/pages/components/LoginWindow.js | 11 ++- .../pages/components/VehicleRegisterForm.js | 68 +++++++++++++++++-- 7 files changed, 90 insertions(+), 84 deletions(-) create mode 100644 React/src/pages/components/Card.js diff --git a/React/package-lock.json b/React/package-lock.json index 455fba5..483bf4d 100644 --- a/React/package-lock.json +++ b/React/package-lock.json @@ -8280,14 +8280,6 @@ "brorand": "^1.0.1" } }, - "milligram": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/milligram/-/milligram-1.3.0.tgz", - "integrity": "sha1-pdmA746veTN8lqjXx+F2dkkxBCw=", - "requires": { - "normalize.css": "~5.0.0" - } - }, "mime": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", @@ -8708,11 +8700,6 @@ "sort-keys": "^1.0.0" } }, - "normalize.css": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-5.0.0.tgz", - "integrity": "sha1-fOyHXOgXilMzxN6Ato6pwYudfDc=" - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", diff --git a/React/package.json b/React/package.json index 43f037e..d76b2ba 100644 --- a/React/package.json +++ b/React/package.json @@ -4,7 +4,6 @@ "private": true, "dependencies": { "axios": "^0.19.0", - "milligram": "^1.3.0", "oidc-client": "^1.9.1", "react": "^16.10.0", "react-dom": "^16.10.0", diff --git a/React/src/App.js b/React/src/App.js index d26e73b..1b48b59 100644 --- a/React/src/App.js +++ b/React/src/App.js @@ -37,7 +37,7 @@ function App() { - + diff --git a/React/src/pages/RegisterVehicle.js b/React/src/pages/RegisterVehicle.js index 4fcf64d..dcc2c72 100644 --- a/React/src/pages/RegisterVehicle.js +++ b/React/src/pages/RegisterVehicle.js @@ -1,66 +1,14 @@ -import React, { useState } from "react"; -import { useSelector } from "react-redux"; -import * as apiService from "../services/apiService"; +import React from "react"; +import VehicleRegisterForm from "./components/VehicleRegisterForm"; +import Navbar from "./components/Navbar"; +import Main from "./components/Main"; const RegisterVehicle = () => { - const [model, setModel] = useState(""); - const [licensePlate, setlicensePlate] = useState(""); - const [color, setColor] = useState("White"); - const [type, setType] = useState(1); - - const user = useSelector((state) => state.auth.user); - - async function registerVehicle() { - await apiService.registerVehicle( - { model, licensePlate, color, type }, - user.access_token - ); - // await getVehicles(); - } - return ( - <> -

Register Vehicle:

-
e.preventDefault()}> -
- - setModel(e.target.value)} - /> - - setlicensePlate(e.target.value)} - /> - - setColor(e.target.value)} - /> - - -
- - -
- +
+ +
+
); }; diff --git a/React/src/pages/components/Card.js b/React/src/pages/components/Card.js new file mode 100644 index 0000000..b648ee3 --- /dev/null +++ b/React/src/pages/components/Card.js @@ -0,0 +1,11 @@ +import React from "react"; + +const Card = ({ component: Component }) => { + return ( +
+ +
+ ); +}; + +export default Card; diff --git a/React/src/pages/components/LoginWindow.js b/React/src/pages/components/LoginWindow.js index 7ac2292..8f22612 100644 --- a/React/src/pages/components/LoginWindow.js +++ b/React/src/pages/components/LoginWindow.js @@ -3,8 +3,9 @@ import Button from "./Button"; import { storeUser } from "../../actions/authActions"; import store from "../../store"; import Heading1 from "./Heading1"; +import Card from "./Card"; -const LoginWindow = () => { +const LoginContent = () => { const onUserLogin = () => { const user = { profile: { given_name: "John Doe" } }; console.log(`User logged in!`); @@ -12,15 +13,19 @@ const LoginWindow = () => { }; return ( -
+ <>

Login to your account to view your dashboard and register a new vehicle.

+ ); }; +const LoginWindow = () => { + return ; +}; + export default LoginWindow; diff --git a/React/src/pages/components/VehicleRegisterForm.js b/React/src/pages/components/VehicleRegisterForm.js index b2df451..7fa751a 100644 --- a/React/src/pages/components/VehicleRegisterForm.js +++ b/React/src/pages/components/VehicleRegisterForm.js @@ -1,9 +1,65 @@ -import React from 'react'; +import React, { useState } from "react"; +import { useSelector } from "react-redux"; +import * as apiService from "../../services/apiService"; -const VehicleRegisterForm = () => ( -
-

Register A Vehicle

-
-); +const VehicleRegisterForm = () => { + const [model, setModel] = useState(""); + const [licensePlate, setlicensePlate] = useState(""); + const [color, setColor] = useState("White"); + const [type, setType] = useState(1); + + const user = useSelector((state) => state.auth.user); + + async function registerVehicle() { + await apiService.registerVehicle( + { model, licensePlate, color, type }, + user.access_token + ); + // await getVehicles(); + } + + return ( +
e.preventDefault()} className="shadow"> +

Register Vehicle:

+
+ + setModel(e.target.value)} + /> + + setlicensePlate(e.target.value)} + /> + + setColor(e.target.value)} + /> + + +
+ + +
+ ); +}; export default VehicleRegisterForm;