diff --git a/src/components/Settings/UserManagement/UserItem.tsx b/src/components/Settings/UserManagement/UserItem.tsx
index 20e88541..5d42967f 100644
--- a/src/components/Settings/UserManagement/UserItem.tsx
+++ b/src/components/Settings/UserManagement/UserItem.tsx
@@ -21,11 +21,7 @@ import { db } from "@src/firebase";
import { USERS } from "config/dbPaths";
import { useConfirmation } from "components/ConfirmationDialog";
-export default function UserItem({
- id,
- user: { displayName, email, photoURL },
- roles: rolesProp,
-}: User) {
+export default function UserItem({ id, user, roles: rolesProp }: User) {
const { enqueueSnackbar, closeSnackbar } = useSnackbar();
const { requestConfirmation } = useConfirmation();
@@ -36,33 +32,36 @@ export default function UserItem({
const handleSave = async () => {
try {
+ if (!user) throw new Error("User is not defined");
if (JSON.stringify(value) === JSON.stringify(rolesProp)) return;
const loadingSnackbarId = enqueueSnackbar("Setting roles…");
const res = await rowyRun?.({
route: runRoutes.setUserRoles,
- body: { email, roles: value },
+ body: { email: user!.email, roles: value },
});
if (res.success) {
await db.collection(USERS).doc(id).update({ roles: value });
closeSnackbar(loadingSnackbarId);
- enqueueSnackbar(`Set roles for ${email}: ${value.join(", ")}`);
+ enqueueSnackbar(`Set roles for ${user!.email}: ${value.join(", ")}`);
}
} catch (e: any) {
console.error(e);
- enqueueSnackbar(`Failed to set roles for ${email}: ${e.message}`);
+ enqueueSnackbar(`Failed to set roles for ${user!.email}: ${e.message}`);
}
};
const listItemChildren = (
<>
- SM
+
+ {user?.displayName ? user.displayName[0] : undefined}
+
*": { userSelect: "all" },
@@ -85,10 +84,14 @@ export default function UserItem({
confirm: "Delete",
confirmColor: "error",
handleConfirm: async () => {
+ if (!user) return;
const loadingSnackbarId = enqueueSnackbar("Deleting user…");
- await rowyRun?.({ route: runRoutes.deleteUser, body: { email } });
+ await rowyRun?.({
+ route: runRoutes.deleteUser,
+ body: { email: user.email },
+ });
closeSnackbar(loadingSnackbarId);
- enqueueSnackbar(`Deleted user: ${email}`);
+ enqueueSnackbar(`Deleted user: ${user.email}`);
},
});
};
@@ -152,8 +155,9 @@ export default function UserItem({
{
+ if (!id) return;
await navigator.clipboard.writeText(id);
- enqueueSnackbar(`Copied UID for ${email}: ${id}`);
+ enqueueSnackbar(`Copied UID for ${user?.email}: ${id}`);
}}
>