diff --git a/src/layouts/mainLayout/components/ProfileSection.jsx b/src/layouts/mainLayout/components/ProfileSection.jsx
index d9e7971..25a710f 100644
--- a/src/layouts/mainLayout/components/ProfileSection.jsx
+++ b/src/layouts/mainLayout/components/ProfileSection.jsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useRef, useState } from 'react';
+import React, { useEffect, useRef, useState } from "react";
// material-ui
import {
@@ -11,20 +11,24 @@ import {
ListItemText,
Paper,
Popper,
-} from '@mui/material';
-import { useTheme } from '@mui/material/styles';
+} from "@mui/material";
+import { useTheme } from "@mui/material/styles";
// assets
-import signoutImg from '../../../assets/images/icon/signout.svg';
-import phoneImg from '../../../assets/images/icon/phone.svg';
+import signoutImg from "../../../assets/images/icon/signout.svg";
+import phoneImg from "../../../assets/images/icon/phone.svg";
+import settingsImg from "../../../assets/images/icon/settings.svg";
-import { useStyles } from '../mainLayoutStyles';
-import MainCard from './MainCard';
-import Transitions from './Transitions';
-import { useNavigate } from 'react-router-dom';
-import { commonLogoutFunc } from '../../../utils/share';
-import defaultProfilePicture from '../../../assets/images/icon/defaultProfileIcon.svg';
-import { useSelector } from 'react-redux';
+import { useStyles } from "../mainLayoutStyles";
+import MainCard from "./MainCard";
+import Transitions from "./Transitions";
+import { useNavigate } from "react-router-dom";
+import { commonLogoutFunc } from "../../../utils/share";
+import defaultProfilePicture from "../../../assets/images/icon/defaultProfileIcon.svg";
+import { useSelector } from "react-redux";
+import { getStripeAccountLink } from "../../../services/users.service";
+import { pushNotification } from "../../../utils/notification";
+import { NOTIFICATION, USER_ROLES } from "../../../constants";
// ==============================|| PROFILE MENU ||============================== //
@@ -35,15 +39,25 @@ const ProfileSection = () => {
const [open, setOpen] = useState(false);
const [showPopup, setShowPopup] = useState(false);
// const [showTransactionHistoryPopup, setShowTransactionHistoryPopup] =
- useState(false);
+ useState(false);
const anchorRef = useRef(null);
const user = useSelector((state) => state?.login?.user);
- const isSuperAdmin = user?.isSuperAdmin;
- const companyStatus = useSelector(
- (state) => state?.login?.user?.company?.status
- );
+ const getAccountLink = async () => {
+ try {
+ const response = await getStripeAccountLink();
+ if (response.data?.error) {
+ pushNotification(response.data?.error, NOTIFICATION.ERROR);
+ return;
+ }
+ // open link
+ window.location.href = response.data?.data;
+ } catch (error) {
+ console.error("Error creating Stripe account link:", error);
+ pushNotification("Error while getting stripe link", NOTIFICATION.ERROR);
+ }
+ };
const handleClose = (event) => {
if (anchorRef.current && anchorRef.current.contains(event.target)) {
@@ -66,16 +80,23 @@ const ProfileSection = () => {
}, [open]);
const menuItems = [
-
- { id: 1, img: phoneImg, text: 'Contact Us', alt: 'contactUsImg' },
- { id: 2, img: signoutImg, text: 'Sign Out', alt: 'signoutImg' },
+ { id: 1, img: phoneImg, text: "Contact Us", alt: "contactUsImg" },
+ // Only show Bank Details for clinic admin users
+ ...(user?.userType == USER_ROLES.CLINIC_ADMIN.toLowerCase()
+ ? [{ id: 2, img: settingsImg, text: "Bank Details", alt: "bankDetails" }]
+ : []),
+ { id: 3, img: signoutImg, text: "Sign Out", alt: "signoutImg" },
].filter(Boolean);
const renderProfile = (item, index) => (
{
<>
- handleMenuItemClick(item)}>
+ handleMenuItemClick(item)}
+ >
{
- {index === menuItems.length - 2 && (
-
- )}
>
}
@@ -100,16 +118,15 @@ const ProfileSection = () => {
// navigate('/contact-us');
break;
case 2:
- commonLogoutFunc();
+ getAccountLink();
break;
case 3:
- // setShowTransactionHistoryPopup(true);
+ commonLogoutFunc();
break;
case 4:
setShowPopup(true);
break;
case 5:
- commonLogoutFunc();
break;
default:
break;
@@ -125,7 +142,7 @@ const ProfileSection = () => {
@@ -145,7 +162,7 @@ const ProfileSection = () => {
transition
disablePortal
popperOptions={{
- modifiers: [{ name: 'offset', options: { offset: [0, 14] } }],
+ modifiers: [{ name: "offset", options: { offset: [0, 14] } }],
}}
>
{({ TransitionProps }) => (
diff --git a/src/services/users.service.js b/src/services/users.service.js
index ad585ab..2e6728d 100644
--- a/src/services/users.service.js
+++ b/src/services/users.service.js
@@ -29,7 +29,7 @@ export const getUsers = (params) => {
export const getUserById = (id) => {
const data = userDataMock;
- return data.data.records.find((item) => item.id === id)
+ return data.data.records.find((item) => item.id === id);
};
// export const getUserById = (id) => {
@@ -42,63 +42,6 @@ export const getUserById = (id) => {
// });
// };
-export const getRoles = ({ page }) =>
- page == 0
- ? {
- // data: {
- data: [
- {
- id: 1,
- name: "Adult Immunisation",
- },
- {
- id: 2,
- name: "Allied health",
- },
- {
- id: 3,
- name: "Assist",
- },
- {
- id: 4,
- name: "Care plan",
- },
- {
- id: 5,
- name: "Care plan reviews",
- },
- {
- id: 6,
- name: "Cervical Screening",
- },
- {
- id: 7,
- name: "Child Immunisation",
- },
- {
- id: 8,
- name: "Health assessments",
- },
- {
- id: 9,
- name: "Mental Health Care Plans (MHCP)",
- },
- {
- id: 10,
- name: "Travel Immunisation",
- },
- ],
- // },
- }
- : { data: [] };
-// const url = '/roles';
-// return new Promise((resolve, reject) => {
-// axiosInstance
-// .get(url)
-// .then((response) => resolve(response))
-// .catch((err) => reject(err));
-// });
-
export const addUser = (data) => {
const url = "/users";
return new Promise((resolve, reject) => {
@@ -169,30 +112,8 @@ export const changePassword = (data) => {
.catch((err) => reject(err));
});
};
-export const updateMailersSettings = (data) => {
- const url = "/users/me/mail-notification";
- return new Promise((resolve, reject) => {
- axiosInstance
- .put(url, data)
- .then((response) => resolve(response))
- .catch((err) => reject(err));
- });
-};
-
-export const updateUser = (imageUrl, isProfileDelete = false) => {
- let url = "/users/me";
- const data = { profilePhoto: imageUrl, isProfileDelete };
-
- return new Promise((resolve, reject) => {
- axiosInstance
- .put(url, data)
- .then((response) => resolve(response))
- .catch((err) => reject(err));
- });
-};
-export const companyMe = () => {
- let url = "/companies/me";
-
+export const getStripeAccountLink = () => {
+ const url = "/stripe/create-stripe-account-link";
return new Promise((resolve, reject) => {
axiosInstance
.get(url)
@@ -200,60 +121,3 @@ export const companyMe = () => {
.catch((err) => reject(err));
});
};
-export const updateCompanyDetails = (data) => {
- let url = "/companies/me";
-
- return new Promise((resolve, reject) => {
- axiosInstance
- .put(url, data)
- .then((response) => resolve(response))
- .catch((err) => reject(err));
- });
-};
-
-export const bsAdminLogin = (token) => {
- const url = "/auth/admin/login";
- return new Promise((resolve, reject) => {
- axiosInstance
- .post(url, {
- token,
- })
- .then((response) => resolve(response))
- .catch((err) => reject(err));
- });
-};
-
-export const resendPasswordMailer = (data) => {
- const url = "/users/remind-password-setup";
- return new Promise((resolve, reject) => {
- axiosInstance
- .patch(url, {
- email: data,
- })
- .then((response) => resolve(response))
- .catch((err) => reject(err));
- });
-};
-
-export const updateUserEmailAndContact = (data) => {
- let url = "/users/me";
-
- return new Promise((resolve, reject) => {
- axiosInstance
- .put(url, data)
- .then((response) => resolve(response))
- .catch((err) => reject(err));
- });
-};
-
-export const transferMasterAdminAccess = (id) => {
- if (!id) throw new Error("User id is required");
- const url = `/users/${id}/transfer-master-admin-access`;
-
- return new Promise((resolve, reject) => {
- axiosInstance
- .put(url)
- .then((response) => resolve(response))
- .catch((err) => reject(err));
- });
-};
diff --git a/src/views/Signup/YourDetailsForm.jsx b/src/views/Signup/YourDetailsForm.jsx
index 30b0f46..d916370 100644
--- a/src/views/Signup/YourDetailsForm.jsx
+++ b/src/views/Signup/YourDetailsForm.jsx
@@ -234,7 +234,7 @@ function YourDetailsForm() {
.matches(passwordNumberRegex, "Password must contain at least one number")
.matches(
passwordSpacesRegex,
- "Password must not start or end with a space"
+ "Password must not start or end with a space",
)
.required("Password is required"),
confirmPassword: Yup.string()
@@ -249,7 +249,7 @@ function YourDetailsForm() {
.min(10, "Business Phone number should have 10 digits only.")
.max(10, "Business Phone number should have 10 digits only."),
businessPhonePrefix: Yup.string().required(
- "Business Phone Prefix is required"
+ "Business Phone Prefix is required",
),
emergencyBusinessPhone: Yup.string()
.required("Emergency Business Phone is required")
@@ -257,7 +257,7 @@ function YourDetailsForm() {
.min(10, "Emergency Business Phone number should have 10 digits only.")
.max(10, "Emergency Business Phone number should have 10 digits only."),
emergencyBusinessPhonePrefix: Yup.string().required(
- "Emergency Business Phone Prefix is required"
+ "Emergency Business Phone Prefix is required",
),
businessEmail: Yup.string()
.required("Business Email is required")
@@ -279,7 +279,7 @@ function YourDetailsForm() {
.required("ABN number is required")
.matches(
ONLY_ALPHA_NUMERIC_ACCEPT_REGEX,
- "ABN Number must only contain numbers and letters"
+ "ABN Number must only contain numbers and letters",
)
.length(ABN_NUMBER_LENGTH, "Enter valid ABN Number"),
companyABNImage: Yup.string().required("Clinic ABN document is required"),
@@ -300,11 +300,11 @@ function YourDetailsForm() {
const countryShort =
formik.values.country === "Australia" ? "au" : "in";
const resp = await axios.get(
- `https://api.zippopotam.us/${countryShort}/${pincode}`
+ `https://api.zippopotam.us/${countryShort}/${pincode}`,
);
formik.setFieldValue("state", resp?.data?.places[0]?.state);
setLocalityOption(
- resp?.data?.places?.map((object) => object["place name"])
+ resp?.data?.places?.map((object) => object["place name"]),
);
formik.setFieldValue("locality", selectedLocalityRef.current);
} catch (error) {
@@ -315,9 +315,9 @@ function YourDetailsForm() {
pushNotification("Invalid pincode", NOTIFICATION.ERROR);
}
},
- 1000
+ 1000,
),
- []
+ [],
);
const handleTogglePasswordVisibility = (field) => {
@@ -325,7 +325,7 @@ function YourDetailsForm() {
setShowPassword((prevShowPassword) => !prevShowPassword);
} else if (field === "confirmPassword") {
setShowConfirmPassword(
- (prevShowConfirmPassword) => !prevShowConfirmPassword
+ (prevShowConfirmPassword) => !prevShowConfirmPassword,
);
}
};
@@ -348,7 +348,7 @@ function YourDetailsForm() {
}
pushNotification(
"OTP sent successfully to your email",
- NOTIFICATION.SUCCESS
+ NOTIFICATION.SUCCESS,
);
};
@@ -398,8 +398,16 @@ function YourDetailsForm() {
pushNotification(response?.data?.message, NOTIFICATION.SUCCESS);
localStorage.setItem("temp_signup_token", response?.data?.data?.token);
// open new page for stripe payment from url
- let newWindow = window.open(response?.data?.data?.url, "_blank", "noopener,noreferrer");
- if (!newWindow || newWindow.closed || typeof newWindow.closed === 'undefined') {
+ let newWindow = window.open(
+ response?.data?.data?.url,
+ "_blank",
+ "noopener,noreferrer",
+ );
+ if (
+ !newWindow ||
+ newWindow.closed ||
+ typeof newWindow.closed === "undefined"
+ ) {
// Fallback in case popup is blocked
window.location.href = response?.data?.data?.url;
}
@@ -434,7 +442,7 @@ function YourDetailsForm() {
event.target.value,
formik,
setLocalityOption,
- selectedLocalityRef
+ selectedLocalityRef,
);
};
@@ -477,12 +485,12 @@ function YourDetailsForm() {
await uploadToS3(
value,
- presignedUrlResponseClinicLogo?.data?.data?.api_url
+ presignedUrlResponseClinicLogo?.data?.data?.api_url,
);
formik.setFieldValue(
"clinicLogo",
- presignedUrlResponseClinicLogo?.data?.data?.key
+ presignedUrlResponseClinicLogo?.data?.data?.key,
);
// Return a temporary local URL for preview purposes
@@ -515,7 +523,7 @@ function YourDetailsForm() {
rejectedFiles.forEach((rejection) => {
pushNotification(
`${rejection?.file?.name} : ${rejection?.errors?.[0]?.message}`,
- NOTIFICATION.ERROR
+ NOTIFICATION.ERROR,
);
});
};
@@ -558,7 +566,7 @@ function YourDetailsForm() {
0,
0,
crop.width,
- crop.height
+ crop.height,
);
return new Promise((resolve, reject) => {
@@ -613,7 +621,7 @@ function YourDetailsForm() {
phone: `${
inputData.businessPhonePrefix ?? mobilePrefixOptions[0].name
} ${inputData.businessPhone}`,
- emergencyPhone: `${
+ emergency_phone: `${
inputData.emergencyBusinessPhonePrefix ?? mobilePrefixOptions[0].name
} ${inputData.emergencyBusinessPhone}`,
fax: inputData.businessFax,
@@ -750,20 +758,20 @@ function YourDetailsForm() {
value={formik.values.name}
onChange={(e) => {
e.target.value = capitalizeFirstLetter(
- e.target.value
+ e.target.value,
);
formik.handleChange(e);
}}
onBlur={(e) => {
formik.setFieldValue(
"name",
- e.target.value.trim()
+ e.target.value.trim(),
);
formik.handleBlur(e);
}}
inputRef={fieldRefs.name}
error={Boolean(
- formik.errors.name && formik.touched.name
+ formik.errors.name && formik.touched.name,
)}
helperText={
formik.errors.name && formik.touched.name
@@ -792,7 +800,7 @@ function YourDetailsForm() {
e.target.value?.match(/\d+/g) || "";
formik.setFieldValue(
"mobileNumber",
- value?.toString()
+ value?.toString(),
);
}
}}
@@ -830,7 +838,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.mobileNumber}
error={Boolean(
formik.errors.mobileNumber &&
- formik.touched.mobileNumber
+ formik.touched.mobileNumber,
)}
helperText={
formik.errors.mobileNumber &&
@@ -858,7 +866,7 @@ function YourDetailsForm() {
disabled={otpVerified}
inputRef={fieldRefs.email}
error={Boolean(
- formik.errors.email && formik.touched.email
+ formik.errors.email && formik.touched.email,
)}
helperText={
formik.errors.email && formik.touched.email
@@ -929,7 +937,7 @@ function YourDetailsForm() {
}}
inputRef={fieldRefs.otp}
error={Boolean(
- formik.errors.otp && formik.touched.otp
+ formik.errors.otp && formik.touched.otp,
)}
helperText={
formik.errors.otp && formik.touched.otp
@@ -962,7 +970,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.password}
error={Boolean(
formik.errors.password &&
- formik.touched.password
+ formik.touched.password,
)}
helperText={
formik.errors.password &&
@@ -998,25 +1006,25 @@ function YourDetailsForm() {
@@ -1047,7 +1055,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.confirmPassword}
error={Boolean(
formik.errors.confirmPassword &&
- formik.touched.confirmPassword
+ formik.touched.confirmPassword,
)}
helperText={
formik.errors.confirmPassword &&
@@ -1060,7 +1068,7 @@ function YourDetailsForm() {
handleTogglePasswordVisibility(
- "confirmPassword"
+ "confirmPassword",
)
}
edge="end"
@@ -1100,21 +1108,21 @@ function YourDetailsForm() {
value={formik.values.companyName}
onChange={(e) => {
e.target.value = capitalizeFirstLetter(
- e.target.value
+ e.target.value,
);
formik.handleChange(e);
}}
onBlur={(e) => {
formik.setFieldValue(
"companyName",
- e.target.value.trim()
+ e.target.value.trim(),
);
formik.handleBlur(e);
}}
inputRef={fieldRefs.companyName}
error={Boolean(
formik.errors.companyName &&
- formik.touched.companyName
+ formik.touched.companyName,
)}
helperText={
formik.errors.companyName &&
@@ -1139,7 +1147,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.designation}
error={Boolean(
formik.errors.designation &&
- formik.touched.designation
+ formik.touched.designation,
)}
helperText={
formik.errors.designation &&
@@ -1175,7 +1183,7 @@ function YourDetailsForm() {
e.target.value?.match(/\d+/g) || "";
formik.setFieldValue(
"businessPhone",
- value?.toString()
+ value?.toString(),
);
}
}}
@@ -1215,7 +1223,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.businessPhone}
error={Boolean(
formik.errors.businessPhone &&
- formik.touched.businessPhone
+ formik.touched.businessPhone,
)}
helperText={
formik.errors.businessPhone &&
@@ -1245,7 +1253,7 @@ function YourDetailsForm() {
e.target.value?.match(/\d+/g) || "";
formik.setFieldValue(
"emergencyBusinessPhone",
- value?.toString()
+ value?.toString(),
);
}
}}
@@ -1288,7 +1296,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.emergencyBusinessPhone}
error={Boolean(
formik.errors.emergencyBusinessPhone &&
- formik.touched.emergencyBusinessPhone
+ formik.touched.emergencyBusinessPhone,
)}
helperText={
formik.errors.emergencyBusinessPhone &&
@@ -1318,7 +1326,7 @@ function YourDetailsForm() {
e.target.value?.match(/\d+/g) || "";
formik.setFieldValue(
"businessFax",
- value?.toString()
+ value?.toString(),
);
}
}}
@@ -1330,7 +1338,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.businessFax}
error={Boolean(
formik.errors.businessFax &&
- formik.touched.businessFax
+ formik.touched.businessFax,
)}
helperText={
formik.errors.businessFax &&
@@ -1362,7 +1370,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.businessEmail}
error={Boolean(
formik.errors.businessEmail &&
- formik.touched.businessEmail
+ formik.touched.businessEmail,
)}
helperText={
formik.errors.businessEmail &&
@@ -1389,7 +1397,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.practiceManagementSystem}
error={Boolean(
formik.errors.practiceManagementSystem &&
- formik.touched.practiceManagementSystem
+ formik.touched.practiceManagementSystem,
)}
helperText={
formik.errors.practiceManagementSystem &&
@@ -1652,7 +1660,7 @@ function YourDetailsForm() {
displayEmpty
inputRef={fieldRefs.country}
error={Boolean(
- formik.errors.country && formik.touched.country
+ formik.errors.country && formik.touched.country,
)}
helperText={formik.errors.country}
>
@@ -1695,7 +1703,7 @@ function YourDetailsForm() {
onBlur={formik.handleBlur}
inputRef={fieldRefs.pincode}
error={Boolean(
- formik.errors.pincode && formik.touched.pincode
+ formik.errors.pincode && formik.touched.pincode,
)}
helperText={
formik.errors.pincode && formik.touched.pincode
@@ -1746,7 +1754,7 @@ function YourDetailsForm() {
inputRef={fieldRefs.locality}
error={Boolean(
formik.errors.locality &&
- formik.touched.locality
+ formik.touched.locality,
)}
helperText={formik.errors.locality}
>
@@ -1787,14 +1795,14 @@ function YourDetailsForm() {
onBlur={(e) => {
formik.setFieldValue(
"fullAddress",
- e.target.value.trim()
+ e.target.value.trim(),
);
formik.handleBlur(e);
}}
inputRef={fieldRefs.fullAddress}
error={Boolean(
formik.errors.fullAddress &&
- formik.touched.fullAddress
+ formik.touched.fullAddress,
)}
helperText={
formik.errors.fullAddress &&
@@ -1837,7 +1845,7 @@ function YourDetailsForm() {
e.target.value.length <= ABN_NUMBER_LENGTH
) {
e.target.value = capitalizeAllLetters(
- e.target.value
+ e.target.value,
);
formik.handleChange(e);
}
@@ -1845,14 +1853,14 @@ function YourDetailsForm() {
onBlur={(e) => {
formik.setFieldValue(
"companyABNImageNumber",
- e.target.value.trim()
+ e.target.value.trim(),
);
formik.handleBlur(e);
}}
inputRef={fieldRefs.companyABNImageNumber}
error={Boolean(
formik.errors.companyABNImageNumber &&
- formik.touched.companyABNImageNumber
+ formik.touched.companyABNImageNumber,
)}
helperText={
formik.errors.companyABNImageNumber &&
@@ -1938,7 +1946,7 @@ function YourDetailsForm() {
"termsAccepted",
formik.values.termsAccepted === "true"
? "false"
- : "true"
+ : "true",
)
}
name="termsAccepted"
diff --git a/src/views/User/index.jsx b/src/views/User/index.jsx
index f600f8d..2d5dec6 100644
--- a/src/views/User/index.jsx
+++ b/src/views/User/index.jsx
@@ -17,6 +17,8 @@ import React, { useMemo, useRef, useState } from "react";
import * as Yup from "yup";
import EditIcon from "@mui/icons-material/Edit";
import CloseIcon from "@mui/icons-material/Close";
+import VisibilityIcon from "@mui/icons-material/Visibility";
+import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
import MultiSelect from "../../components/MultiSelect";
/* ----------------- Custom Imports ----------------- */
@@ -46,7 +48,7 @@ const validationSchema = Yup.object().shape({
userType: Yup.string().required("User Type is required"),
appointmentType: Yup.array().min(
1,
- "At least one appointment type is required"
+ "At least one appointment type is required",
),
});
@@ -59,6 +61,11 @@ function Users() {
{ id: "nurse", name: "Nurse" },
];
+ const userStatus = [
+ { id: "active", name: "Active" },
+ { id: "inactive", name: "Inactive" },
+ ];
+
/* ----------------- State Variables ----------------- */
const [deleteModal, setDeleteModal] = useState(false);
const [userTotalCount, setUserTotalCount] = useState(0);
@@ -72,6 +79,7 @@ function Users() {
userType: userTypes[0].id,
appointmentType: [],
appointmentTypeObject: {},
+ status: "active",
};
/* ----------------- Get Users ----------------- */
@@ -92,17 +100,18 @@ function Users() {
};
const editUser = async (row) => {
- const { id, name, role, appointmentTypes } = row.original;
-
+ const { id, name, role, appointmentTypes, status } = row.original;
+
// Set form values for editing
formik.setValues({
id,
- userName: name || '',
- userType: role || userTypes[0]?.id || '',
+ userName: name || "",
+ userType: role || userTypes[0]?.id || "",
appointmentType: Array.isArray(appointmentTypes) ? appointmentTypes : [],
- appointmentTypeObject: {}
+ appointmentTypeObject: {},
+ status: status || "active",
});
-
+
setIsEditUser(true);
setDialogOpen(true);
};
@@ -119,6 +128,7 @@ function Users() {
name: values.userName,
role: values.userType,
appointmentTypes: values.appointmentType.map((type) => type.id),
+ status: values.status,
};
let resp;
@@ -136,7 +146,7 @@ function Users() {
pushNotification(
`${isEditUser ? "User updated" : "User added"} successfully`,
- NOTIFICATION.SUCCESS
+ NOTIFICATION.SUCCESS,
);
await ref.current?.reFetchData();
@@ -196,14 +206,20 @@ function Users() {
},
{
size: 100,
- accessorFn: ({ name }) => (name ? name.charAt(0).toUpperCase() + name.slice(1) : NOT_AVAILABLE_TEXT),
+ accessorFn: ({ name }) =>
+ name
+ ? name.charAt(0).toUpperCase() + name.slice(1)
+ : NOT_AVAILABLE_TEXT,
accessorKey: "name",
header: "Doctor/Nurse Name",
isBold: true,
},
{
size: 100,
- accessorFn: ({ role }) => (role ? role.charAt(0).toUpperCase() + role.slice(1) : NOT_AVAILABLE_TEXT),
+ accessorFn: ({ role }) =>
+ role
+ ? role.charAt(0).toUpperCase() + role.slice(1)
+ : NOT_AVAILABLE_TEXT,
accessorKey: "role",
header: "User Type",
},
@@ -218,9 +234,9 @@ function Users() {
Array.isArray(appointmentTypes) && appointmentTypes.length > 0
? appointmentTypes
: typeof appointmentTypes === "string" &&
- appointmentTypes.trim() !== ""
- ? appointmentTypes.split(",").map((type) => type.trim())
- : [];
+ appointmentTypes.trim() !== ""
+ ? appointmentTypes.split(",").map((type) => type.trim())
+ : [];
return (
@@ -276,12 +292,15 @@ function Users() {
},
{
size: 100,
- accessorFn: ({ status }) => (status ? status[0].toUpperCase() + status.slice(1) : NOT_AVAILABLE_TEXT),
+ accessorFn: ({ status }) =>
+ status
+ ? status[0].toUpperCase() + status.slice(1)
+ : NOT_AVAILABLE_TEXT,
accessorKey: "status",
header: "Status",
},
],
- [classes.dateStyle]
+ [classes.dateStyle],
);
const getRowStyle = (row) =>
@@ -408,6 +427,27 @@ function Users() {
))}
+
+ User Status
+
+
+
+
Appointment Types
@@ -462,7 +502,7 @@ function Users() {
Confirm Deletion
setDeleteModal(false) }
+ onClick={() => setDeleteModal(false)}
sx={{
position: "absolute",
right: 8,