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}) => {