diff --git a/client/src/pages/Home/components/Dialog/Dialog.jsx b/client/src/pages/Home/components/Dialog/Dialog.jsx index 2a2b32c..3884a32 100644 --- a/client/src/pages/Home/components/Dialog/Dialog.jsx +++ b/client/src/pages/Home/components/Dialog/Dialog.jsx @@ -1,12 +1,39 @@ import "./styles.sass"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; -import {faGear, faXmark} from "@fortawesome/free-solid-svg-icons"; +import {faGear, faPlus, faTrash, faXmark} from "@fortawesome/free-solid-svg-icons"; import {useContext} from "react"; import {SettingsContext} from "@/common/contexts/SettingsProvider.jsx"; +import Button from "@/common/components/Button/index.js"; export const Dialog = ({onClose, open}) => { - const {rounds, updateRounds} = useContext(SettingsContext); + const {rounds, updateRounds, demandTable, updateDemandTable} = useContext(SettingsContext); + + const deleteDemand = (key) => { + let newDemandTable = {...demandTable}; + delete newDemandTable[key]; + updateDemandTable(newDemandTable); + } + + const updateDemand = (key, e) => { + let newDemandTable = {...demandTable}; + newDemandTable[key] = parseInt(e.target.value); + updateDemandTable(newDemandTable); + } + + const updateDemandKey = (key, e) => { + let newDemandTable = {...demandTable}; + delete newDemandTable[key]; + newDemandTable[e.target.value] = parseInt(Object.values(demandTable)[Object.keys(demandTable).indexOf(key)]); + updateDemandTable(newDemandTable); + } + + const addDemand = () => { + if (Object.keys(demandTable).length >= 5) return; + let newDemandTable = {...demandTable}; + newDemandTable[parseInt(Object.keys(demandTable).pop()) + 500] = parseInt(Object.values(demandTable).pop()) - 10; + updateDemandTable(newDemandTable); + } return ( <> @@ -20,11 +47,44 @@ export const Dialog = ({onClose, open}) => {
+
+
+

Grundlegendes

+
+
+

Runden

updateRounds(parseInt(e.target.value))} />
+ +
+
+

Nachfrage

+
+
+ + {Object.keys(demandTable).map((key) => { + return ( +
+
+

Ab {key === "0" && "0 €"}

+ {key !== "0" && updateDemandKey(key, e)} />} +
+
+ updateDemand(key, e)} /> + {key !== "0" && deleteDemand(key)} />} +
+
+ ); + })} + +
+