|
|
@@ -1,7 +1,7 @@ |
|
|
|
"use client"; |
|
|
|
|
|
|
|
import SearchBox, { Criterion } from "../SearchBox"; |
|
|
|
import { useCallback, useMemo, useState } from "react"; |
|
|
|
import { useCallback, useEffect, useMemo, useState } from "react"; |
|
|
|
import { useTranslation } from "react-i18next"; |
|
|
|
import SearchResults, { Column } from "../SearchResults/index"; |
|
|
|
import EditNote from "@mui/icons-material/EditNote"; |
|
|
@@ -9,7 +9,6 @@ import DeleteIcon from "@mui/icons-material/Delete"; |
|
|
|
import { useRouter } from "next/navigation"; |
|
|
|
import { deleteDialog, successDialog } from "../Swal/CustomAlerts"; |
|
|
|
import { UserGroupResult } from "@/app/api/group"; |
|
|
|
import { deleteUser } from "@/app/api/user/actions"; |
|
|
|
import { deleteGroup } from "@/app/api/group/actions"; |
|
|
|
|
|
|
|
interface Props { |
|
|
@@ -41,7 +40,6 @@ const UserGroupSearch: React.FC<Props> = ({ groups }) => { |
|
|
|
|
|
|
|
const onUserClick = useCallback( |
|
|
|
(group: UserGroupResult) => { |
|
|
|
console.log(group); |
|
|
|
router.push(`/settings/group/edit?id=${group.id}`) |
|
|
|
}, |
|
|
|
[router, t] |
|
|
@@ -51,11 +49,14 @@ const UserGroupSearch: React.FC<Props> = ({ groups }) => { |
|
|
|
deleteDialog(async () => { |
|
|
|
await deleteGroup(group.id); |
|
|
|
successDialog(t("Delete Success"), t); |
|
|
|
setFilteredGroups((prev) => prev.filter((obj) => obj.id !== group.id)); |
|
|
|
|
|
|
|
}, t); |
|
|
|
}, []); |
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
setFilteredGroups(groups) |
|
|
|
}, [groups]); |
|
|
|
|
|
|
|
const columns = useMemo<Column<UserGroupResult>[]>( |
|
|
|
() => [ |
|
|
|
{ |
|
|
|