diff --git a/src/frontend/apps/desk/src/features/addMembers/api/useCreateInvitation.tsx b/src/frontend/apps/desk/src/features/addMembers/api/useCreateInvitation.tsx index c121147..489b07b 100644 --- a/src/frontend/apps/desk/src/features/addMembers/api/useCreateInvitation.tsx +++ b/src/frontend/apps/desk/src/features/addMembers/api/useCreateInvitation.tsx @@ -2,8 +2,8 @@ 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 } from '@/features/members'; +import { Role, Team } from '@/features/teams'; import { OptionType } from '../types'; diff --git a/src/frontend/apps/desk/src/features/addMembers/api/useCreateTeamAccess.tsx b/src/frontend/apps/desk/src/features/addMembers/api/useCreateTeamAccess.tsx index faa8b73..f1cba90 100644 --- a/src/frontend/apps/desk/src/features/addMembers/api/useCreateTeamAccess.tsx +++ b/src/frontend/apps/desk/src/features/addMembers/api/useCreateTeamAccess.tsx @@ -2,8 +2,8 @@ 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, KEY_LIST_TEAM_ACCESSES } from '@/features/members'; +import { KEY_LIST_TEAM, KEY_TEAM, Role, Team } from '@/features/teams'; import { OptionType } from '../types'; diff --git a/src/frontend/apps/desk/src/features/addMembers/components/ModalAddMembers.tsx b/src/frontend/apps/desk/src/features/addMembers/components/ModalAddMembers.tsx index ed1614a..7cf9bb0 100644 --- a/src/frontend/apps/desk/src/features/addMembers/components/ModalAddMembers.tsx +++ b/src/frontend/apps/desk/src/features/addMembers/components/ModalAddMembers.tsx @@ -12,8 +12,8 @@ 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 { ChooseRole } from '@/features/members'; +import { Role, Team } from '@/features/teams'; import { useCreateInvitation, useCreateTeamAccess } from '../api'; import IconAddMember from '../assets/add-member.svg'; diff --git a/src/frontend/apps/desk/src/features/members/__tests__/MemberAction.test.tsx b/src/frontend/apps/desk/src/features/members/__tests__/MemberAction.test.tsx index a67ab02..780ce6e 100644 --- a/src/frontend/apps/desk/src/features/members/__tests__/MemberAction.test.tsx +++ b/src/frontend/apps/desk/src/features/members/__tests__/MemberAction.test.tsx @@ -2,10 +2,11 @@ import '@testing-library/jest-dom'; import { render, screen } from '@testing-library/react'; import fetchMock from 'fetch-mock'; +import { Role } from '@/features/teams'; import { AppWrapper } from '@/tests/utils'; import { MemberAction } from '../components/MemberAction'; -import { Access, Role } from '../types'; +import { Access } from '../types'; const access: Access = { id: '789', diff --git a/src/frontend/apps/desk/src/features/members/__tests__/MemberGrid.test.tsx b/src/frontend/apps/desk/src/features/members/__tests__/MemberGrid.test.tsx index 6f5e294..e9187e6 100644 --- a/src/frontend/apps/desk/src/features/members/__tests__/MemberGrid.test.tsx +++ b/src/frontend/apps/desk/src/features/members/__tests__/MemberGrid.test.tsx @@ -3,11 +3,11 @@ import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import fetchMock from 'fetch-mock'; -import { Team } from '@/features/teams/api'; +import { Role, Team } from '@/features/teams'; import { AppWrapper } from '@/tests/utils'; import { MemberGrid } from '../components/MemberGrid'; -import { Access, Role } from '../types'; +import { Access } from '../types'; const team = { id: '123456', diff --git a/src/frontend/apps/desk/src/features/members/__tests__/ModalRole.test.tsx b/src/frontend/apps/desk/src/features/members/__tests__/ModalRole.test.tsx index 9e8a0c1..4050960 100644 --- a/src/frontend/apps/desk/src/features/members/__tests__/ModalRole.test.tsx +++ b/src/frontend/apps/desk/src/features/members/__tests__/ModalRole.test.tsx @@ -4,10 +4,11 @@ import userEvent from '@testing-library/user-event'; import fetchMock from 'fetch-mock'; import { useAuthStore } from '@/features/auth'; +import { Role } from '@/features/teams'; import { AppWrapper } from '@/tests/utils'; import { ModalRole } from '../components/ModalRole'; -import { Access, Role } from '../types'; +import { Access } from '../types'; const toast = jest.fn(); jest.mock('@openfun/cunningham-react', () => ({ diff --git a/src/frontend/apps/desk/src/features/members/api/useUpdateTeamAccess.ts b/src/frontend/apps/desk/src/features/members/api/useUpdateTeamAccess.ts index bf5f600..1c501fd 100644 --- a/src/frontend/apps/desk/src/features/members/api/useUpdateTeamAccess.ts +++ b/src/frontend/apps/desk/src/features/members/api/useUpdateTeamAccess.ts @@ -5,9 +5,9 @@ import { } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; -import { KEY_TEAM } from '@/features/teams/api/useTeam'; +import { KEY_TEAM, Role } from '@/features/teams/'; -import { Access, Role } from '../types'; +import { Access } from '../types'; import { KEY_LIST_TEAM_ACCESSES } from './useTeamsAccesses'; diff --git a/src/frontend/apps/desk/src/features/members/components/ChooseRole.tsx b/src/frontend/apps/desk/src/features/members/components/ChooseRole.tsx index e3be723..fdafeb5 100644 --- a/src/frontend/apps/desk/src/features/members/components/ChooseRole.tsx +++ b/src/frontend/apps/desk/src/features/members/components/ChooseRole.tsx @@ -1,7 +1,7 @@ import { Radio, RadioGroup } from '@openfun/cunningham-react'; import { useTranslation } from 'react-i18next'; -import { Role } from '..'; +import { Role } from '@/features/teams'; interface ChooseRoleProps { currentRole: Role; diff --git a/src/frontend/apps/desk/src/features/members/components/MemberAction.tsx b/src/frontend/apps/desk/src/features/members/components/MemberAction.tsx index c4d690c..fc35c28 100644 --- a/src/frontend/apps/desk/src/features/members/components/MemberAction.tsx +++ b/src/frontend/apps/desk/src/features/members/components/MemberAction.tsx @@ -3,8 +3,9 @@ import React, { useState } from 'react'; import { useTranslation } from 'react-i18next'; import { DropButton, IconOptions, Text } from '@/components'; +import { Role } from '@/features/teams'; -import { Access, Role } from '../types'; +import { Access } from '../types'; import { ModalRole } from './ModalRole'; 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 a711e21..7d6771f 100644 --- a/src/frontend/apps/desk/src/features/members/components/MemberGrid.tsx +++ b/src/frontend/apps/desk/src/features/members/components/MemberGrid.tsx @@ -6,11 +6,10 @@ 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 { Role, Team } from '@/features/teams'; import { useTeamAccesses } from '../api/'; import { PAGE_SIZE } from '../conf'; -import { Role } from '../types'; import { MemberAction } from './MemberAction'; diff --git a/src/frontend/apps/desk/src/features/members/components/ModalRole.tsx b/src/frontend/apps/desk/src/features/members/components/ModalRole.tsx index 8e7c051..9d75346 100644 --- a/src/frontend/apps/desk/src/features/members/components/ModalRole.tsx +++ b/src/frontend/apps/desk/src/features/members/components/ModalRole.tsx @@ -10,9 +10,10 @@ import { useTranslation } from 'react-i18next'; import { Box, Text, TextErrors } from '@/components'; import { useAuthStore } from '@/features/auth'; +import { Role } from '@/features/teams'; import { useUpdateTeamAccess } from '../api/useUpdateTeamAccess'; -import { Access, Role } from '../types'; +import { Access } from '../types'; import { ChooseRole } from './ChooseRole'; diff --git a/src/frontend/apps/desk/src/features/members/types.tsx b/src/frontend/apps/desk/src/features/members/types.tsx index f1cb1f6..54a63c9 100644 --- a/src/frontend/apps/desk/src/features/members/types.tsx +++ b/src/frontend/apps/desk/src/features/members/types.tsx @@ -1,11 +1,5 @@ import { User } from '@/features/auth/'; -import { Team } from '@/features/teams/'; - -export enum Role { - MEMBER = 'member', - ADMIN = 'administrator', - OWNER = 'owner', -} +import { Role, Team } from '@/features/teams/'; export interface Access { id: string; diff --git a/src/frontend/apps/desk/src/features/teams/api/index.ts b/src/frontend/apps/desk/src/features/teams/api/index.ts index 56a0edd..13c1cac 100644 --- a/src/frontend/apps/desk/src/features/teams/api/index.ts +++ b/src/frontend/apps/desk/src/features/teams/api/index.ts @@ -1,4 +1,3 @@ -export * from './types'; export * from './useCreateTeam'; export * from './useTeam'; export * from './useTeams'; diff --git a/src/frontend/apps/desk/src/features/teams/api/useTeam.tsx b/src/frontend/apps/desk/src/features/teams/api/useTeam.tsx index bff61d2..b1e6af3 100644 --- a/src/frontend/apps/desk/src/features/teams/api/useTeam.tsx +++ b/src/frontend/apps/desk/src/features/teams/api/useTeam.tsx @@ -2,7 +2,7 @@ import { UseQueryOptions, useQuery } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; -import { Team } from './types'; +import { Team } from '../types'; export type TeamParams = { id: string; diff --git a/src/frontend/apps/desk/src/features/teams/api/useTeams.tsx b/src/frontend/apps/desk/src/features/teams/api/useTeams.tsx index 973a4f3..f259f26 100644 --- a/src/frontend/apps/desk/src/features/teams/api/useTeams.tsx +++ b/src/frontend/apps/desk/src/features/teams/api/useTeams.tsx @@ -7,7 +7,7 @@ import { import { APIError, APIList, errorCauses, fetchAPI } from '@/api'; -import { Team } from './types'; +import { Team } from '../types'; export enum TeamsOrdering { BY_CREATED_ON = 'created_at', diff --git a/src/frontend/apps/desk/src/features/teams/api/useUpdateTeam.tsx b/src/frontend/apps/desk/src/features/teams/api/useUpdateTeam.tsx index a3891aa..4520d7a 100644 --- a/src/frontend/apps/desk/src/features/teams/api/useUpdateTeam.tsx +++ b/src/frontend/apps/desk/src/features/teams/api/useUpdateTeam.tsx @@ -2,7 +2,8 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; -import { Team } from './types'; +import { Team } from '../types'; + import { KEY_TEAM } from './useTeam'; import { KEY_LIST_TEAM } from './useTeams'; diff --git a/src/frontend/apps/desk/src/features/teams/components/ModalUpdateTeam.tsx b/src/frontend/apps/desk/src/features/teams/components/ModalUpdateTeam.tsx index 81d28e3..60d0fc6 100644 --- a/src/frontend/apps/desk/src/features/teams/components/ModalUpdateTeam.tsx +++ b/src/frontend/apps/desk/src/features/teams/components/ModalUpdateTeam.tsx @@ -11,8 +11,9 @@ import { useState } from 'react'; import { Box, Text } from '@/components'; import useCunninghamTheme from '@/cunningham/useCunninghamTheme'; -import { Team, useUpdateTeam } from '../api'; +import { useUpdateTeam } from '../api'; import IconEdit from '../assets/icon-edit.svg'; +import { Team } from '../types'; import { InputTeamName } from './InputTeamName'; diff --git a/src/frontend/apps/desk/src/features/teams/components/Panel/TeamItem.tsx b/src/frontend/apps/desk/src/features/teams/components/Panel/TeamItem.tsx index 532a319..b922208 100644 --- a/src/frontend/apps/desk/src/features/teams/components/Panel/TeamItem.tsx +++ b/src/frontend/apps/desk/src/features/teams/components/Panel/TeamItem.tsx @@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'; import IconGroup from '@/assets/icons/icon-group.svg'; import { Box, StyledLink, Text } from '@/components'; import { useCunninghamTheme } from '@/cunningham'; -import { Team } from '@/features/teams/api/'; +import { Team } from '@/features/teams/'; import IconNone from '@/features/teams/assets/icon-none.svg'; interface TeamProps { diff --git a/src/frontend/apps/desk/src/features/teams/components/Panel/TeamList.tsx b/src/frontend/apps/desk/src/features/teams/components/Panel/TeamList.tsx index cc60ff9..fd14b2e 100644 --- a/src/frontend/apps/desk/src/features/teams/components/Panel/TeamList.tsx +++ b/src/frontend/apps/desk/src/features/teams/components/Panel/TeamList.tsx @@ -4,8 +4,7 @@ import { useTranslation } from 'react-i18next'; import { Box, Text } from '@/components'; import { InfiniteScroll } from '@/components/InfiniteScroll'; -import { Team, useTeams } from '@/features/teams/api/'; -import { useTeamStore } from '@/features/teams/store/useTeamsStore'; +import { Team, useTeamStore, useTeams } from '@/features/teams/'; import { TeamItem } from './TeamItem'; diff --git a/src/frontend/apps/desk/src/features/teams/index.tsx b/src/frontend/apps/desk/src/features/teams/index.tsx index 3d5bec6..47fce0a 100644 --- a/src/frontend/apps/desk/src/features/teams/index.tsx +++ b/src/frontend/apps/desk/src/features/teams/index.tsx @@ -1,2 +1,4 @@ -export * from './components'; export * from './api'; +export * from './components'; +export * from './types'; +export * from './store'; diff --git a/src/frontend/apps/desk/src/features/teams/store/index.ts b/src/frontend/apps/desk/src/features/teams/store/index.ts new file mode 100644 index 0000000..2479726 --- /dev/null +++ b/src/frontend/apps/desk/src/features/teams/store/index.ts @@ -0,0 +1 @@ +export * from './useTeamsStore'; diff --git a/src/frontend/apps/desk/src/features/teams/api/types.tsx b/src/frontend/apps/desk/src/features/teams/types.tsx similarity index 76% rename from src/frontend/apps/desk/src/features/teams/api/types.tsx rename to src/frontend/apps/desk/src/features/teams/types.tsx index 3fbd82e..ee8ad50 100644 --- a/src/frontend/apps/desk/src/features/teams/api/types.tsx +++ b/src/frontend/apps/desk/src/features/teams/types.tsx @@ -1,5 +1,11 @@ import { Access } from '@/features/members'; +export enum Role { + MEMBER = 'member', + ADMIN = 'administrator', + OWNER = 'owner', +} + export interface Team { id: string; name: string; diff --git a/src/frontend/apps/desk/src/pages/teams/[id].tsx b/src/frontend/apps/desk/src/pages/teams/[id].tsx index e59b626..1d58e24 100644 --- a/src/frontend/apps/desk/src/pages/teams/[id].tsx +++ b/src/frontend/apps/desk/src/pages/teams/[id].tsx @@ -5,8 +5,8 @@ import { ReactElement } from 'react'; import { Box } from '@/components'; import { TextErrors } from '@/components/TextErrors'; -import { MemberGrid, Role } from '@/features/members'; -import { TeamInfo, useTeam } from '@/features/teams/'; +import { MemberGrid } from '@/features/members'; +import { Role, TeamInfo, useTeam } from '@/features/teams/'; import { NextPageWithLayout } from '@/types/next'; import TeamLayout from './TeamLayout';