Sindbad~EG File Manager
{"version":3,"file":"static/js/767.a4a95a75.chunk.js","mappings":"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","sources":["pages/userProfile.js","../node_modules/@mui/icons-material/CloudUpload.js"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { Button, Container, Stack, Grid, Typography, Box, Modal, Avatar } from '@mui/material';\r\nimport { Form, Field } from 'react-final-form';\r\nimport { LoadingButton } from '@mui/lab';\r\nimport { toast } from 'react-toastify';\r\nimport TextInput from 'src/components/TextInput/TextInput';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { baseURL } from 'src/constants/baseURL';\r\nimport CloudUploadIcon from '@mui/icons-material/CloudUpload';\r\nimport { styled } from '@mui/material/styles';\r\nimport api from 'src/features/auth/Api';\r\nimport { updateUserInfo } from 'src/features/auth/authSlice';\r\n\r\nconst style = {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: 400,\r\n bgcolor: 'background.paper',\r\n border: '2px solid black', // Set border color to blue\r\n borderRadius: 2, // Set border radius\r\n boxShadow: 24,\r\n p: 4\r\n};\r\n\r\n\r\nconst VisuallyHiddenInput = styled('input')({\r\n clip: 'rect(0 0 0 0)',\r\n clipPath: 'inset(50%)',\r\n height: 1,\r\n overflow: 'hidden',\r\n position: 'absolute',\r\n bottom: 0,\r\n left: 0,\r\n whiteSpace: 'nowrap',\r\n width: 1,\r\n});\r\n\r\n\r\nexport default function UserProfile() {\r\n const [user, setUser] = useState({});\r\n const [logo, setLogo] = useState(\"/assets/images/avatars/avatar_placeholder.png\");\r\n const [open, setOpen] = useState(false);\r\n const navigate = useNavigate();\r\n const dispatch = useDispatch();\r\n const { userInfo } = useSelector((state) => state.auth);\r\n const [passwordsMatch, setPasswordsMatch] = useState(true);\r\n\r\n const [showPassword, setShowPassword] = useState(true);\r\n const [loading, setLoading] = useState(false);\r\n const [passwordBtnLoading, setPasswordBtnLoading] = useState(false);\r\n const [uploadBtnLoading, setUploadBtnLoading] = useState(false);\r\n\r\n const getUserProfile = async () => {\r\n try {\r\n const response = await api.get(`${baseURL}/user/get-user-profile/${userInfo?.user_id}`);\r\n\r\n if (response?.status === 200) {\r\n let data = response?.data?.data[0];\r\n setUser(data);\r\n setLogo(data?.business_logo ? \"https://autocrm.infinitibizsol.com/images/\"+data?.business_logo : \"/assets/images/avatars/avatar_placeholder.png\")\r\n dispatch(updateUserInfo(data));\r\n }\r\n } catch (error) {\r\n toast.error('Error while getting details');\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getUserProfile();\r\n }, []);\r\n\r\n const onSubmit = async (data) => {\r\n if (data) {\r\n try {\r\n setLoading(true);\r\n\r\n // Send the payload to update the user profile\r\n const response = await api.patch(`${baseURL}/user/update-user-profile`, data);\r\n\r\n console.log('Update profile:', response);\r\n\r\n if (response?.status === 200) {\r\n toast.success('Profile updated successfully');\r\n setLoading(false);\r\n getUserProfile();\r\n }\r\n } catch (err) {\r\n setLoading(false);\r\n }\r\n } else {\r\n toast.error('Invalid data!');\r\n }\r\n };\r\n\r\n const formatPhoneNumber = (value) => {\r\n if (!value) return '';\r\n // Remove all non-numeric characters from the input value\r\n const cleaned = value.replace(/\\D/g, '');\r\n // Check if the input value is not empty\r\n if (cleaned.length > 0) {\r\n // Split the cleaned value into groups of 3 characters\r\n const formattedValue = cleaned\r\n .match(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})$/)\r\n ?.slice(1)\r\n ?.filter(Boolean)\r\n ?.join('-');\r\n return formattedValue;\r\n } else {\r\n return '';\r\n }\r\n };\r\n\r\n const validateEmail = (email) => {\r\n var re = /\\S+@\\S+\\.\\S+/;\r\n return re.test(email);\r\n };\r\n\r\n\r\n \r\n const handleFileChange = (event) => {\r\n const file = event.target.files[0];\r\n setLogo(file);\r\n };\r\n\r\n const updateLogo = async() => {\r\n if(typeof(logo) === \"object\"){\r\n setUploadBtnLoading(true);\r\n try {\r\n const formData = new FormData();\r\n formData.append('business_logo', logo);\r\n const response = await api.patch(`${baseURL}/user/update-business-logo`, formData);\r\n if (response?.status === 200) {\r\n toast.success('Logo updated successfully');\r\n dispatch(updateUserInfo({ business_logo: response?.data?.business_logo }))\r\n }\r\n } catch (err) {\r\n toast.error(err?.response?.data?.message || 'Error while updating logo');\r\n }\r\n setUploadBtnLoading(false);\r\n }else{\r\n toast.warning(\"Please select a file\");\r\n }\r\n }\r\n\r\n\r\n const changePassword = async (data) => {\r\n const { old_password, newPassword, confirmPassword } = data;\r\n\r\n if (newPassword) {\r\n if (newPassword !== confirmPassword) {\r\n setPasswordsMatch(false); // Set passwordsMatch state to false if passwords don't match\r\n return;\r\n }\r\n setPasswordBtnLoading(true);\r\n setPasswordsMatch(true);\r\n try {\r\n const response = await api.patch(`${baseURL}/user/update-password`, {\r\n newPassword,\r\n old_password,\r\n user_id: userInfo?.user_id\r\n });\r\n if (response?.status === 200) {\r\n toast.success('Password updated successfully');\r\n setOpen(false);\r\n }\r\n } catch (err) {\r\n toast.error(err.response.data.message || 'Error while updating password');\r\n }\r\n setPasswordBtnLoading(false);\r\n return;\r\n }\r\n toast.warning('Password can never be empty.');\r\n };\r\n\r\n return (\r\n <Container>\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n >\r\n <Typography variant=\"h4\" sx={{ mb: 5 }}>\r\n User Profile\r\n </Typography>\r\n\r\n <Button\r\n variant=\"contained\"\r\n onClick={() =>\r\n navigate(`/dashboard/app`, {\r\n replace: true\r\n })\r\n }\r\n >\r\n Back To Dashboard\r\n </Button>\r\n </Stack>\r\n\r\n\r\n \r\n <Stack mb={5}>\r\n <div className=\"display-avatar\" style={{marginRight:\"15px\" }}>\r\n <Avatar src={typeof(logo)===\"object\" ? URL.createObjectURL(logo) : logo} alt=\"autioneer_photo\" sx={{ width: 120, height: 120, margin:\"5px auto\"}}/>\r\n </div>\r\n <br />\r\n <div style={{ display:\"flex\", alignItems:\"center\", justifyContent:\"center\", gap:\"10px\"}}>\r\n <Button component=\"label\" variant=\"contained\" tabIndex={-1} startIcon={<CloudUploadIcon />}>\r\n Upload file\r\n <VisuallyHiddenInput type=\"file\" accept=\"image/*\" onChange={handleFileChange}/>\r\n </Button>\r\n <LoadingButton loading={uploadBtnLoading} component=\"label\" variant=\"contained\" onClick={updateLogo}>Update</LoadingButton>\r\n </div>\r\n </Stack>\r\n\r\n <Form\r\n onSubmit={onSubmit}\r\n initialValues={{\r\n user_id: user?.user_id,\r\n firstname: user?.firstname,\r\n lastname: user?.lastname,\r\n business_name: user?.business_name,\r\n mobile_no: user?.mobile_no,\r\n business_phone: user?.business_phone,\r\n business_email: user?.business_email,\r\n business_address: user?.business_address\r\n }}\r\n validate={(values, form) => {\r\n const errors = {};\r\n\r\n if (!validateEmail(values.business_email)) {\r\n errors.business_email = 'Invalid email address';\r\n }\r\n if (values?.mobile_no && values?.mobile_no?.length !== 12) {\r\n errors.mobile_no = 'Invalid Mobile Number';\r\n }\r\n if (values?.business_phone && values?.business_phone?.length !== 12) {\r\n errors.business_phone = 'Invalid business Phone';\r\n }\r\n return errors;\r\n }}\r\n render={({ handleSubmit, errors, form }) => (\r\n <form onSubmit={handleSubmit}>\r\n <Grid container spacing={4}>\r\n <Grid item xs={6}>\r\n <Field fullWidth name=\"firstname\">\r\n {(props) => <TextInput label={'First Name'} {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={6}>\r\n <Field fullWidth name=\"lastname\">\r\n {(props) => <TextInput label={'Last Name'} {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={6}>\r\n <Field fullWidth name=\"business_name\">\r\n {(props) => <TextInput label={'Business Name'} {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={6}>\r\n <Field fullWidth name=\"business_email\">\r\n {(props) => <TextInput label={'Email address'} {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={6} mt={3}>\r\n <Field fullWidth name=\"mobile_no\" format={(value) => formatPhoneNumber(value)}>\r\n {(props) => <TextInput label={'Mobile No'} type=\"text\" {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={6} mt={3}>\r\n <Field fullWidth name=\"business_phone\" format={(value) => formatPhoneNumber(value)}>\r\n {(props) => <TextInput label={'Business Phone'} type=\"text\" {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={6} mt={3}>\r\n <Field fullWidth name=\"business_address\">\r\n {(props) => <TextInput label={'Business Address'} {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={6} mt={3}>\r\n <Button type=\"button\" variant=\"outlined\" onClick={() => setOpen(true)}>\r\n Change Password\r\n </Button>\r\n </Grid>\r\n </Grid>\r\n <Grid container direction=\"row\" justifyContent=\"center\" alignItems=\"center\" m={4}>\r\n <LoadingButton loading={loading} size=\"large\" type=\"submit\" variant=\"contained\">\r\n Update\r\n </LoadingButton>\r\n </Grid>\r\n </form>\r\n )}\r\n />\r\n <Modal\r\n open={open}\r\n onClose={() => setOpen(false)}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n >\r\n <Box sx={style}>\r\n <Form\r\n onSubmit={changePassword}\r\n initialValues={{\r\n old_password: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n }}\r\n validate={(values) => {\r\n const errors = {};\r\n if (!values?.old_password) {\r\n errors.old_password = 'Old Password is required';\r\n }\r\n return errors;\r\n }}\r\n render={({ handleSubmit, errors, form }) => (\r\n <form onSubmit={handleSubmit}>\r\n <Grid container spacing={4}>\r\n <Grid item xs={12}>\r\n <Field fullWidth name=\"old_password\">\r\n {(props) => <TextInput label={'Old Password'} type=\"text\" {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={12}>\r\n <Field fullWidth name=\"newPassword\">\r\n {(props) => <TextInput label={'New Password'} type=\"text\" {...props} />}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={12}>\r\n <Field fullWidth name=\"confirmPassword\">\r\n {(props) => <TextInput label={'Confirm Password'} type=\"text\" {...props} />}\r\n </Field>\r\n {!passwordsMatch && (\r\n <Typography variant=\"body2\" color=\"red\">\r\n Passwords do not match\r\n </Typography>\r\n )}\r\n </Grid>\r\n\r\n <Grid item xs={12}>\r\n <LoadingButton loading={passwordBtnLoading} type=\"submit\" variant=\"contained\">\r\n Change Password\r\n </LoadingButton>\r\n </Grid>\r\n </Grid>\r\n </form>\r\n )}\r\n />\r\n </Box>\r\n </Modal>\r\n </Container>\r\n );\r\n}\r\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z\"\n}), 'CloudUpload');"],"names":["style","position","top","left","transform","width","bgcolor","border","borderRadius","boxShadow","p","VisuallyHiddenInput","styled","clip","clipPath","height","overflow","bottom","whiteSpace","UserProfile","user","setUser","useState","logo","setLogo","open","setOpen","navigate","useNavigate","dispatch","useDispatch","userInfo","useSelector","state","auth","passwordsMatch","setPasswordsMatch","showPassword","setShowPassword","loading","setLoading","passwordBtnLoading","setPasswordBtnLoading","uploadBtnLoading","setUploadBtnLoading","getUserProfile","async","response","api","get","concat","baseURL","user_id","status","_response$data","data","business_logo","updateUserInfo","error","toast","useEffect","formatPhoneNumber","value","cleaned","replace","length","_cleaned$match","_cleaned$match$slice","_cleaned$match$slice$","match","slice","filter","Boolean","join","_jsxs","Container","children","Stack","direction","alignItems","justifyContent","_jsx","Typography","variant","sx","mb","Button","onClick","className","marginRight","Avatar","src","URL","createObjectURL","alt","margin","display","gap","component","tabIndex","startIcon","CloudUploadIcon","type","accept","onChange","event","file","target","files","LoadingButton","formData","FormData","append","patch","_response$data2","success","err","_err$response","_err$response$data","message","warning","Form","onSubmit","console","log","initialValues","firstname","lastname","business_name","mobile_no","business_phone","business_email","business_address","validate","values","form","_values$mobile_no","_values$business_phon","errors","email","test","render","_ref","handleSubmit","Grid","container","spacing","item","xs","Field","fullWidth","name","props","TextInput","label","mt","format","m","size","Modal","onClose","Box","old_password","newPassword","confirmPassword","_ref2","color","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","default","jsx","d"],"sourceRoot":""}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists