'use client' import { useRouter, useSearchParams } from 'next/navigation' import { useState } from 'react' import { PageContainer, ShowWrapper, EmptyUsersList, TableSkeleton, UsersTable, ConfirmDeleteModal, HandleResponse, Pagination, } from '@/components' import { useGetUsersQuery, useDeleteUserMutation } from '@/store/services' import { useDisclosure, useChangeRoute, useTitle } from '@/hooks' export default function UsersPage() { useTitle('用户管理') //? Assets const { replace } = useRouter() const searchParams = useSearchParams() const page = searchParams.get('page') const changeRoute = useChangeRoute() //? Modals const [isShowConfirmDeleteModal, confirmDeleteModalHandlers] = useDisclosure() //? State const [deleteInfo, setDeleteInfo] = useState({ id: '', }) //? Get User Data const { data, isSuccess, isFetching, error, isError, refetch } = useGetUsersQuery({ page: page || 1, }) //? Delete User Query const [ deleteUser, { isSuccess: isSuccess_delete, isLoading: isLoading_delete, isError: isError_delete, error: error_delete, data: data_delete, }, ] = useDeleteUserMutation() //? Handlers const deleteUserHandler = id => { setDeleteInfo({ id }) confirmDeleteModalHandlers.open() } const onConfirmUserDelete = () => deleteUser({ id: deleteInfo.id }) const onCancelUserDelete = () => { confirmDeleteModalHandlers.close() setDeleteInfo({ id: '' }) } return ( <> {/* Handle Delete Response */} {(isSuccess_delete || isError_delete) && ( { onCancelUserDelete() }} onError={() => { onCancelUserDelete() }} /> )}
} loadingComponent={} > {data?.data?.usersLength > 5 && (
)}
) }