This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { ActionIcon, Group, Loader, ScrollArea, Stack, Table, Title, Tooltip } from "@mantine/core";
|
||||
import { t } from "@/config/i18n";
|
||||
import { useCreateUser, useEditUser, useGetUser, useGetUsers } from "@/services/api";
|
||||
import { useCreateUser, useDeleteUser, useEditUser, useGetUser, useGetUsers } from "@/services/api";
|
||||
import { IconPlus } from "@tabler/icons-react";
|
||||
import UserRow from "@/components/Users/Row";
|
||||
import { useLocation, useNavigate, useSearchParams } from "react-router";
|
||||
@@ -8,6 +8,7 @@ import { UserModal } from "@/components/Users/Modal";
|
||||
import { useCallback, useMemo } from "react";
|
||||
import { type User, type UserInputs } from "@/services/resources/users";
|
||||
import UsersFilters from "@/components/Users/Filter";
|
||||
import { DeleteModal } from "@/components/DeleteModal";
|
||||
|
||||
export default function Users() {
|
||||
const [searchParams, setSearchParams] = useSearchParams();
|
||||
@@ -16,9 +17,10 @@ export default function Users() {
|
||||
|
||||
const isCreate = location.pathname === "/dashboard/users/create";
|
||||
const isEdit = location.pathname.includes("/edit");
|
||||
const isDelete = location.pathname.includes("/delete");
|
||||
|
||||
const editId = useMemo(() => {
|
||||
if (isEdit) {
|
||||
if (isEdit || isDelete) {
|
||||
return location.pathname.split("/")[3];
|
||||
}
|
||||
return null;
|
||||
@@ -36,8 +38,7 @@ export default function Users() {
|
||||
const { data: allUsers } = useGetUsers();
|
||||
|
||||
const names = useMemo(() => {
|
||||
if (!allUsers)
|
||||
return [];
|
||||
if (!allUsers) return [];
|
||||
return allUsers
|
||||
?.map((user: User) => user.name)
|
||||
.filter((season, index, array) => array.indexOf(season) === index);
|
||||
@@ -45,6 +46,7 @@ export default function Users() {
|
||||
|
||||
const createUserMutation = useCreateUser();
|
||||
const editUserMutation = useEditUser();
|
||||
const deleteUserMutation = useDeleteUser();
|
||||
|
||||
const handleCreateUser = useCallback(
|
||||
async (user: UserInputs) => {
|
||||
@@ -117,6 +119,15 @@ export default function Users() {
|
||||
currentUser={currentUser}
|
||||
handleSubmit={handleEditUser}
|
||||
/>
|
||||
<DeleteModal
|
||||
opened={isDelete}
|
||||
onClose={closeModal}
|
||||
handleSubmit={(id: number) => {
|
||||
deleteUserMutation.mutate(id);
|
||||
}}
|
||||
entityType={"user"}
|
||||
entity={currentUser}
|
||||
/>
|
||||
</Group>
|
||||
<UsersFilters
|
||||
names={names || []}
|
||||
|
||||
Reference in New Issue
Block a user