From 15541b71c93de2e476c5b8ee0b5bb1cc3713f345 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Wed, 17 Dec 2025 19:58:59 +0000 Subject: [PATCH] feat: migrate createInvite to createInviteMutationAtom in team page --- .../dashboard/[search_space_id]/team/page.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx b/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx index a86da67f3..aa28ec307 100644 --- a/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx +++ b/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx @@ -47,6 +47,8 @@ import { useParams, useRouter } from "next/navigation"; import { useCallback, useMemo, useState } from "react"; import { toast } from "sonner"; import { updateMemberMutationAtom, deleteMemberMutationAtom } from "@/atoms/members/members-mutation.atoms"; +import { createInviteMutationAtom } from '@/atoms/invites/invites-mutation.atoms'; +import type { CreateInviteRequest } from '@/contracts/types/invites.types'; import type { UpdateMembershipRequest, DeleteMembershipRequest, Membership } from "@/contracts/types/members.types"; import { permissionsAtom } from "@/atoms/permissions/permissions-query.atoms"; import { membersAtom } from "@/atoms/members/members-query.atoms"; @@ -164,6 +166,18 @@ export default function TeamManagementPage() { const { mutateAsync: updateMember } = useAtomValue(updateMemberMutationAtom); const { mutateAsync: deleteMember } = useAtomValue(deleteMemberMutationAtom); + const { mutateAsync: createInvite } = useAtomValue(createInviteMutationAtom); + + const handleCreateInvite = useCallback( + async (inviteData: InviteCreate) => { + const request: CreateInviteRequest = { + search_space_id: searchSpaceId, + data: inviteData, + }; + return await createInvite(request); + }, + [createInvite, searchSpaceId] + ); const handleUpdateRole = useCallback( async (roleId: number, data: { permissions?: string[] }): Promise => { @@ -237,7 +251,6 @@ export default function TeamManagementPage() { enabled: !!searchSpaceId, }); const { - createInvite, revokeInvite, } = useInvites(searchSpaceId); @@ -419,7 +432,7 @@ export default function TeamManagementPage() { {activeTab === "invites" && canInvite && ( )}