diff --git a/src/pages/user/component/ListUser.jsx b/src/pages/user/component/ListUser.jsx
index b5530af..ed6dc51 100644
--- a/src/pages/user/component/ListUser.jsx
+++ b/src/pages/user/component/ListUser.jsx
@@ -15,6 +15,40 @@ import { deleteUser, getAllUser, approveUser } from '../../../api/user';
import TableList from '../../../components/Global/TableList';
import Swal from 'sweetalert2';
+// Helper function to capitalize first letter
+const capitalizeFirstLetter = (str) => {
+ if (!str) return '';
+ return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
+};
+
+// Helper function to get role tag color based on role_level or role_name
+const getRoleColor = (role_name, role_level) => {
+ // Priority 1: Based on role_level
+ if (role_level) {
+ switch (role_level) {
+ case 1:
+ return 'purple'; // Highest level
+ case 2:
+ return 'blue';
+ case 3:
+ return 'cyan';
+ case 4:
+ return 'green';
+ default:
+ return 'default';
+ }
+ }
+
+ // Priority 2: Based on role_name (fallback for backward compatibility)
+ const roleLower = role_name?.toLowerCase() || '';
+ if (roleLower.includes('admin')) return 'purple';
+ if (roleLower.includes('operator')) return 'blue';
+ if (roleLower.includes('engineer')) return 'cyan';
+ if (roleLower.includes('guest')) return 'default';
+
+ return 'default';
+};
+
const columns = (showPreviewModal, showEditModal, showDeleteDialog, showApproveDialog) => [
{
title: 'ID',
@@ -54,31 +88,16 @@ const columns = (showPreviewModal, showEditModal, showDeleteDialog, showApproveD
dataIndex: 'role_name',
key: 'role_name',
width: '12%',
- render: (_, { role_name }) => {
+ render: (_, { role_name, role_level }) => {
if (!role_name) return Belum Ada Role;
+
+ const color = getRoleColor(role_name, role_level);
+ const displayName = capitalizeFirstLetter(role_name);
+
return (
- <>
- {role_name === 'administrator' && (
-
- Administrator
-
- )}
- {role_name === 'operator' && (
-
- Operator
-
- )}
- {role_name === 'engineer' && (
-
- Engineer
-
- )}
- {role_name === 'guest' && (
-
- Guest
-
- )}
- >
+
+ {displayName}
+
);
},
},
@@ -354,7 +373,6 @@ const ListUser = memo(function ListUser(props) {
-
);
});