diff --git a/src/frontend/apps/impress/src/core/AppProvider.tsx b/src/frontend/apps/impress/src/core/AppProvider.tsx index 39a2f962..52c227e7 100644 --- a/src/frontend/apps/impress/src/core/AppProvider.tsx +++ b/src/frontend/apps/impress/src/core/AppProvider.tsx @@ -3,10 +3,10 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useEffect } from 'react'; import { useCunninghamTheme } from '@/cunningham'; +import { Auth } from '@/features/auth'; import '@/i18n/initI18n'; import { useResponsiveStore } from '@/stores/'; -import { Auth } from './auth/'; import { ConfigProvider } from './config/'; /** diff --git a/src/frontend/apps/impress/src/core/auth/index.ts b/src/frontend/apps/impress/src/core/auth/index.ts deleted file mode 100644 index e45c9a64..00000000 --- a/src/frontend/apps/impress/src/core/auth/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './api/types'; -export * from './Auth'; -export * from './ButtonLogin'; -export * from './useAuthStore'; diff --git a/src/frontend/apps/impress/src/core/index.ts b/src/frontend/apps/impress/src/core/index.ts index 20df7a86..831279fd 100644 --- a/src/frontend/apps/impress/src/core/index.ts +++ b/src/frontend/apps/impress/src/core/index.ts @@ -1,3 +1,2 @@ export * from './AppProvider'; -export * from './auth'; export * from './config'; diff --git a/src/frontend/apps/impress/src/core/auth/__tests__/useAuthStore.test.tsx b/src/frontend/apps/impress/src/features/auth/__tests__/useAuthStore.test.tsx similarity index 100% rename from src/frontend/apps/impress/src/core/auth/__tests__/useAuthStore.test.tsx rename to src/frontend/apps/impress/src/features/auth/__tests__/useAuthStore.test.tsx diff --git a/src/frontend/apps/impress/src/core/auth/api/getMe.tsx b/src/frontend/apps/impress/src/features/auth/api/getMe.tsx similarity index 100% rename from src/frontend/apps/impress/src/core/auth/api/getMe.tsx rename to src/frontend/apps/impress/src/features/auth/api/getMe.tsx diff --git a/src/frontend/apps/impress/src/core/auth/api/index.ts b/src/frontend/apps/impress/src/features/auth/api/index.ts similarity index 100% rename from src/frontend/apps/impress/src/core/auth/api/index.ts rename to src/frontend/apps/impress/src/features/auth/api/index.ts diff --git a/src/frontend/apps/impress/src/core/auth/api/types.ts b/src/frontend/apps/impress/src/features/auth/api/types.ts similarity index 100% rename from src/frontend/apps/impress/src/core/auth/api/types.ts rename to src/frontend/apps/impress/src/features/auth/api/types.ts diff --git a/src/frontend/apps/impress/src/core/auth/Auth.tsx b/src/frontend/apps/impress/src/features/auth/components/Auth.tsx similarity index 97% rename from src/frontend/apps/impress/src/core/auth/Auth.tsx rename to src/frontend/apps/impress/src/features/auth/components/Auth.tsx index bcfa6a53..a4746fbe 100644 --- a/src/frontend/apps/impress/src/core/auth/Auth.tsx +++ b/src/frontend/apps/impress/src/features/auth/components/Auth.tsx @@ -4,7 +4,7 @@ import { PropsWithChildren, useEffect, useState } from 'react'; import { Box } from '@/components'; -import { useAuthStore } from './useAuthStore'; +import { useAuthStore } from '../stores/useAuthStore'; /** * TODO: Remove this restriction when we will have a homepage design for non-authenticated users. diff --git a/src/frontend/apps/impress/src/core/auth/ButtonLogin.tsx b/src/frontend/apps/impress/src/features/auth/components/ButtonLogin.tsx similarity index 91% rename from src/frontend/apps/impress/src/core/auth/ButtonLogin.tsx rename to src/frontend/apps/impress/src/features/auth/components/ButtonLogin.tsx index abbdc437..1eecfc63 100644 --- a/src/frontend/apps/impress/src/core/auth/ButtonLogin.tsx +++ b/src/frontend/apps/impress/src/features/auth/components/ButtonLogin.tsx @@ -1,7 +1,7 @@ import { Button } from '@openfun/cunningham-react'; import { useTranslation } from 'react-i18next'; -import { useAuthStore } from '@/core/auth'; +import { useAuthStore } from '@/features/auth'; export const ButtonLogin = () => { const { t } = useTranslation(); diff --git a/src/frontend/apps/impress/src/features/auth/components/index.ts b/src/frontend/apps/impress/src/features/auth/components/index.ts new file mode 100644 index 00000000..17f3a905 --- /dev/null +++ b/src/frontend/apps/impress/src/features/auth/components/index.ts @@ -0,0 +1,2 @@ +export * from './Auth'; +export * from './ButtonLogin'; diff --git a/src/frontend/apps/impress/src/core/auth/conf.ts b/src/frontend/apps/impress/src/features/auth/conf.ts similarity index 100% rename from src/frontend/apps/impress/src/core/auth/conf.ts rename to src/frontend/apps/impress/src/features/auth/conf.ts diff --git a/src/frontend/apps/impress/src/features/auth/index.ts b/src/frontend/apps/impress/src/features/auth/index.ts new file mode 100644 index 00000000..b1b8f696 --- /dev/null +++ b/src/frontend/apps/impress/src/features/auth/index.ts @@ -0,0 +1,3 @@ +export * from './api/types'; +export * from './components'; +export * from './stores'; diff --git a/src/frontend/apps/impress/src/features/auth/stores/index.ts b/src/frontend/apps/impress/src/features/auth/stores/index.ts new file mode 100644 index 00000000..86014de6 --- /dev/null +++ b/src/frontend/apps/impress/src/features/auth/stores/index.ts @@ -0,0 +1 @@ +export * from './useAuthStore'; diff --git a/src/frontend/apps/impress/src/core/auth/useAuthStore.tsx b/src/frontend/apps/impress/src/features/auth/stores/useAuthStore.tsx similarity index 94% rename from src/frontend/apps/impress/src/core/auth/useAuthStore.tsx rename to src/frontend/apps/impress/src/features/auth/stores/useAuthStore.tsx index 63e285b2..8761789e 100644 --- a/src/frontend/apps/impress/src/core/auth/useAuthStore.tsx +++ b/src/frontend/apps/impress/src/features/auth/stores/useAuthStore.tsx @@ -3,8 +3,8 @@ import { create } from 'zustand'; import { baseApiUrl } from '@/api'; import { terminateCrispSession } from '@/services'; -import { User, getMe } from './api'; -import { PATH_AUTH_LOCAL_STORAGE } from './conf'; +import { User, getMe } from '../api'; +import { PATH_AUTH_LOCAL_STORAGE } from '../conf'; interface AuthStore { initiated: boolean; diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx index 326163dd..7c719560 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx @@ -10,7 +10,7 @@ import { css } from 'styled-components'; import * as Y from 'yjs'; import { Box, TextErrors } from '@/components'; -import { useAuthStore } from '@/core/auth'; +import { useAuthStore } from '@/features/auth'; import { Doc } from '@/features/docs/doc-management'; import { useUploadFile } from '../hook'; diff --git a/src/frontend/apps/impress/src/features/docs/doc-management/types.tsx b/src/frontend/apps/impress/src/features/docs/doc-management/types.tsx index 2b38fe31..6afcc517 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-management/types.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-management/types.tsx @@ -1,4 +1,4 @@ -import { User } from '@/core'; +import { User } from '@/features/auth'; export interface Access { id: string; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocAccess.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocAccess.tsx index 9f2edc16..e9f4c0c1 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocAccess.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocAccess.tsx @@ -1,7 +1,7 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; -import { User } from '@/core/auth'; +import { User } from '@/features/auth'; import { Access, Doc, diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocInvitation.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocInvitation.tsx index 921af05b..47cc2585 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocInvitation.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/api/useCreateDocInvitation.tsx @@ -1,7 +1,7 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; -import { User } from '@/core/auth'; +import { User } from '@/features/auth'; import { Doc, Role } from '@/features/docs/doc-management'; import { Invitation, OptionType } from '@/features/docs/doc-share/types'; import { ContentLanguage } from '@/i18n/types'; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/api/useUsers.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/api/useUsers.tsx index 54dc8e32..4b7dbda5 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/api/useUsers.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/api/useUsers.tsx @@ -1,7 +1,7 @@ import { UseQueryOptions, useQuery } from '@tanstack/react-query'; import { APIError, APIList, errorCauses, fetchAPI } from '@/api'; -import { User } from '@/core/auth'; +import { User } from '@/features/auth'; import { Doc } from '@/features/docs/doc-management'; export type UsersParams = { diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberList.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberList.tsx index 786cc38f..e1282d53 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberList.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberList.tsx @@ -9,8 +9,8 @@ import { css } from 'styled-components'; import { APIError } from '@/api'; import { Box } from '@/components'; -import { User } from '@/core'; import { useCunninghamTheme } from '@/cunningham'; +import { User } from '@/features/auth'; import { Doc, Role } from '@/features/docs'; import { useLanguage } from '@/i18n/hooks/useLanguage'; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberListItem.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberListItem.tsx index 24136e11..1164c828 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberListItem.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareAddMemberListItem.tsx @@ -2,8 +2,8 @@ import { Button } from '@openfun/cunningham-react'; import { css } from 'styled-components'; import { Box, Icon, Text } from '@/components'; -import { User } from '@/core'; import { useCunninghamTheme } from '@/cunningham'; +import { User } from '@/features/auth'; type Props = { user: User; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareInvitationItem.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareInvitationItem.tsx index bc05d17d..6ffc5f33 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareInvitationItem.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareInvitationItem.tsx @@ -7,8 +7,8 @@ import { DropdownMenuOption, IconOptions, } from '@/components'; -import { User } from '@/core'; import { useCunninghamTheme } from '@/cunningham'; +import { User } from '@/features/auth'; import { Doc, Role } from '@/features/docs/doc-management'; import { useDeleteDocInvitation, useUpdateDocInvitation } from '../api'; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx index b9519e41..9f26d059 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx @@ -10,7 +10,7 @@ import { QuickSearchData, QuickSearchGroup, } from '@/components/quick-search/'; -import { User } from '@/core'; +import { User } from '@/features/auth'; import { Access, Doc } from '@/features/docs'; import { useResponsiveStore } from '@/stores'; import { isValidEmail } from '@/utils'; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModalInviteUserByEmail.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModalInviteUserByEmail.tsx index 17599cdd..0727b92c 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModalInviteUserByEmail.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModalInviteUserByEmail.tsx @@ -2,7 +2,7 @@ import { useTranslation } from 'react-i18next'; import { css } from 'styled-components'; import { Box, Icon, Text } from '@/components'; -import { User } from '@/core'; +import { User } from '@/features/auth'; import { SearchUserRow } from './SearchUserRow'; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/SearchUserRow.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/SearchUserRow.tsx index ce4f9e50..f967a3bc 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/SearchUserRow.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/SearchUserRow.tsx @@ -3,8 +3,8 @@ import { QuickSearchItemContent, QuickSearchItemContentProps, } from '@/components/quick-search'; -import { User } from '@/core'; import { useCunninghamTheme } from '@/cunningham'; +import { User } from '@/features/auth'; import { UserAvatar } from './UserAvatar'; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/UserAvatar.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/UserAvatar.tsx index 62ee1682..6cf6cac3 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/UserAvatar.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/UserAvatar.tsx @@ -1,8 +1,8 @@ import { css } from 'styled-components'; import { Box } from '@/components'; -import { User } from '@/core'; import { tokens } from '@/cunningham'; +import { User } from '@/features/auth'; const colors = tokens.themes.default.theme.colors; diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/hooks/useWhoAmI.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/hooks/useWhoAmI.tsx index 7ccdbdb3..7cc77d8e 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/hooks/useWhoAmI.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/hooks/useWhoAmI.tsx @@ -1,4 +1,4 @@ -import { useAuthStore } from '@/core/auth'; +import { useAuthStore } from '@/features/auth'; import { Access, Role } from '@/features/docs/doc-management'; export const useWhoAmI = (access: Access) => { diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/types.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/types.tsx index 58d4848a..e8679693 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/types.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/types.tsx @@ -1,4 +1,4 @@ -import { User } from '@/core/auth'; +import { User } from '@/features/auth'; import { Role } from '@/features/docs'; export interface Invitation { diff --git a/src/frontend/apps/impress/src/features/header/components/Header.tsx b/src/frontend/apps/impress/src/features/header/components/Header.tsx index de6eb6e6..4fb452a4 100644 --- a/src/frontend/apps/impress/src/features/header/components/Header.tsx +++ b/src/frontend/apps/impress/src/features/header/components/Header.tsx @@ -4,8 +4,8 @@ import { useTranslation } from 'react-i18next'; import { css } from 'styled-components'; import { Box, Icon, StyledLink } from '@/components/'; -import { ButtonLogin } from '@/core/auth'; import { useCunninghamTheme } from '@/cunningham'; +import { ButtonLogin } from '@/features/auth'; import { LanguagePicker } from '@/features/language'; import { useLeftPanelStore } from '@/features/left-panel'; import { useResponsiveStore } from '@/stores'; diff --git a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx index 3733b0f9..d0eb7292 100644 --- a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx +++ b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx @@ -3,8 +3,8 @@ import { useCallback, useEffect } from 'react'; import { createGlobalStyle, css } from 'styled-components'; import { Box, SeparatedSection } from '@/components'; -import { ButtonLogin } from '@/core'; import { useCunninghamTheme } from '@/cunningham'; +import { ButtonLogin } from '@/features/auth'; import { HEADER_HEIGHT } from '@/features/header/conf'; import { LanguagePicker } from '@/features/language'; import { useResponsiveStore } from '@/stores'; diff --git a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx index 81748507..abe26a91 100644 --- a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx +++ b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx @@ -4,7 +4,7 @@ import { useRouter } from 'next/navigation'; import { PropsWithChildren } from 'react'; import { Box, Icon, SeparatedSection } from '@/components'; -import { useAuthStore } from '@/core'; +import { useAuthStore } from '@/features/auth'; import { useCreateDoc } from '@/features/docs/doc-management'; import { DocSearchModal } from '@/features/docs/doc-search'; import { useCmdK } from '@/hook/useCmdK'; diff --git a/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx b/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx index 95b29a5d..6587db52 100644 --- a/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx +++ b/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx @@ -5,7 +5,7 @@ import { useRouter } from 'next/router'; import { useEffect, useState } from 'react'; import { Box, Text, TextErrors } from '@/components'; -import { useAuthStore } from '@/core/auth'; +import { useAuthStore } from '@/features/auth'; import { DocEditor } from '@/features/docs/doc-editor'; import { Doc, diff --git a/src/frontend/apps/impress/src/services/Crisp.tsx b/src/frontend/apps/impress/src/services/Crisp.tsx index ad165a0f..673cabc8 100644 --- a/src/frontend/apps/impress/src/services/Crisp.tsx +++ b/src/frontend/apps/impress/src/services/Crisp.tsx @@ -4,7 +4,7 @@ import { Crisp } from 'crisp-sdk-web'; -import { User } from '@/core'; +import { User } from '@/features/auth'; export const initializeCrispSession = (user: User) => { if (!Crisp.isCrispInjected()) {