@udhuong/admin-core 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/pages/PermissionsPage.d.ts.map +1 -1
- package/dist/client/pages/PermissionsPage.js +59 -25
- package/dist/client/pages/PermissionsPage.js.map +1 -1
- package/dist/client/pages/RolesPage.d.ts.map +1 -1
- package/dist/client/pages/RolesPage.js +128 -35
- package/dist/client/pages/RolesPage.js.map +1 -1
- package/dist/client/pages/UserDetailPage.d.ts.map +1 -1
- package/dist/client/pages/UserDetailPage.js +3 -3
- package/dist/client/pages/UserDetailPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsPage.d.ts","sourceRoot":"","sources":["../../../src/client/pages/PermissionsPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PermissionsPage.d.ts","sourceRoot":"","sources":["../../../src/client/pages/PermissionsPage.tsx"],"names":[],"mappings":"AA2BA,MAAM,CAAC,OAAO,UAAU,eAAe,4CAgOtC"}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo, useState } from 'react';
|
|
3
4
|
import { useQuery } from '@tanstack/react-query';
|
|
4
|
-
import {
|
|
5
|
-
import { useState } from 'react';
|
|
5
|
+
import { Layers, Search, Shield } from 'lucide-react';
|
|
6
6
|
import { getApiClient } from '../auth/api-client';
|
|
7
7
|
import { CORE_ADMIN_API_ROUTES } from '../constants/api-routes';
|
|
8
|
-
import PageHeader from '../components/PageHeader';
|
|
9
8
|
import ProtectedPage from '../auth/ProtectedPage';
|
|
10
9
|
import { PERMISSIONS } from '../constants/permissions';
|
|
10
|
+
import Badge from '../ui/Badge';
|
|
11
|
+
import Input from '../ui/Input';
|
|
12
|
+
import DataTable from '../ui/DataTable';
|
|
13
|
+
// Khóa đại diện cho lựa chọn "Tất cả resource"
|
|
14
|
+
const ALL_RESOURCES = '__all__';
|
|
11
15
|
export default function PermissionsPage() {
|
|
12
16
|
const apiClient = getApiClient();
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
// Resource đang được chọn ở cột trái (mặc định xem tất cả)
|
|
18
|
+
const [selectedResource, setSelectedResource] = useState(ALL_RESOURCES);
|
|
19
|
+
// Từ khóa tìm kiếm danh sách quyền ở cột phải
|
|
20
|
+
const [searchTerm, setSearchTerm] = useState('');
|
|
21
|
+
// Lấy toàn bộ quyền (đã nhóm theo resource phía server)
|
|
15
22
|
const { data, isLoading } = useQuery({
|
|
16
23
|
queryKey: ['permissions'],
|
|
17
24
|
queryFn: async () => {
|
|
@@ -19,24 +26,51 @@ export default function PermissionsPage() {
|
|
|
19
26
|
return response.data;
|
|
20
27
|
},
|
|
21
28
|
});
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
const grouped = data?.grouped || {};
|
|
30
|
+
const resources = Object.keys(grouped);
|
|
31
|
+
// Danh sách quyền hiển thị ở cột phải theo resource đang chọn + lọc tìm kiếm
|
|
32
|
+
const visiblePermissions = useMemo(() => {
|
|
33
|
+
const base = selectedResource === ALL_RESOURCES
|
|
34
|
+
? Object.values(grouped).flat()
|
|
35
|
+
: grouped[selectedResource] || [];
|
|
36
|
+
if (!searchTerm.trim())
|
|
37
|
+
return base;
|
|
38
|
+
const keyword = searchTerm.toLowerCase();
|
|
39
|
+
return base.filter((p) => p.name.toLowerCase().includes(keyword) ||
|
|
40
|
+
p.action?.toLowerCase().includes(keyword) ||
|
|
41
|
+
p.description?.toLowerCase().includes(keyword) ||
|
|
42
|
+
p.resource?.toLowerCase().includes(keyword));
|
|
43
|
+
}, [grouped, selectedResource, searchTerm]);
|
|
44
|
+
// Cấu hình cột bảng quyền
|
|
45
|
+
const columns = [
|
|
46
|
+
{
|
|
47
|
+
key: 'name',
|
|
48
|
+
label: 'Tên quyền',
|
|
49
|
+
render: (value) => (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "p-2 bg-primary/10 rounded-lg shrink-0", children: _jsx(Shield, { className: "w-4 h-4 text-primary" }) }), _jsx("span", { className: "font-mono text-sm font-medium text-primary", children: value })] })),
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: 'resource',
|
|
53
|
+
label: 'Resource',
|
|
54
|
+
width: '160px',
|
|
55
|
+
render: (value) => (_jsx(Badge, { variant: "neutral", style: "soft", children: value || '-' })),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: 'action',
|
|
59
|
+
label: 'Hành động',
|
|
60
|
+
width: '140px',
|
|
61
|
+
render: (value) => (_jsx(Badge, { variant: "neutral", style: "ghost", children: value || '-' })),
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: 'description',
|
|
65
|
+
label: 'Mô tả',
|
|
66
|
+
render: (value) => (_jsx("p", { className: "text-base-content/80 line-clamp-2 max-w-md", children: value || '-' })),
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
return (_jsx(ProtectedPage, { permission: PERMISSIONS.ROLE_READ, children: _jsx("div", { className: "container mx-auto bg-base-200 min-h-screen p-6", children: _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-semibold text-base-content", children: "Danh s\u00E1ch quy\u1EC1n h\u1EA1n" }), _jsx("p", { className: "text-sm text-base-content/60 mt-1", children: "T\u1EA5t c\u1EA3 c\u00E1c quy\u1EC1n trong h\u1EC7 th\u1ED1ng \u0111\u01B0\u1EE3c nh\u00F3m theo resource" })] }), _jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: [_jsxs("div", { className: "bg-base-100 rounded-lg p-5 flex items-center gap-4 border border-base-200", children: [_jsx("div", { className: "p-3 bg-primary/10 rounded-lg", children: _jsx(Shield, { className: "w-6 h-6 text-primary" }) }), _jsxs("div", { children: [_jsx("p", { className: "text-sm text-base-content/60", children: "T\u1ED5ng s\u1ED1 quy\u1EC1n" }), _jsx("p", { className: "text-2xl font-semibold text-base-content", children: data?.total ?? 0 })] })] }), _jsxs("div", { className: "bg-base-100 rounded-lg p-5 flex items-center gap-4 border border-base-200", children: [_jsx("div", { className: "p-3 bg-secondary/10 rounded-lg", children: _jsx(Layers, { className: "w-6 h-6 text-secondary" }) }), _jsxs("div", { children: [_jsx("p", { className: "text-sm text-base-content/60", children: "S\u1ED1 nh\u00F3m resource" }), _jsx("p", { className: "text-2xl font-semibold text-base-content", children: resources.length })] })] })] }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-[280px_1fr] gap-6", children: [_jsxs("aside", { className: "bg-base-100 rounded-lg p-4 h-fit border border-base-200 lg:sticky lg:top-6", children: [_jsx("h2", { className: "text-sm font-semibold text-base-content/70 uppercase px-2 mb-3", children: "Resource" }), isLoading ? (_jsx("div", { className: "flex justify-center py-8", children: _jsx("span", { className: "loading loading-spinner loading-md" }) })) : (_jsxs("ul", { className: "space-y-1", children: [_jsx("li", { children: _jsxs("button", { onClick: () => setSelectedResource(ALL_RESOURCES), className: `w-full flex items-center justify-between gap-2 px-3 py-2.5 rounded-lg text-left transition-colors ${selectedResource === ALL_RESOURCES
|
|
70
|
+
? 'bg-primary text-primary-content'
|
|
71
|
+
: 'hover:bg-base-200 text-base-content'}`, children: [_jsx("span", { className: "font-medium text-sm", children: "T\u1EA5t c\u1EA3" }), _jsx("span", { className: `badge badge-sm ${selectedResource === ALL_RESOURCES ? 'badge-ghost' : 'badge-primary badge-soft'}`, children: data?.total ?? 0 })] }) }), resources.map((resource) => {
|
|
72
|
+
const isActive = selectedResource === resource;
|
|
73
|
+
return (_jsx("li", { children: _jsxs("button", { onClick: () => setSelectedResource(resource), className: `w-full flex items-center justify-between gap-2 px-3 py-2.5 rounded-lg text-left transition-colors ${isActive ? 'bg-primary text-primary-content' : 'hover:bg-base-200 text-base-content'}`, children: [_jsx("span", { className: "font-medium text-sm uppercase truncate", children: resource }), _jsx("span", { className: `badge badge-sm shrink-0 ${isActive ? 'badge-ghost' : 'badge-primary badge-soft'}`, children: grouped[resource].length })] }) }, resource));
|
|
74
|
+
}), resources.length === 0 && (_jsx("li", { className: "text-center text-base-content/60 text-sm py-6", children: "Ch\u01B0a c\u00F3 resource n\u00E0o" }))] }))] }), _jsxs("section", { className: "space-y-4", children: [_jsxs("div", { className: "bg-base-100 rounded-lg p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-4 border border-base-200", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("h2", { className: "text-lg font-semibold text-base-content uppercase", children: selectedResource === ALL_RESOURCES ? 'Tất cả quyền' : selectedResource }), _jsxs(Badge, { variant: "primary", style: "soft", children: [visiblePermissions.length, " quy\u1EC1n"] })] }), _jsx("div", { className: "w-full sm:w-auto sm:min-w-[260px]", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-3 top-1/2 transform -translate-y-1/2 h-5 w-5 text-base-content/50" }), _jsx(Input, { type: "text", placeholder: "T\u00ECm ki\u1EBFm quy\u1EC1n...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "pl-10 w-full" })] }) })] }), _jsx("div", { className: "bg-base-100 rounded-lg overflow-hidden border border-base-200", children: _jsx(DataTable, { data: visiblePermissions, columns: columns, loading: isLoading, emptyMessage: "Kh\u00F4ng t\u00ECm th\u1EA5y quy\u1EC1n n\u00E0o" }) })] })] })] }) }) }));
|
|
41
75
|
}
|
|
42
76
|
//# sourceMappingURL=PermissionsPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsPage.js","sourceRoot":"","sources":["../../../src/client/pages/PermissionsPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PermissionsPage.js","sourceRoot":"","sources":["../../../src/client/pages/PermissionsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesPage.d.ts","sourceRoot":"","sources":["../../../src/client/pages/RolesPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RolesPage.d.ts","sourceRoot":"","sources":["../../../src/client/pages/RolesPage.tsx"],"names":[],"mappings":"AAoBA,MAAM,CAAC,OAAO,UAAU,SAAS,4CA6RhC"}
|
|
@@ -1,82 +1,175 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
|
5
|
-
import {
|
|
5
|
+
import { Edit, Plus, Search, Shield, Trash2, X } from 'lucide-react';
|
|
6
6
|
import { getApiClient } from '../auth/api-client';
|
|
7
7
|
import { CORE_ADMIN_API_ROUTES } from '../constants/api-routes';
|
|
8
|
-
import PageHeader from '../components/PageHeader';
|
|
9
|
-
import { ConfirmModal } from '../ui/ConfirmModal';
|
|
10
8
|
import { useToast } from '../hooks/useToast';
|
|
11
9
|
import RoleModal from './roles/RoleModal';
|
|
12
10
|
import ProtectedPage from '../auth/ProtectedPage';
|
|
13
11
|
import { PERMISSIONS } from '../constants/permissions';
|
|
12
|
+
import Badge from '../ui/Badge';
|
|
13
|
+
import Button from '../ui/Button';
|
|
14
|
+
import Input from '../ui/Input';
|
|
15
|
+
import DataTable, { TableRenderers } from '../ui/DataTable';
|
|
16
|
+
import { ConfirmModal } from '../ui/ConfirmModal';
|
|
17
|
+
const ITEMS_PER_PAGE = 10;
|
|
14
18
|
export default function RolesPage() {
|
|
15
19
|
const apiClient = getApiClient();
|
|
20
|
+
// Trạng thái lọc và phân trang
|
|
16
21
|
const [searchTerm, setSearchTerm] = useState('');
|
|
17
22
|
const [currentPage, setCurrentPage] = useState(1);
|
|
23
|
+
// Trạng thái modal tạo/sửa vai trò
|
|
18
24
|
const [isRoleModalOpen, setIsRoleModalOpen] = useState(false);
|
|
19
25
|
const [selectedRole, setSelectedRole] = useState(null);
|
|
20
|
-
|
|
21
|
-
const [
|
|
26
|
+
// Danh sách vai trò đang chờ xác nhận xóa (1 hoặc nhiều)
|
|
27
|
+
const [pendingDelete, setPendingDelete] = useState(null);
|
|
22
28
|
const queryClient = useQueryClient();
|
|
23
29
|
const { showToast } = useToast();
|
|
24
|
-
//
|
|
30
|
+
// Lấy danh sách vai trò (phân trang + tìm kiếm phía server)
|
|
25
31
|
const { data, isLoading } = useQuery({
|
|
26
32
|
queryKey: ['roles', currentPage, searchTerm],
|
|
27
33
|
queryFn: async () => {
|
|
28
34
|
const params = new URLSearchParams({
|
|
29
35
|
page: currentPage.toString(),
|
|
30
|
-
limit:
|
|
36
|
+
limit: ITEMS_PER_PAGE.toString(),
|
|
31
37
|
...(searchTerm && { search: searchTerm }),
|
|
32
38
|
});
|
|
33
39
|
const response = await apiClient.get(`${CORE_ADMIN_API_ROUTES.ROLES.BASE}?${params}`);
|
|
34
40
|
return response.data;
|
|
35
41
|
},
|
|
36
42
|
});
|
|
37
|
-
//
|
|
43
|
+
// Xóa một hoặc nhiều vai trò
|
|
38
44
|
const deleteMutation = useMutation({
|
|
39
|
-
mutationFn: async (id) =>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
onSuccess: () => {
|
|
43
|
-
showToast('Xóa vai trò thành công', 'success');
|
|
45
|
+
mutationFn: async (ids) => Promise.all(ids.map((id) => apiClient.delete(CORE_ADMIN_API_ROUTES.ROLES.BY_ID(id)))),
|
|
46
|
+
onSuccess: (_, ids) => {
|
|
47
|
+
showToast(ids.length > 1 ? `Đã xóa ${ids.length} vai trò` : 'Xóa vai trò thành công', 'success');
|
|
44
48
|
queryClient.invalidateQueries({ queryKey: ['roles'] });
|
|
45
|
-
|
|
46
|
-
setRoleToDelete(null);
|
|
49
|
+
setPendingDelete(null);
|
|
47
50
|
},
|
|
48
51
|
onError: (error) => {
|
|
49
52
|
showToast(error.response?.data?.message || 'Xóa vai trò thất bại', 'error');
|
|
50
53
|
},
|
|
51
54
|
});
|
|
52
|
-
const
|
|
55
|
+
const openCreateModal = () => {
|
|
56
|
+
setSelectedRole(null);
|
|
57
|
+
setIsRoleModalOpen(true);
|
|
58
|
+
};
|
|
59
|
+
const openEditModal = (role) => {
|
|
53
60
|
setSelectedRole(role);
|
|
54
61
|
setIsRoleModalOpen(true);
|
|
55
62
|
};
|
|
56
|
-
const
|
|
63
|
+
const closeModal = () => {
|
|
64
|
+
setIsRoleModalOpen(false);
|
|
57
65
|
setSelectedRole(null);
|
|
58
|
-
setIsRoleModalOpen(true);
|
|
59
66
|
};
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
67
|
+
const handleModalSuccess = () => {
|
|
68
|
+
queryClient.invalidateQueries({ queryKey: ['roles'] });
|
|
69
|
+
closeModal();
|
|
63
70
|
};
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
66
|
-
|
|
71
|
+
const requestDelete = (role) => {
|
|
72
|
+
if (role.isSystem) {
|
|
73
|
+
showToast('Không thể xóa vai trò hệ thống', 'warning');
|
|
74
|
+
return;
|
|
67
75
|
}
|
|
76
|
+
setPendingDelete([role]);
|
|
68
77
|
};
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
const requestBulkDelete = (items) => {
|
|
79
|
+
// Lọc bỏ vai trò hệ thống vì không được phép xóa
|
|
80
|
+
const deletable = items.filter((item) => !item.isSystem);
|
|
81
|
+
if (deletable.length === 0) {
|
|
82
|
+
showToast('Các vai trò đã chọn đều là vai trò hệ thống, không thể xóa', 'warning');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
setPendingDelete(deletable);
|
|
72
86
|
};
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
87
|
+
const confirmDelete = () => {
|
|
88
|
+
if (pendingDelete && pendingDelete.length > 0) {
|
|
89
|
+
deleteMutation.mutate(pendingDelete.map((role) => role.id));
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const handleClearFilters = () => {
|
|
93
|
+
setSearchTerm('');
|
|
94
|
+
setCurrentPage(1);
|
|
76
95
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
96
|
+
// Cấu hình các cột của bảng
|
|
97
|
+
const columns = [
|
|
98
|
+
{
|
|
99
|
+
key: 'id',
|
|
100
|
+
label: 'ID',
|
|
101
|
+
width: '70px',
|
|
102
|
+
render: (value) => TableRenderers.id(value),
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
key: 'name',
|
|
106
|
+
label: 'Vai trò',
|
|
107
|
+
render: (value, item) => (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "p-2 bg-primary/10 rounded-lg shrink-0", children: _jsx(Shield, { className: "w-4 h-4 text-primary" }) }), _jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "font-medium text-base-content truncate", children: value }), _jsx("p", { className: "text-sm text-base-content/60 line-clamp-1 max-w-xs", children: item.description || 'Không có mô tả' })] })] })),
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
key: 'permissionsCount',
|
|
111
|
+
label: 'Số quyền',
|
|
112
|
+
width: '120px',
|
|
113
|
+
align: 'center',
|
|
114
|
+
render: (value) => (_jsxs(Badge, { variant: "primary", style: "soft", children: [value ?? 0, " quy\u1EC1n"] })),
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
key: 'isSystem',
|
|
118
|
+
label: 'Loại',
|
|
119
|
+
width: '130px',
|
|
120
|
+
align: 'center',
|
|
121
|
+
render: (value) => value ? (_jsx(Badge, { variant: "warning", style: "soft", children: "H\u1EC7 th\u1ED1ng" })) : (_jsx(Badge, { variant: "neutral", style: "soft", children: "T\u00F9y ch\u1EC9nh" })),
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: 'createdAt',
|
|
125
|
+
label: 'Ngày tạo',
|
|
126
|
+
width: '150px',
|
|
127
|
+
render: (value) => value ? TableRenderers.datetime(value) : _jsx("span", { className: "text-base-content/40", children: "-" }),
|
|
128
|
+
},
|
|
129
|
+
];
|
|
130
|
+
// Hành động trên từng dòng
|
|
131
|
+
const actions = [
|
|
132
|
+
{
|
|
133
|
+
key: 'edit',
|
|
134
|
+
label: 'Chỉnh sửa / Xem',
|
|
135
|
+
icon: _jsx(Edit, { className: "h-4 w-4" }),
|
|
136
|
+
onClick: (item) => openEditModal(item),
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
key: 'delete',
|
|
140
|
+
label: 'Xóa',
|
|
141
|
+
icon: _jsx(Trash2, { className: "h-4 w-4" }),
|
|
142
|
+
variant: 'error',
|
|
143
|
+
onClick: (item) => requestDelete(item),
|
|
144
|
+
show: (item) => !item.isSystem,
|
|
145
|
+
},
|
|
146
|
+
];
|
|
147
|
+
const bulkActions = [
|
|
148
|
+
{
|
|
149
|
+
key: 'delete',
|
|
150
|
+
label: 'Xóa đã chọn',
|
|
151
|
+
icon: _jsx(Trash2, { className: "h-4 w-4" }),
|
|
152
|
+
variant: 'error',
|
|
153
|
+
onClick: requestBulkDelete,
|
|
154
|
+
},
|
|
155
|
+
];
|
|
156
|
+
// Thông tin phân trang cho DataTable
|
|
157
|
+
const pagination = data
|
|
158
|
+
? {
|
|
159
|
+
currentPage,
|
|
160
|
+
totalPages: data.totalPages || 1,
|
|
161
|
+
totalItems: data.total || 0,
|
|
162
|
+
itemsPerPage: ITEMS_PER_PAGE,
|
|
163
|
+
startItem: (currentPage - 1) * ITEMS_PER_PAGE + 1,
|
|
164
|
+
endItem: Math.min(currentPage * ITEMS_PER_PAGE, data.total || 0),
|
|
165
|
+
}
|
|
166
|
+
: undefined;
|
|
167
|
+
const deleteCount = pendingDelete?.length ?? 0;
|
|
168
|
+
return (_jsx(ProtectedPage, { permission: PERMISSIONS.ROLE_READ, children: _jsxs("div", { className: "container mx-auto bg-base-200 min-h-screen p-6", children: [_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex gap-2 justify-between items-center", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-semibold text-base-content", children: "Qu\u1EA3n l\u00FD vai tr\u00F2" }), _jsx("p", { className: "text-sm text-base-content/60 mt-1", children: "Qu\u1EA3n l\u00FD vai tr\u00F2 v\u00E0 ph\u00E2n quy\u1EC1n trong h\u1EC7 th\u1ED1ng" })] }), _jsxs(Button, { variant: "primary", onClick: openCreateModal, children: [_jsx(Plus, { className: "w-5 h-5 mr-2" }), "Th\u00EAm vai tr\u00F2"] })] }), _jsx("div", { className: "bg-base-100 rounded-lg p-6 border border-base-200", children: _jsxs("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4 flex-1", children: [_jsx("div", { className: "w-full sm:w-auto sm:min-w-[300px]", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-3 top-1/2 transform -translate-y-1/2 h-5 w-5 text-base-content/50" }), _jsx(Input, { type: "text", placeholder: "T\u00ECm ki\u1EBFm vai tr\u00F2...", value: searchTerm, onChange: (e) => {
|
|
169
|
+
setSearchTerm(e.target.value);
|
|
170
|
+
setCurrentPage(1);
|
|
171
|
+
}, className: "pl-10 w-full" })] }) }), searchTerm && (_jsxs(Button, { variant: "secondary", onClick: handleClearFilters, children: [_jsx(X, { className: "h-4 w-4 mr-1" }), "X\u00F3a l\u1ECDc"] }))] }) }), _jsx("div", { className: "bg-base-100 rounded-lg overflow-hidden border border-base-200", children: _jsx(DataTable, { data: data?.items || [], columns: columns, actions: actions, bulkActions: bulkActions, loading: isLoading, selectable: true, pagination: pagination, onPageChange: setCurrentPage, emptyMessage: "Kh\u00F4ng t\u00ECm th\u1EA5y vai tr\u00F2 n\u00E0o" }) })] }), _jsx(RoleModal, { isOpen: isRoleModalOpen, onClose: closeModal, onSuccess: handleModalSuccess, role: selectedRole }), _jsx(ConfirmModal, { isOpen: !!pendingDelete, onClose: () => setPendingDelete(null), onConfirm: confirmDelete, title: "X\u00E1c nh\u1EADn x\u00F3a vai tr\u00F2", message: deleteCount > 1
|
|
172
|
+
? `Bạn có chắc chắn muốn xóa ${deleteCount} vai trò đã chọn? Hành động này không thể hoàn tác.`
|
|
173
|
+
: `Bạn có chắc chắn muốn xóa vai trò "${pendingDelete?.[0]?.name}"? Hành động này không thể hoàn tác.`, confirmText: "X\u00F3a", cancelText: "H\u1EE7y", type: "danger" })] }) }));
|
|
81
174
|
}
|
|
82
175
|
//# sourceMappingURL=RolesPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesPage.js","sourceRoot":"","sources":["../../../src/client/pages/RolesPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"RolesPage.js","sourceRoot":"","sources":["../../../src/client/pages/RolesPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,SAAS,MAAM,mBAAmB,CAAA;AACzC,OAAO,aAAa,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,MAAM,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,SAAS,EAAE,EAAwC,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,+BAA+B;IAC/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEjD,mCAAmC;IACnC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC,CAAA;IAEnE,yDAAyD;IACzD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEvE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAA;IAEhC,4DAA4D;IAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAmB;QACrD,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;QAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;gBAC5B,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE;gBAChC,GAAG,CAAC,UAAU,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;aAC1C,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAA;YACrF,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;IAEF,6BAA6B;IAC7B,MAAM,cAAc,GAAG,WAAW,CAAC;QACjC,UAAU,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE,CAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACpB,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;YAChG,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACtD,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;YACtB,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,sBAAsB,EAAE,OAAO,CAAC,CAAA;QAC7E,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,EAAE;QACnC,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACzB,eAAe,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACtD,UAAU,EAAE,CAAA;IACd,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,EAAE;QACnC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,SAAS,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;QAC1C,iDAAiD;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,4DAA4D,EAAE,SAAS,CAAC,CAAA;YAClF,OAAM;QACR,CAAC;QACD,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,aAAa,CAAC,EAAE,CAAC,CAAA;QACjB,cAAc,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAwB;QACnC;YACE,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC;SAC5C;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CACvB,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,MAAM,IAAC,SAAS,EAAC,sBAAsB,GAAG,GACvC,EACN,eAAK,SAAS,EAAC,SAAS,aACtB,YAAG,SAAS,EAAC,wCAAwC,YAAE,KAAK,GAAK,EACjE,YAAG,SAAS,EAAC,oDAAoD,YAC9D,IAAI,CAAC,WAAW,IAAI,gBAAgB,GACnC,IACA,IACF,CACP;SACF;QACD;YACE,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CACjB,MAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,MAAM,aAClC,KAAK,IAAI,CAAC,mBACL,CACT;SACF;QACD;YACE,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,KAAK,CAAC,CAAC,CAAC,CACN,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,MAAM,mCAE7B,CACT,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,MAAM,oCAE7B,CACT;SACJ;QACD;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,sBAAsB,kBAAS;SAC3F;KACF,CAAA;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAwB;QACnC;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG;YAClC,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;SAC7C;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG;YACpC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;YAC5C,IAAI,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;SACrC;KACF,CAAA;IAED,MAAM,WAAW,GAAuB;QACtC;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG;YACpC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,iBAAiB;SAC3B;KACF,CAAA;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,IAAI;QACrB,CAAC,CAAC;YACE,WAAW;YACX,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;YAChC,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;YAC3B,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;SACjE;QACH,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,WAAW,GAAG,aAAa,EAAE,MAAM,IAAI,CAAC,CAAA;IAE9C,OAAO,CACL,KAAC,aAAa,IAAC,UAAU,EAAE,WAAW,CAAC,SAAS,YAC9C,eAAK,SAAS,EAAC,gDAAgD,aAC7D,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAC,yCAAyC,aACtD,0BACE,aAAI,SAAS,EAAC,0CAA0C,+CAAqB,EAC7E,YAAG,SAAS,EAAC,mCAAmC,qGAE5C,IACA,EACN,MAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,eAAe,aAChD,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,GAAG,8BAE1B,IACL,EAGN,cAAK,SAAS,EAAC,mDAAmD,YAChE,eAAK,SAAS,EAAC,oEAAoE,aACjF,cAAK,SAAS,EAAC,mCAAmC,YAChD,eAAK,SAAS,EAAC,UAAU,aACvB,KAAC,MAAM,IAAC,SAAS,EAAC,iFAAiF,GAAG,EACtG,KAAC,KAAK,IACJ,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,oCAAqB,EACjC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wDACd,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wDAC7B,cAAc,CAAC,CAAC,CAAC,CAAA;oDACnB,CAAC,EACD,SAAS,EAAC,cAAc,GACxB,IACE,GACF,EAEL,UAAU,IAAI,CACb,MAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,kBAAkB,aACrD,KAAC,CAAC,IAAC,SAAS,EAAC,cAAc,GAAG,yBAEvB,CACV,IACG,GACF,EAGN,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,SAAS,IACR,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,cAAc,EAC5B,YAAY,EAAC,qDAA4B,GACzC,GACE,IACF,EAGN,KAAC,SAAS,IACR,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAE,YAAY,GAClB,EAGF,KAAC,YAAY,IACX,MAAM,EAAE,CAAC,CAAC,aAAa,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACrC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAC,0CAAsB,EAC5B,OAAO,EACL,WAAW,GAAG,CAAC;wBACb,CAAC,CAAC,6BAA6B,WAAW,qDAAqD;wBAC/F,CAAC,CAAC,sCAAsC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,sCAAsC,EAE1G,WAAW,EAAC,UAAK,EACjB,UAAU,EAAC,UAAK,EAChB,IAAI,EAAC,QAAQ,GACb,IACE,GACQ,CACjB,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDetailPage.d.ts","sourceRoot":"","sources":["../../../src/client/pages/UserDetailPage.tsx"],"names":[],"mappings":"AAmBA,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAmBD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CA+
|
|
1
|
+
{"version":3,"file":"UserDetailPage.d.ts","sourceRoot":"","sources":["../../../src/client/pages/UserDetailPage.tsx"],"names":[],"mappings":"AAmBA,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAmBD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CA+TrE"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
4
|
import { useRouter } from 'next/navigation';
|
|
5
|
-
import {
|
|
5
|
+
import { Save } from 'lucide-react';
|
|
6
6
|
import toast from 'react-hot-toast';
|
|
7
7
|
import { useQueryClient } from '@tanstack/react-query';
|
|
8
8
|
import { getApiClient } from '../auth/api-client';
|
|
@@ -207,7 +207,7 @@ export default function UserDetailPage({ userId }) {
|
|
|
207
207
|
if (loading) {
|
|
208
208
|
return (_jsx("div", { className: "flex items-center justify-center min-h-screen", children: _jsx("div", { className: "animate-spin rounded-full h-12 w-12 border-t-2 border-b-2 border-primary" }) }));
|
|
209
209
|
}
|
|
210
|
-
return (
|
|
210
|
+
return (_jsx("div", { className: "container mx-auto bg-base-200 min-h-screen", children: _jsxs("div", { className: "p-6 max-w-5xl mx-auto", children: [_jsxs("div", { className: "flex items-center justify-between mb-6", children: [_jsx("h1", { className: "text-2xl font-semibold text-base-content", children: isEditing ? 'Chỉnh sửa người dùng' : 'Thêm người dùng mới' }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: () => router.push(resolvedRoutes.USERS_LIST), className: "px-4 py-2 text-base-content/80 hover:text-base-content font-medium text-sm", children: "H\u1EE7y" }), _jsxs("button", { onClick: handleSubmit, disabled: saving, className: "px-5 py-2 bg-primary text-white rounded-xl hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2 font-medium transition-all", children: [_jsx(Save, { className: "w-4 h-4" }), saving ? 'Đang lưu...' : 'Lưu thay đổi'] })] })] }), _jsxs("div", { className: "space-y-6", children: [_jsx(ProfileCard, { avatar: formData.avatar, name: formData.name, email: formData.email, role: formData.role, isEditing: isEditing, onAvatarChange: () => { }, onNameChange: (val) => setFormData({ ...formData, name: val }), onEmailChange: (val) => setFormData({ ...formData, email: val }), onRoleChange: (val) => setFormData({ ...formData, role: val }) }), renderAvatarPicker ? (renderAvatarPicker({
|
|
211
211
|
currentAvatar: formData.avatar || null,
|
|
212
212
|
onSelect: handleAvatarSelect,
|
|
213
213
|
})) : (_jsxs("div", { className: "bg-base-100 rounded-2xl border border-base-300 p-6", children: [_jsx("label", { className: "block text-xs font-medium text-base-content/60 mb-1.5 uppercase", children: "Avatar URL" }), _jsx("input", { type: "text", value: formData.avatar, onChange: (e) => setFormData({ ...formData, avatar: e.target.value }), className: "w-full px-4 py-2.5 rounded-xl border border-base-300 focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary transition-all text-base-content placeholder:text-base-content/40", placeholder: "https://example.com/avatar.jpg" })] })), _jsx(SecuritySection, { isEditing: isEditing, passwordMethod: passwordMethod, onPasswordMethodChange: setPasswordMethod, newPassword: isEditing ? newPassword : formData.password, onNewPasswordChange: (val) => {
|
|
@@ -215,6 +215,6 @@ export default function UserDetailPage({ userId }) {
|
|
|
215
215
|
setNewPassword(val);
|
|
216
216
|
else
|
|
217
217
|
setFormData({ ...formData, password: val });
|
|
218
|
-
}, onResetPassword: handleResetPassword, onGeneratePassword: isEditing ? handleGeneratePasswordAPI : generatePassword, twoFactorEnabled: user?.twoFactorEnabled, onDisable2FA: handleDisable2FA }), isEditing && user && (_jsx(VerificationSection, { emailVerified: !!user.emailVerified, emailVerifiedAt: user.emailVerifiedAt, onVerify: handleVerifyEmail, onResend: handleResendVerification })), isEditing && (_jsx(SessionsSection, { userId: userId, sessions: sessions, onRefresh: fetchSessions })), isEditing && (_jsx(SocialAccountsSection, { userId: userId, accounts: socialAccounts, onRefresh: fetchSocialAccounts })), isEditing && user && !user.deletedAt && (_jsx(DangerZone, { isActive: user.isActive, isDeleted: !!user.deletedAt, onUpdateStatus: (status) => handleUpdateStatus(status), onDelete: () => { }, onRestore: () => { } }))] }) })
|
|
218
|
+
}, onResetPassword: handleResetPassword, onGeneratePassword: isEditing ? handleGeneratePasswordAPI : generatePassword, twoFactorEnabled: user?.twoFactorEnabled, onDisable2FA: handleDisable2FA }), isEditing && user && (_jsx(VerificationSection, { emailVerified: !!user.emailVerified, emailVerifiedAt: user.emailVerifiedAt, onVerify: handleVerifyEmail, onResend: handleResendVerification })), isEditing && (_jsx(SessionsSection, { userId: userId, sessions: sessions, onRefresh: fetchSessions })), isEditing && (_jsx(SocialAccountsSection, { userId: userId, accounts: socialAccounts, onRefresh: fetchSocialAccounts })), isEditing && user && !user.deletedAt && (_jsx(DangerZone, { isActive: user.isActive, isDeleted: !!user.deletedAt, onUpdateStatus: (status) => handleUpdateStatus(status), onDelete: () => { }, onRestore: () => { } }))] })] }) }));
|
|
219
219
|
}
|
|
220
220
|
//# sourceMappingURL=UserDetailPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDetailPage.js","sourceRoot":"","sources":["../../../src/client/pages/UserDetailPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAuBrE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,MAAM,EAAuB;IACpE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,CAAA;IAC/D,MAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,CAAA;IACzD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC,CAAA;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAA;IACnD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAA;IAE/D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;QACvC,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,EAAE;KACX,CAAC,CAAA;IAEF,4BAA4B;IAC5B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAA+B,cAAc,CAAC,CAAA;IAClG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,EAAE,CAAA;YACX,aAAa,EAAE,CAAA;YACf,mBAAmB,EAAE,CAAA;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/E,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAA;YAC9B,OAAO,CAAC,QAAQ,CAAC,CAAA;YACjB,WAAW,CAAC;gBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;aAC9B,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YAC7C,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACjD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QACxC,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAClF,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC;IACH,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;YACzF,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC,CAAA;IAED,kBAAkB;IAElB,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,MAAM,KAAK,GAAG,wEAAwE,CAAA;QACtF,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACpE,CAAC;QACD,cAAc,CAAC,QAAQ,CAAC,CAAA,CAAC,4BAA4B;QACrD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA,CAAC,kBAAkB;IACjE,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5F,KAAK,CAAC,OAAO,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACvC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;QACrC,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBACvE,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,cAAc,KAAK,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;aACzE,CAAC,CAAA;YACF,KAAK,CAAC,OAAO,CAAC,cAAc,KAAK,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAA;YACvG,cAAc,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACzC,CAAC;IACH,CAAC,CAAA;IAED,uBAAuB;IACvB,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACnC,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;YACtE,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;YAClC,SAAS,EAAE,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACzC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAA;YAC7E,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAA;IAED,mBAAmB;IACnB,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACpF,KAAK,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAA;YAC/C,SAAS,EAAE,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC;YAAE,OAAM;QACpE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;YACrE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAC3B,SAAS,EAAE,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAClC,CAAC;IACH,CAAC,CAAA;IAED,iBAAiB;IACjB,MAAM,YAAY,GAAG,KAAK,EAAE,CAAkB,EAAE,EAAE;QAChD,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,SAAS,CAAC,IAAI,CAAC,CAAA;QAEf,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,YAAY,GAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;gBACzC,IAAI,CAAC,YAAY,CAAC,QAAQ;oBAAE,OAAO,YAAY,CAAC,QAAQ,CAAA;gBAExD,MAAM,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAA;gBAC9E,KAAK,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAA;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAChE,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;YAC5C,CAAC;YAED,0CAA0C;YAC1C,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAE5D,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QACxC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;YAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,eAAe,CAAA;YAChE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACtB,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;QACzC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,cAAK,SAAS,EAAC,+CAA+C,YAC5D,cAAK,SAAS,EAAC,0EAA0E,GAAO,GAC5F,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,mCAAmC,aAEhD,cAAK,SAAS,EAAC,gDAAgD,YAC7D,eAAK,SAAS,EAAC,0DAA0D,aACvE,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EACrD,SAAS,EAAC,0GAA0G,YAEpH,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,GAC1B,EACT,0BACE,aAAI,SAAS,EAAC,qCAAqC,YAChD,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,GACxD,EACL,YAAG,SAAS,EAAC,8BAA8B,YACxC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,gCAAgC,GAC7D,IACA,IACF,EAEN,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EACrD,SAAS,EAAC,4EAA4E,yBAG/E,EACT,kBACE,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAC,mKAAmK,aAE7K,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,EAC3B,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,IACjC,IACL,IACF,GACF,EAEN,cAAK,SAAS,EAAC,uBAAuB,YACpC,eAAK,SAAS,EAAC,WAAW,aAExB,KAAC,WAAW,IACV,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC,EACxB,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAC9D,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAChE,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAC9D,EAGD,kBAAkB,CAAC,CAAC,CAAC,CACpB,kBAAkB,CAAC;4BACjB,aAAa,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;4BACtC,QAAQ,EAAE,kBAAkB;yBAC7B,CAAC,CACH,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,oDAAoD,aACjE,gBAAO,SAAS,EAAC,iEAAiE,2BAAmB,EACrG,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,QAAQ,CAAC,MAAM,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EACrE,SAAS,EAAC,mMAAmM,EAC7M,WAAW,EAAC,gCAAgC,GAC5C,IACE,CACP,EAGD,KAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,iBAAiB,EACzC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EACxD,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;gCACzB,IAAI,SAAS;oCAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;oCAC9B,WAAW,CAAC,EAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;4BACnD,CAAC,EACD,eAAe,EAAE,mBAAmB,EACpC,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAC5E,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EACxC,YAAY,EAAE,gBAAgB,GAC9B,EAGD,SAAS,IAAI,IAAI,IAAI,CACpB,KAAC,mBAAmB,IAClB,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,EACnC,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,wBAAwB,GAClC,CACH,EAGA,SAAS,IAAI,CACZ,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,aAAa,GACxB,CACH,EAGA,SAAS,IAAI,CACZ,KAAC,qBAAqB,IACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC9B,CACH,EAGA,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CACvC,KAAC,UAAU,IACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAC3B,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,EACtD,QAAQ,EAAE,GAAG,EAAE,GAAuD,CAAC,EACvE,SAAS,EAAE,GAAG,EAAE,GAA8B,CAAC,GAC/C,CACH,IAEG,GACF,IAEF,CACP,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"UserDetailPage.js","sourceRoot":"","sources":["../../../src/client/pages/UserDetailPage.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@udhuong/admin-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Reusable admin core (client + server) — auth, RBAC, OAuth, user management. Built với NestJS + Next.js, ship trong 1 package với subpath exports.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "udhuong <l19htm4n@gmail.com>",
|