{"version":3,"file":"ConfirmRightButtonModal.DEjWBskg.js","sources":["../../src/pages/steps/StepTilaus/Modals/confirmKeikka/components/ConfirmRightButtonModalSwitch1.jsx","../../src/pages/steps/StepTilaus/Modals/confirmKeikka/components/ConfirmRightButtonModalSwitch2.jsx","../../src/pages/steps/StepTilaus/Modals/confirmKeikka/ConfirmRightButtonModal.jsx"],"sourcesContent":["import { useState } from \"react\";\r\nimport MyDivider from \"src/components/layout/MyDivider\";\r\nimport PropTypes from \"prop-types\";\r\nimport MySwitch from \"src/components/MySwitch/MySwitch\";\r\nimport { Typography } from \"@mui/material\";\r\nimport { requestPermission } from \"src/firebase/firebase\";\r\nimport firebaseClass from \"src/data/system/firebaseClass\";\r\n\r\nimport { isMobile } from \"react-device-detect\";\r\nimport { useUserData } from \"src/context/userContext\";\r\n\r\nexport default function ConfirmRightButtonModalSwitch1(props) {\r\n const [checked1, setChecked1] = useState(false);\r\n const [checked2, setChecked2] = useState(false);\r\n const [checked3, setChecked3] = useState(false);\r\n const { user, token } = useUserData();\r\n\r\n const [permissionGranted, setPermissionGranted] = useState(undefined);\r\n const [key, setKey] = useState(0);\r\n\r\n const handleChange = (isChecked) => {\r\n setChecked1(isChecked);\r\n props.onChange(isChecked && checked2);\r\n };\r\n const handleChange2 = (isChecked) => {\r\n setChecked2(isChecked);\r\n props.onChange(isChecked && checked1);\r\n };\r\n const handleChange3 = async (isChecked) => {\r\n if (isChecked) {\r\n const thisFCMToken = await requestPermission();\r\n if (thisFCMToken == null) {\r\n setChecked3(false);\r\n props.onChange3(false);\r\n setPermissionGranted(false);\r\n setKey(key + 1);\r\n } else {\r\n setChecked3(true);\r\n props.onChange3(true);\r\n setPermissionGranted(true);\r\n const personId = Number(user.personId);\r\n const fb = new firebaseClass(personId);\r\n await fb.addPersonDevice(thisFCMToken, token, isMobile);\r\n }\r\n } else {\r\n setChecked3(false);\r\n props.onChange3(false);\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n Ilmoitukset\r\n \r\n \r\n Ilmoitukset eivät toimi, koska et ole antanut lupaa.\r\n \r\n }\r\n />\r\n \r\n \r\n Ehdot\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nConfirmRightButtonModalSwitch1.propTypes = {\r\n onChange: PropTypes.func,\r\n onChange3: PropTypes.func,\r\n};\r\n","import { useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { FormControlLabel, Switch } from \"@mui/material\";\r\n\r\nexport default function ConfirmRightButtonModalSwitch2(props) {\r\n const [checked, setChecked] = useState(false);\r\n\r\n const handleChange = (event) => {\r\n setChecked(event.target.checked);\r\n props.onChange(event.target.checked);\r\n };\r\n return (\r\n <>\r\n }\r\n label={\"Toimitusvalmiss\"}\r\n />\r\n \r\n );\r\n}\r\n\r\nConfirmRightButtonModalSwitch2.propTypes = {\r\n onChange: PropTypes.func,\r\n};\r\n","import { Dialog, DialogContent, DialogContentText, DialogTitle } from \"@mui/material\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\n\r\nimport StepButtons from \"src/components/buttons/StepButtons/StepButtons\";\r\nimport ConfirmRightButtonModalSwitch1 from \"./components/ConfirmRightButtonModalSwitch1\";\r\nimport ConfirmRightButtonModalSwitch2 from \"./components/ConfirmRightButtonModalSwitch2\";\r\nimport MyDivider from \"src/components/layout/MyDivider\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { kunCustomerSendsOrder } from \"src/data/keikka/handleKeikka\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useUserData } from \"src/context/userContext\";\r\nimport { keikka_copy } from \"src/data/keikka/KeikkaFunctions\";\r\nimport { KeikkaDataContext } from \"src/context/KeikkaDataContext\";\r\nimport { socketOnSave } from \"src/data/system/socketClass\";\r\n\r\nexport default function ConfirmRightButtonModal(props) {\r\n const { keikkaData, reloadKeikkaData } = useContext(KeikkaDataContext) || {};\r\n const isTarjouspyyntöChecked = props.isTarjouspyyntöChecked || false;\r\n const [vahvistaBetoniLaatuswitch, setVahvistaBetoniLaatuswitch] = useState(false);\r\n const [switch2, setSwitch2] = useState(false);\r\n const { user, token, socket } = useUserData();\r\n\r\n const navigate = useNavigate();\r\n const [checked3, setChecked3] = useState(false);\r\n\r\n useEffect(() => {\r\n setVahvistaBetoniLaatuswitch(!showVahvistaBetoniLaatuswitch);\r\n }, []);\r\n\r\n const dialogContentText = () => {\r\n const isKeikkaAdmin = keikkaData.auth.isKeikkaAdmin;\r\n let _action = isKeikkaAdmin ? keikkaData.tila.mainAdminAction : keikkaData.tila.mainAction;\r\n\r\n switch (_action) {\r\n case \"lähetä\":\r\n return \"Vahvista tilaus ja lähetä. Tarkistamme betonipumppujen varaustilanteen sekä betonin valmistus- ja kuljetuskapasiteetin. Saat sähköpostiviestin kun tilaus hyväksytään. Voit seurata tilauksen etenemistä tässä apissa.\";\r\n case \"vastaanota\":\r\n return \"Vahvista tilaus ja siirrä tilaus käsittelyyn\";\r\n case \"hyväksy\":\r\n return \"Vahvista tilaus ja siirrä tilaus odottamaan toimitusta. Tilauksen tiedot ovat oikein ja vahvistettu.\";\r\n case \"peru\":\r\n return \"Peruuta tilaus. Tästä saattaa seurata peruutusmaksu.\";\r\n case \"uudestaan\":\r\n return \"Kopioi tilaus uudeksi tilaukseksi samoilla tiedoilla.\";\r\n default:\r\n return \"No action found, should not be here!\";\r\n }\r\n };\r\n const dialogTitleText = () => {\r\n const isKeikkaAdmin = keikkaData.auth.isKeikkaAdmin;\r\n let _action = isKeikkaAdmin ? keikkaData.tila.mainAdminAction : keikkaData.tila.mainAction;\r\n switch (_action) {\r\n case \"lähetä\":\r\n return \"Vahvista tilaus ja lähetä\";\r\n case \"vastaanota\":\r\n return \"Vastaanota tilaus\";\r\n case \"hyväksy\":\r\n return \"Hyväksy tilaus\";\r\n case \"peru\":\r\n return \"Peruuta tilaus.\";\r\n case \"uudestaan\":\r\n return \"Kopioi tilaus.\";\r\n default:\r\n return \"No action found, do what?!\";\r\n }\r\n };\r\n const handleClose = () => props.closeModal();\r\n const handleCancelKlik = () => props.closeModal();\r\n\r\n const handleAcceptKlik = async (keikkaData, ilmoituksetHenkilölleKunTapahtuuJotain = false) => {\r\n const isKeikkaAdmin = keikkaData.auth.isKeikkaAdmin;\r\n const personId = user.personId;\r\n const _action = isKeikkaAdmin ? keikkaData.tila.mainAdminAction : keikkaData.tila.mainAction;\r\n\r\n if (keikkaData.tila.keikkaTilaId === -1) keikkaData.tila.keikkaTilaId = 0;\r\n\r\n switch (_action) {\r\n case \"lähetä\": {\r\n // kesken, vahvista tilaus\r\n // käyttäjä lähettää vahvistuspyynnön ja keikkatila : kesken0 -> odottaa2\r\n // isKeikkaAdamin, keikkaTila: kesken -> käsittelyssä3\r\n await kunCustomerSendsOrder(\r\n keikkaData,\r\n personId,\r\n token,\r\n isTarjouspyyntöChecked,\r\n ilmoituksetHenkilölleKunTapahtuuJotain,\r\n socket\r\n );\r\n reloadKeikkaData();\r\n break;\r\n }\r\n\r\n case \"vastaanota\": {\r\n if (isKeikkaAdmin) {\r\n keikkaData.tila.keikkaTilaId = switch2 ? 4 : 3;\r\n } else {\r\n keikkaData.tila.keikkaTilaId = 1;\r\n }\r\n await keikkaData.tila.saveKeikkaTilaToDB(\r\n personId,\r\n token,\r\n true,\r\n socket,\r\n keikkaData.varmenne\r\n );\r\n\r\n reloadKeikkaData();\r\n break;\r\n }\r\n case \"hyväksy\": {\r\n // tilaus käsittelyssä\r\n if (isKeikkaAdmin) {\r\n {\r\n keikkaData.tila.keikkaTilaId = 4;\r\n await keikkaData.tila.saveKeikkaTilaToDB(\r\n personId,\r\n token,\r\n true,\r\n socket,\r\n keikkaData.varmenne\r\n );\r\n }\r\n } else {\r\n await keikkaData.tila.setErrorTila(token, true, socket);\r\n }\r\n break;\r\n }\r\n case \"peru\": // vahvistettu, odottaa toimitusta\r\n keikkaData.tila.keikkaTilaId = 8;\r\n await keikkaData.tila.saveKeikkaTilaToDB(\r\n personId,\r\n token,\r\n true,\r\n socket,\r\n keikkaData.varmenne\r\n );\r\n break;\r\n case \"kopioi\": // toimitus meneillään\r\n //text \"Kopioi tilaus uuden tilauksen pohjaksi\";\r\n await copyKeikka(keikkaData.keikkaId, personId, token, socket);\r\n break;\r\n default:\r\n //text \"No keikkaTilaId found\";\r\n break;\r\n }\r\n const s = new socketOnSave(\r\n personId,\r\n socket,\r\n keikkaData.ownerAsiakasId,\r\n \"keikkaData\",\r\n \"save\",\r\n keikkaData.keikkaId\r\n );\r\n s.keikkaData = keikkaData;\r\n s.comment = \"ConfirmRightButtonModal:handleAcceptKlik\";\r\n s.function = \"ConfirmRightButtonModal:handleAcceptKlik\";\r\n s.emitSave();\r\n props.closeModal();\r\n };\r\n const copyKeikka = async (keikkaId, personId, token, socket) => {\r\n const newKeikkaId = await keikka_copy(keikkaId, personId, token, socket);\r\n navigate(\"/tilaus/\" + newKeikkaId);\r\n };\r\n function handleSwitch1(checked) {\r\n setVahvistaBetoniLaatuswitch(checked);\r\n }\r\n function handleSwitch2(checked) {\r\n setSwitch2(checked);\r\n }\r\n const showVahvistaBetoniLaatuswitch =\r\n !isTarjouspyyntöChecked && keikkaData.tila.keikkaTilaId < 2 && !keikkaData.auth.isKeikkaAdmin;\r\n const showSwitch2 = keikkaData.tila.keikkaTilaId == 2 && keikkaData.auth.isKeikkaAdmin;\r\n\r\n return (\r\n
\r\n \r\n {dialogTitleText()}\r\n \r\n \r\n {dialogContentText()}\r\n {showVahvistaBetoniLaatuswitch && (\r\n <>\r\n \r\n handleSwitch1(checked)}\r\n onChange3={(checked) => setChecked3(checked)}\r\n />\r\n \r\n )}\r\n {showSwitch2 && (\r\n <>\r\n \r\n {\r\n handleSwitch2(checked);\r\n }}\r\n />\r\n \r\n )}\r\n \r\n handleCancelKlik()}\r\n onAcceptKlik={() => handleAcceptKlik(keikkaData, checked3)}\r\n rightButtonText={rightButtonText()}\r\n rightButtonDisabled={showVahvistaBetoniLaatuswitch ? !vahvistaBetoniLaatuswitch : false}\r\n />\r\n \r\n
\r\n );\r\n\r\n function rightButtonText() {\r\n if (keikkaData.tila.keikkaTilaId == 2) {\r\n return \"PERU TILAUS\";\r\n }\r\n return keikkaData.tila.keikkaTilaId > 4 && keikkaData.tila.keikkaTilaId < 12\r\n ? \"TILAA UUDESTAAN\"\r\n : \"LÄHETÄ\";\r\n }\r\n}\r\n\r\nConfirmRightButtonModal.propTypes = {\r\n open: PropTypes.bool,\r\n closeModal: PropTypes.func,\r\n isTarjouspyyntöChecked: PropTypes.bool,\r\n};\r\n"],"names":["ConfirmRightButtonModalSwitch1","props","checked1","setChecked1","useState","checked2","setChecked2","checked3","setChecked3","user","token","useUserData","permissionGranted","setPermissionGranted","undefined","key","setKey","jsxs","Fragment","children","jsx","Typography","variant","color","MySwitch","rightSide","isMobile","checked","onChange","async","isChecked","thisFCMToken","requestPermission","onChange3","personId","Number","fb","firebaseClass","addPersonDevice","helpId","isError","errorMsg","MyDivider","gutter","gutterHeight","ConfirmRightButtonModalSwitch2","setChecked","FormControlLabel","control","Switch","event","target","name","label","ConfirmRightButtonModal","keikkaData","reloadKeikkaData","useContext","KeikkaDataContext","isTarjouspyyntöChecked","vahvistaBetoniLaatuswitch","setVahvistaBetoniLaatuswitch","switch2","setSwitch2","socket","navigate","useNavigate","useEffect","showVahvistaBetoniLaatuswitch","copyKeikka","keikkaId","newKeikkaId","keikka_copy","tila","keikkaTilaId","auth","isKeikkaAdmin","showSwitch2","Dialog","open","onClose","handleClose","closeModal","DialogTitle","id","dialogTitleText","mainAdminAction","mainAction","DialogContent","gutterBottom","DialogContentText","dialogContentText","handleSwitch1","handleSwitch2","StepButtons","withPadding","onCancelKlik","onAcceptKlik","ilmoituksetHenkilölleKunTapahtuuJotain","_action","kunCustomerSendsOrder","saveKeikkaTilaToDB","varmenne","setErrorTila","s","socketOnSave","ownerAsiakasId","comment","function","emitSave","handleAcceptKlik","rightButtonText","rightButtonDisabled","propTypes","PropTypes","func","bool"],"mappings":"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"}