From f98be4ca3816dcad16029fee30b66c9219c4cd57 Mon Sep 17 00:00:00 2001 From: MikunoNaka Date: Thu, 15 Apr 2021 23:16:16 +0530 Subject: laid out the BillingForm elements in a sexy way --- src/components/App.js | 18 +------ src/components/BillingPage.js | 27 ++++++++++ src/components/Form/Form.css | 73 +++++++++++++++++++++++++-- src/components/Form/Form.js | 114 ++++++++++++++++++++++++------------------ src/components/Form/Form.scss | 70 ++++++++++++++++++++++++-- 5 files changed, 232 insertions(+), 70 deletions(-) create mode 100644 src/components/BillingPage.js (limited to 'src/components') diff --git a/src/components/App.js b/src/components/App.js index c1bae4f..d2b7d21 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -1,27 +1,13 @@ import React from "react"; import Header from "./Header/Header"; -import BillingForm from "./Form/Form.js"; - -const sampleData = [ - { - "Model": "Kisan Chair", - "Description": "Very good chair", - "Price": "10000", - "Discount": ""} - , { - "Model": "Supreme Chair", - "Description": "Even better chair", - "Price": "2134983", - "Discount": "" - } -] +import BillingPage from "./BillingPage"; const App = () => { return ( <>
- +
); diff --git a/src/components/BillingPage.js b/src/components/BillingPage.js new file mode 100644 index 0000000..6e76cf0 --- /dev/null +++ b/src/components/BillingPage.js @@ -0,0 +1,27 @@ +import React from "react"; +import BillingForm from "./Form/Form.js"; + + +const sampleData = [ + { + "Model": "Kisan Chair", + "Description": "Very good chair", + "Price": "10000", + "Discount": "" + }, { + "Model": "Supreme Chair", + "Description": "Even better chair", + "Price": "2134983", + "Discount": "" + } +]; + +const BillingPage = () => { + return ( + <> + + + ); +} + +export default BillingPage; diff --git a/src/components/Form/Form.css b/src/components/Form/Form.css index d0ecc5f..9dbfd6f 100644 --- a/src/components/Form/Form.css +++ b/src/components/Form/Form.css @@ -1,4 +1,71 @@ -form { - border: 1px solid purple; +@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@500&display=swap"); +/* Experimental color scheme */ +/* light theme */ +/* +$defBG: #FFFFFF; +$altBG: lightgray; +$defFG: #000000; +$altFG: #232627; +$defLink: brown; +$altLink: brown; + +$defShadow: 0px 0px 4px #232627; +*/ +/* Inspired by Dracula */ +.formContainer { + border: 1px solid pink; + padding: 2rem; + height: 60vh; + border-radius: 1rem; } + +.addNewItemForm .textInputs, +.addNewItemForm .numericInputs +label { + font-size: 1.5rem; } + +.addNewItemForm { display: flex; - justify-content: space-evenly; } + flex-direction: row; + justify-content: space-between; + height: 50vh; } + +.addNewItemForm .textInputs, +.addNewItemForm .numericInputs { + border: 1px solid #FF79C6; + width: 30%; + justify-content: space-around; } + +.addNewItemForm .numericInputs input { + width: 5.5rem; } + +.addNewItemForm .menuButtons { + justify-content: space-around; + border: 1px solid lightgreen; + width: 15%; } + +.addNewItemForm .menuButtons * { + width: 100%; } + +.addNewItemForm div { + display: flex; + flex-direction: column; + border-radius: 1rem; + padding: 1.5rem; + overflow: scroll; } + +/* hide scrollbars */ +.addNewItemForm div::-webkit-scrollbar { + display: none; + /* Chrome/Safari/Opera */ } + +.addNewItemForm div { + -ms-overflow-style: none; + /* IE and Edge */ + scrollbar-width: none; + /* Firefox */ } + +.addNewItemForm label { + display: flex; + justify-content: space-between; + padding: 0.8rem 0; + border-bottom: 1px dotted lightblue; } diff --git a/src/components/Form/Form.js b/src/components/Form/Form.js index 5cb5675..094f881 100644 --- a/src/components/Form/Form.js +++ b/src/components/Form/Form.js @@ -8,6 +8,7 @@ const BillingForm = (props) => { const [itemPriceValue, setItemPriceValue] = useState(0.00); const [itemDiscountValue, setItemDiscountValue] = useState(0.00); const [itemGSTValue, setItemGSTValue] = useState(18); + const [itemQtyValue, setItemQtyValue] = useState(1); // Extract the model names from savedItems const savedItems = props.savedItems; @@ -24,66 +25,83 @@ const BillingForm = (props) => { ); return ( -
-
+ { event.preventDefault(); console.log(itemNameValue, itemDescValue, itemPriceValue); } }> - -