diff --git a/src/layouts/demo2/navbar/NavbarMenu.tsx b/src/layouts/demo2/navbar/NavbarMenu.tsx index 8f2f8af..b051fcf 100644 --- a/src/layouts/demo2/navbar/NavbarMenu.tsx +++ b/src/layouts/demo2/navbar/NavbarMenu.tsx @@ -52,7 +52,7 @@ const STATIC_MENU: MappedMenu[] = [ title: 'User Management', path: '-', children: [ - { title: 'User List', path: COMING_SOON_PATH }, + { title: 'User List', path: '/settings/user-management/manage-user' }, { title: 'Group Role List', path: COMING_SOON_PATH }, { title: 'Role List', path: COMING_SOON_PATH } ] diff --git a/src/pages/settings/user/manage-user/ManageUserPage.tsx b/src/pages/settings/user/manage-user/ManageUserPage.tsx index 17a7077..6c8786c 100644 --- a/src/pages/settings/user/manage-user/ManageUserPage.tsx +++ b/src/pages/settings/user/manage-user/ManageUserPage.tsx @@ -20,9 +20,9 @@ export default function ManageUserPage() { Dashboard - + {/* Settings - + */} User Management diff --git a/src/pages/settings/user/manage-user/blocks/AddDialog.tsx b/src/pages/settings/user/manage-user/blocks/AddDialog.tsx index 5828fc3..0ddd2b4 100644 --- a/src/pages/settings/user/manage-user/blocks/AddDialog.tsx +++ b/src/pages/settings/user/manage-user/blocks/AddDialog.tsx @@ -41,8 +41,7 @@ import { validateFormCreateUser } from './Types'; -const API_URL_CUSTOMER = apiConfig.service_customer; -const API_URL = apiConfig.service_dashboard; +const API_URL_USER = apiConfig.service_user; type PasswordType = 'password' | 'retype_password'; @@ -116,7 +115,7 @@ const AddDialog = () => { setIsSubmitting(true); try { - const response = await PostData(`${API_URL}/user/create`, formField); + const response = await PostData(`${API_URL_USER}/user/create`, formField); if (response?.status) { handleAddDialog(false); @@ -143,74 +142,74 @@ const AddDialog = () => { [formField] ); - const fetchRoles = useCallback(async () => { - const params = { - limit: 100, - page: 1, - with_deleted: false, - order_field: 'name', - order_direction: 'ASC', - filter: JSON.stringify({ - status: 'Y' - }) - }; - const response = await GetData(`${API_URL}/user_role/list`, params); - if (response?.status) { - const roleList = response.data?.list || []; - setRoles(roleList); - } else { - setRoles(() => []); - } - }, []); + // const fetchRoles = useCallback(async () => { + // const params = { + // limit: 100, + // page: 1, + // with_deleted: false, + // order_field: 'name', + // order_direction: 'ASC', + // filter: JSON.stringify({ + // status: 'Y' + // }) + // }; + // const response = await GetData(`${API_URL}/user_role/list`, params); + // if (response?.status) { + // const roleList = response.data?.list || []; + // setRoles(roleList); + // } else { + // setRoles(() => []); + // } + // }, []); - const getCustomerList = async (sorting: any, filterValue: string) => { - const filter: any = - filterValue?.trim().length === 0 ? {} : { fullname: { like: `%${filterValue}%` } }; + // const getCustomerList = async (sorting: any, filterValue: string) => { + // const filter: any = + // filterValue?.trim().length === 0 ? {} : { fullname: { like: `%${filterValue}%` } }; - sorting = sorting.length == 0 ? [{ id: 'created_at', desc: false }] : sorting; + // sorting = sorting.length == 0 ? [{ id: 'created_at', desc: false }] : sorting; - const query: any = { - limit: 100, - page: 1, - with_deleted: false, - order_field: sorting[0].id, - order_direction: sorting[0].desc ? 'DESC' : 'ASC' - }; + // const query: any = { + // limit: 100, + // page: 1, + // with_deleted: false, + // order_field: sorting[0].id, + // order_direction: sorting[0].desc ? 'DESC' : 'ASC' + // }; - if (filter && Object.keys(filter).length > 0) { - query.filter = JSON.stringify(filter); - } - try { - const response = await GetData(`${API_URL_CUSTOMER}/customer/list`, query); + // if (filter && Object.keys(filter).length > 0) { + // query.filter = JSON.stringify(filter); + // } + // try { + // const response = await GetData(`${API_URL_CUSTOMER}/customer/list`, query); - if (response?.status) { - setCustomers(response?.data.list); - } else { - toast.error(response?.message); - } - } catch (error) { - toast.error('Failed to fetch customer list'); - } finally { - setIsLoading(false); - } - }; + // if (response?.status) { + // setCustomers(response?.data.list); + // } else { + // toast.error(response?.message); + // } + // } catch (error) { + // toast.error('Failed to fetch customer list'); + // } finally { + // setIsLoading(false); + // } + // }; - const handleCustomerSearch = (e: React.ChangeEvent) => { - setIsLoading(true); - setSearchTerm(e.target.value); - setSelectedCustomerName(e.target.value); - setDropdownOpen(true); - const timer = setTimeout(() => { - getCustomerList([{ id: 'fullname', desc: false }], e.target.value); - }, 500); - return () => clearTimeout(timer); - }; + // const handleCustomerSearch = (e: React.ChangeEvent) => { + // setIsLoading(true); + // setSearchTerm(e.target.value); + // setSelectedCustomerName(e.target.value); + // setDropdownOpen(true); + // const timer = setTimeout(() => { + // getCustomerList([{ id: 'fullname', desc: false }], e.target.value); + // }, 500); + // return () => clearTimeout(timer); + // }; - const handleCustomerSelect = (customer: CustomerProps) => { - setFormField({ ...formField, customerid: customer.id }); - setSelectedCustomerName(customer.fullname); - setDropdownOpen(false); - }; + // const handleCustomerSelect = (customer: CustomerProps) => { + // setFormField({ ...formField, customerid: customer.id }); + // setSelectedCustomerName(customer.fullname); + // setDropdownOpen(false); + // }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); @@ -230,9 +229,9 @@ const AddDialog = () => { .filter((item) => item.fullname.toLowerCase().includes(searchTerm.toLowerCase())) .slice(0, 10); - useEffect(() => { - fetchRoles(); - }, [fetchRoles]); + // useEffect(() => { + // fetchRoles(); + // }, [fetchRoles]); useEffect(() => { const validation = validatePassword(formField.password, formField.retype_password); @@ -248,20 +247,20 @@ const AddDialog = () => { } }, [showAddDialog]); - useEffect(() => { - getCustomerList([{ id: 'created_at', desc: false }], ''); + // useEffect(() => { + // getCustomerList([{ id: 'created_at', desc: false }], ''); - const handleClickOutside = (event: any) => { - if (dropdownRef.current && !dropdownRef.current.contains(event.target)) { - setDropdownOpen(false); - } - }; + // const handleClickOutside = (event: any) => { + // if (dropdownRef.current && !dropdownRef.current.contains(event.target)) { + // setDropdownOpen(false); + // } + // }; - document.addEventListener('mousedown', handleClickOutside); - return () => { - document.removeEventListener('mousedown', handleClickOutside); - }; - }, []); + // document.addEventListener('mousedown', handleClickOutside); + // return () => { + // document.removeEventListener('mousedown', handleClickOutside); + // }; + // }, []); const togglePassword = useCallback((event: MouseEvent, key: string) => { event.preventDefault(); @@ -331,7 +330,7 @@ const AddDialog = () => { {/* Customer */} -
+ {/*
{ {errors.customerid} )}
-
+
*/} {/* Email */}
@@ -387,7 +386,7 @@ const AddDialog = () => {
{/* Role */} -
+ {/*
{ {errors.customerid} )}
-
+
*/} {/* Email */}
@@ -374,7 +374,7 @@ const EditDialog = () => {
{/* Role */} -
+ {/*