From 25af872a2abac872ac510f0c5495d1468cb77d09 Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Mon, 25 Mar 2024 17:49:11 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=9A(app-desk)=20create=20addMembers=20?= =?UTF-8?q?feature?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All the code related to adding members has been moved to the addMembers feature. --- src/frontend/apps/desk/src/features/addMembers/api/index.ts | 3 +++ .../{members => addMembers}/api/useCreateInvitation.tsx | 4 ++-- .../{members => addMembers}/api/useCreateTeamAccess.tsx | 6 ++---- .../src/features/{members => addMembers}/api/useUsers.tsx | 0 .../features/{members => addMembers}/assets/add-member.svg | 0 .../{members => addMembers}/components/ModalAddMembers.tsx | 5 ++--- .../{members => addMembers}/components/SearchMembers.tsx | 2 +- src/frontend/apps/desk/src/features/addMembers/index.ts | 1 + .../typesSearchMembers.tsx => addMembers/types.tsx} | 0 src/frontend/apps/desk/src/features/members/api/index.ts | 3 --- .../desk/src/features/members/components/MemberGrid.tsx | 2 +- src/frontend/apps/desk/src/features/members/index.ts | 5 +++-- .../apps/e2e/__tests__/app-desk/member-create.spec.ts | 2 +- 13 files changed, 16 insertions(+), 17 deletions(-) create mode 100644 src/frontend/apps/desk/src/features/addMembers/api/index.ts rename src/frontend/apps/desk/src/features/{members => addMembers}/api/useCreateInvitation.tsx (91%) rename src/frontend/apps/desk/src/features/{members => addMembers}/api/useCreateTeamAccess.tsx (90%) rename src/frontend/apps/desk/src/features/{members => addMembers}/api/useUsers.tsx (100%) rename src/frontend/apps/desk/src/features/{members => addMembers}/assets/add-member.svg (100%) rename src/frontend/apps/desk/src/features/{members => addMembers}/components/ModalAddMembers.tsx (97%) rename src/frontend/apps/desk/src/features/{members => addMembers}/components/SearchMembers.tsx (97%) create mode 100644 src/frontend/apps/desk/src/features/addMembers/index.ts rename src/frontend/apps/desk/src/features/{members/typesSearchMembers.tsx => addMembers/types.tsx} (100%) diff --git a/src/frontend/apps/desk/src/features/addMembers/api/index.ts b/src/frontend/apps/desk/src/features/addMembers/api/index.ts new file mode 100644 index 0000000..1b0d23c --- /dev/null +++ b/src/frontend/apps/desk/src/features/addMembers/api/index.ts @@ -0,0 +1,3 @@ +export * from './useCreateInvitation'; +export * from './useCreateTeamAccess'; +export * from './useUsers'; diff --git a/src/frontend/apps/desk/src/features/members/api/useCreateInvitation.tsx b/src/frontend/apps/desk/src/features/addMembers/api/useCreateInvitation.tsx similarity index 91% rename from src/frontend/apps/desk/src/features/members/api/useCreateInvitation.tsx rename to src/frontend/apps/desk/src/features/addMembers/api/useCreateInvitation.tsx index 487808d..c121147 100644 --- a/src/frontend/apps/desk/src/features/members/api/useCreateInvitation.tsx +++ b/src/frontend/apps/desk/src/features/addMembers/api/useCreateInvitation.tsx @@ -2,10 +2,10 @@ import { useMutation } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; import { User } from '@/features/auth'; +import { Invitation, Role } from '@/features/members'; import { Team } from '@/features/teams'; -import { Invitation, Role } from '../types'; -import { OptionType } from '../typesSearchMembers'; +import { OptionType } from '../types'; interface CreateInvitationParams { email: User['email']; diff --git a/src/frontend/apps/desk/src/features/members/api/useCreateTeamAccess.tsx b/src/frontend/apps/desk/src/features/addMembers/api/useCreateTeamAccess.tsx similarity index 90% rename from src/frontend/apps/desk/src/features/members/api/useCreateTeamAccess.tsx rename to src/frontend/apps/desk/src/features/addMembers/api/useCreateTeamAccess.tsx index f0ce9e3..faa8b73 100644 --- a/src/frontend/apps/desk/src/features/members/api/useCreateTeamAccess.tsx +++ b/src/frontend/apps/desk/src/features/addMembers/api/useCreateTeamAccess.tsx @@ -2,12 +2,10 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; import { User } from '@/features/auth'; +import { Access, KEY_LIST_TEAM_ACCESSES, Role } from '@/features/members'; import { KEY_LIST_TEAM, KEY_TEAM, Team } from '@/features/teams'; -import { Access, Role } from '../types'; -import { OptionType } from '../typesSearchMembers'; - -import { KEY_LIST_TEAM_ACCESSES } from '.'; +import { OptionType } from '../types'; interface CreateTeamAccessParams { name: User['name']; diff --git a/src/frontend/apps/desk/src/features/members/api/useUsers.tsx b/src/frontend/apps/desk/src/features/addMembers/api/useUsers.tsx similarity index 100% rename from src/frontend/apps/desk/src/features/members/api/useUsers.tsx rename to src/frontend/apps/desk/src/features/addMembers/api/useUsers.tsx diff --git a/src/frontend/apps/desk/src/features/members/assets/add-member.svg b/src/frontend/apps/desk/src/features/addMembers/assets/add-member.svg similarity index 100% rename from src/frontend/apps/desk/src/features/members/assets/add-member.svg rename to src/frontend/apps/desk/src/features/addMembers/assets/add-member.svg diff --git a/src/frontend/apps/desk/src/features/members/components/ModalAddMembers.tsx b/src/frontend/apps/desk/src/features/addMembers/components/ModalAddMembers.tsx similarity index 97% rename from src/frontend/apps/desk/src/features/members/components/ModalAddMembers.tsx rename to src/frontend/apps/desk/src/features/addMembers/components/ModalAddMembers.tsx index 1ce4e52..ed1614a 100644 --- a/src/frontend/apps/desk/src/features/members/components/ModalAddMembers.tsx +++ b/src/frontend/apps/desk/src/features/addMembers/components/ModalAddMembers.tsx @@ -12,20 +12,19 @@ import { createGlobalStyle } from 'styled-components'; import { APIError } from '@/api'; import { Box, Text } from '@/components'; import { useCunninghamTheme } from '@/cunningham'; +import { ChooseRole, Role } from '@/features/members'; import { Team } from '@/features/teams'; import { useCreateInvitation, useCreateTeamAccess } from '../api'; import IconAddMember from '../assets/add-member.svg'; -import { Role } from '../types'; import { OptionInvitation, OptionNewMember, OptionSelect, OptionType, isOptionNewMember, -} from '../typesSearchMembers'; +} from '../types'; -import { ChooseRole } from './ChooseRole'; import { OptionsSelect, SearchMembers } from './SearchMembers'; const GlobalStyle = createGlobalStyle` diff --git a/src/frontend/apps/desk/src/features/members/components/SearchMembers.tsx b/src/frontend/apps/desk/src/features/addMembers/components/SearchMembers.tsx similarity index 97% rename from src/frontend/apps/desk/src/features/members/components/SearchMembers.tsx rename to src/frontend/apps/desk/src/features/addMembers/components/SearchMembers.tsx index 3acd335..a664989 100644 --- a/src/frontend/apps/desk/src/features/members/components/SearchMembers.tsx +++ b/src/frontend/apps/desk/src/features/addMembers/components/SearchMembers.tsx @@ -7,7 +7,7 @@ import { Team } from '@/features/teams'; import { isValidEmail } from '@/utils'; import { KEY_LIST_USER, useUsers } from '../api/useUsers'; -import { OptionSelect, OptionType } from '../typesSearchMembers'; +import { OptionSelect, OptionType } from '../types'; export type OptionsSelect = Options; diff --git a/src/frontend/apps/desk/src/features/addMembers/index.ts b/src/frontend/apps/desk/src/features/addMembers/index.ts new file mode 100644 index 0000000..23fc0dd --- /dev/null +++ b/src/frontend/apps/desk/src/features/addMembers/index.ts @@ -0,0 +1 @@ +export * from './components/ModalAddMembers'; diff --git a/src/frontend/apps/desk/src/features/members/typesSearchMembers.tsx b/src/frontend/apps/desk/src/features/addMembers/types.tsx similarity index 100% rename from src/frontend/apps/desk/src/features/members/typesSearchMembers.tsx rename to src/frontend/apps/desk/src/features/addMembers/types.tsx diff --git a/src/frontend/apps/desk/src/features/members/api/index.ts b/src/frontend/apps/desk/src/features/members/api/index.ts index f7b78f2..1590028 100644 --- a/src/frontend/apps/desk/src/features/members/api/index.ts +++ b/src/frontend/apps/desk/src/features/members/api/index.ts @@ -1,5 +1,2 @@ -export * from './useCreateInvitation'; -export * from './useCreateTeamAccess'; export * from './useTeamsAccesses'; export * from './useUpdateTeamAccess'; -export * from './useUsers'; diff --git a/src/frontend/apps/desk/src/features/members/components/MemberGrid.tsx b/src/frontend/apps/desk/src/features/members/components/MemberGrid.tsx index 32f00a7..a711e21 100644 --- a/src/frontend/apps/desk/src/features/members/components/MemberGrid.tsx +++ b/src/frontend/apps/desk/src/features/members/components/MemberGrid.tsx @@ -5,6 +5,7 @@ import { useTranslation } from 'react-i18next'; import IconUser from '@/assets/icons/icon-user.svg'; import { Box, Card, TextErrors } from '@/components'; import { useCunninghamTheme } from '@/cunningham'; +import { ModalAddMembers } from '@/features/addMembers'; import { Team } from '@/features/teams'; import { useTeamAccesses } from '../api/'; @@ -12,7 +13,6 @@ import { PAGE_SIZE } from '../conf'; import { Role } from '../types'; import { MemberAction } from './MemberAction'; -import { ModalAddMembers } from './ModalAddMembers'; interface MemberGridProps { team: Team; diff --git a/src/frontend/apps/desk/src/features/members/index.ts b/src/frontend/apps/desk/src/features/members/index.ts index 47125a3..4d6f002 100644 --- a/src/frontend/apps/desk/src/features/members/index.ts +++ b/src/frontend/apps/desk/src/features/members/index.ts @@ -1,3 +1,4 @@ -export * from './types'; +export * from './api/useTeamsAccesses'; +export * from './components/ChooseRole'; export * from './components/MemberGrid'; -export * from './components/ModalAddMembers'; +export * from './types'; diff --git a/src/frontend/apps/e2e/__tests__/app-desk/member-create.spec.ts b/src/frontend/apps/e2e/__tests__/app-desk/member-create.spec.ts index f422af3..a53249e 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/member-create.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/member-create.spec.ts @@ -16,7 +16,7 @@ test.describe('Members Create', () => { await page.getByLabel('Add members to the team').click(); - await expect(page.getByText('Add members to the team')).toBeVisible(); + await expect(page.getByText('Add a member')).toBeVisible(); await expect( page.getByLabel(/Find a member to add to the team/), ).toBeVisible();