{"version":3,"file":"static/js/890.2ac408a0.chunk.js","mappings":"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","sources":["components/auth/Auth.tsx","containers/auth/AuthContainer.tsx"],"sourcesContent":["import { Button } from \"antd\";\r\nimport React, { useState } from \"react\";\r\n\r\ninterface AuthProps {\r\n step: \"login\" | \"qr\" | \"otp\";\r\n qrCode: string | null;\r\n handleLogin: (email: string, password: string) => void;\r\n setStep: (step: \"login\" | \"qr\" | \"otp\") => void;\r\n handleOtpSubmit: (otp: string) => void;\r\n}\r\n\r\nconst Auth: React.FC = ({\r\n step,\r\n qrCode,\r\n handleLogin,\r\n setStep,\r\n handleOtpSubmit,\r\n}) => {\r\n const [email, setEmail] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [otpValues, setOtpValues] = useState(Array(6).fill(\"\")); // OTP state\r\n\r\n const [otp, setOtp] = useState(\"\");\r\n\r\n const handleOtpChange = (value: string, index: number) => {\r\n const newOtpValues = [...otpValues];\r\n newOtpValues[index] = value.slice(-1); // Ensure only one character\r\n setOtpValues(newOtpValues);\r\n\r\n if (value && index < otpValues.length - 1) {\r\n const nextInput = document.getElementById(`otp-input-${index + 1}`);\r\n if (nextInput) (nextInput as HTMLInputElement).focus();\r\n }\r\n };\r\n\r\n const handleKeyDown = (\r\n e: React.KeyboardEvent,\r\n index: number\r\n ) => {\r\n if (e.key === \"Backspace\" && !otpValues[index] && index > 0) {\r\n const prevInput = document.getElementById(`otp-input-${index - 1}`);\r\n if (prevInput) (prevInput as HTMLInputElement).focus();\r\n }\r\n if (e.key === \"Enter\") {\r\n handleSubmit();\r\n }\r\n };\r\n\r\n const handleSubmit = () => {\r\n const otp = otpValues.join(\"\");\r\n handleOtpSubmit(otp); // Submit OTP\r\n };\r\n const handleKeyDownLogin = (e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n handleLogin(email, password);\r\n }\r\n };\r\n\r\n const styles: { [key: string]: React.CSSProperties } = {\r\n container: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n height: \"100vh\",\r\n background: \"#f5f5f5\",\r\n },\r\n leftPanel: {\r\n width: \"45%\",\r\n background: \"linear-gradient(180deg, #008B8B 0%, #0C6363 100%)\",\r\n color: \"#fff\",\r\n position: \"relative\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\", // Center content horizontally in the container\r\n textAlign: \"right\", // Align text to the right\r\n paddingRight: \"10%\", // Add some padding for spacing from the edge\r\n overflow: \"hidden\", // Ensures the shape doesn't go outside the panel\r\n },\r\n imageContainer: {\r\n // marginTop: \"10%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"center\", // Center content vertically\r\n alignItems: \"flex-end\", // Align content to the right horizontally\r\n textAlign: \"right\",\r\n height: \"100%\",\r\n width: \"100%\",\r\n gap: \"7%\",\r\n },\r\n image: {\r\n maxWidth: \"100%\",\r\n height: \"45%\",\r\n marginBottom: \"1rem\",\r\n paddingRight: \"12%\",\r\n },\r\n rightPanel: {\r\n width: \"55%\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n },\r\n shape: {\r\n position: \"absolute\",\r\n top: \"-7rem\",\r\n left: \"-6rem\",\r\n width: \"178px\",\r\n height: \"178px\",\r\n border: \"7px solid rgba(255, 255, 255, 0.5)\",\r\n borderRadius: \"50%\",\r\n },\r\n bottomShape: {\r\n position: \"absolute\",\r\n bottom: \"-349px\",\r\n right: \"-150px\", // Adjust this to keep the shape within the left panel\r\n width: \"448px\",\r\n height: \"448px\",\r\n borderTop: \"7px solid rgba(255, 255, 255, 0.5)\",\r\n borderRight: \"none\",\r\n borderBottom: \"none\",\r\n borderLeft: \"7px solid rgba(255, 255, 255, 0.5)\",\r\n borderRadius: \"50%\",\r\n },\r\n card: {\r\n background: \"#fff\",\r\n width: \"55%\",\r\n padding: \"2rem\",\r\n borderRadius: \"8px\",\r\n boxShadow: \"0 4px 6px rgba(0, 0, 0, 0.1)\",\r\n textAlign: \"center\",\r\n },\r\n input: {\r\n margin: \"0.5rem 0\",\r\n padding: \"0.95rem\", // Add padding for spacing inside the input\r\n width: \"100%\",\r\n border: \"1px solid #ccc\",\r\n borderRadius: \"4px\",\r\n fontSize: \"15px\", // Adjust font size for consistency\r\n color: \"black\", // Text color\r\n fontWeight: \"400\",\r\n textTransform: \"initial\", // Lowercase the placeholder\r\n outline: \"none\",\r\n boxSizing:\r\n \"border-box\" /* Ensures padding and border are included in total size */,\r\n lineHeight: \"1.5\",\r\n },\r\n\r\n // Custom styles for placeholder\r\n \"input::placeholder\": {\r\n textTransform: \"initial\", // Ensures placeholder text is lowercase\r\n color: \"black\", // Placeholder color\r\n paddingLeft: \"0.25rem\", // Add padding to the placeholder text if needed\r\n },\r\n button: {\r\n marginTop: \"0.7rem\",\r\n padding: \"0.8rem\",\r\n width: \"100%\",\r\n background: \"#006D77\",\r\n color: \"#fff\",\r\n border: \"none\",\r\n borderRadius: \"10px\",\r\n cursor: \"pointer\",\r\n },\r\n qrImage: {\r\n maxWidth: \"100%\",\r\n height: \"auto\",\r\n },\r\n lockIcon: {\r\n width: \"55px\",\r\n height: \"50px\",\r\n marginBottom: \"0.6rem\",\r\n },\r\n\r\n otpTitle: {\r\n fontWeight: \"700\",\r\n fontSize: \"20px\",\r\n marginBottom: \"1.5rem\",\r\n textTransform: \"initial\",\r\n },\r\n\r\n otpInputContainer: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"10px\",\r\n marginBottom: \"1rem\",\r\n },\r\n\r\n otpInput: {\r\n width: \"50px\",\r\n height: \"50px\",\r\n fontSize: \"18px\",\r\n textAlign: \"center\",\r\n border: \"1px solid #ccc\",\r\n borderRadius: \"8px\",\r\n outline: \"none\",\r\n boxShadow: \"0px 0px 10px 0px rgba(0, 0, 0, 0.15)\",\r\n },\r\n\r\n backToLoginLink: {\r\n display: \"block\",\r\n marginTop: \"1.3rem\",\r\n fontSize: \"16px\",\r\n color: \"#008B8B\",\r\n textDecoration: \"none\",\r\n textAlign: \"center\",\r\n textTransform: \"initial\",\r\n cursor: \"pointer\",\r\n },\r\n };\r\n const renderLogin = () => (\r\n
\r\n \r\n Login\r\n \r\n
\r\n \r\n Email Address\r\n \r\n setEmail(e.target.value)}\r\n style={styles.input}\r\n onKeyDown={handleKeyDownLogin} // Listen for Enter key\r\n />\r\n
\r\n
\r\n \r\n Password\r\n \r\n setPassword(e.target.value)}\r\n style={styles.input}\r\n onKeyDown={handleKeyDownLogin} // Listen for Enter key\r\n />\r\n
\r\n handleLogin(email, password)}\r\n style={styles.button}\r\n >\r\n Login\r\n \r\n
\r\n );\r\n\r\n const renderQrCode = () => (\r\n
\r\n \r\n Please scan the QR code using your authenticator app.\r\n

\r\n {qrCode && (\r\n \r\n )}\r\n\r\n \r\n
\r\n );\r\n\r\n const renderOtp = () => (\r\n
\r\n \r\n

\r\n Authenticate Your Account\r\n

\r\n
\r\n {otpValues.map((value, index) => (\r\n handleOtpChange(e.target.value, index)}\r\n onKeyDown={(e) => handleKeyDown(e, index)}\r\n style={styles.otpInput}\r\n />\r\n ))}\r\n
\r\n \r\n Verify and Login\r\n \r\n setStep(\"login\")}\r\n style={styles.backToLoginLink}\r\n >\r\n ← Back to Login\r\n \r\n
\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
{/* Added bottom shape */}\r\n
\r\n
\r\n \r\n Welcome to{\" \"}\r\n \r\n {\" \"}\r\n G7 Pro\r\n \r\n \r\n\r\n \r\n Streamlining Revenue, Accelerating Claims
- Faster, Smarter,\r\n Better\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {step === \"login\" && renderLogin()}\r\n {step === \"qr\" && renderQrCode()}\r\n {step === \"otp\" && renderOtp()}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Auth;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { message } from \"antd\";\r\nimport Auth from \"../../components/auth/Auth\";\r\n// import { loginUser, verifyOtp } from \"../../models/authSlice\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { AppDispatch, RootState } from \"../../store/store\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { ROUTES } from \"../../utils/constants\";\r\nimport { loginUser, verifyOtp } from \"../../models/authSlice\";\r\nimport {\r\n getAllDepartments,\r\n getAllDesignations,\r\n getAllPortals,\r\n getAllQualifications,\r\n} from \"../../utils/healthCareSliceFunc\";\r\nimport { getAllSchemes } from \"../../models/patientSlice\";\r\nimport {\r\n fetchHospitalSchemeCodes,\r\n getAvailableHospitals,\r\n resetHospitalToSchemeCodesMap,\r\n updateSelectedHospital,\r\n} from \"../../models/hospitalSlice\";\r\nimport { errorMessage, successMessage } from \"../../utils/notificationUtils\";\r\n\r\nconst AuthContainer: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const navigate = useNavigate();\r\n const { auth } = useSelector((state: RootState) => state);\r\n const [messageApi, contextHolder] = message.useMessage();\r\n const [step, setStep] = useState<\"login\" | \"qr\" | \"otp\">(\"login\");\r\n const [qrCode, setQrCode] = useState(null);\r\n const { hospital } = useSelector((state: RootState) => state);\r\n const [isFOSTAFF, setIsFOSTAFF] = useState(false);\r\n const [isPMRole, setIsPMRole] = useState(false);\r\n\r\n const handleLogin = async (\r\n email: string,\r\n password: string\r\n ): Promise => {\r\n const resp = await dispatch(loginUser({ email, password }));\r\n if (loginUser.fulfilled.match(resp)) {\r\n const qrCode = resp?.payload?.qrCode;\r\n\r\n if (qrCode) {\r\n setQrCode(qrCode);\r\n setStep(\"qr\");\r\n } else {\r\n setStep(\"otp\");\r\n }\r\n } else if (loginUser.rejected.match(resp)) {\r\n messageApi.error(resp.payload as string);\r\n }\r\n };\r\n\r\n const handleHospitalChange = (hospitalId: number) => {\r\n dispatch(updateSelectedHospital(hospitalId));\r\n successMessage(`WELCOME TO GSEVENPRO`);\r\n // if (\r\n // !hospital.hospitalToSchemeCodesMap ||\r\n // !hospital.hospitalToSchemeCodesMap.hasOwnProperty(hospitalId)\r\n // ) {\r\n // dispatch(fetchHospitalSchemeCodes(hospitalId));\r\n // }\r\n if(isPMRole) {\r\n navigate({\r\n pathname: ROUTES.TMS_PORTAL_LOGIN,\r\n });\r\n }\r\n else {\r\n navigate({\r\n pathname: ROUTES.DASHBOARD,\r\n });\r\n }\r\n };\r\n\r\n const handleOtpSubmit = async (code: string): Promise => {\r\n const email = auth?.userEmail;\r\n const resp = await dispatch(verifyOtp({ code, email }));\r\n if (verifyOtp.fulfilled.match(resp)) {\r\n const user = resp.payload.user;\r\n // const capitalizedUser = user.toUpperCase();\r\n const accessModules = resp?.payload?.user?.role?.accessModules;\r\n const role = resp.payload.user?.role.role;\r\n if (role === \"FO_STAFF\") {\r\n setIsFOSTAFF(true);\r\n }\r\n\r\n if(role === \"PM\") {\r\n setIsPMRole(true);\r\n }\r\n \r\n localStorage.setItem(\"edgeProAccessToken\", JSON.stringify(resp?.payload?.access_token));\r\n localStorage.setItem(\"edgeProRefreshToken\", JSON.stringify(resp?.payload?.refresh_token));\r\n localStorage.setItem(\"user\", JSON.stringify(resp?.payload?.user))\r\n localStorage.setItem(\"accessModules\", JSON.stringify(accessModules));\r\n localStorage.setItem(\"role\", JSON.stringify(role));\r\n localStorage.setItem(\r\n \"userName\",\r\n resp?.payload?.user?.firstname + \" \" + resp?.payload?.user?.lastname\r\n );\r\n } else if (verifyOtp.rejected.match(resp)) {\r\n // messageApi.error(resp.payload as string);\r\n const error = resp.payload as string;\r\n const capitalizedError = error.toUpperCase();\r\n errorMessage(capitalizedError);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (auth.accessToken != null) {\r\n dispatch(getAvailableHospitals()).then(() => {\r\n // if (role) {\r\n const availableHospitals = hospital.availableHospitals;\r\n if (availableHospitals && availableHospitals.length > 0) {\r\n const firstHospital = availableHospitals[0];\r\n handleHospitalChange(firstHospital.value);\r\n // dispatch(updateSelectedHospital(firstHospital.value));\r\n // successMessage(`WELCOME TO GSEVENPRO`);\r\n // navigate(ROUTES.CLAIMS_LIST);\r\n }\r\n // }\r\n });\r\n }\r\n }, [auth.accessToken, hospital.availableHospitals?.[0]?.label]);\r\n useEffect(() => {\r\n if (auth.accessToken) {\r\n dispatch(getAllPortals());\r\n dispatch(getAllDepartments());\r\n dispatch(getAllSchemes());\r\n dispatch(getAllDesignations());\r\n dispatch(getAllQualifications());\r\n }\r\n }, [auth.accessToken]);\r\n return (\r\n <>\r\n {contextHolder}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AuthContainer;\r\n"],"names":["_ref","step","qrCode","handleLogin","setStep","handleOtpSubmit","email","setEmail","useState","password","setPassword","otpValues","setOtpValues","Array","fill","otp","setOtp","handleSubmit","join","handleKeyDownLogin","e","key","styles","container","display","justifyContent","height","background","leftPanel","width","color","position","flexDirection","alignItems","textAlign","paddingRight","overflow","imageContainer","gap","image","maxWidth","marginBottom","rightPanel","shape","top","left","border","borderRadius","bottomShape","bottom","right","borderTop","borderRight","borderBottom","borderLeft","card","padding","boxShadow","input","margin","fontSize","fontWeight","textTransform","outline","boxSizing","lineHeight","paddingLeft","button","marginTop","cursor","qrImage","lockIcon","otpTitle","otpInputContainer","otpInput","backToLoginLink","textDecoration","_jsxs","style","children","_jsx","className","fontFamily","src","alt","shapeTwo","htmlFor","id","type","placeholder","value","onChange","target","onKeyDown","onClick","concat","map","index","maxLength","handleOtpChange","newOtpValues","slice","length","nextInput","document","getElementById","focus","handleKeyDown","prevInput","AuthContainer","_hospital$availableHo","_hospital$availableHo2","dispatch","useDispatch","navigate","useNavigate","auth","useSelector","state","messageApi","contextHolder","message","useMessage","setQrCode","hospital","isFOSTAFF","setIsFOSTAFF","isPMRole","setIsPMRole","useEffect","accessToken","getAvailableHospitals","then","availableHospitals","firstHospital","hospitalId","updateSelectedHospital","successMessage","pathname","ROUTES","TMS_PORTAL_LOGIN","DASHBOARD","label","getAllPortals","getAllDepartments","getAllSchemes","getAllDesignations","getAllQualifications","_Fragment","Auth","async","resp","loginUser","fulfilled","match","_resp$payload","payload","rejected","error","userEmail","verifyOtp","code","_resp$payload2","_resp$payload2$user","_resp$payload2$user$r","_resp$payload$user","_resp$payload3","_resp$payload4","_resp$payload5","_resp$payload6","_resp$payload6$user","_resp$payload7","_resp$payload7$user","user","accessModules","role","localStorage","setItem","JSON","stringify","access_token","refresh_token","firstname","lastname","capitalizedError","toUpperCase","errorMessage"],"sourceRoot":""}