diff --git a/src/frontend/apps/impress/src/components/index.ts b/src/frontend/apps/impress/src/components/index.ts index 12e38318..975edfc3 100644 --- a/src/frontend/apps/impress/src/components/index.ts +++ b/src/frontend/apps/impress/src/components/index.ts @@ -5,5 +5,6 @@ export * from './DropButton'; export * from './Icon'; export * from './InfiniteScroll'; export * from './Link'; +export * from './SideModal'; export * from './Text'; export * from './TextErrors'; diff --git a/src/frontend/apps/impress/src/features/docs/members/invitation-list/api/index.ts b/src/frontend/apps/impress/src/features/docs/members/invitation-list/api/index.ts index b76a3b26..b2dc95f2 100644 --- a/src/frontend/apps/impress/src/features/docs/members/invitation-list/api/index.ts +++ b/src/frontend/apps/impress/src/features/docs/members/invitation-list/api/index.ts @@ -1,3 +1,4 @@ +export * from './useCreateDocInvitation'; export * from './useDeleteDocInvitation'; export * from './useDocInvitations'; export * from './useUpdateDocInvitation'; diff --git a/src/frontend/apps/impress/src/features/docs/members/members-add/api/useCreateDocInvitation.tsx b/src/frontend/apps/impress/src/features/docs/members/invitation-list/api/useCreateDocInvitation.tsx similarity index 74% rename from src/frontend/apps/impress/src/features/docs/members/members-add/api/useCreateDocInvitation.tsx rename to src/frontend/apps/impress/src/features/docs/members/invitation-list/api/useCreateDocInvitation.tsx index b457e93d..85aa80d8 100644 --- a/src/frontend/apps/impress/src/features/docs/members/members-add/api/useCreateDocInvitation.tsx +++ b/src/frontend/apps/impress/src/features/docs/members/invitation-list/api/useCreateDocInvitation.tsx @@ -3,10 +3,12 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; import { User } from '@/core/auth'; import { Doc, Role } from '@/features/docs/doc-management'; +import { OptionType } from '@/features/docs/members/members-add/types'; import { ContentLanguage } from '@/i18n/types'; -import { KEY_LIST_DOC_INVITATIONS } from '../../invitation-list'; -import { DocInvitation, OptionType } from '../types'; +import { Invitation } from '../types'; + +import { KEY_LIST_DOC_INVITATIONS } from './useDocInvitations'; interface CreateDocInvitationParams { email: User['email']; @@ -20,7 +22,7 @@ export const createDocInvitation = async ({ role, docId, contentLanguage, -}: CreateDocInvitationParams): Promise => { +}: CreateDocInvitationParams): Promise => { const response = await fetchAPI(`documents/${docId}/invitations/`, { method: 'POST', headers: { @@ -42,12 +44,12 @@ export const createDocInvitation = async ({ ); } - return response.json() as Promise; + return response.json() as Promise; }; -export function useCreateInvitation() { +export function useCreateDocInvitation() { const queryClient = useQueryClient(); - return useMutation({ + return useMutation({ mutationFn: createDocInvitation, onSuccess: () => { void queryClient.invalidateQueries({ diff --git a/src/frontend/apps/impress/src/features/docs/members/members-add/api/index.ts b/src/frontend/apps/impress/src/features/docs/members/members-add/api/index.ts index 0696d634..14221b85 100644 --- a/src/frontend/apps/impress/src/features/docs/members/members-add/api/index.ts +++ b/src/frontend/apps/impress/src/features/docs/members/members-add/api/index.ts @@ -1,3 +1,2 @@ -export * from './useCreateDocInvitation'; export * from './useCreateDocAccess'; export * from './useUsers'; diff --git a/src/frontend/apps/impress/src/features/docs/members/members-add/components/AddMembers.tsx b/src/frontend/apps/impress/src/features/docs/members/members-add/components/AddMembers.tsx index bfe36be8..9bcb0741 100644 --- a/src/frontend/apps/impress/src/features/docs/members/members-add/components/AddMembers.tsx +++ b/src/frontend/apps/impress/src/features/docs/members/members-add/components/AddMembers.tsx @@ -9,9 +9,10 @@ import { useTranslation } from 'react-i18next'; import { APIError } from '@/api'; import { Box, Card, IconBG } from '@/components'; import { Doc, Role } from '@/features/docs/doc-management'; +import { useCreateDocInvitation } from '@/features/docs/members/invitation-list/'; import { useLanguage } from '@/i18n/hooks/useLanguage'; -import { useCreateDocAccess, useCreateInvitation } from '../api'; +import { useCreateDocAccess } from '../api'; import { OptionInvitation, OptionNewMember, @@ -39,7 +40,7 @@ export const AddMembers = ({ currentRole, doc }: ModalAddMembersProps) => { const [selectedUsers, setSelectedUsers] = useState([]); const [selectedRole, setSelectedRole] = useState(); const { toast } = useToastProvider(); - const { mutateAsync: createInvitation } = useCreateInvitation(); + const { mutateAsync: createInvitation } = useCreateDocInvitation(); const { mutateAsync: createDocAccess } = useCreateDocAccess(); const [resetKey, setResetKey] = useState(1); diff --git a/src/frontend/apps/impress/src/features/docs/members/members-add/types.tsx b/src/frontend/apps/impress/src/features/docs/members/members-add/types.tsx index d1fda5f4..d33c83c2 100644 --- a/src/frontend/apps/impress/src/features/docs/members/members-add/types.tsx +++ b/src/frontend/apps/impress/src/features/docs/members/members-add/types.tsx @@ -1,5 +1,4 @@ import { User } from '@/core/auth'; -import { Doc, Role } from '@/features/docs/doc-management'; export enum OptionType { INVITATION = 'invitation', @@ -25,12 +24,3 @@ export interface OptionNewMember { } export type OptionSelect = OptionNewMember | OptionInvitation; - -export interface DocInvitation { - id: string; - created_at: string; - email: string; - team: Doc['id']; - role: Role; - issuer: User['id']; -} diff --git a/src/frontend/apps/impress/src/features/docs/members/members-list/assets/icon-remove-member.svg b/src/frontend/apps/impress/src/features/docs/members/members-list/assets/icon-remove-member.svg deleted file mode 100644 index 4316c35c..00000000 --- a/src/frontend/apps/impress/src/features/docs/members/members-list/assets/icon-remove-member.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx b/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx index 2d226989..5d582a14 100644 --- a/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx +++ b/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx @@ -70,49 +70,49 @@ export const MemberItem = ({ return ( - - - + + + {access.user.email} - - - - + + { + setLocalRole(role); + updateDocAccess({ + docId, + accessId: access.id, + role, + }); + }} + /> + +