diff --git a/front/src/App.tsx b/front/src/App.tsx
index 596b3e0c6..475455d37 100644
--- a/front/src/App.tsx
+++ b/front/src/App.tsx
@@ -4,8 +4,11 @@ import { AnimatePresence, LayoutGroup } from 'framer-motion';
import { RequireOnboarded } from '@/auth/components/RequireOnboarded';
import { RequireOnboarding } from '@/auth/components/RequireOnboarding';
import { AuthModal } from '@/auth/components/ui/Modal';
-import { AuthLayout } from '@/ui/layout/AuthLayout';
-import { DefaultLayout } from '@/ui/layout/DefaultLayout';
+import { AppPath } from '@/types/AppPath';
+import { AuthPath } from '@/types/AuthPath';
+import { SettingsPath } from '@/types/SettingsPath';
+import { AuthLayout } from '@/ui/layout/components/AuthLayout';
+import { DefaultLayout } from '@/ui/layout/components/DefaultLayout';
import { CreateProfile } from '~/pages/auth/CreateProfile';
import { CreateWorkspace } from '~/pages/auth/CreateWorkspace';
import { Index } from '~/pages/auth/Index';
@@ -20,10 +23,7 @@ import { SettingsWorkspaceMembers } from '~/pages/settings/SettingsWorkspaceMemb
import { CompanyShow } from './pages/companies/CompanyShow';
import { PersonShow } from './pages/people/PersonShow';
import { SettingsWorksapce } from './pages/settings/SettingsWorkspace';
-import { AppPath } from './sync-hooks/types/AppPath';
-import { AuthPath } from './sync-hooks/types/AuthPath';
-import { SettingsPath } from './sync-hooks/types/SettingsPath';
-import { AppInternalHooks } from './AppInternalHooks';
+import { AppInternalHooks } from './sync-hooks/AppInternalHooks';
/**
* AuthRoutes is used to allow transitions between auth pages with framer-motion.
diff --git a/front/src/AppInternalHooks.tsx b/front/src/AppInternalHooks.tsx
deleted file mode 100644
index fdae89916..000000000
--- a/front/src/AppInternalHooks.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { AnalyticsHook } from './sync-hooks/AnalyticsHook';
-import { GotoHotkeysHooks } from './sync-hooks/GotoHotkeysHooks';
-import { HotkeyScopeAutoSyncHook } from './sync-hooks/HotkeyScopeAutoSyncHook';
-import { HotkeyScopeBrowserRouterSync } from './sync-hooks/HotkeyScopeBrowserRouterSync';
-
-export function AppInternalHooks() {
- return (
- <>
-
-
-
-
- >
- );
-}
diff --git a/front/src/AppNavbar.tsx b/front/src/AppNavbar.tsx
index 2bbfb4b29..a8edf67b9 100644
--- a/front/src/AppNavbar.tsx
+++ b/front/src/AppNavbar.tsx
@@ -10,12 +10,11 @@ import {
IconSettings,
IconTargetArrow,
IconUser,
-} from '@/ui/icons/index';
+} from '@/ui/icon/index';
import { useIsSubNavbarDisplayed } from '@/ui/layout/hooks/useIsSubNavbarDisplayed';
-import MainNavbar from '@/ui/layout/navbar/MainNavbar';
-
-import NavItem from './modules/ui/layout/navbar/NavItem';
-import NavTitle from './modules/ui/layout/navbar/NavTitle';
+import MainNavbar from '@/ui/navbar/components/MainNavbar';
+import NavItem from '@/ui/navbar/components/NavItem';
+import NavTitle from '@/ui/navbar/components/NavTitle';
export function AppNavbar() {
const theme = useTheme();
diff --git a/front/src/modules/utils/hooks/useFirstMountState.ts b/front/src/hooks/useFirstMountState.ts
similarity index 100%
rename from front/src/modules/utils/hooks/useFirstMountState.ts
rename to front/src/hooks/useFirstMountState.ts
diff --git a/front/src/sync-hooks/hooks/useIsMatchingLocation.ts b/front/src/hooks/useIsMatchingLocation.ts
similarity index 88%
rename from front/src/sync-hooks/hooks/useIsMatchingLocation.ts
rename to front/src/hooks/useIsMatchingLocation.ts
index 3db913d01..e9c9594b1 100644
--- a/front/src/sync-hooks/hooks/useIsMatchingLocation.ts
+++ b/front/src/hooks/useIsMatchingLocation.ts
@@ -1,7 +1,7 @@
import { matchPath, useLocation } from 'react-router-dom';
import { parse } from 'url';
-import { AppBasePath } from '../types/AppBasePath';
+import { AppBasePath } from '@/types/AppBasePath';
export function useIsMatchingLocation() {
const location = useLocation();
diff --git a/front/src/modules/utils/hooks/usePrevious.ts b/front/src/hooks/usePrevious.ts
similarity index 100%
rename from front/src/modules/utils/hooks/usePrevious.ts
rename to front/src/hooks/usePrevious.ts
diff --git a/front/src/modules/utils/hooks/useUpdateEffect.ts b/front/src/hooks/useUpdateEffect.ts
similarity index 100%
rename from front/src/modules/utils/hooks/useUpdateEffect.ts
rename to front/src/hooks/useUpdateEffect.ts
diff --git a/front/src/index.tsx b/front/src/index.tsx
index 5f1ac7423..7371d3200 100644
--- a/front/src/index.tsx
+++ b/front/src/index.tsx
@@ -4,16 +4,16 @@ import { HotkeysProvider } from 'react-hotkeys-hook';
import { BrowserRouter } from 'react-router-dom';
import { RecoilRoot } from 'recoil';
-import { INITIAL_HOTKEYS_SCOPES } from '@/lib/hotkeys/constants';
+import { ApolloProvider } from '@/apollo/components/ApolloProvider';
+import { ClientConfigProvider } from '@/client-config/components/ClientConfigProvider';
+import { INITIAL_HOTKEYS_SCOPES } from '@/ui/hotkey/constants';
+import { SnackBarProvider } from '@/ui/snack-bar/components/SnackBarProvider';
+import { AppThemeProvider } from '@/ui/themes/components/AppThemeProvider';
import { ThemeType } from '@/ui/themes/themes';
+import { UserProvider } from '@/users/components/UserProvider';
import '@emotion/react';
-import { ApolloProvider } from './providers/apollo/ApolloProvider';
-import { ClientConfigProvider } from './providers/client-config/ClientConfigProvider';
-import { SnackBarProvider } from './providers/snack-bar/SnackBarProvider';
-import { AppThemeProvider } from './providers/theme/AppThemeProvider';
-import { UserProvider } from './providers/user/UserProvider';
import { App } from './App';
import './index.css';
diff --git a/front/src/modules/comments/components/comment/CommentHeader.tsx b/front/src/modules/activities/comment/CommentHeader.tsx
similarity index 96%
rename from front/src/modules/comments/components/comment/CommentHeader.tsx
rename to front/src/modules/activities/comment/CommentHeader.tsx
index c856f8126..ec210e7d6 100644
--- a/front/src/modules/comments/components/comment/CommentHeader.tsx
+++ b/front/src/modules/activities/comment/CommentHeader.tsx
@@ -2,12 +2,13 @@ import { Tooltip } from 'react-tooltip';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { CommentForDrawer } from '@/comments/types/CommentForDrawer';
import { Avatar } from '@/users/components/Avatar';
import {
beautifyExactDate,
beautifyPastDateRelativeToNow,
-} from '@/utils/datetime/date-utils';
+} from '~/utils/date-utils';
+
+import { CommentForDrawer } from '../types/CommentForDrawer';
type OwnProps = {
comment: Pick;
diff --git a/front/src/modules/comments/components/comment/CommentThreadItem.tsx b/front/src/modules/activities/comment/CommentThreadItem.tsx
similarity index 92%
rename from front/src/modules/comments/components/comment/CommentThreadItem.tsx
rename to front/src/modules/activities/comment/CommentThreadItem.tsx
index 5f9b00d83..a82e12329 100644
--- a/front/src/modules/comments/components/comment/CommentThreadItem.tsx
+++ b/front/src/modules/activities/comment/CommentThreadItem.tsx
@@ -1,6 +1,6 @@
import styled from '@emotion/styled';
-import { CommentForDrawer } from '@/comments/types/CommentForDrawer';
+import { CommentForDrawer } from '../types/CommentForDrawer';
import { CommentHeader } from './CommentHeader';
diff --git a/front/src/modules/comments/components/comment/__stories__/CommentHeader.stories.tsx b/front/src/modules/activities/comment/__stories__/CommentHeader.stories.tsx
similarity index 94%
rename from front/src/modules/comments/components/comment/__stories__/CommentHeader.stories.tsx
rename to front/src/modules/activities/comment/__stories__/CommentHeader.stories.tsx
index b6fa9101b..81966110b 100644
--- a/front/src/modules/comments/components/comment/__stories__/CommentHeader.stories.tsx
+++ b/front/src/modules/activities/comment/__stories__/CommentHeader.stories.tsx
@@ -1,11 +1,11 @@
import type { Meta, StoryObj } from '@storybook/react';
import { DateTime } from 'luxon';
-import { CommentForDrawer } from '@/comments/types/CommentForDrawer';
+import { CommentThreadActionBar } from '@/activities/right-drawer/components/CommentThreadActionBar';
+import { CommentForDrawer } from '@/activities/types/CommentForDrawer';
import { mockedUsersData } from '~/testing/mock-data/users';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
-import { CommentThreadActionBar } from '../../right-drawer/CommentThreadActionBar';
import { CommentHeader } from '../CommentHeader';
const meta: Meta = {
diff --git a/front/src/modules/comments/components/comment-thread/CommentThreadBodyEditor.tsx b/front/src/modules/activities/components/CommentThreadBodyEditor.tsx
similarity index 90%
rename from front/src/modules/comments/components/comment-thread/CommentThreadBodyEditor.tsx
rename to front/src/modules/activities/components/CommentThreadBodyEditor.tsx
index fc46a0cb0..ddf4bad5c 100644
--- a/front/src/modules/comments/components/comment-thread/CommentThreadBodyEditor.tsx
+++ b/front/src/modules/activities/components/CommentThreadBodyEditor.tsx
@@ -3,15 +3,16 @@ import { getOperationName } from '@apollo/client/utilities';
import { BlockNoteEditor } from '@blocknote/core';
import { useBlockNote } from '@blocknote/react';
import styled from '@emotion/styled';
+import debounce from 'lodash.debounce';
-import { GET_COMMENT_THREADS_BY_TARGETS } from '@/comments/services';
-import { BlockEditor } from '@/ui/components/editor/BlockEditor';
-import { debounce } from '@/utils/debounce';
+import { BlockEditor } from '@/ui/editor/components/BlockEditor';
import {
CommentThread,
useUpdateCommentThreadMutation,
} from '~/generated/graphql';
+import { GET_COMMENT_THREADS_BY_TARGETS } from '../queries/select';
+
const BlockNoteStyledContainer = styled.div`
width: 100%;
`;
diff --git a/front/src/modules/comments/components/comment-thread/CommentThreadComments.tsx b/front/src/modules/activities/components/CommentThreadComments.tsx
similarity index 90%
rename from front/src/modules/comments/components/comment-thread/CommentThreadComments.tsx
rename to front/src/modules/activities/components/CommentThreadComments.tsx
index 38c794f03..b6f2fba1f 100644
--- a/front/src/modules/comments/components/comment-thread/CommentThreadComments.tsx
+++ b/front/src/modules/activities/components/CommentThreadComments.tsx
@@ -4,13 +4,13 @@ import { useRecoilValue } from 'recoil';
import { v4 } from 'uuid';
import { currentUserState } from '@/auth/states/currentUserState';
-import { GET_COMMENT_THREAD } from '@/comments/services';
-import { CommentForDrawer } from '@/comments/types/CommentForDrawer';
-import { AutosizeTextInput } from '@/ui/components/inputs/AutosizeTextInput';
-import { isNonEmptyString } from '@/utils/type-guards/isNonEmptyString';
+import { AutosizeTextInput } from '@/ui/input/components/AutosizeTextInput';
import { CommentThread, useCreateCommentMutation } from '~/generated/graphql';
+import { isNonEmptyString } from '~/utils/isNonEmptyString';
import { CommentThreadItem } from '../comment/CommentThreadItem';
+import { GET_COMMENT_THREAD } from '../queries';
+import { CommentForDrawer } from '../types/CommentForDrawer';
type OwnProps = {
commentThread: Pick & {
diff --git a/front/src/modules/comments/components/comment-thread/CommentThreadCreateButton.tsx b/front/src/modules/activities/components/CommentThreadCreateButton.tsx
similarity index 86%
rename from front/src/modules/comments/components/comment-thread/CommentThreadCreateButton.tsx
rename to front/src/modules/activities/components/CommentThreadCreateButton.tsx
index 3051275c6..75e8d5788 100644
--- a/front/src/modules/comments/components/comment-thread/CommentThreadCreateButton.tsx
+++ b/front/src/modules/activities/components/CommentThreadCreateButton.tsx
@@ -1,8 +1,8 @@
import { useTheme } from '@emotion/react';
-import { Button } from '@/ui/components/buttons/Button';
-import { ButtonGroup } from '@/ui/components/buttons/ButtonGroup';
-import { IconCheckbox, IconNotes, IconTimelineEvent } from '@/ui/icons/index';
+import { Button } from '@/ui/button/components/Button';
+import { ButtonGroup } from '@/ui/button/components/ButtonGroup';
+import { IconCheckbox, IconNotes, IconTimelineEvent } from '@/ui/icon/index';
type CommentThreadCreateButtonProps = {
onNoteClick?: () => void;
diff --git a/front/src/modules/comments/components/comment-thread/CommentThreadRelationPicker.tsx b/front/src/modules/activities/components/CommentThreadRelationPicker.tsx
similarity index 89%
rename from front/src/modules/comments/components/comment-thread/CommentThreadRelationPicker.tsx
rename to front/src/modules/activities/components/CommentThreadRelationPicker.tsx
index 7a9a6c773..59b5ce65b 100644
--- a/front/src/modules/comments/components/comment-thread/CommentThreadRelationPicker.tsx
+++ b/front/src/modules/activities/components/CommentThreadRelationPicker.tsx
@@ -8,24 +8,25 @@ import {
useFloating,
} from '@floating-ui/react';
-import { useHandleCheckableCommentThreadTargetChange } from '@/comments/hooks/useHandleCheckableCommentThreadTargetChange';
import { CompanyChip } from '@/companies/components/CompanyChip';
import { useFilteredSearchCompanyQuery } from '@/companies/queries';
-import { usePreviousHotkeyScope } from '@/lib/hotkeys/hooks/usePreviousHotkeyScope';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
import { PersonChip } from '@/people/components/PersonChip';
-import { useFilteredSearchPeopleQuery } from '@/people/services';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { MultipleEntitySelect } from '@/relation-picker/components/MultipleEntitySelect';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
+import { useFilteredSearchPeopleQuery } from '@/people/queries';
import { useListenClickOutsideArrayOfRef } from '@/ui/hooks/useListenClickOutsideArrayOfRef';
-import { flatMapAndSortEntityForSelectArrayOfArrayByName } from '@/ui/utils/flatMapAndSortEntityForSelectArrayByName';
+import { usePreviousHotkeyScope } from '@/ui/hotkey/hooks/usePreviousHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { MultipleEntitySelect } from '@/ui/relation-picker/components/MultipleEntitySelect';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
import {
CommentableType,
CommentThread,
CommentThreadTarget,
} from '~/generated/graphql';
+import { useHandleCheckableCommentThreadTargetChange } from '../hooks/useHandleCheckableCommentThreadTargetChange';
+import { flatMapAndSortEntityForSelectArrayOfArrayByName } from '../utils/flatMapAndSortEntityForSelectArrayByName';
+
type OwnProps = {
commentThread?: Pick & {
commentThreadTargets: Array<
diff --git a/front/src/modules/comments/components/comment-thread/CommentThreadTypeDropdown.tsx b/front/src/modules/activities/components/CommentThreadTypeDropdown.tsx
similarity index 93%
rename from front/src/modules/comments/components/comment-thread/CommentThreadTypeDropdown.tsx
rename to front/src/modules/activities/components/CommentThreadTypeDropdown.tsx
index e2753c15e..d8f29e8a5 100644
--- a/front/src/modules/comments/components/comment-thread/CommentThreadTypeDropdown.tsx
+++ b/front/src/modules/activities/components/CommentThreadTypeDropdown.tsx
@@ -1,8 +1,8 @@
import {
DropdownButton,
DropdownOptionType,
-} from '@/ui/components/buttons/DropdownButton';
-import { IconCheck, IconNotes } from '@/ui/icons/index';
+} from '@/ui/button/components/DropdownButton';
+import { IconCheck, IconNotes } from '@/ui/icon/index';
import {
ActivityType,
CommentThread,
diff --git a/front/src/modules/comments/components/comment-thread/__stories__/CommentThreadRelationPicker.stories.tsx b/front/src/modules/activities/components/__stories__/CommentThreadRelationPicker.stories.tsx
similarity index 100%
rename from front/src/modules/comments/components/comment-thread/__stories__/CommentThreadRelationPicker.stories.tsx
rename to front/src/modules/activities/components/__stories__/CommentThreadRelationPicker.stories.tsx
diff --git a/front/src/modules/comments/hooks/useHandleCheckableCommentThreadTargetChange.ts b/front/src/modules/activities/hooks/useHandleCheckableCommentThreadTargetChange.ts
similarity index 95%
rename from front/src/modules/comments/hooks/useHandleCheckableCommentThreadTargetChange.ts
rename to front/src/modules/activities/hooks/useHandleCheckableCommentThreadTargetChange.ts
index 6c0566e7f..25a4dc985 100644
--- a/front/src/modules/comments/hooks/useHandleCheckableCommentThreadTargetChange.ts
+++ b/front/src/modules/activities/hooks/useHandleCheckableCommentThreadTargetChange.ts
@@ -2,7 +2,7 @@ import { getOperationName } from '@apollo/client/utilities';
import { v4 } from 'uuid';
import { GET_COMPANIES } from '@/companies/queries';
-import { GET_PEOPLE } from '@/people/services';
+import { GET_PEOPLE } from '@/people/queries';
import {
CommentThread,
CommentThreadTarget,
@@ -10,7 +10,7 @@ import {
useRemoveCommentThreadTargetOnCommentThreadMutation,
} from '~/generated/graphql';
-import { GET_COMMENT_THREADS_BY_TARGETS } from '../services';
+import { GET_COMMENT_THREADS_BY_TARGETS } from '../queries';
import { CommentableEntityForSelect } from '../types/CommentableEntityForSelect';
export function useHandleCheckableCommentThreadTargetChange({
diff --git a/front/src/modules/comments/hooks/useOpenCommentThreadRightDrawer.ts b/front/src/modules/activities/hooks/useOpenCommentThreadRightDrawer.ts
similarity index 64%
rename from front/src/modules/comments/hooks/useOpenCommentThreadRightDrawer.ts
rename to front/src/modules/activities/hooks/useOpenCommentThreadRightDrawer.ts
index 013d5d01d..9869c9d66 100644
--- a/front/src/modules/comments/hooks/useOpenCommentThreadRightDrawer.ts
+++ b/front/src/modules/activities/hooks/useOpenCommentThreadRightDrawer.ts
@@ -1,10 +1,10 @@
import { useRecoilState } from 'recoil';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { RightDrawerHotkeyScope } from '@/ui/layout/right-drawer/types/RightDrawerHotkeyScope';
-import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useOpenRightDrawer } from '@/ui/right-drawer/hooks/useOpenRightDrawer';
+import { RightDrawerHotkeyScope } from '@/ui/right-drawer/types/RightDrawerHotkeyScope';
+import { RightDrawerPages } from '@/ui/right-drawer/types/RightDrawerPages';
-import { useOpenRightDrawer } from '../../ui/layout/right-drawer/hooks/useOpenRightDrawer';
import { viewableCommentThreadIdState } from '../states/viewableCommentThreadIdState';
export function useOpenCommentThreadRightDrawer() {
diff --git a/front/src/modules/comments/hooks/useOpenCreateCommentDrawerForSelectedRowIds.ts b/front/src/modules/activities/hooks/useOpenCreateCommentDrawerForSelectedRowIds.ts
similarity index 81%
rename from front/src/modules/comments/hooks/useOpenCreateCommentDrawerForSelectedRowIds.ts
rename to front/src/modules/activities/hooks/useOpenCreateCommentDrawerForSelectedRowIds.ts
index d0f5f3efb..3fc1e2b62 100644
--- a/front/src/modules/comments/hooks/useOpenCreateCommentDrawerForSelectedRowIds.ts
+++ b/front/src/modules/activities/hooks/useOpenCreateCommentDrawerForSelectedRowIds.ts
@@ -4,22 +4,19 @@ import { v4 } from 'uuid';
import { currentUserState } from '@/auth/states/currentUserState';
import { GET_COMPANIES } from '@/companies/queries';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { GET_PEOPLE } from '@/people/services';
-import { RightDrawerHotkeyScope } from '@/ui/layout/right-drawer/types/RightDrawerHotkeyScope';
-import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
-import { selectedRowIdsSelector } from '@/ui/tables/states/selectedRowIdsSelector';
+import { GET_PEOPLE } from '@/people/queries';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useOpenRightDrawer } from '@/ui/right-drawer/hooks/useOpenRightDrawer';
+import { RightDrawerHotkeyScope } from '@/ui/right-drawer/types/RightDrawerHotkeyScope';
+import { RightDrawerPages } from '@/ui/right-drawer/types/RightDrawerPages';
+import { selectedRowIdsSelector } from '@/ui/table/states/selectedRowIdsSelector';
import {
ActivityType,
CommentableType,
useCreateCommentThreadMutation,
} from '~/generated/graphql';
-import { useOpenRightDrawer } from '../../ui/layout/right-drawer/hooks/useOpenRightDrawer';
-import {
- GET_COMMENT_THREAD,
- GET_COMMENT_THREADS_BY_TARGETS,
-} from '../services';
+import { GET_COMMENT_THREAD, GET_COMMENT_THREADS_BY_TARGETS } from '../queries';
import { commentableEntityArrayState } from '../states/commentableEntityArrayState';
import { viewableCommentThreadIdState } from '../states/viewableCommentThreadIdState';
import { CommentableEntity } from '../types/CommentableEntity';
diff --git a/front/src/modules/comments/hooks/useOpenCreateCommentThreadDrawer.ts b/front/src/modules/activities/hooks/useOpenCreateCommentThreadDrawer.ts
similarity index 81%
rename from front/src/modules/comments/hooks/useOpenCreateCommentThreadDrawer.ts
rename to front/src/modules/activities/hooks/useOpenCreateCommentThreadDrawer.ts
index f98a0997a..f5290b94b 100644
--- a/front/src/modules/comments/hooks/useOpenCreateCommentThreadDrawer.ts
+++ b/front/src/modules/activities/hooks/useOpenCreateCommentThreadDrawer.ts
@@ -4,20 +4,17 @@ import { v4 } from 'uuid';
import { currentUserState } from '@/auth/states/currentUserState';
import { GET_COMPANIES } from '@/companies/queries';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { GET_PEOPLE } from '@/people/services';
-import { RightDrawerHotkeyScope } from '@/ui/layout/right-drawer/types/RightDrawerHotkeyScope';
-import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
+import { GET_PEOPLE } from '@/people/queries';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useOpenRightDrawer } from '@/ui/right-drawer/hooks/useOpenRightDrawer';
+import { RightDrawerHotkeyScope } from '@/ui/right-drawer/types/RightDrawerHotkeyScope';
+import { RightDrawerPages } from '@/ui/right-drawer/types/RightDrawerPages';
import {
ActivityType,
useCreateCommentThreadMutation,
} from '~/generated/graphql';
-import { useOpenRightDrawer } from '../../ui/layout/right-drawer/hooks/useOpenRightDrawer';
-import {
- GET_COMMENT_THREAD,
- GET_COMMENT_THREADS_BY_TARGETS,
-} from '../services';
+import { GET_COMMENT_THREAD, GET_COMMENT_THREADS_BY_TARGETS } from '../queries';
import { commentableEntityArrayState } from '../states/commentableEntityArrayState';
import { viewableCommentThreadIdState } from '../states/viewableCommentThreadIdState';
import { CommentableEntity } from '../types/CommentableEntity';
diff --git a/front/src/modules/comments/hooks/useOpenTimelineRightDrawer.ts b/front/src/modules/activities/hooks/useOpenTimelineRightDrawer.ts
similarity index 68%
rename from front/src/modules/comments/hooks/useOpenTimelineRightDrawer.ts
rename to front/src/modules/activities/hooks/useOpenTimelineRightDrawer.ts
index dad17e4aa..3dcaf8c97 100644
--- a/front/src/modules/comments/hooks/useOpenTimelineRightDrawer.ts
+++ b/front/src/modules/activities/hooks/useOpenTimelineRightDrawer.ts
@@ -1,10 +1,10 @@
import { useRecoilState } from 'recoil';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { RightDrawerHotkeyScope } from '@/ui/layout/right-drawer/types/RightDrawerHotkeyScope';
-import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useOpenRightDrawer } from '@/ui/right-drawer/hooks/useOpenRightDrawer';
+import { RightDrawerHotkeyScope } from '@/ui/right-drawer/types/RightDrawerHotkeyScope';
+import { RightDrawerPages } from '@/ui/right-drawer/types/RightDrawerPages';
-import { useOpenRightDrawer } from '../../ui/layout/right-drawer/hooks/useOpenRightDrawer';
import { commentableEntityArrayState } from '../states/commentableEntityArrayState';
import { CommentableEntity } from '../types/CommentableEntity';
diff --git a/front/src/modules/comments/services/create.ts b/front/src/modules/activities/queries/create.ts
similarity index 100%
rename from front/src/modules/comments/services/create.ts
rename to front/src/modules/activities/queries/create.ts
diff --git a/front/src/modules/comments/services/index.ts b/front/src/modules/activities/queries/index.ts
similarity index 100%
rename from front/src/modules/comments/services/index.ts
rename to front/src/modules/activities/queries/index.ts
diff --git a/front/src/modules/comments/services/select.ts b/front/src/modules/activities/queries/select.ts
similarity index 100%
rename from front/src/modules/comments/services/select.ts
rename to front/src/modules/activities/queries/select.ts
diff --git a/front/src/modules/comments/services/update.ts b/front/src/modules/activities/queries/update.ts
similarity index 100%
rename from front/src/modules/comments/services/update.ts
rename to front/src/modules/activities/queries/update.ts
diff --git a/front/src/modules/comments/components/right-drawer/CommentThread.tsx b/front/src/modules/activities/right-drawer/components/CommentThread.tsx
similarity index 87%
rename from front/src/modules/comments/components/right-drawer/CommentThread.tsx
rename to front/src/modules/activities/right-drawer/components/CommentThread.tsx
index f5fd02e6b..d9c00099d 100644
--- a/front/src/modules/comments/components/right-drawer/CommentThread.tsx
+++ b/front/src/modules/activities/right-drawer/components/CommentThread.tsx
@@ -2,20 +2,19 @@ import React, { useEffect, useMemo, useState } from 'react';
import { getOperationName } from '@apollo/client/utilities';
import styled from '@emotion/styled';
-import { GET_COMMENT_THREAD } from '@/comments/services';
-import { PropertyBox } from '@/ui/components/property-box/PropertyBox';
-import { PropertyBoxItem } from '@/ui/components/property-box/PropertyBoxItem';
-import { IconArrowUpRight } from '@/ui/icons/index';
-import { debounce } from '@/utils/debounce';
+import { CommentThreadBodyEditor } from '@/activities/components/CommentThreadBodyEditor';
+import { CommentThreadComments } from '@/activities/components/CommentThreadComments';
+import { CommentThreadRelationPicker } from '@/activities/components/CommentThreadRelationPicker';
+import { CommentThreadTypeDropdown } from '@/activities/components/CommentThreadTypeDropdown';
+import { GET_COMMENT_THREAD } from '@/activities/queries';
+import { PropertyBox } from '@/ui/editable-field/property-box/components/PropertyBox';
+import { PropertyBoxItem } from '@/ui/editable-field/property-box/components/PropertyBoxItem';
+import { IconArrowUpRight } from '@/ui/icon/index';
import {
useGetCommentThreadQuery,
useUpdateCommentThreadMutation,
} from '~/generated/graphql';
-
-import { CommentThreadBodyEditor } from '../comment-thread/CommentThreadBodyEditor';
-import { CommentThreadComments } from '../comment-thread/CommentThreadComments';
-import { CommentThreadRelationPicker } from '../comment-thread/CommentThreadRelationPicker';
-import { CommentThreadTypeDropdown } from '../comment-thread/CommentThreadTypeDropdown';
+import { debounce } from '~/utils/debounce';
import { CommentThreadActionBar } from './CommentThreadActionBar';
diff --git a/front/src/modules/comments/components/right-drawer/CommentThreadActionBar.tsx b/front/src/modules/activities/right-drawer/components/CommentThreadActionBar.tsx
similarity index 80%
rename from front/src/modules/comments/components/right-drawer/CommentThreadActionBar.tsx
rename to front/src/modules/activities/right-drawer/components/CommentThreadActionBar.tsx
index 72bb09c5d..a7123c877 100644
--- a/front/src/modules/comments/components/right-drawer/CommentThreadActionBar.tsx
+++ b/front/src/modules/activities/right-drawer/components/CommentThreadActionBar.tsx
@@ -3,12 +3,12 @@ import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
-import { GET_COMMENT_THREADS_BY_TARGETS } from '@/comments/services';
+import { GET_COMMENT_THREADS_BY_TARGETS } from '@/activities/queries';
import { GET_COMPANIES } from '@/companies/queries';
-import { GET_PEOPLE } from '@/people/services';
-import { Button } from '@/ui/components/buttons/Button';
-import { IconTrash } from '@/ui/icons';
-import { isRightDrawerOpenState } from '@/ui/layout/right-drawer/states/isRightDrawerOpenState';
+import { GET_PEOPLE } from '@/people/queries';
+import { Button } from '@/ui/button/components/Button';
+import { IconTrash } from '@/ui/icon';
+import { isRightDrawerOpenState } from '@/ui/right-drawer/states/isRightDrawerOpenState';
import { useDeleteCommentThreadMutation } from '~/generated/graphql';
const StyledContainer = styled.div`
diff --git a/front/src/modules/comments/components/right-drawer/RightDrawerTimeline.tsx b/front/src/modules/activities/right-drawer/components/RightDrawerTimeline.tsx
similarity index 58%
rename from front/src/modules/comments/components/right-drawer/RightDrawerTimeline.tsx
rename to front/src/modules/activities/right-drawer/components/RightDrawerTimeline.tsx
index 2925cafea..004f22930 100644
--- a/front/src/modules/comments/components/right-drawer/RightDrawerTimeline.tsx
+++ b/front/src/modules/activities/right-drawer/components/RightDrawerTimeline.tsx
@@ -1,11 +1,10 @@
import { useRecoilState } from 'recoil';
-import { commentableEntityArrayState } from '@/comments/states/commentableEntityArrayState';
-import { RightDrawerBody } from '@/ui/layout/right-drawer/components/RightDrawerBody';
-import { RightDrawerPage } from '@/ui/layout/right-drawer/components/RightDrawerPage';
-import { RightDrawerTopBar } from '@/ui/layout/right-drawer/components/RightDrawerTopBar';
-
-import { Timeline } from '../timeline/Timeline';
+import { commentableEntityArrayState } from '@/activities/states/commentableEntityArrayState';
+import { Timeline } from '@/activities/timeline/components/Timeline';
+import { RightDrawerBody } from '@/ui/right-drawer/components/RightDrawerBody';
+import { RightDrawerPage } from '@/ui/right-drawer/components/RightDrawerPage';
+import { RightDrawerTopBar } from '@/ui/right-drawer/components/RightDrawerTopBar';
export function RightDrawerTimeline() {
const [commentableEntityArray] = useRecoilState(commentableEntityArrayState);
diff --git a/front/src/modules/comments/components/right-drawer/create/RightDrawerCreateCommentThread.tsx b/front/src/modules/activities/right-drawer/components/create/RightDrawerCreateCommentThread.tsx
similarity index 60%
rename from front/src/modules/comments/components/right-drawer/create/RightDrawerCreateCommentThread.tsx
rename to front/src/modules/activities/right-drawer/components/create/RightDrawerCreateCommentThread.tsx
index 0663a3765..1e92d71d7 100644
--- a/front/src/modules/comments/components/right-drawer/create/RightDrawerCreateCommentThread.tsx
+++ b/front/src/modules/activities/right-drawer/components/create/RightDrawerCreateCommentThread.tsx
@@ -1,9 +1,9 @@
import { useRecoilValue } from 'recoil';
-import { viewableCommentThreadIdState } from '@/comments/states/viewableCommentThreadIdState';
-import { RightDrawerBody } from '@/ui/layout/right-drawer/components/RightDrawerBody';
-import { RightDrawerPage } from '@/ui/layout/right-drawer/components/RightDrawerPage';
-import { RightDrawerTopBar } from '@/ui/layout/right-drawer/components/RightDrawerTopBar';
+import { viewableCommentThreadIdState } from '@/activities/states/viewableCommentThreadIdState';
+import { RightDrawerBody } from '@/ui/right-drawer/components/RightDrawerBody';
+import { RightDrawerPage } from '@/ui/right-drawer/components/RightDrawerPage';
+import { RightDrawerTopBar } from '@/ui/right-drawer/components/RightDrawerTopBar';
import { CommentThread } from '../CommentThread';
diff --git a/front/src/modules/comments/components/right-drawer/edit/RightDrawerEditCommentThread.tsx b/front/src/modules/activities/right-drawer/components/edit/RightDrawerEditCommentThread.tsx
similarity index 54%
rename from front/src/modules/comments/components/right-drawer/edit/RightDrawerEditCommentThread.tsx
rename to front/src/modules/activities/right-drawer/components/edit/RightDrawerEditCommentThread.tsx
index 6e3c9a8c0..eaf5d7928 100644
--- a/front/src/modules/comments/components/right-drawer/edit/RightDrawerEditCommentThread.tsx
+++ b/front/src/modules/activities/right-drawer/components/edit/RightDrawerEditCommentThread.tsx
@@ -1,9 +1,9 @@
import { useRecoilValue } from 'recoil';
-import { viewableCommentThreadIdState } from '@/comments/states/viewableCommentThreadIdState';
-import { RightDrawerBody } from '@/ui/layout/right-drawer/components/RightDrawerBody';
-import { RightDrawerPage } from '@/ui/layout/right-drawer/components/RightDrawerPage';
-import { RightDrawerTopBar } from '@/ui/layout/right-drawer/components/RightDrawerTopBar';
+import { viewableCommentThreadIdState } from '@/activities/states/viewableCommentThreadIdState';
+import { RightDrawerBody } from '@/ui/right-drawer/components/RightDrawerBody';
+import { RightDrawerPage } from '@/ui/right-drawer/components/RightDrawerPage';
+import { RightDrawerTopBar } from '@/ui/right-drawer/components/RightDrawerTopBar';
import { CommentThread } from '../CommentThread';
diff --git a/front/src/modules/comments/states/commentableEntityArrayState.ts b/front/src/modules/activities/states/commentableEntityArrayState.ts
similarity index 100%
rename from front/src/modules/comments/states/commentableEntityArrayState.ts
rename to front/src/modules/activities/states/commentableEntityArrayState.ts
diff --git a/front/src/modules/comments/states/viewableCommentThreadIdState.ts b/front/src/modules/activities/states/viewableCommentThreadIdState.ts
similarity index 100%
rename from front/src/modules/comments/states/viewableCommentThreadIdState.ts
rename to front/src/modules/activities/states/viewableCommentThreadIdState.ts
diff --git a/front/src/modules/comments/components/table/CellCommentChip.tsx b/front/src/modules/activities/table/components/CellCommentChip.tsx
similarity index 100%
rename from front/src/modules/comments/components/table/CellCommentChip.tsx
rename to front/src/modules/activities/table/components/CellCommentChip.tsx
diff --git a/front/src/modules/comments/components/table/CommentChip.tsx b/front/src/modules/activities/table/components/CommentChip.tsx
similarity index 97%
rename from front/src/modules/comments/components/table/CommentChip.tsx
rename to front/src/modules/activities/table/components/CommentChip.tsx
index 6afe48ce4..120c2f50e 100644
--- a/front/src/modules/comments/components/table/CommentChip.tsx
+++ b/front/src/modules/activities/table/components/CommentChip.tsx
@@ -1,7 +1,7 @@
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { IconComment } from '@/ui/icons';
+import { IconComment } from '@/ui/icon';
export type CommentChipProps = {
count: number;
diff --git a/front/src/modules/comments/components/table/__stories__/CommentChip.stories.tsx b/front/src/modules/activities/table/components/__stories__/CommentChip.stories.tsx
similarity index 100%
rename from front/src/modules/comments/components/table/__stories__/CommentChip.stories.tsx
rename to front/src/modules/activities/table/components/__stories__/CommentChip.stories.tsx
diff --git a/front/src/modules/comments/components/timeline/Timeline.tsx b/front/src/modules/activities/timeline/components/Timeline.tsx
similarity index 93%
rename from front/src/modules/comments/components/timeline/Timeline.tsx
rename to front/src/modules/activities/timeline/components/Timeline.tsx
index ea49833a8..33f353a5e 100644
--- a/front/src/modules/comments/components/timeline/Timeline.tsx
+++ b/front/src/modules/activities/timeline/components/Timeline.tsx
@@ -2,22 +2,21 @@ import React from 'react';
import { Tooltip } from 'react-tooltip';
import styled from '@emotion/styled';
-import { useOpenCommentThreadRightDrawer } from '@/comments/hooks/useOpenCommentThreadRightDrawer';
-import { useOpenCreateCommentThreadDrawer } from '@/comments/hooks/useOpenCreateCommentThreadDrawer';
-import { CommentableEntity } from '@/comments/types/CommentableEntity';
-import { CommentThreadForDrawer } from '@/comments/types/CommentThreadForDrawer';
-import { IconNotes } from '@/ui/icons/index';
-import {
- beautifyExactDate,
- beautifyPastDateRelativeToNow,
-} from '@/utils/datetime/date-utils';
+import { CommentThreadCreateButton } from '@/activities/components/CommentThreadCreateButton';
+import { useOpenCommentThreadRightDrawer } from '@/activities/hooks/useOpenCommentThreadRightDrawer';
+import { useOpenCreateCommentThreadDrawer } from '@/activities/hooks/useOpenCreateCommentThreadDrawer';
+import { CommentableEntity } from '@/activities/types/CommentableEntity';
+import { CommentThreadForDrawer } from '@/activities/types/CommentThreadForDrawer';
+import { IconNotes } from '@/ui/icon/index';
import {
ActivityType,
SortOrder,
useGetCommentThreadsByTargetsQuery,
} from '~/generated/graphql';
-
-import { CommentThreadCreateButton } from '../comment-thread/CommentThreadCreateButton';
+import {
+ beautifyExactDate,
+ beautifyPastDateRelativeToNow,
+} from '~/utils/date-utils';
const StyledMainContainer = styled.div`
align-items: flex-start;
diff --git a/front/src/modules/comments/types/CommentForDrawer.ts b/front/src/modules/activities/types/CommentForDrawer.ts
similarity index 100%
rename from front/src/modules/comments/types/CommentForDrawer.ts
rename to front/src/modules/activities/types/CommentForDrawer.ts
diff --git a/front/src/modules/comments/types/CommentThreadForDrawer.ts b/front/src/modules/activities/types/CommentThreadForDrawer.ts
similarity index 100%
rename from front/src/modules/comments/types/CommentThreadForDrawer.ts
rename to front/src/modules/activities/types/CommentThreadForDrawer.ts
diff --git a/front/src/modules/comments/types/CommentableEntity.ts b/front/src/modules/activities/types/CommentableEntity.ts
similarity index 100%
rename from front/src/modules/comments/types/CommentableEntity.ts
rename to front/src/modules/activities/types/CommentableEntity.ts
diff --git a/front/src/modules/comments/types/CommentableEntityForSelect.ts b/front/src/modules/activities/types/CommentableEntityForSelect.ts
similarity index 65%
rename from front/src/modules/comments/types/CommentableEntityForSelect.ts
rename to front/src/modules/activities/types/CommentableEntityForSelect.ts
index d97e42d29..ed861b374 100644
--- a/front/src/modules/comments/types/CommentableEntityForSelect.ts
+++ b/front/src/modules/activities/types/CommentableEntityForSelect.ts
@@ -1,4 +1,4 @@
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
+import { EntityForSelect } from '@/ui/relation-picker/types/EntityForSelect';
import { CommentableType } from '~/generated/graphql';
export type CommentableEntityForSelect = EntityForSelect & {
diff --git a/front/src/modules/ui/utils/flatMapAndSortEntityForSelectArrayByName.ts b/front/src/modules/activities/utils/flatMapAndSortEntityForSelectArrayByName.ts
similarity index 77%
rename from front/src/modules/ui/utils/flatMapAndSortEntityForSelectArrayByName.ts
rename to front/src/modules/activities/utils/flatMapAndSortEntityForSelectArrayByName.ts
index 79d10eb37..1eed371c3 100644
--- a/front/src/modules/ui/utils/flatMapAndSortEntityForSelectArrayByName.ts
+++ b/front/src/modules/activities/utils/flatMapAndSortEntityForSelectArrayByName.ts
@@ -1,4 +1,4 @@
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
+import { EntityForSelect } from '@/ui/relation-picker/types/EntityForSelect';
export function flatMapAndSortEntityForSelectArrayOfArrayByName<
T extends EntityForSelect,
diff --git a/front/src/modules/analytics/hooks/useTrackPageView.ts b/front/src/modules/analytics/hooks/useTrackPageView.ts
index 38af8303f..05bae16a6 100644
--- a/front/src/modules/analytics/hooks/useTrackPageView.ts
+++ b/front/src/modules/analytics/hooks/useTrackPageView.ts
@@ -1,7 +1,7 @@
import { useEffect } from 'react';
import { useLocation } from 'react-router-dom';
-import usePrevious from '@/utils/hooks/usePrevious';
+import usePrevious from '~/hooks/usePrevious';
import { useEventTracker } from './useEventTracker';
diff --git a/front/src/modules/analytics/services/index.ts b/front/src/modules/analytics/queries/index.ts
similarity index 100%
rename from front/src/modules/analytics/services/index.ts
rename to front/src/modules/analytics/queries/index.ts
diff --git a/front/src/providers/apollo/ApolloProvider.tsx b/front/src/modules/apollo/components/ApolloProvider.tsx
similarity index 100%
rename from front/src/providers/apollo/ApolloProvider.tsx
rename to front/src/modules/apollo/components/ApolloProvider.tsx
diff --git a/front/src/modules/apollo/hooks/useApolloFactory.ts b/front/src/modules/apollo/hooks/useApolloFactory.ts
index 907600c64..5c4eeef53 100644
--- a/front/src/modules/apollo/hooks/useApolloFactory.ts
+++ b/front/src/modules/apollo/hooks/useApolloFactory.ts
@@ -4,8 +4,8 @@ import { useRecoilState } from 'recoil';
import { tokenPairState } from '@/auth/states/tokenPairState';
import { isDebugModeState } from '@/client-config/states/isDebugModeState';
-import { useUpdateEffect } from '@/utils/hooks/useUpdateEffect';
import { CommentThreadTarget } from '~/generated/graphql';
+import { useUpdateEffect } from '~/hooks/useUpdateEffect';
import { ApolloFactory } from '../services/apollo.factory';
diff --git a/front/src/modules/apollo/services/apollo.factory.ts b/front/src/modules/apollo/services/apollo.factory.ts
index 342b2d954..7b5128842 100644
--- a/front/src/modules/apollo/services/apollo.factory.ts
+++ b/front/src/modules/apollo/services/apollo.factory.ts
@@ -14,10 +14,10 @@ import { createUploadLink } from 'apollo-upload-client';
import { renewToken } from '@/auth/services/AuthService';
import { AuthTokenPair } from '~/generated/graphql';
+import { assertNotNull } from '~/utils/assert';
-import { loggerLink } from '../../utils/apollo-logger';
-import { assertNotNull } from '../../utils/assert';
-import { ApolloManager } from '../interfaces/apolloManager.interface';
+import { ApolloManager } from '../types/apolloManager.interface';
+import { loggerLink } from '../utils';
const logger = loggerLink(() => 'Twenty');
diff --git a/front/src/modules/apollo/interfaces/apolloManager.interface.ts b/front/src/modules/apollo/types/apolloManager.interface.ts
similarity index 100%
rename from front/src/modules/apollo/interfaces/apolloManager.interface.ts
rename to front/src/modules/apollo/types/apolloManager.interface.ts
diff --git a/front/src/modules/utils/apollo-logger/operation-type.ts b/front/src/modules/apollo/types/operation-type.ts
similarity index 100%
rename from front/src/modules/utils/apollo-logger/operation-type.ts
rename to front/src/modules/apollo/types/operation-type.ts
diff --git a/front/src/modules/utils/apollo-logger/format-title.ts b/front/src/modules/apollo/utils/format-title.ts
similarity index 95%
rename from front/src/modules/utils/apollo-logger/format-title.ts
rename to front/src/modules/apollo/utils/format-title.ts
index 7a09a23e0..8c69309d5 100644
--- a/front/src/modules/utils/apollo-logger/format-title.ts
+++ b/front/src/modules/apollo/utils/format-title.ts
@@ -1,4 +1,4 @@
-import { OperationType } from './operation-type';
+import { OperationType } from '../types/operation-type';
const operationTypeColors = {
query: '#03A9F4',
diff --git a/front/src/modules/utils/apollo-logger/index.ts b/front/src/modules/apollo/utils/index.ts
similarity index 100%
rename from front/src/modules/utils/apollo-logger/index.ts
rename to front/src/modules/apollo/utils/index.ts
diff --git a/front/src/modules/auth/components/ui/Modal.tsx b/front/src/modules/auth/components/ui/Modal.tsx
index 6e22ff218..98fee0874 100644
--- a/front/src/modules/auth/components/ui/Modal.tsx
+++ b/front/src/modules/auth/components/ui/Modal.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import styled from '@emotion/styled';
-import { Modal as UIModal } from '@/ui/components/modal/Modal';
+import { Modal as UIModal } from '@/ui/modal/components/Modal';
type Props = React.ComponentProps<'div'>;
diff --git a/front/src/modules/auth/components/ui/Title.tsx b/front/src/modules/auth/components/ui/Title.tsx
index eb21a2dea..46191e824 100644
--- a/front/src/modules/auth/components/ui/Title.tsx
+++ b/front/src/modules/auth/components/ui/Title.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import styled from '@emotion/styled';
-import { AnimatedTextWord } from '@/ui/components/motion/AnimatedTextWord';
+import { AnimatedTextWord } from '@/ui/animation/components/AnimatedTextWord';
type Props = React.PropsWithChildren & {
animate?: boolean;
diff --git a/front/src/modules/auth/services/index.ts b/front/src/modules/auth/queries/index.ts
similarity index 100%
rename from front/src/modules/auth/services/index.ts
rename to front/src/modules/auth/queries/index.ts
diff --git a/front/src/modules/auth/services/select.ts b/front/src/modules/auth/queries/select.ts
similarity index 100%
rename from front/src/modules/auth/services/select.ts
rename to front/src/modules/auth/queries/select.ts
diff --git a/front/src/modules/auth/services/update.ts b/front/src/modules/auth/queries/update.ts
similarity index 100%
rename from front/src/modules/auth/services/update.ts
rename to front/src/modules/auth/queries/update.ts
diff --git a/front/src/modules/auth/services/AuthService.ts b/front/src/modules/auth/services/AuthService.ts
index af32226a0..d39338d50 100644
--- a/front/src/modules/auth/services/AuthService.ts
+++ b/front/src/modules/auth/services/AuthService.ts
@@ -6,7 +6,7 @@ import {
UriFunction,
} from '@apollo/client';
-import { loggerLink } from '@/utils/apollo-logger';
+import { loggerLink } from '@/apollo/utils';
import {
AuthTokenPair,
RenewTokenDocument,
diff --git a/front/src/modules/auth/states/tokenPairState.ts b/front/src/modules/auth/states/tokenPairState.ts
index c4a423467..50006547a 100644
--- a/front/src/modules/auth/states/tokenPairState.ts
+++ b/front/src/modules/auth/states/tokenPairState.ts
@@ -1,7 +1,7 @@
import { atom, AtomEffect } from 'recoil';
-import { cookieStorage } from '@/utils/cookie-storage';
import { AuthTokenPair } from '~/generated/graphql';
+import { cookieStorage } from '~/utils/cookie-storage';
const cookieStorageEffect =
(key: string): AtomEffect =>
diff --git a/front/src/providers/client-config/ClientConfigProvider.tsx b/front/src/modules/client-config/components/ClientConfigProvider.tsx
similarity index 100%
rename from front/src/providers/client-config/ClientConfigProvider.tsx
rename to front/src/modules/client-config/components/ClientConfigProvider.tsx
diff --git a/front/src/modules/command-menu/components/CommandMenu.tsx b/front/src/modules/command-menu/components/CommandMenu.tsx
index e3d2c015b..b7b76d89b 100644
--- a/front/src/modules/command-menu/components/CommandMenu.tsx
+++ b/front/src/modules/command-menu/components/CommandMenu.tsx
@@ -3,9 +3,9 @@ import { useTheme } from '@emotion/react';
import { useRecoilValue } from 'recoil';
import { useFilteredSearchCompanyQuery } from '@/companies/queries';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { AppHotkeyScope } from '@/lib/hotkeys/types/AppHotkeyScope';
-import { useFilteredSearchPeopleQuery } from '@/people/services';
+import { useFilteredSearchPeopleQuery } from '@/people/queries';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { AppHotkeyScope } from '@/ui/hotkey/types/AppHotkeyScope';
import { Avatar } from '@/users/components/Avatar';
import { useCommandMenu } from '../hooks/useCommandMenu';
@@ -49,7 +49,7 @@ export function CommandMenu() {
TODO: Allow performing actions on page through CommandBar
import { useMatch, useResolvedPath } from 'react-router-dom';
- import { IconBuildingSkyscraper, IconUser } from '@/ui/icons';
+ import { IconBuildingSkyscraper, IconUser } from '@/ui/icon';
const createSection = (
diff --git a/front/src/modules/command-menu/components/CommandMenuItem.tsx b/front/src/modules/command-menu/components/CommandMenuItem.tsx
index 740d19b10..5a4aa42ec 100644
--- a/front/src/modules/command-menu/components/CommandMenuItem.tsx
+++ b/front/src/modules/command-menu/components/CommandMenuItem.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import { ReactNode } from 'react';
import { useNavigate } from 'react-router-dom';
-import { IconArrowUpRight } from '@/ui/icons';
+import { IconArrowUpRight } from '@/ui/icon';
import { useCommandMenu } from '../hooks/useCommandMenu';
diff --git a/front/src/modules/command-menu/hooks/useCommandMenu.ts b/front/src/modules/command-menu/hooks/useCommandMenu.ts
index ace3ddd7d..dc2386994 100644
--- a/front/src/modules/command-menu/hooks/useCommandMenu.ts
+++ b/front/src/modules/command-menu/hooks/useCommandMenu.ts
@@ -1,7 +1,7 @@
import { useRecoilState } from 'recoil';
-import { usePreviousHotkeyScope } from '@/lib/hotkeys/hooks/usePreviousHotkeyScope';
-import { AppHotkeyScope } from '@/lib/hotkeys/types/AppHotkeyScope';
+import { usePreviousHotkeyScope } from '@/ui/hotkey/hooks/usePreviousHotkeyScope';
+import { AppHotkeyScope } from '@/ui/hotkey/types/AppHotkeyScope';
import { isCommandMenuOpenedState } from '../states/isCommandMenuOpenedState';
diff --git a/front/src/modules/comments/components/CommentThreadTypeDropdown.tsx b/front/src/modules/comments/components/CommentThreadTypeDropdown.tsx
new file mode 100644
index 000000000..ff8e8604a
--- /dev/null
+++ b/front/src/modules/comments/components/CommentThreadTypeDropdown.tsx
@@ -0,0 +1,60 @@
+import {
+ DropdownButton,
+ DropdownOptionType,
+} from '@/ui/button/components/DropdownButton';
+import { IconCheck, IconNotes } from '@/ui/icon';
+import {
+ ActivityType,
+ CommentThread,
+ useUpdateCommentThreadMutation,
+} from '~/generated/graphql';
+
+type OwnProps = {
+ commentThread: Pick;
+};
+
+export function CommentThreadTypeDropdown({ commentThread }: OwnProps) {
+ const [updateCommentThreadMutation] = useUpdateCommentThreadMutation();
+ const options: DropdownOptionType[] = [
+ { label: 'Note', key: 'note', icon: },
+ { label: 'Task', key: 'task', icon: },
+ ];
+
+ function getSelectedOptionKey() {
+ if (commentThread.type === ActivityType.Note) {
+ return 'note';
+ } else if (commentThread.type === ActivityType.Task) {
+ return 'task';
+ } else {
+ return undefined;
+ }
+ }
+
+ const convertSelectionOptionKeyToActivityType = (key: string) => {
+ switch (key) {
+ case 'note':
+ return ActivityType.Note;
+ case 'task':
+ return ActivityType.Task;
+ default:
+ return undefined;
+ }
+ };
+
+ const handleSelect = (selectedOption: DropdownOptionType) => {
+ updateCommentThreadMutation({
+ variables: {
+ id: commentThread.id,
+ type: convertSelectionOptionKeyToActivityType(selectedOption.key),
+ },
+ });
+ };
+
+ return (
+
+ );
+}
diff --git a/front/src/modules/companies/__stories__/Board.stories.tsx b/front/src/modules/companies/__stories__/Board.stories.tsx
index 2b1e3a5b9..aef3e672a 100644
--- a/front/src/modules/companies/__stories__/Board.stories.tsx
+++ b/front/src/modules/companies/__stories__/Board.stories.tsx
@@ -1,7 +1,7 @@
import { Meta, StoryObj } from '@storybook/react';
import { companyBoardOptions } from '@/companies/components/companyBoardOptions';
-import { EntityBoard } from '@/pipeline-progress/components/EntityBoard';
+import { EntityBoard } from '@/pipeline/components/EntityBoard';
import { BoardDecorator } from '~/testing/decorators';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
diff --git a/front/src/modules/companies/components/CompanyAccountOwnerCell.tsx b/front/src/modules/companies/components/CompanyAccountOwnerCell.tsx
index 1972bbe72..e53eb508b 100644
--- a/front/src/modules/companies/components/CompanyAccountOwnerCell.tsx
+++ b/front/src/modules/companies/components/CompanyAccountOwnerCell.tsx
@@ -1,7 +1,7 @@
import { PersonChip } from '@/people/components/PersonChip';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
-import { EditableCell } from '@/ui/components/editable-cell/EditableCell';
-import { useEditableCell } from '@/ui/components/editable-cell/hooks/useEditableCell';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
+import { EditableCell } from '@/ui/table/editable-cell/components/EditableCell';
+import { useEditableCell } from '@/ui/table/editable-cell/hooks/useEditableCell';
import { Company, User } from '~/generated/graphql';
import { CompanyAccountOwnerPicker } from './CompanyAccountOwnerPicker';
diff --git a/front/src/modules/companies/components/CompanyAccountOwnerPicker.tsx b/front/src/modules/companies/components/CompanyAccountOwnerPicker.tsx
index 42b69cf27..b19490ccb 100644
--- a/front/src/modules/companies/components/CompanyAccountOwnerPicker.tsx
+++ b/front/src/modules/companies/components/CompanyAccountOwnerPicker.tsx
@@ -1,9 +1,9 @@
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { SingleEntitySelect } from '@/relation-picker/components/SingleEntitySelect';
-import { relationPickerSearchFilterScopedState } from '@/relation-picker/states/relationPickerSearchFilterScopedState';
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
-import { Entity } from '@/relation-picker/types/EntityTypeForSelect';
import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { SingleEntitySelect } from '@/ui/relation-picker/components/SingleEntitySelect';
+import { relationPickerSearchFilterScopedState } from '@/ui/relation-picker/states/relationPickerSearchFilterScopedState';
+import { EntityForSelect } from '@/ui/relation-picker/types/EntityForSelect';
+import { Entity } from '@/ui/relation-picker/types/EntityTypeForSelect';
import {
Company,
User,
diff --git a/front/src/modules/companies/components/CompanyBoardCard.tsx b/front/src/modules/companies/components/CompanyBoardCard.tsx
index b8360c3b5..2aa42c334 100644
--- a/front/src/modules/companies/components/CompanyBoardCard.tsx
+++ b/front/src/modules/companies/components/CompanyBoardCard.tsx
@@ -2,24 +2,24 @@ import { useCallback } from 'react';
import { getOperationName } from '@apollo/client/utilities';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { IconCurrencyDollar } from '@tabler/icons-react';
import { useRecoilState } from 'recoil';
import { companyProgressesFamilyState } from '@/companies/states/companyProgressesFamilyState';
-import { GET_PIPELINES } from '@/pipeline-progress/services';
-import { BoardCardContext } from '@/pipeline-progress/states/BoardCardContext';
-import { pipelineProgressIdScopedState } from '@/pipeline-progress/states/pipelineProgressIdScopedState';
-import { selectedBoardCardsState } from '@/pipeline-progress/states/selectedBoardCardsState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { BoardCardEditableFieldDate } from '@/ui/board-card-field-inputs/components/BoardCardEditableFieldDate';
-import { BoardCardEditableFieldText } from '@/ui/board-card-field-inputs/components/BoardCardEditableFieldText';
-import { Checkbox } from '@/ui/components/form/Checkbox';
-import { IconCalendarEvent } from '@/ui/icons';
-import { getLogoUrlFromDomainName } from '@/utils/utils';
+import { GET_PIPELINES } from '@/pipeline/queries';
+import { BoardCardContext } from '@/pipeline/states/BoardCardContext';
+import { pipelineProgressIdScopedState } from '@/pipeline/states/pipelineProgressIdScopedState';
+import { selectedBoardCardsState } from '@/pipeline/states/selectedBoardCardsState';
+import { BoardCardEditableFieldDate } from '@/ui/board/card-field/components/BoardCardEditableFieldDate';
+import { BoardCardEditableFieldText } from '@/ui/board/card-field/components/BoardCardEditableFieldText';
+import { IconCurrencyDollar } from '@/ui/icon';
+import { IconCalendarEvent } from '@/ui/icon';
+import { Checkbox } from '@/ui/input/components/Checkbox';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import {
PipelineProgress,
useUpdateOnePipelineProgressMutation,
} from '~/generated/graphql';
+import { getLogoUrlFromDomainName } from '~/utils';
const StyledBoardCard = styled.div<{ selected: boolean }>`
background-color: ${({ theme, selected }) =>
diff --git a/front/src/modules/companies/components/CompanyEditableNameCell.tsx b/front/src/modules/companies/components/CompanyEditableNameCell.tsx
index a51cc74c8..bd322880c 100644
--- a/front/src/modules/companies/components/CompanyEditableNameCell.tsx
+++ b/front/src/modules/companies/components/CompanyEditableNameCell.tsx
@@ -1,14 +1,14 @@
import { useEffect, useState } from 'react';
-import { CellCommentChip } from '@/comments/components/table/CellCommentChip';
-import { useOpenTimelineRightDrawer } from '@/comments/hooks/useOpenTimelineRightDrawer';
-import { EditableCellChip } from '@/ui/components/editable-cell/types/EditableChip';
-import { getLogoUrlFromDomainName } from '@/utils/utils';
+import { useOpenTimelineRightDrawer } from '@/activities/hooks/useOpenTimelineRightDrawer';
+import { CellCommentChip } from '@/activities/table/components/CellCommentChip';
+import { EditableCellChip } from '@/ui/table/editable-cell/types/EditableChip';
import {
CommentableType,
GetCompaniesQuery,
useUpdateCompanyMutation,
} from '~/generated/graphql';
+import { getLogoUrlFromDomainName } from '~/utils';
import { CompanyChip } from './CompanyChip';
diff --git a/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx b/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx
index f22bbacd3..b1c0361d6 100644
--- a/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx
+++ b/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx
@@ -1,9 +1,9 @@
-import { FilterDropdownEntitySearchSelect } from '@/lib/filters-and-sorts/components/FilterDropdownEntitySearchSelect';
-import { filterDropdownSearchInputScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState';
-import { filterDropdownSelectedEntityIdScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSelectedEntityIdScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { useRecoilScopedValue } from '@/recoil-scope/hooks/useRecoilScopedValue';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { FilterDropdownEntitySearchSelect } from '@/ui/filter-n-sort/components/FilterDropdownEntitySearchSelect';
+import { filterDropdownSearchInputScopedState } from '@/ui/filter-n-sort/states/filterDropdownSearchInputScopedState';
+import { filterDropdownSelectedEntityIdScopedState } from '@/ui/filter-n-sort/states/filterDropdownSelectedEntityIdScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedValue } from '@/ui/recoil-scope/hooks/useRecoilScopedValue';
+import { TableContext } from '@/ui/table/states/TableContext';
import { useFilteredSearchCompanyQuery } from '../queries';
diff --git a/front/src/pages/opportunities/HookCompanyBoard.tsx b/front/src/modules/companies/components/HookCompanyBoard.tsx
similarity index 94%
rename from front/src/pages/opportunities/HookCompanyBoard.tsx
rename to front/src/modules/companies/components/HookCompanyBoard.tsx
index f84ea9617..8f8d3da27 100644
--- a/front/src/pages/opportunities/HookCompanyBoard.tsx
+++ b/front/src/modules/companies/components/HookCompanyBoard.tsx
@@ -7,9 +7,9 @@ import {
CompanyProgress,
PipelineProgressForBoard,
} from '@/companies/types/CompanyProgress';
-import { boardState } from '@/pipeline-progress/states/boardState';
-import { currentPipelineState } from '@/pipeline-progress/states/currentPipelineState';
-import { isBoardLoadedState } from '@/pipeline-progress/states/isBoardLoadedState';
+import { boardState } from '@/pipeline/states/boardState';
+import { currentPipelineState } from '@/pipeline/states/currentPipelineState';
+import { isBoardLoadedState } from '@/pipeline/states/isBoardLoadedState';
import { BoardPipelineStageColumn } from '@/ui/board/components/Board';
import {
Pipeline,
diff --git a/front/src/modules/companies/components/NewCompanyProgressButton.tsx b/front/src/modules/companies/components/NewCompanyProgressButton.tsx
index 0d952804f..65f74f9be 100644
--- a/front/src/modules/companies/components/NewCompanyProgressButton.tsx
+++ b/front/src/modules/companies/components/NewCompanyProgressButton.tsx
@@ -3,18 +3,18 @@ import { getOperationName } from '@apollo/client/utilities';
import { useRecoilState } from 'recoil';
import { v4 as uuidv4 } from 'uuid';
-import { usePreviousHotkeyScope } from '@/lib/hotkeys/hooks/usePreviousHotkeyScope';
-import { GET_PIPELINES } from '@/pipeline-progress/services';
-import { BoardColumnContext } from '@/pipeline-progress/states/BoardColumnContext';
-import { boardState } from '@/pipeline-progress/states/boardState';
-import { currentPipelineState } from '@/pipeline-progress/states/currentPipelineState';
-import { pipelineStageIdScopedState } from '@/pipeline-progress/states/pipelineStageIdScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { SingleEntitySelect } from '@/relation-picker/components/SingleEntitySelect';
-import { relationPickerSearchFilterScopedState } from '@/relation-picker/states/relationPickerSearchFilterScopedState';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
+import { GET_PIPELINES } from '@/pipeline/queries';
+import { BoardColumnContext } from '@/pipeline/states/BoardColumnContext';
+import { boardState } from '@/pipeline/states/boardState';
+import { currentPipelineState } from '@/pipeline/states/currentPipelineState';
+import { pipelineStageIdScopedState } from '@/pipeline/states/pipelineStageIdScopedState';
import { BoardPipelineStageColumn } from '@/ui/board/components/Board';
import { NewButton } from '@/ui/board/components/NewButton';
+import { usePreviousHotkeyScope } from '@/ui/hotkey/hooks/usePreviousHotkeyScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { SingleEntitySelect } from '@/ui/relation-picker/components/SingleEntitySelect';
+import { relationPickerSearchFilterScopedState } from '@/ui/relation-picker/states/relationPickerSearchFilterScopedState';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
import {
PipelineProgressableType,
useCreateOnePipelineProgressMutation,
diff --git a/front/src/modules/companies/components/companyBoardOptions.tsx b/front/src/modules/companies/components/companyBoardOptions.tsx
index a4365d4a9..68c429b44 100644
--- a/front/src/modules/companies/components/companyBoardOptions.tsx
+++ b/front/src/modules/companies/components/companyBoardOptions.tsx
@@ -1,8 +1,7 @@
import { CompanyBoardCard } from '@/companies/components/CompanyBoardCard';
import { NewCompanyProgressButton } from '@/companies/components/NewCompanyProgressButton';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-
-import { BoardOptions } from '../../pipeline-progress/types/BoardOptions';
+import { BoardOptions } from '@/pipeline/types/BoardOptions';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
export const companyBoardOptions: BoardOptions = {
newCardComponent: (
diff --git a/front/src/modules/companies/fields/components/CompanyAccountOwnerEditableField.tsx b/front/src/modules/companies/editable-field/components/CompanyAccountOwnerEditableField.tsx
similarity index 76%
rename from front/src/modules/companies/fields/components/CompanyAccountOwnerEditableField.tsx
rename to front/src/modules/companies/editable-field/components/CompanyAccountOwnerEditableField.tsx
index ff93deab7..dd78ad80b 100644
--- a/front/src/modules/companies/fields/components/CompanyAccountOwnerEditableField.tsx
+++ b/front/src/modules/companies/editable-field/components/CompanyAccountOwnerEditableField.tsx
@@ -1,12 +1,11 @@
-import { IconUserCircle } from '@tabler/icons-react';
-
import { PersonChip } from '@/people/components/PersonChip';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
-import { EditableField } from '@/ui/editable-fields/components/EditableField';
-import { FieldContext } from '@/ui/editable-fields/states/FieldContext';
+import { PageHotkeyScope } from '@/types/PageHotkeyScope';
+import { EditableField } from '@/ui/editable-field/components/EditableField';
+import { FieldContext } from '@/ui/editable-field/states/FieldContext';
+import { IconUserCircle } from '@/ui/icon';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
import { Company, User } from '~/generated/graphql';
-import { PageHotkeyScope } from '~/sync-hooks/types/PageHotkeyScope';
import { CompanyAccountOwnerPickerFieldEditMode } from './CompanyAccountOwnerPickerFieldEditMode';
diff --git a/front/src/modules/companies/fields/components/CompanyAccountOwnerPickerFieldEditMode.tsx b/front/src/modules/companies/editable-field/components/CompanyAccountOwnerPickerFieldEditMode.tsx
similarity index 88%
rename from front/src/modules/companies/fields/components/CompanyAccountOwnerPickerFieldEditMode.tsx
rename to front/src/modules/companies/editable-field/components/CompanyAccountOwnerPickerFieldEditMode.tsx
index c827cac26..a43e8c69a 100644
--- a/front/src/modules/companies/fields/components/CompanyAccountOwnerPickerFieldEditMode.tsx
+++ b/front/src/modules/companies/editable-field/components/CompanyAccountOwnerPickerFieldEditMode.tsx
@@ -1,8 +1,8 @@
import styled from '@emotion/styled';
import { CompanyAccountOwnerPicker } from '@/companies/components/CompanyAccountOwnerPicker';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
-import { useEditableField } from '@/ui/editable-fields/hooks/useEditableField';
+import { useEditableField } from '@/ui/editable-field/hooks/useEditableField';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
import { Company, User } from '~/generated/graphql';
const CompanyAccountOwnerPickerContainer = styled.div`
diff --git a/front/src/modules/companies/fields/components/CompanyAddressEditableField.tsx b/front/src/modules/companies/editable-field/components/CompanyAddressEditableField.tsx
similarity index 78%
rename from front/src/modules/companies/fields/components/CompanyAddressEditableField.tsx
rename to front/src/modules/companies/editable-field/components/CompanyAddressEditableField.tsx
index cea05e082..7688ea0d6 100644
--- a/front/src/modules/companies/fields/components/CompanyAddressEditableField.tsx
+++ b/front/src/modules/companies/editable-field/components/CompanyAddressEditableField.tsx
@@ -1,10 +1,10 @@
import { useEffect, useState } from 'react';
-import { IconMap } from '@tabler/icons-react';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EditableField } from '@/ui/editable-fields/components/EditableField';
-import { FieldContext } from '@/ui/editable-fields/states/FieldContext';
-import { InplaceInputText } from '@/ui/inplace-inputs/components/InplaceInputText';
+import { EditableField } from '@/ui/editable-field/components/EditableField';
+import { FieldContext } from '@/ui/editable-field/states/FieldContext';
+import { IconMap } from '@/ui/icon';
+import { InplaceInputText } from '@/ui/inplace-input/components/InplaceInputText';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
import { Company, useUpdateCompanyMutation } from '~/generated/graphql';
type OwnProps = {
diff --git a/front/src/modules/companies/fields/components/CompanyCreatedAtEditableField.tsx b/front/src/modules/companies/editable-field/components/CompanyCreatedAtEditableField.tsx
similarity index 72%
rename from front/src/modules/companies/fields/components/CompanyCreatedAtEditableField.tsx
rename to front/src/modules/companies/editable-field/components/CompanyCreatedAtEditableField.tsx
index c2e2c05e8..9eb61352a 100644
--- a/front/src/modules/companies/fields/components/CompanyCreatedAtEditableField.tsx
+++ b/front/src/modules/companies/editable-field/components/CompanyCreatedAtEditableField.tsx
@@ -1,13 +1,13 @@
import { useEffect, useState } from 'react';
-import { IconCalendar } from '@tabler/icons-react';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EditableField } from '@/ui/editable-fields/components/EditableField';
-import { FieldContext } from '@/ui/editable-fields/states/FieldContext';
-import { EditableFieldEditModeDate } from '@/ui/editable-fields/variants/components/EditableFieldEditModeDate';
-import { parseDate } from '@/utils/datetime/date-utils';
-import { formatToHumanReadableDate } from '@/utils/utils';
+import { EditableField } from '@/ui/editable-field/components/EditableField';
+import { FieldContext } from '@/ui/editable-field/states/FieldContext';
+import { EditableFieldEditModeDate } from '@/ui/editable-field/variants/components/EditableFieldEditModeDate';
+import { IconCalendar } from '@/ui/icon';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
import { Company, useUpdateCompanyMutation } from '~/generated/graphql';
+import { formatToHumanReadableDate } from '~/utils';
+import { parseDate } from '~/utils/date-utils';
type OwnProps = {
company: Pick;
diff --git a/front/src/modules/companies/fields/components/CompanyDomainNameEditableField.tsx b/front/src/modules/companies/editable-field/components/CompanyDomainNameEditableField.tsx
similarity index 76%
rename from front/src/modules/companies/fields/components/CompanyDomainNameEditableField.tsx
rename to front/src/modules/companies/editable-field/components/CompanyDomainNameEditableField.tsx
index ee3d4f1b4..8f8968dc7 100644
--- a/front/src/modules/companies/fields/components/CompanyDomainNameEditableField.tsx
+++ b/front/src/modules/companies/editable-field/components/CompanyDomainNameEditableField.tsx
@@ -1,11 +1,11 @@
import { useEffect, useState } from 'react';
-import { IconLink } from '@tabler/icons-react';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EditableField } from '@/ui/editable-fields/components/EditableField';
-import { FieldDisplayURL } from '@/ui/editable-fields/components/FieldDisplayURL';
-import { FieldContext } from '@/ui/editable-fields/states/FieldContext';
-import { InplaceInputText } from '@/ui/inplace-inputs/components/InplaceInputText';
+import { EditableField } from '@/ui/editable-field/components/EditableField';
+import { FieldDisplayURL } from '@/ui/editable-field/components/FieldDisplayURL';
+import { FieldContext } from '@/ui/editable-field/states/FieldContext';
+import { IconLink } from '@/ui/icon';
+import { InplaceInputText } from '@/ui/inplace-input/components/InplaceInputText';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
import { Company, useUpdateCompanyMutation } from '~/generated/graphql';
type OwnProps = {
diff --git a/front/src/modules/companies/fields/components/CompanyEmployeesEditableField.tsx b/front/src/modules/companies/editable-field/components/CompanyEmployeesEditableField.tsx
similarity index 82%
rename from front/src/modules/companies/fields/components/CompanyEmployeesEditableField.tsx
rename to front/src/modules/companies/editable-field/components/CompanyEmployeesEditableField.tsx
index 235f11b56..953308ed4 100644
--- a/front/src/modules/companies/fields/components/CompanyEmployeesEditableField.tsx
+++ b/front/src/modules/companies/editable-field/components/CompanyEmployeesEditableField.tsx
@@ -1,10 +1,10 @@
import { useEffect, useState } from 'react';
-import { IconUsers } from '@tabler/icons-react';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EditableField } from '@/ui/editable-fields/components/EditableField';
-import { FieldContext } from '@/ui/editable-fields/states/FieldContext';
-import { InplaceInputText } from '@/ui/inplace-inputs/components/InplaceInputText';
+import { EditableField } from '@/ui/editable-field/components/EditableField';
+import { FieldContext } from '@/ui/editable-field/states/FieldContext';
+import { IconUsers } from '@/ui/icon';
+import { InplaceInputText } from '@/ui/inplace-input/components/InplaceInputText';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
import { Company, useUpdateCompanyMutation } from '~/generated/graphql';
type OwnProps = {
diff --git a/front/src/modules/companies/queries/__tests__/select.test.ts b/front/src/modules/companies/queries/__tests__/select.test.ts
index 130f9d92b..80e292f7b 100644
--- a/front/src/modules/companies/queries/__tests__/select.test.ts
+++ b/front/src/modules/companies/queries/__tests__/select.test.ts
@@ -1,4 +1,4 @@
-import { reduceSortsToOrderBy } from '@/lib/filters-and-sorts/helpers';
+import { reduceSortsToOrderBy } from '@/ui/filter-n-sort/helpers';
import { CompaniesSelectedSortType } from '../select';
diff --git a/front/src/modules/companies/queries/select.ts b/front/src/modules/companies/queries/select.ts
index 1d2f4f06f..8ee85fe7e 100644
--- a/front/src/modules/companies/queries/select.ts
+++ b/front/src/modules/companies/queries/select.ts
@@ -1,9 +1,8 @@
import { gql } from '@apollo/client';
-import { CommentableEntityForSelect } from '@/comments/types/CommentableEntityForSelect';
-import { SelectedSortType } from '@/lib/filters-and-sorts/interfaces/sorts/interface';
+import { CommentableEntityForSelect } from '@/activities/types/CommentableEntityForSelect';
import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery';
-import { getLogoUrlFromDomainName } from '@/utils/utils';
+import { SelectedSortType } from '@/ui/filter-n-sort/types/interface';
import {
CommentableType,
CompanyOrderByWithRelationInput as Companies_Order_By,
@@ -12,6 +11,7 @@ import {
useGetCompaniesQuery,
useSearchCompanyQuery,
} from '~/generated/graphql';
+import { getLogoUrlFromDomainName } from '~/utils';
export type CompaniesSelectedSortType = SelectedSortType;
diff --git a/front/src/modules/companies/table/components/CompanyEntityTableData.tsx b/front/src/modules/companies/table/components/CompanyEntityTableData.tsx
index ced7988b0..313452590 100644
--- a/front/src/modules/companies/table/components/CompanyEntityTableData.tsx
+++ b/front/src/modules/companies/table/components/CompanyEntityTableData.tsx
@@ -1,8 +1,8 @@
import { useRecoilState } from 'recoil';
import { defaultOrderBy } from '@/companies/queries';
-import { isFetchingEntityTableDataState } from '@/ui/tables/states/isFetchingEntityTableDataState';
-import { tableRowIdsState } from '@/ui/tables/states/tableRowIdsState';
+import { isFetchingEntityTableDataState } from '@/ui/table/states/isFetchingEntityTableDataState';
+import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState';
import {
PersonOrderByWithRelationInput,
useGetCompaniesQuery,
diff --git a/front/src/modules/companies/table/components/CompanyEntityTableDataMocked.tsx b/front/src/modules/companies/table/components/CompanyEntityTableDataMocked.tsx
index 33e702ee0..16b379c03 100644
--- a/front/src/modules/companies/table/components/CompanyEntityTableDataMocked.tsx
+++ b/front/src/modules/companies/table/components/CompanyEntityTableDataMocked.tsx
@@ -1,8 +1,8 @@
import { useEffect } from 'react';
import { useRecoilState } from 'recoil';
-import { isFetchingEntityTableDataState } from '@/ui/tables/states/isFetchingEntityTableDataState';
-import { tableRowIdsState } from '@/ui/tables/states/tableRowIdsState';
+import { isFetchingEntityTableDataState } from '@/ui/table/states/isFetchingEntityTableDataState';
+import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState';
import { mockedCompaniesData } from '~/testing/mock-data/companies';
import { useSetCompanyEntityTable } from '../hooks/useSetCompanyEntityTable';
diff --git a/front/src/pages/companies/CompanyTable.tsx b/front/src/modules/companies/table/components/CompanyTable.tsx
similarity index 65%
rename from front/src/pages/companies/CompanyTable.tsx
rename to front/src/modules/companies/table/components/CompanyTable.tsx
index a12a63877..34c0e9f28 100644
--- a/front/src/pages/companies/CompanyTable.tsx
+++ b/front/src/modules/companies/table/components/CompanyTable.tsx
@@ -1,20 +1,19 @@
import { useCallback, useMemo, useState } from 'react';
-import { IconList } from '@tabler/icons-react';
import { CompaniesSelectedSortType, defaultOrderBy } from '@/companies/queries';
import { companyColumns } from '@/companies/table/components/companyColumns';
import { CompanyEntityTableData } from '@/companies/table/components/CompanyEntityTableData';
-import { reduceSortsToOrderBy } from '@/lib/filters-and-sorts/helpers';
-import { filtersScopedState } from '@/lib/filters-and-sorts/states/filtersScopedState';
-import { turnFilterIntoWhereClause } from '@/lib/filters-and-sorts/utils/turnFilterIntoWhereClause';
-import { useRecoilScopedValue } from '@/recoil-scope/hooks/useRecoilScopedValue';
-import { EntityTable } from '@/ui/components/table/EntityTable';
-import { HooksEntityTable } from '@/ui/components/table/HooksEntityTable';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { reduceSortsToOrderBy } from '@/ui/filter-n-sort/helpers';
+import { filtersScopedState } from '@/ui/filter-n-sort/states/filtersScopedState';
+import { turnFilterIntoWhereClause } from '@/ui/filter-n-sort/utils/turnFilterIntoWhereClause';
+import { IconList } from '@/ui/icon';
+import { useRecoilScopedValue } from '@/ui/recoil-scope/hooks/useRecoilScopedValue';
+import { EntityTable } from '@/ui/table/components/EntityTable';
+import { HooksEntityTable } from '@/ui/table/components/HooksEntityTable';
+import { TableContext } from '@/ui/table/states/TableContext';
import { CompanyOrderByWithRelationInput } from '~/generated/graphql';
-
-import { companiesFilters } from './companies-filters';
-import { availableSorts } from './companies-sorts';
+import { companiesFilters } from '~/pages/companies/companies-filters';
+import { availableSorts } from '~/pages/companies/companies-sorts';
export function CompanyTable() {
const [orderBy, setOrderBy] =
diff --git a/front/src/pages/companies/CompanyTableMockMode.tsx b/front/src/modules/companies/table/components/CompanyTableMockMode.tsx
similarity index 66%
rename from front/src/pages/companies/CompanyTableMockMode.tsx
rename to front/src/modules/companies/table/components/CompanyTableMockMode.tsx
index 5fe478b0f..d3502d988 100644
--- a/front/src/pages/companies/CompanyTableMockMode.tsx
+++ b/front/src/modules/companies/table/components/CompanyTableMockMode.tsx
@@ -1,12 +1,10 @@
-import { IconList } from '@tabler/icons-react';
-
import { companyColumns } from '@/companies/table/components/companyColumns';
import { CompanyEntityTableDataMocked } from '@/companies/table/components/CompanyEntityTableDataMocked';
-import { EntityTable } from '@/ui/components/table/EntityTable';
-import { HooksEntityTable } from '@/ui/components/table/HooksEntityTable';
-
-import { companiesFilters } from './companies-filters';
-import { availableSorts } from './companies-sorts';
+import { IconList } from '@/ui/icon';
+import { EntityTable } from '@/ui/table/components/EntityTable';
+import { HooksEntityTable } from '@/ui/table/components/HooksEntityTable';
+import { companiesFilters } from '~/pages/companies/companies-filters';
+import { availableSorts } from '~/pages/companies/companies-sorts';
export function CompanyTableMockMode() {
return (
diff --git a/front/src/modules/companies/table/components/EditableCompanyAccountOwnerCell.tsx b/front/src/modules/companies/table/components/EditableCompanyAccountOwnerCell.tsx
index 25f3654df..b9f5dbd3e 100644
--- a/front/src/modules/companies/table/components/EditableCompanyAccountOwnerCell.tsx
+++ b/front/src/modules/companies/table/components/EditableCompanyAccountOwnerCell.tsx
@@ -2,7 +2,7 @@ import { useRecoilValue } from 'recoil';
import { CompanyAccountOwnerCell } from '@/companies/components/CompanyAccountOwnerCell';
import { companyAccountOwnerFamilyState } from '@/companies/states/companyAccountOwnerFamilyState';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
export function EditableCompanyAccountOwnerCell() {
const currentRowEntityId = useCurrentRowEntityId();
diff --git a/front/src/modules/companies/table/components/EditableCompanyAddressCell.tsx b/front/src/modules/companies/table/components/EditableCompanyAddressCell.tsx
index 8d2d73dfd..6fa1bca63 100644
--- a/front/src/modules/companies/table/components/EditableCompanyAddressCell.tsx
+++ b/front/src/modules/companies/table/components/EditableCompanyAddressCell.tsx
@@ -2,8 +2,8 @@ import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { companyAddressFamilyState } from '@/companies/states/companyAddressFamilyState';
-import { EditableCellText } from '@/ui/components/editable-cell/types/EditableCellText';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellText } from '@/ui/table/editable-cell/types/EditableCellText';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdateCompanyMutation } from '~/generated/graphql';
export function EditableCompanyAddressCell() {
diff --git a/front/src/modules/companies/table/components/EditableCompanyCreatedAtCell.tsx b/front/src/modules/companies/table/components/EditableCompanyCreatedAtCell.tsx
index 4ad165542..ac12e2df6 100644
--- a/front/src/modules/companies/table/components/EditableCompanyCreatedAtCell.tsx
+++ b/front/src/modules/companies/table/components/EditableCompanyCreatedAtCell.tsx
@@ -2,8 +2,8 @@ import { DateTime } from 'luxon';
import { useRecoilValue } from 'recoil';
import { companyCreatedAtFamilyState } from '@/companies/states/companyCreatedAtFamilyState';
-import { EditableCellDate } from '@/ui/components/editable-cell/types/EditableCellDate';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellDate } from '@/ui/table/editable-cell/types/EditableCellDate';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdateCompanyMutation } from '~/generated/graphql';
export function EditableCompanyCreatedAtCell() {
diff --git a/front/src/modules/companies/table/components/EditableCompanyDomainNameCell.tsx b/front/src/modules/companies/table/components/EditableCompanyDomainNameCell.tsx
index fdbf249c9..a0edaae1d 100644
--- a/front/src/modules/companies/table/components/EditableCompanyDomainNameCell.tsx
+++ b/front/src/modules/companies/table/components/EditableCompanyDomainNameCell.tsx
@@ -2,8 +2,8 @@ import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { companyDomainNameFamilyState } from '@/companies/states/companyDomainNameFamilyState';
-import { EditableCellText } from '@/ui/components/editable-cell/types/EditableCellText';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellText } from '@/ui/table/editable-cell/types/EditableCellText';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdateCompanyMutation } from '~/generated/graphql';
export function EditableCompanyDomainNameCell() {
diff --git a/front/src/modules/companies/table/components/EditableCompanyEmployeesCell.tsx b/front/src/modules/companies/table/components/EditableCompanyEmployeesCell.tsx
index 2dbf2dab9..6ea18b3d3 100644
--- a/front/src/modules/companies/table/components/EditableCompanyEmployeesCell.tsx
+++ b/front/src/modules/companies/table/components/EditableCompanyEmployeesCell.tsx
@@ -2,8 +2,8 @@ import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { companyEmployeesFamilyState } from '@/companies/states/companyEmployeesFamilyState';
-import { EditableCellText } from '@/ui/components/editable-cell/types/EditableCellText';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellText } from '@/ui/table/editable-cell/types/EditableCellText';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdateCompanyMutation } from '~/generated/graphql';
export function EditableCompanyEmployeesCell() {
diff --git a/front/src/modules/companies/table/components/EditableCompanyNameCell.tsx b/front/src/modules/companies/table/components/EditableCompanyNameCell.tsx
index 3a267049e..d2c2dcca0 100644
--- a/front/src/modules/companies/table/components/EditableCompanyNameCell.tsx
+++ b/front/src/modules/companies/table/components/EditableCompanyNameCell.tsx
@@ -4,7 +4,7 @@ import { CompanyEditableNameChipCell } from '@/companies/components/CompanyEdita
import { companyCommentCountFamilyState } from '@/companies/states/companyCommentCountFamilyState';
import { companyDomainNameFamilyState } from '@/companies/states/companyDomainNameFamilyState';
import { companyNameFamilyState } from '@/companies/states/companyNameFamilyState';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
export function EditableCompanyNameCell() {
const currentRowEntityId = useCurrentRowEntityId();
diff --git a/front/src/pages/companies/table/TableActionBarButtonCreateCommentThreadCompany.tsx b/front/src/modules/companies/table/components/TableActionBarButtonCreateCommentThreadCompany.tsx
similarity index 71%
rename from front/src/pages/companies/table/TableActionBarButtonCreateCommentThreadCompany.tsx
rename to front/src/modules/companies/table/components/TableActionBarButtonCreateCommentThreadCompany.tsx
index b60a7b466..06ba20b64 100644
--- a/front/src/pages/companies/table/TableActionBarButtonCreateCommentThreadCompany.tsx
+++ b/front/src/modules/companies/table/components/TableActionBarButtonCreateCommentThreadCompany.tsx
@@ -1,5 +1,5 @@
-import { useOpenCreateCommentThreadDrawerForSelectedRowIds } from '@/comments/hooks/useOpenCreateCommentDrawerForSelectedRowIds';
-import { TableActionBarButtonToggleComments } from '@/ui/components/table/action-bar/TableActionBarButtonOpenComments';
+import { useOpenCreateCommentThreadDrawerForSelectedRowIds } from '@/activities/hooks/useOpenCreateCommentDrawerForSelectedRowIds';
+import { TableActionBarButtonToggleComments } from '@/ui/table/action-bar/components/TableActionBarButtonOpenComments';
import { CommentableType } from '~/generated/graphql';
export function TableActionBarButtonCreateCommentThreadCompany() {
diff --git a/front/src/pages/companies/table/TableActionBarButtonDeleteCompanies.tsx b/front/src/modules/companies/table/components/TableActionBarButtonDeleteCompanies.tsx
similarity index 73%
rename from front/src/pages/companies/table/TableActionBarButtonDeleteCompanies.tsx
rename to front/src/modules/companies/table/components/TableActionBarButtonDeleteCompanies.tsx
index 7bda91cb7..2db94aa1c 100644
--- a/front/src/pages/companies/table/TableActionBarButtonDeleteCompanies.tsx
+++ b/front/src/modules/companies/table/components/TableActionBarButtonDeleteCompanies.tsx
@@ -2,10 +2,10 @@ import { getOperationName } from '@apollo/client/utilities';
import { useRecoilValue } from 'recoil';
import { GET_COMPANIES } from '@/companies/queries';
-import { EntityTableActionBarButton } from '@/ui/components/table/action-bar/EntityTableActionBarButton';
-import { IconTrash } from '@/ui/icons/index';
-import { useResetTableRowSelection } from '@/ui/tables/hooks/useResetTableRowSelection';
-import { selectedRowIdsSelector } from '@/ui/tables/states/selectedRowIdsSelector';
+import { IconTrash } from '@/ui/icon/index';
+import { EntityTableActionBarButton } from '@/ui/table/action-bar/components/EntityTableActionBarButton';
+import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection';
+import { selectedRowIdsSelector } from '@/ui/table/states/selectedRowIdsSelector';
import { useDeleteCompaniesMutation } from '~/generated/graphql';
export function TableActionBarButtonDeleteCompanies() {
diff --git a/front/src/modules/companies/table/components/companyColumns.tsx b/front/src/modules/companies/table/components/companyColumns.tsx
index acea5e907..d5d52f7cc 100644
--- a/front/src/modules/companies/table/components/companyColumns.tsx
+++ b/front/src/modules/companies/table/components/companyColumns.tsx
@@ -6,7 +6,7 @@ import {
IconMap,
IconUser,
IconUsers,
-} from '@/ui/icons/index';
+} from '@/ui/icon/index';
import { EditableCompanyAccountOwnerCell } from './EditableCompanyAccountOwnerCell';
import { EditableCompanyAddressCell } from './EditableCompanyAddressCell';
diff --git a/front/src/modules/people/components/EditablePeopleFullName.tsx b/front/src/modules/people/components/EditablePeopleFullName.tsx
index ca0dadef3..7b8401120 100644
--- a/front/src/modules/people/components/EditablePeopleFullName.tsx
+++ b/front/src/modules/people/components/EditablePeopleFullName.tsx
@@ -1,8 +1,8 @@
import styled from '@emotion/styled';
-import { CellCommentChip } from '@/comments/components/table/CellCommentChip';
-import { useOpenTimelineRightDrawer } from '@/comments/hooks/useOpenTimelineRightDrawer';
-import { EditableCellDoubleText } from '@/ui/components/editable-cell/types/EditableCellDoubleText';
+import { useOpenTimelineRightDrawer } from '@/activities/hooks/useOpenTimelineRightDrawer';
+import { CellCommentChip } from '@/activities/table/components/CellCommentChip';
+import { EditableCellDoubleText } from '@/ui/table/editable-cell/types/EditableCellDoubleText';
import { CommentableType, Person } from '~/generated/graphql';
import { PersonChip } from './PersonChip';
diff --git a/front/src/modules/people/components/PeopleCompanyCell.tsx b/front/src/modules/people/components/PeopleCompanyCell.tsx
index be61bcf00..9f54ea4be 100644
--- a/front/src/modules/people/components/PeopleCompanyCell.tsx
+++ b/front/src/modules/people/components/PeopleCompanyCell.tsx
@@ -1,10 +1,10 @@
import { CompanyChip } from '@/companies/components/CompanyChip';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
-import { EditableCell } from '@/ui/components/editable-cell/EditableCell';
-import { isCreateModeScopedState } from '@/ui/components/editable-cell/states/isCreateModeScopedState';
-import { getLogoUrlFromDomainName } from '@/utils/utils';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
+import { EditableCell } from '@/ui/table/editable-cell/components/EditableCell';
+import { isCreateModeScopedState } from '@/ui/table/editable-cell/states/isCreateModeScopedState';
import { Company, Person } from '~/generated/graphql';
+import { getLogoUrlFromDomainName } from '~/utils';
import { PeopleCompanyCreateCell } from './PeopleCompanyCreateCell';
import { PeopleCompanyPicker } from './PeopleCompanyPicker';
diff --git a/front/src/modules/people/components/PeopleCompanyCreateCell.tsx b/front/src/modules/people/components/PeopleCompanyCreateCell.tsx
index 59f4bc75f..0348d0b60 100644
--- a/front/src/modules/people/components/PeopleCompanyCreateCell.tsx
+++ b/front/src/modules/people/components/PeopleCompanyCreateCell.tsx
@@ -3,16 +3,16 @@ import { getOperationName } from '@apollo/client/utilities';
import { v4 } from 'uuid';
import { GET_COMPANIES } from '@/companies/queries';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { relationPickerSearchFilterScopedState } from '@/relation-picker/states/relationPickerSearchFilterScopedState';
-import { isCreateModeScopedState } from '@/ui/components/editable-cell/states/isCreateModeScopedState';
-import { EditableCellDoubleTextEditMode } from '@/ui/components/editable-cell/types/EditableCellDoubleTextEditMode';
-import { logError } from '@/utils/logs/logError';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { relationPickerSearchFilterScopedState } from '@/ui/relation-picker/states/relationPickerSearchFilterScopedState';
+import { isCreateModeScopedState } from '@/ui/table/editable-cell/states/isCreateModeScopedState';
+import { EditableCellDoubleTextEditMode } from '@/ui/table/editable-cell/types/EditableCellDoubleTextEditMode';
import {
Person,
useInsertCompanyMutation,
useUpdatePeopleMutation,
} from '~/generated/graphql';
+import { logError } from '~/utils/logError';
type OwnProps = {
people: Pick;
diff --git a/front/src/modules/people/components/PeopleCompanyPicker.tsx b/front/src/modules/people/components/PeopleCompanyPicker.tsx
index 02c984fa5..3c6a12f52 100644
--- a/front/src/modules/people/components/PeopleCompanyPicker.tsx
+++ b/front/src/modules/people/components/PeopleCompanyPicker.tsx
@@ -1,15 +1,15 @@
import { Key } from 'ts-key-enum';
import { useFilteredSearchCompanyQuery } from '@/companies/queries';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { SingleEntitySelect } from '@/relation-picker/components/SingleEntitySelect';
-import { relationPickerSearchFilterScopedState } from '@/relation-picker/states/relationPickerSearchFilterScopedState';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
-import { useEditableCell } from '@/ui/components/editable-cell/hooks/useEditableCell';
-import { isCreateModeScopedState } from '@/ui/components/editable-cell/states/isCreateModeScopedState';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { SingleEntitySelect } from '@/ui/relation-picker/components/SingleEntitySelect';
+import { relationPickerSearchFilterScopedState } from '@/ui/relation-picker/states/relationPickerSearchFilterScopedState';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
+import { useEditableCell } from '@/ui/table/editable-cell/hooks/useEditableCell';
+import { isCreateModeScopedState } from '@/ui/table/editable-cell/states/isCreateModeScopedState';
+import { TableHotkeyScope } from '@/ui/table/types/TableHotkeyScope';
import { Company, Person, useUpdatePeopleMutation } from '~/generated/graphql';
export type OwnProps = {
diff --git a/front/src/modules/people/components/PeopleEntityTableData.tsx b/front/src/modules/people/components/PeopleEntityTableData.tsx
index c45ccc222..a2b31b0d1 100644
--- a/front/src/modules/people/components/PeopleEntityTableData.tsx
+++ b/front/src/modules/people/components/PeopleEntityTableData.tsx
@@ -1,14 +1,14 @@
import { useRecoilState } from 'recoil';
-import { isFetchingEntityTableDataState } from '@/ui/tables/states/isFetchingEntityTableDataState';
-import { tableRowIdsState } from '@/ui/tables/states/tableRowIdsState';
+import { isFetchingEntityTableDataState } from '@/ui/table/states/isFetchingEntityTableDataState';
+import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState';
import {
PersonOrderByWithRelationInput,
useGetPeopleQuery,
} from '~/generated/graphql';
import { useSetPeopleEntityTable } from '../hooks/useSetPeopleEntityTable';
-import { defaultOrderBy } from '../services';
+import { defaultOrderBy } from '../queries';
export function PeopleEntityTableData({
orderBy = defaultOrderBy,
diff --git a/front/src/modules/people/services/__tests__/select.test.ts b/front/src/modules/people/queries/__tests__/select.test.ts
similarity index 89%
rename from front/src/modules/people/services/__tests__/select.test.ts
rename to front/src/modules/people/queries/__tests__/select.test.ts
index eea9f2d63..177fd819a 100644
--- a/front/src/modules/people/services/__tests__/select.test.ts
+++ b/front/src/modules/people/queries/__tests__/select.test.ts
@@ -1,4 +1,4 @@
-import { reduceSortsToOrderBy } from '@/lib/filters-and-sorts/helpers';
+import { reduceSortsToOrderBy } from '@/ui/filter-n-sort/helpers';
import { PeopleSelectedSortType } from '../select';
diff --git a/front/src/modules/people/services/index.ts b/front/src/modules/people/queries/index.ts
similarity index 100%
rename from front/src/modules/people/services/index.ts
rename to front/src/modules/people/queries/index.ts
diff --git a/front/src/modules/people/services/select.ts b/front/src/modules/people/queries/select.ts
similarity index 94%
rename from front/src/modules/people/services/select.ts
rename to front/src/modules/people/queries/select.ts
index 7e31b9144..8c1ffe59d 100644
--- a/front/src/modules/people/services/select.ts
+++ b/front/src/modules/people/queries/select.ts
@@ -1,8 +1,8 @@
import { gql } from '@apollo/client';
-import { CommentableEntityForSelect } from '@/comments/types/CommentableEntityForSelect';
-import { SelectedSortType } from '@/lib/filters-and-sorts/interfaces/sorts/interface';
+import { CommentableEntityForSelect } from '@/activities/types/CommentableEntityForSelect';
import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery';
+import { SelectedSortType } from '@/ui/filter-n-sort/types/interface';
import {
CommentableType,
PersonOrderByWithRelationInput as People_Order_By,
diff --git a/front/src/modules/people/services/show.ts b/front/src/modules/people/queries/show.ts
similarity index 100%
rename from front/src/modules/people/services/show.ts
rename to front/src/modules/people/queries/show.ts
diff --git a/front/src/modules/people/services/update.ts b/front/src/modules/people/queries/update.ts
similarity index 100%
rename from front/src/modules/people/services/update.ts
rename to front/src/modules/people/queries/update.ts
diff --git a/front/src/modules/people/table/components/EditablePeopleCityCell.tsx b/front/src/modules/people/table/components/EditablePeopleCityCell.tsx
index dcf55fbc6..f0fb081eb 100644
--- a/front/src/modules/people/table/components/EditablePeopleCityCell.tsx
+++ b/front/src/modules/people/table/components/EditablePeopleCityCell.tsx
@@ -2,8 +2,8 @@ import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { peopleCityFamilyState } from '@/people/states/peopleCityFamilyState';
-import { EditableCellPhone } from '@/ui/components/editable-cell/types/EditableCellPhone';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellPhone } from '@/ui/table/editable-cell/types/EditableCellPhone';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdatePeopleMutation } from '~/generated/graphql';
export function EditablePeopleCityCell() {
diff --git a/front/src/modules/people/table/components/EditablePeopleCompanyCell.tsx b/front/src/modules/people/table/components/EditablePeopleCompanyCell.tsx
index db6c7df70..c35d4b380 100644
--- a/front/src/modules/people/table/components/EditablePeopleCompanyCell.tsx
+++ b/front/src/modules/people/table/components/EditablePeopleCompanyCell.tsx
@@ -2,7 +2,7 @@ import { useRecoilValue } from 'recoil';
import { PeopleCompanyCell } from '@/people/components/PeopleCompanyCell';
import { peopleCompanyFamilyState } from '@/people/states/peopleCompanyFamilyState';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
export function EditablePeopleCompanyCell() {
const currentRowEntityId = useCurrentRowEntityId();
diff --git a/front/src/modules/people/table/components/EditablePeopleCreatedAtCell.tsx b/front/src/modules/people/table/components/EditablePeopleCreatedAtCell.tsx
index 51edec72a..ba74af137 100644
--- a/front/src/modules/people/table/components/EditablePeopleCreatedAtCell.tsx
+++ b/front/src/modules/people/table/components/EditablePeopleCreatedAtCell.tsx
@@ -2,8 +2,8 @@ import { DateTime } from 'luxon';
import { useRecoilValue } from 'recoil';
import { peopleCreatedAtFamilyState } from '@/people/states/peopleCreatedAtFamilyState';
-import { EditableCellDate } from '@/ui/components/editable-cell/types/EditableCellDate';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellDate } from '@/ui/table/editable-cell/types/EditableCellDate';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdatePeopleMutation } from '~/generated/graphql';
export function EditablePeopleCreatedAtCell() {
diff --git a/front/src/modules/people/table/components/EditablePeopleEmailCell.tsx b/front/src/modules/people/table/components/EditablePeopleEmailCell.tsx
index cc356b7d3..015164e00 100644
--- a/front/src/modules/people/table/components/EditablePeopleEmailCell.tsx
+++ b/front/src/modules/people/table/components/EditablePeopleEmailCell.tsx
@@ -2,8 +2,8 @@ import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { peopleEmailFamilyState } from '@/people/states/peopleEmailFamilyState';
-import { EditableCellText } from '@/ui/components/editable-cell/types/EditableCellText';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellText } from '@/ui/table/editable-cell/types/EditableCellText';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdatePeopleMutation } from '~/generated/graphql';
export function EditablePeopleEmailCell() {
diff --git a/front/src/modules/people/table/components/EditablePeopleFullNameCell.tsx b/front/src/modules/people/table/components/EditablePeopleFullNameCell.tsx
index 93a84f19c..64642b7bc 100644
--- a/front/src/modules/people/table/components/EditablePeopleFullNameCell.tsx
+++ b/front/src/modules/people/table/components/EditablePeopleFullNameCell.tsx
@@ -3,7 +3,7 @@ import { useRecoilValue } from 'recoil';
import { EditablePeopleFullName } from '@/people/components/EditablePeopleFullName';
import { peopleNameCellFamilyState } from '@/people/states/peopleNamesFamilyState';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdatePeopleMutation } from '~/generated/graphql';
export function EditablePeopleFullNameCell() {
diff --git a/front/src/modules/people/table/components/EditablePeoplePhoneCell.tsx b/front/src/modules/people/table/components/EditablePeoplePhoneCell.tsx
index 38c55b62f..38dc2c551 100644
--- a/front/src/modules/people/table/components/EditablePeoplePhoneCell.tsx
+++ b/front/src/modules/people/table/components/EditablePeoplePhoneCell.tsx
@@ -2,8 +2,8 @@ import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { peoplePhoneFamilyState } from '@/people/states/peoplePhoneFamilyState';
-import { EditableCellPhone } from '@/ui/components/editable-cell/types/EditableCellPhone';
-import { useCurrentRowEntityId } from '@/ui/tables/hooks/useCurrentEntityId';
+import { EditableCellPhone } from '@/ui/table/editable-cell/types/EditableCellPhone';
+import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
import { useUpdatePeopleMutation } from '~/generated/graphql';
export function EditablePeoplePhoneCell() {
diff --git a/front/src/pages/people/PeopleTable.tsx b/front/src/modules/people/table/components/PeopleTable.tsx
similarity index 63%
rename from front/src/pages/people/PeopleTable.tsx
rename to front/src/modules/people/table/components/PeopleTable.tsx
index b62070563..f60e7dc79 100644
--- a/front/src/pages/people/PeopleTable.tsx
+++ b/front/src/modules/people/table/components/PeopleTable.tsx
@@ -1,21 +1,20 @@
import { useCallback, useMemo, useState } from 'react';
-import { IconList } from '@tabler/icons-react';
import { defaultOrderBy } from '@/companies/queries';
-import { reduceSortsToOrderBy } from '@/lib/filters-and-sorts/helpers';
-import { filtersScopedState } from '@/lib/filters-and-sorts/states/filtersScopedState';
-import { turnFilterIntoWhereClause } from '@/lib/filters-and-sorts/utils/turnFilterIntoWhereClause';
import { PeopleEntityTableData } from '@/people/components/PeopleEntityTableData';
-import { PeopleSelectedSortType } from '@/people/services';
+import { PeopleSelectedSortType } from '@/people/queries';
import { peopleColumns } from '@/people/table/components/peopleColumns';
-import { useRecoilScopedValue } from '@/recoil-scope/hooks/useRecoilScopedValue';
-import { EntityTable } from '@/ui/components/table/EntityTable';
-import { HooksEntityTable } from '@/ui/components/table/HooksEntityTable';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { reduceSortsToOrderBy } from '@/ui/filter-n-sort/helpers';
+import { filtersScopedState } from '@/ui/filter-n-sort/states/filtersScopedState';
+import { turnFilterIntoWhereClause } from '@/ui/filter-n-sort/utils/turnFilterIntoWhereClause';
+import { IconList } from '@/ui/icon';
+import { useRecoilScopedValue } from '@/ui/recoil-scope/hooks/useRecoilScopedValue';
+import { EntityTable } from '@/ui/table/components/EntityTable';
+import { HooksEntityTable } from '@/ui/table/components/HooksEntityTable';
+import { TableContext } from '@/ui/table/states/TableContext';
import { PersonOrderByWithRelationInput } from '~/generated/graphql';
-
-import { peopleFilters } from './people-filters';
-import { availableSorts } from './people-sorts';
+import { peopleFilters } from '~/pages/people/people-filters';
+import { availableSorts } from '~/pages/people/people-sorts';
export function PeopleTable() {
const [orderBy, setOrderBy] =
diff --git a/front/src/pages/people/table/TableActionBarButtonCreateCommentThreadPeople.tsx b/front/src/modules/people/table/components/TableActionBarButtonCreateCommentThreadPeople.tsx
similarity index 71%
rename from front/src/pages/people/table/TableActionBarButtonCreateCommentThreadPeople.tsx
rename to front/src/modules/people/table/components/TableActionBarButtonCreateCommentThreadPeople.tsx
index 0b15ab33e..178ac7ece 100644
--- a/front/src/pages/people/table/TableActionBarButtonCreateCommentThreadPeople.tsx
+++ b/front/src/modules/people/table/components/TableActionBarButtonCreateCommentThreadPeople.tsx
@@ -1,5 +1,5 @@
-import { useOpenCreateCommentThreadDrawerForSelectedRowIds } from '@/comments/hooks/useOpenCreateCommentDrawerForSelectedRowIds';
-import { TableActionBarButtonToggleComments } from '@/ui/components/table/action-bar/TableActionBarButtonOpenComments';
+import { useOpenCreateCommentThreadDrawerForSelectedRowIds } from '@/activities/hooks/useOpenCreateCommentDrawerForSelectedRowIds';
+import { TableActionBarButtonToggleComments } from '@/ui/table/action-bar/components/TableActionBarButtonOpenComments';
import { CommentableType } from '~/generated/graphql';
export function TableActionBarButtonCreateCommentThreadPeople() {
diff --git a/front/src/pages/people/table/TableActionBarButtonDeletePeople.tsx b/front/src/modules/people/table/components/TableActionBarButtonDeletePeople.tsx
similarity index 69%
rename from front/src/pages/people/table/TableActionBarButtonDeletePeople.tsx
rename to front/src/modules/people/table/components/TableActionBarButtonDeletePeople.tsx
index 40d318639..1475e39a2 100644
--- a/front/src/pages/people/table/TableActionBarButtonDeletePeople.tsx
+++ b/front/src/modules/people/table/components/TableActionBarButtonDeletePeople.tsx
@@ -1,11 +1,11 @@
import { getOperationName } from '@apollo/client/utilities';
import { useRecoilValue } from 'recoil';
-import { GET_PEOPLE } from '@/people/services';
-import { EntityTableActionBarButton } from '@/ui/components/table/action-bar/EntityTableActionBarButton';
-import { IconTrash } from '@/ui/icons/index';
-import { useResetTableRowSelection } from '@/ui/tables/hooks/useResetTableRowSelection';
-import { selectedRowIdsSelector } from '@/ui/tables/states/selectedRowIdsSelector';
+import { GET_PEOPLE } from '@/people/queries';
+import { IconTrash } from '@/ui/icon/index';
+import { EntityTableActionBarButton } from '@/ui/table/action-bar/components/EntityTableActionBarButton';
+import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection';
+import { selectedRowIdsSelector } from '@/ui/table/states/selectedRowIdsSelector';
import { useDeletePeopleMutation } from '~/generated/graphql';
export function TableActionBarButtonDeletePeople() {
diff --git a/front/src/modules/people/table/components/peopleColumns.tsx b/front/src/modules/people/table/components/peopleColumns.tsx
index 89e2e0dce..d2c070da7 100644
--- a/front/src/modules/people/table/components/peopleColumns.tsx
+++ b/front/src/modules/people/table/components/peopleColumns.tsx
@@ -5,7 +5,7 @@ import {
IconMap,
IconPhone,
IconUser,
-} from '@/ui/icons/index';
+} from '@/ui/icon/index';
import { EditablePeopleCityCell } from './EditablePeopleCityCell';
import { EditablePeopleCompanyCell } from './EditablePeopleCompanyCell';
diff --git a/front/src/modules/pipeline-progress/services/update.ts b/front/src/modules/pipeline-progress/services/update.ts
deleted file mode 100644
index 6214e00cb..000000000
--- a/front/src/modules/pipeline-progress/services/update.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { gql } from '@apollo/client';
-
-export const DELETE_PIPELINE_PROGRESS = gql`
- mutation DeleteManyPipelineProgress($ids: [String!]) {
- deleteManyPipelineProgress(where: { id: { in: $ids } }) {
- count
- }
- }
-`;
diff --git a/front/src/modules/pipeline-stages/services/index.ts b/front/src/modules/pipeline-stages/services/index.ts
deleted file mode 100644
index c37c258c7..000000000
--- a/front/src/modules/pipeline-stages/services/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './update';
diff --git a/front/src/modules/pipeline-progress/components/BoardActionBarButtonDeletePipelineProgress.tsx b/front/src/modules/pipeline/components/BoardActionBarButtonDeletePipelineProgress.tsx
similarity index 82%
rename from front/src/modules/pipeline-progress/components/BoardActionBarButtonDeletePipelineProgress.tsx
rename to front/src/modules/pipeline/components/BoardActionBarButtonDeletePipelineProgress.tsx
index 08b13de40..5a549bfa0 100644
--- a/front/src/modules/pipeline-progress/components/BoardActionBarButtonDeletePipelineProgress.tsx
+++ b/front/src/modules/pipeline/components/BoardActionBarButtonDeletePipelineProgress.tsx
@@ -1,12 +1,12 @@
import { getOperationName } from '@apollo/client/utilities';
import { useRecoilState } from 'recoil';
-import { boardState } from '@/pipeline-progress/states/boardState';
-import { EntityTableActionBarButton } from '@/ui/components/table/action-bar/EntityTableActionBarButton';
-import { IconTrash } from '@/ui/icons/index';
+import { IconTrash } from '@/ui/icon/index';
+import { EntityTableActionBarButton } from '@/ui/table/action-bar/components/EntityTableActionBarButton';
import { useDeleteManyPipelineProgressMutation } from '~/generated/graphql';
-import { GET_PIPELINES } from '../services';
+import { GET_PIPELINES } from '../queries';
+import { boardState } from '../states/boardState';
import { selectedBoardCardsState } from '../states/selectedBoardCardsState';
export function BoardActionBarButtonDeletePipelineProgress() {
diff --git a/front/src/modules/pipeline-progress/components/EntityBoard.tsx b/front/src/modules/pipeline/components/EntityBoard.tsx
similarity index 94%
rename from front/src/modules/pipeline-progress/components/EntityBoard.tsx
rename to front/src/modules/pipeline/components/EntityBoard.tsx
index 2c83f839a..56e672f4e 100644
--- a/front/src/modules/pipeline-progress/components/EntityBoard.tsx
+++ b/front/src/modules/pipeline/components/EntityBoard.tsx
@@ -2,8 +2,7 @@ import { useCallback } from 'react';
import { DragDropContext, OnDragEndResponder } from '@hello-pangea/dnd'; // Atlassian dnd does not support StrictMode from RN 18, so we use a fork @hello-pangea/dnd https://github.com/atlassian/react-beautiful-dnd/issues/2350
import { useRecoilState } from 'recoil';
-import { boardState } from '@/pipeline-progress/states/boardState';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
import {
PipelineProgress,
PipelineStage,
@@ -15,6 +14,7 @@ import {
StyledBoard,
} from '../../ui/board/components/Board';
import { BoardColumnContext } from '../states/BoardColumnContext';
+import { boardState } from '../states/boardState';
import { BoardOptions } from '../types/BoardOptions';
import { EntityBoardColumn } from './EntityBoardColumn';
diff --git a/front/src/modules/pipeline-progress/components/EntityBoardActionBar.tsx b/front/src/modules/pipeline/components/EntityBoardActionBar.tsx
similarity index 87%
rename from front/src/modules/pipeline-progress/components/EntityBoardActionBar.tsx
rename to front/src/modules/pipeline/components/EntityBoardActionBar.tsx
index da3103e3b..7c23c9068 100644
--- a/front/src/modules/pipeline-progress/components/EntityBoardActionBar.tsx
+++ b/front/src/modules/pipeline/components/EntityBoardActionBar.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import { useRecoilValue } from 'recoil';
-import { ActionBar } from '@/ui/components/action-bar/ActionBar';
+import { ActionBar } from '@/ui/action-bar/components/ActionBar';
import { selectedBoardCardsState } from '../states/selectedBoardCardsState';
diff --git a/front/src/modules/pipeline-progress/components/EntityBoardCard.tsx b/front/src/modules/pipeline/components/EntityBoardCard.tsx
similarity index 87%
rename from front/src/modules/pipeline-progress/components/EntityBoardCard.tsx
rename to front/src/modules/pipeline/components/EntityBoardCard.tsx
index d479bde91..705956129 100644
--- a/front/src/modules/pipeline-progress/components/EntityBoardCard.tsx
+++ b/front/src/modules/pipeline/components/EntityBoardCard.tsx
@@ -1,9 +1,9 @@
import { useEffect } from 'react';
import { Draggable } from '@hello-pangea/dnd';
-import { BoardCardContext } from '@/pipeline-progress/states/BoardCardContext';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { BoardCardContext } from '../states/BoardCardContext';
import { pipelineProgressIdScopedState } from '../states/pipelineProgressIdScopedState';
import { BoardOptions } from '../types/BoardOptions';
diff --git a/front/src/modules/pipeline-progress/components/EntityBoardColumn.tsx b/front/src/modules/pipeline/components/EntityBoardColumn.tsx
similarity index 92%
rename from front/src/modules/pipeline-progress/components/EntityBoardColumn.tsx
rename to front/src/modules/pipeline/components/EntityBoardColumn.tsx
index 7065cc0c6..a29eb9fec 100644
--- a/front/src/modules/pipeline-progress/components/EntityBoardColumn.tsx
+++ b/front/src/modules/pipeline/components/EntityBoardColumn.tsx
@@ -4,14 +4,14 @@ import styled from '@emotion/styled';
import { Droppable, DroppableProvided } from '@hello-pangea/dnd';
import { useRecoilValue } from 'recoil';
-import { BoardCardContext } from '@/pipeline-progress/states/BoardCardContext';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
import { BoardPipelineStageColumn } from '@/ui/board/components/Board';
import { BoardColumn } from '@/ui/board/components/BoardColumn';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { useUpdatePipelineStageMutation } from '~/generated/graphql';
-import { GET_PIPELINES } from '../services';
+import { GET_PIPELINES } from '../queries';
+import { BoardCardContext } from '../states/BoardCardContext';
import { BoardColumnContext } from '../states/BoardColumnContext';
import { boardColumnTotalsFamilySelector } from '../states/boardColumnTotalsFamilySelector';
import { pipelineStageIdScopedState } from '../states/pipelineStageIdScopedState';
diff --git a/front/src/modules/pipeline-progress/services/index.ts b/front/src/modules/pipeline/queries/index.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/services/index.ts
rename to front/src/modules/pipeline/queries/index.ts
diff --git a/front/src/modules/pipeline-progress/services/select.ts b/front/src/modules/pipeline/queries/select.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/services/select.ts
rename to front/src/modules/pipeline/queries/select.ts
diff --git a/front/src/modules/pipeline-stages/services/update.ts b/front/src/modules/pipeline/queries/update.ts
similarity index 57%
rename from front/src/modules/pipeline-stages/services/update.ts
rename to front/src/modules/pipeline/queries/update.ts
index e82790024..2b135df12 100644
--- a/front/src/modules/pipeline-stages/services/update.ts
+++ b/front/src/modules/pipeline/queries/update.ts
@@ -1,5 +1,13 @@
import { gql } from '@apollo/client';
+export const DELETE_PIPELINE_PROGRESS = gql`
+ mutation DeleteManyPipelineProgress($ids: [String!]) {
+ deleteManyPipelineProgress(where: { id: { in: $ids } }) {
+ count
+ }
+ }
+`;
+
export const UPDATE_PIPELINE_STAGE = gql`
mutation UpdatePipelineStage($id: String, $name: String) {
updateOnePipelineStage(where: { id: $id }, data: { name: { set: $name } }) {
diff --git a/front/src/modules/pipeline-progress/states/BoardCardContext.ts b/front/src/modules/pipeline/states/BoardCardContext.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/BoardCardContext.ts
rename to front/src/modules/pipeline/states/BoardCardContext.ts
diff --git a/front/src/modules/pipeline-progress/states/BoardColumnContext.ts b/front/src/modules/pipeline/states/BoardColumnContext.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/BoardColumnContext.ts
rename to front/src/modules/pipeline/states/BoardColumnContext.ts
diff --git a/front/src/modules/pipeline-progress/states/boardColumnTotalsFamilySelector.ts b/front/src/modules/pipeline/states/boardColumnTotalsFamilySelector.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/boardColumnTotalsFamilySelector.ts
rename to front/src/modules/pipeline/states/boardColumnTotalsFamilySelector.ts
diff --git a/front/src/modules/pipeline-progress/states/boardColumnsState.ts b/front/src/modules/pipeline/states/boardColumnsState.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/boardColumnsState.ts
rename to front/src/modules/pipeline/states/boardColumnsState.ts
diff --git a/front/src/modules/pipeline-progress/states/boardState.ts b/front/src/modules/pipeline/states/boardState.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/boardState.ts
rename to front/src/modules/pipeline/states/boardState.ts
diff --git a/front/src/modules/pipeline-progress/states/currentPipelineState.ts b/front/src/modules/pipeline/states/currentPipelineState.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/currentPipelineState.ts
rename to front/src/modules/pipeline/states/currentPipelineState.ts
diff --git a/front/src/modules/pipeline-progress/states/isBoardLoadedState.ts b/front/src/modules/pipeline/states/isBoardLoadedState.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/isBoardLoadedState.ts
rename to front/src/modules/pipeline/states/isBoardLoadedState.ts
diff --git a/front/src/modules/pipeline-progress/states/pipelineProgressIdScopedState.ts b/front/src/modules/pipeline/states/pipelineProgressIdScopedState.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/pipelineProgressIdScopedState.ts
rename to front/src/modules/pipeline/states/pipelineProgressIdScopedState.ts
diff --git a/front/src/modules/pipeline-progress/states/pipelineStageIdScopedState.ts b/front/src/modules/pipeline/states/pipelineStageIdScopedState.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/pipelineStageIdScopedState.ts
rename to front/src/modules/pipeline/states/pipelineStageIdScopedState.ts
diff --git a/front/src/modules/pipeline-progress/states/selectedBoardCardsState.ts b/front/src/modules/pipeline/states/selectedBoardCardsState.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/states/selectedBoardCardsState.ts
rename to front/src/modules/pipeline/states/selectedBoardCardsState.ts
diff --git a/front/src/modules/pipeline-progress/types/BoardOptions.ts b/front/src/modules/pipeline/types/BoardOptions.ts
similarity index 100%
rename from front/src/modules/pipeline-progress/types/BoardOptions.ts
rename to front/src/modules/pipeline/types/BoardOptions.ts
diff --git a/front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts b/front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts
index e466dd524..2f80a99e6 100644
--- a/front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts
+++ b/front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts
@@ -1,7 +1,7 @@
import * as Apollo from '@apollo/client';
-import { EntitiesForMultipleEntitySelect } from '@/relation-picker/components/MultipleEntitySelect';
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
+import { EntitiesForMultipleEntitySelect } from '@/ui/relation-picker/components/MultipleEntitySelect';
+import { EntityForSelect } from '@/ui/relation-picker/types/EntityForSelect';
import {
Exact,
InputMaybe,
diff --git a/front/src/modules/search/services/search.ts b/front/src/modules/search/queries/search.ts
similarity index 100%
rename from front/src/modules/search/services/search.ts
rename to front/src/modules/search/queries/search.ts
diff --git a/front/src/modules/search/interfaces/interface.ts b/front/src/modules/search/types/interface.ts
similarity index 100%
rename from front/src/modules/search/interfaces/interface.ts
rename to front/src/modules/search/types/interface.ts
diff --git a/front/src/modules/settings/components/SettingsNavbar.tsx b/front/src/modules/settings/components/SettingsNavbar.tsx
index 0fb34152a..89841805e 100644
--- a/front/src/modules/settings/components/SettingsNavbar.tsx
+++ b/front/src/modules/settings/components/SettingsNavbar.tsx
@@ -9,10 +9,10 @@ import {
IconSettings,
IconUser,
IconUsers,
-} from '@/ui/icons/index';
-import NavItem from '@/ui/layout/navbar/NavItem';
-import NavTitle from '@/ui/layout/navbar/NavTitle';
-import SubNavbar from '@/ui/layout/navbar/sub-navbar/SubNavbar';
+} from '@/ui/icon/index';
+import NavItem from '@/ui/navbar/components/NavItem';
+import NavTitle from '@/ui/navbar/components/NavTitle';
+import SubNavbar from '@/ui/navbar/components/SubNavbar';
export function SettingsNavbar() {
const theme = useTheme();
diff --git a/front/src/modules/settings/profile/components/EmailField.tsx b/front/src/modules/settings/profile/components/EmailField.tsx
index df189d3b7..999bfe582 100644
--- a/front/src/modules/settings/profile/components/EmailField.tsx
+++ b/front/src/modules/settings/profile/components/EmailField.tsx
@@ -1,7 +1,7 @@
import { useRecoilValue } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
-import { TextInput } from '@/ui/components/inputs/TextInput';
+import { TextInput } from '@/ui/input/components/TextInput';
export function EmailField() {
const currentUser = useRecoilValue(currentUserState);
diff --git a/front/src/modules/settings/profile/components/NameFields.tsx b/front/src/modules/settings/profile/components/NameFields.tsx
index 1ed33a0fb..c71830712 100644
--- a/front/src/modules/settings/profile/components/NameFields.tsx
+++ b/front/src/modules/settings/profile/components/NameFields.tsx
@@ -5,7 +5,7 @@ import debounce from 'lodash.debounce';
import { useRecoilValue } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
-import { TextInput } from '@/ui/components/inputs/TextInput';
+import { TextInput } from '@/ui/input/components/TextInput';
import { GET_CURRENT_USER } from '@/users/queries';
import { useUpdateUserMutation } from '~/generated/graphql';
diff --git a/front/src/modules/settings/profile/components/ProfilePictureUploader.tsx b/front/src/modules/settings/profile/components/ProfilePictureUploader.tsx
index 545ae6e2d..c78c6219b 100644
--- a/front/src/modules/settings/profile/components/ProfilePictureUploader.tsx
+++ b/front/src/modules/settings/profile/components/ProfilePictureUploader.tsx
@@ -2,7 +2,7 @@ import { getOperationName } from '@apollo/client/utilities';
import { useRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
-import { ImageInput } from '@/ui/components/inputs/ImageInput';
+import { ImageInput } from '@/ui/input/components/ImageInput';
import { GET_CURRENT_USER } from '@/users/queries';
import { getImageAbsoluteURIOrBase64 } from '@/users/utils/getProfilePictureAbsoluteURI';
import {
diff --git a/front/src/modules/settings/workspace/components/NameField.tsx b/front/src/modules/settings/workspace/components/NameField.tsx
index 55899b3c1..f56a0b1b8 100644
--- a/front/src/modules/settings/workspace/components/NameField.tsx
+++ b/front/src/modules/settings/workspace/components/NameField.tsx
@@ -5,7 +5,7 @@ import debounce from 'lodash.debounce';
import { useRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
-import { TextInput } from '@/ui/components/inputs/TextInput';
+import { TextInput } from '@/ui/input/components/TextInput';
import { GET_CURRENT_USER } from '@/users/queries';
import { useUpdateWorkspaceMutation } from '~/generated/graphql';
diff --git a/front/src/modules/settings/workspace/components/WorkspaceLogoUploader.tsx b/front/src/modules/settings/workspace/components/WorkspaceLogoUploader.tsx
index 044efac59..13715fc22 100644
--- a/front/src/modules/settings/workspace/components/WorkspaceLogoUploader.tsx
+++ b/front/src/modules/settings/workspace/components/WorkspaceLogoUploader.tsx
@@ -2,7 +2,7 @@ import { getOperationName } from '@apollo/client/utilities';
import { useRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
-import { ImageInput } from '@/ui/components/inputs/ImageInput';
+import { ImageInput } from '@/ui/input/components/ImageInput';
import { GET_CURRENT_USER } from '@/users/queries';
import { getImageAbsoluteURIOrBase64 } from '@/users/utils/getProfilePictureAbsoluteURI';
import {
diff --git a/front/src/sync-hooks/types/AppBasePath.ts b/front/src/modules/types/AppBasePath.ts
similarity index 100%
rename from front/src/sync-hooks/types/AppBasePath.ts
rename to front/src/modules/types/AppBasePath.ts
diff --git a/front/src/sync-hooks/types/AppPath.ts b/front/src/modules/types/AppPath.ts
similarity index 100%
rename from front/src/sync-hooks/types/AppPath.ts
rename to front/src/modules/types/AppPath.ts
diff --git a/front/src/sync-hooks/types/AuthPath.ts b/front/src/modules/types/AuthPath.ts
similarity index 100%
rename from front/src/sync-hooks/types/AuthPath.ts
rename to front/src/modules/types/AuthPath.ts
diff --git a/front/src/sync-hooks/types/PageHotkeyScope.ts b/front/src/modules/types/PageHotkeyScope.ts
similarity index 100%
rename from front/src/sync-hooks/types/PageHotkeyScope.ts
rename to front/src/modules/types/PageHotkeyScope.ts
diff --git a/front/src/sync-hooks/types/SettingsPath.ts b/front/src/modules/types/SettingsPath.ts
similarity index 100%
rename from front/src/sync-hooks/types/SettingsPath.ts
rename to front/src/modules/types/SettingsPath.ts
diff --git a/front/src/modules/ui/components/action-bar/ActionBar.tsx b/front/src/modules/ui/action-bar/components/ActionBar.tsx
similarity index 93%
rename from front/src/modules/ui/components/action-bar/ActionBar.tsx
rename to front/src/modules/ui/action-bar/components/ActionBar.tsx
index 106d8bff8..468af3f1e 100644
--- a/front/src/modules/ui/components/action-bar/ActionBar.tsx
+++ b/front/src/modules/ui/action-bar/components/ActionBar.tsx
@@ -2,8 +2,9 @@ import React, { useEffect } from 'react';
import styled from '@emotion/styled';
import { useRecoilValue, useSetRecoilState } from 'recoil';
-import { contextMenuPositionState } from '@/ui/tables/states/contextMenuPositionState';
-import { PositionType } from '@/ui/types/PositionType';
+import { contextMenuPositionState } from '@/ui/table/states/contextMenuPositionState';
+
+import { PositionType } from '../types/PositionType';
type OwnProps = {
children: React.ReactNode | React.ReactNode[];
diff --git a/front/src/modules/ui/components/action-bar/__stories__/ActionBar.stories.tsx b/front/src/modules/ui/action-bar/components/__stories__/ActionBar.stories.tsx
similarity index 100%
rename from front/src/modules/ui/components/action-bar/__stories__/ActionBar.stories.tsx
rename to front/src/modules/ui/action-bar/components/__stories__/ActionBar.stories.tsx
diff --git a/front/src/modules/ui/types/PositionType.ts b/front/src/modules/ui/action-bar/types/PositionType.ts
similarity index 100%
rename from front/src/modules/ui/types/PositionType.ts
rename to front/src/modules/ui/action-bar/types/PositionType.ts
diff --git a/front/src/modules/ui/components/motion/AnimatedEaseIn.tsx b/front/src/modules/ui/animation/components/AnimatedEaseIn.tsx
similarity index 100%
rename from front/src/modules/ui/components/motion/AnimatedEaseIn.tsx
rename to front/src/modules/ui/animation/components/AnimatedEaseIn.tsx
diff --git a/front/src/modules/ui/components/motion/AnimatedTextWord.tsx b/front/src/modules/ui/animation/components/AnimatedTextWord.tsx
similarity index 100%
rename from front/src/modules/ui/components/motion/AnimatedTextWord.tsx
rename to front/src/modules/ui/animation/components/AnimatedTextWord.tsx
diff --git a/front/src/modules/ui/board-card-field/components/BoardCardEditableField.tsx b/front/src/modules/ui/board/card-field/components/BoardCardEditableField.tsx
similarity index 82%
rename from front/src/modules/ui/board-card-field/components/BoardCardEditableField.tsx
rename to front/src/modules/ui/board/card-field/components/BoardCardEditableField.tsx
index 9faaadd02..96a009ae1 100644
--- a/front/src/modules/ui/board-card-field/components/BoardCardEditableField.tsx
+++ b/front/src/modules/ui/board/card-field/components/BoardCardEditableField.tsx
@@ -1,7 +1,7 @@
import { ReactElement } from 'react';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
import { BoardCardFieldContext } from '../states/BoardCardFieldContext';
diff --git a/front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldDate.tsx b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDate.tsx
similarity index 79%
rename from front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldDate.tsx
rename to front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDate.tsx
index 7318074b7..658b183b0 100644
--- a/front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldDate.tsx
+++ b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDate.tsx
@@ -1,9 +1,9 @@
import { useMemo, useState } from 'react';
-import { BoardCardEditableField } from '@/ui/board-card-field/components/BoardCardEditableField';
-import { InplaceInputDateDisplayMode } from '@/ui/inplace-inputs/components/InplaceInputDateDisplayMode';
-import { debounce } from '@/utils/debounce';
+import { InplaceInputDateDisplayMode } from '@/ui/display/component/InplaceInputDateDisplayMode';
+import { debounce } from '~/utils/debounce';
+import { BoardCardEditableField } from './BoardCardEditableField';
import { BoardCardEditableFieldDateEditMode } from './BoardCardEditableFieldDateEditMode';
type OwnProps = {
diff --git a/front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldDateEditMode.tsx b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDateEditMode.tsx
similarity index 78%
rename from front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldDateEditMode.tsx
rename to front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDateEditMode.tsx
index 0c59fbe38..b2ccbb540 100644
--- a/front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldDateEditMode.tsx
+++ b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDateEditMode.tsx
@@ -1,4 +1,4 @@
-import { InplaceInputDate } from '@/ui/inplace-inputs/components/InplaceInputDate';
+import { InplaceInputDate } from '@/ui/inplace-input/components/InplaceInputDate';
type OwnProps = {
value: Date;
diff --git a/front/src/modules/ui/board-card-field/components/BoardCardEditableFieldDisplayMode.tsx b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDisplayMode.tsx
similarity index 100%
rename from front/src/modules/ui/board-card-field/components/BoardCardEditableFieldDisplayMode.tsx
rename to front/src/modules/ui/board/card-field/components/BoardCardEditableFieldDisplayMode.tsx
diff --git a/front/src/modules/ui/board-card-field/components/BoardCardEditableFieldEditMode.tsx b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldEditMode.tsx
similarity index 96%
rename from front/src/modules/ui/board-card-field/components/BoardCardEditableFieldEditMode.tsx
rename to front/src/modules/ui/board/card-field/components/BoardCardEditableFieldEditMode.tsx
index 1fa221644..e97cbafab 100644
--- a/front/src/modules/ui/board-card-field/components/BoardCardEditableFieldEditMode.tsx
+++ b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldEditMode.tsx
@@ -1,8 +1,8 @@
import { ReactElement, useRef } from 'react';
import styled from '@emotion/styled';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
import { useListenClickOutsideArrayOfRef } from '@/ui/hooks/useListenClickOutsideArrayOfRef';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
import { overlayBackground } from '@/ui/themes/effects';
import { BoardCardFieldHotkeyScope } from '../types/BoardCardFieldHotkeyScope';
diff --git a/front/src/modules/ui/board-card-field/components/BoardCardEditableFieldInternal.tsx b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldInternal.tsx
similarity index 93%
rename from front/src/modules/ui/board-card-field/components/BoardCardEditableFieldInternal.tsx
rename to front/src/modules/ui/board/card-field/components/BoardCardEditableFieldInternal.tsx
index be286343f..8143ba92c 100644
--- a/front/src/modules/ui/board-card-field/components/BoardCardEditableFieldInternal.tsx
+++ b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldInternal.tsx
@@ -1,8 +1,8 @@
import { ReactElement } from 'react';
import styled from '@emotion/styled';
-import { usePreviousHotkeyScope } from '@/lib/hotkeys/hooks/usePreviousHotkeyScope';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
+import { usePreviousHotkeyScope } from '@/ui/hotkey/hooks/usePreviousHotkeyScope';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
import { useBoardCardField } from '../hooks/useBoardCardField';
import { BoardCardFieldHotkeyScope } from '../types/BoardCardFieldHotkeyScope';
diff --git a/front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldText.tsx b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldText.tsx
similarity index 75%
rename from front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldText.tsx
rename to front/src/modules/ui/board/card-field/components/BoardCardEditableFieldText.tsx
index cffb48bed..5739a7cac 100644
--- a/front/src/modules/ui/board-card-field-inputs/components/BoardCardEditableFieldText.tsx
+++ b/front/src/modules/ui/board/card-field/components/BoardCardEditableFieldText.tsx
@@ -1,9 +1,10 @@
import { ChangeEvent, useMemo, useState } from 'react';
-import { BoardCardEditableField } from '@/ui/board-card-field/components/BoardCardEditableField';
-import { InplaceInputTextDisplayMode } from '@/ui/inplace-inputs/components/InplaceInputTextDisplayMode';
-import { InplaceInputTextEditMode } from '@/ui/inplace-inputs/components/InplaceInputTextEditMode';
-import { debounce } from '@/utils/debounce';
+import { InplaceInputTextDisplayMode } from '@/ui/display/component/InplaceInputTextDisplayMode';
+import { InplaceInputTextEditMode } from '@/ui/inplace-input/components/InplaceInputTextEditMode';
+import { debounce } from '~/utils/debounce';
+
+import { BoardCardEditableField } from './BoardCardEditableField';
type OwnProps = {
placeholder?: string;
diff --git a/front/src/modules/ui/board-card-field/hooks/useBoardCardField.ts b/front/src/modules/ui/board/card-field/hooks/useBoardCardField.ts
similarity index 88%
rename from front/src/modules/ui/board-card-field/hooks/useBoardCardField.ts
rename to front/src/modules/ui/board/card-field/hooks/useBoardCardField.ts
index a7f46aa9c..c9ff939db 100644
--- a/front/src/modules/ui/board-card-field/hooks/useBoardCardField.ts
+++ b/front/src/modules/ui/board/card-field/hooks/useBoardCardField.ts
@@ -1,4 +1,4 @@
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { BoardCardFieldContext } from '../states/BoardCardFieldContext';
import { isBoardCardFieldInEditModeScopedState } from '../states/isBoardCardFieldInEditModeScopedState';
diff --git a/front/src/modules/ui/board-card-field/states/BoardCardFieldContext.ts b/front/src/modules/ui/board/card-field/states/BoardCardFieldContext.ts
similarity index 100%
rename from front/src/modules/ui/board-card-field/states/BoardCardFieldContext.ts
rename to front/src/modules/ui/board/card-field/states/BoardCardFieldContext.ts
diff --git a/front/src/modules/ui/board-card-field/states/isBoardCardFieldInEditModeScopedState.ts b/front/src/modules/ui/board/card-field/states/isBoardCardFieldInEditModeScopedState.ts
similarity index 100%
rename from front/src/modules/ui/board-card-field/states/isBoardCardFieldInEditModeScopedState.ts
rename to front/src/modules/ui/board/card-field/states/isBoardCardFieldInEditModeScopedState.ts
diff --git a/front/src/modules/ui/board-card-field/types/BoardCardFieldHotkeyScope.ts b/front/src/modules/ui/board/card-field/types/BoardCardFieldHotkeyScope.ts
similarity index 100%
rename from front/src/modules/ui/board-card-field/types/BoardCardFieldHotkeyScope.ts
rename to front/src/modules/ui/board/card-field/types/BoardCardFieldHotkeyScope.ts
diff --git a/front/src/modules/ui/board/components/BoardColumn.tsx b/front/src/modules/ui/board/components/BoardColumn.tsx
index 6b3e8abef..d88458586 100644
--- a/front/src/modules/ui/board/components/BoardColumn.tsx
+++ b/front/src/modules/ui/board/components/BoardColumn.tsx
@@ -1,7 +1,7 @@
import React, { ChangeEvent } from 'react';
import styled from '@emotion/styled';
-import { debounce } from '@/utils/debounce';
+import { debounce } from '~/utils/debounce';
import { EditColumnTitleInput } from './EditColumnTitleInput';
diff --git a/front/src/modules/ui/board/components/EditColumnTitleInput.tsx b/front/src/modules/ui/board/components/EditColumnTitleInput.tsx
index 33f089513..0128cb32e 100644
--- a/front/src/modules/ui/board/components/EditColumnTitleInput.tsx
+++ b/front/src/modules/ui/board/components/EditColumnTitleInput.tsx
@@ -1,9 +1,9 @@
import React from 'react';
import styled from '@emotion/styled';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
import { useListenClickOutsideArrayOfRef } from '@/ui/hooks/useListenClickOutsideArrayOfRef';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
import { ColumnHotkeyScope } from './ColumnHotkeyScope';
diff --git a/front/src/modules/ui/board/components/NewButton.tsx b/front/src/modules/ui/board/components/NewButton.tsx
index 16540a5c2..1c808f249 100644
--- a/front/src/modules/ui/board/components/NewButton.tsx
+++ b/front/src/modules/ui/board/components/NewButton.tsx
@@ -1,7 +1,7 @@
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { IconPlus } from '@/ui/icons/index';
+import { IconPlus } from '@/ui/icon/index';
const StyledButton = styled.button`
align-items: center;
diff --git a/front/src/modules/ui/components/buttons/Button.tsx b/front/src/modules/ui/button/components/Button.tsx
similarity index 98%
rename from front/src/modules/ui/components/buttons/Button.tsx
rename to front/src/modules/ui/button/components/Button.tsx
index e4999fa04..29a8eb3e9 100644
--- a/front/src/modules/ui/components/buttons/Button.tsx
+++ b/front/src/modules/ui/button/components/Button.tsx
@@ -1,10 +1,9 @@
import React from 'react';
import styled from '@emotion/styled';
+import { SoonPill } from '@/ui/pill/components/SoonPill';
import { rgba } from '@/ui/themes/colors';
-import { SoonPill } from '../accessories/SoonPill';
-
export type ButtonVariant =
| 'primary'
| 'secondary'
diff --git a/front/src/modules/ui/components/buttons/ButtonGroup.tsx b/front/src/modules/ui/button/components/ButtonGroup.tsx
similarity index 100%
rename from front/src/modules/ui/components/buttons/ButtonGroup.tsx
rename to front/src/modules/ui/button/components/ButtonGroup.tsx
diff --git a/front/src/modules/ui/components/buttons/DropdownButton.tsx b/front/src/modules/ui/button/components/DropdownButton.tsx
similarity index 98%
rename from front/src/modules/ui/components/buttons/DropdownButton.tsx
rename to front/src/modules/ui/button/components/DropdownButton.tsx
index 39f815409..232ff6d82 100644
--- a/front/src/modules/ui/components/buttons/DropdownButton.tsx
+++ b/front/src/modules/ui/button/components/DropdownButton.tsx
@@ -1,7 +1,7 @@
import React, { useEffect, useState } from 'react';
import styled from '@emotion/styled';
-import { IconChevronDown } from '@/ui/icons/index';
+import { IconChevronDown } from '@/ui/icon/index';
type ButtonProps = React.ComponentProps<'button'>;
diff --git a/front/src/modules/ui/components/buttons/IconButton.tsx b/front/src/modules/ui/button/components/IconButton.tsx
similarity index 100%
rename from front/src/modules/ui/components/buttons/IconButton.tsx
rename to front/src/modules/ui/button/components/IconButton.tsx
diff --git a/front/src/modules/ui/components/buttons/MainButton.tsx b/front/src/modules/ui/button/components/MainButton.tsx
similarity index 100%
rename from front/src/modules/ui/components/buttons/MainButton.tsx
rename to front/src/modules/ui/button/components/MainButton.tsx
diff --git a/front/src/modules/ui/components/buttons/RoundedIconButton.tsx b/front/src/modules/ui/button/components/RoundedIconButton.tsx
similarity index 100%
rename from front/src/modules/ui/components/buttons/RoundedIconButton.tsx
rename to front/src/modules/ui/button/components/RoundedIconButton.tsx
diff --git a/front/src/modules/ui/components/buttons/__stories__/Button.stories.tsx b/front/src/modules/ui/button/components/__stories__/Button.stories.tsx
similarity index 99%
rename from front/src/modules/ui/components/buttons/__stories__/Button.stories.tsx
rename to front/src/modules/ui/button/components/__stories__/Button.stories.tsx
index f630b4e37..8e96866fb 100644
--- a/front/src/modules/ui/components/buttons/__stories__/Button.stories.tsx
+++ b/front/src/modules/ui/button/components/__stories__/Button.stories.tsx
@@ -5,7 +5,7 @@ import { expect, jest } from '@storybook/jest';
import type { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
-import { IconSearch } from '@/ui/icons';
+import { IconSearch } from '@/ui/icon';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
import { Button } from '../Button';
diff --git a/front/src/modules/ui/components/buttons/__stories__/IconButton.stories.tsx b/front/src/modules/ui/button/components/__stories__/IconButton.stories.tsx
similarity index 99%
rename from front/src/modules/ui/components/buttons/__stories__/IconButton.stories.tsx
rename to front/src/modules/ui/button/components/__stories__/IconButton.stories.tsx
index 4a96c6f1e..c683bb19f 100644
--- a/front/src/modules/ui/components/buttons/__stories__/IconButton.stories.tsx
+++ b/front/src/modules/ui/button/components/__stories__/IconButton.stories.tsx
@@ -5,7 +5,7 @@ import { expect, jest } from '@storybook/jest';
import type { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
-import { IconUser } from '@/ui/icons';
+import { IconUser } from '@/ui/icon';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
import { IconButton } from '../IconButton';
diff --git a/front/src/modules/ui/components/buttons/__stories__/MainButton.stories.tsx b/front/src/modules/ui/button/components/__stories__/MainButton.stories.tsx
similarity index 98%
rename from front/src/modules/ui/components/buttons/__stories__/MainButton.stories.tsx
rename to front/src/modules/ui/button/components/__stories__/MainButton.stories.tsx
index 0b3182037..803d8dacc 100644
--- a/front/src/modules/ui/components/buttons/__stories__/MainButton.stories.tsx
+++ b/front/src/modules/ui/button/components/__stories__/MainButton.stories.tsx
@@ -2,7 +2,7 @@ import { expect, jest } from '@storybook/jest';
import type { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
-import { IconBrandGoogle } from '@/ui/icons';
+import { IconBrandGoogle } from '@/ui/icon';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
import { MainButton } from '../MainButton';
diff --git a/front/src/modules/ui/components/buttons/__stories__/RoundedIconButton.stories.tsx b/front/src/modules/ui/button/components/__stories__/RoundedIconButton.stories.tsx
similarity index 95%
rename from front/src/modules/ui/components/buttons/__stories__/RoundedIconButton.stories.tsx
rename to front/src/modules/ui/button/components/__stories__/RoundedIconButton.stories.tsx
index 647282852..befb3056c 100644
--- a/front/src/modules/ui/components/buttons/__stories__/RoundedIconButton.stories.tsx
+++ b/front/src/modules/ui/button/components/__stories__/RoundedIconButton.stories.tsx
@@ -2,7 +2,7 @@ import { expect, jest } from '@storybook/jest';
import type { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
-import { IconArrowRight } from '@/ui/icons';
+import { IconArrowRight } from '@/ui/icon';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
import { RoundedIconButton } from '../RoundedIconButton';
diff --git a/front/src/modules/ui/components/table/HooksEntityTable.tsx b/front/src/modules/ui/components/table/HooksEntityTable.tsx
deleted file mode 100644
index a4fe59294..000000000
--- a/front/src/modules/ui/components/table/HooksEntityTable.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { FilterDefinition } from '@/lib/filters-and-sorts/types/FilterDefinition';
-import { useInitializeEntityTable } from '@/ui/tables/hooks/useInitializeEntityTable';
-import { useInitializeEntityTableFilters } from '@/ui/tables/hooks/useInitializeEntityTableFilters';
-import { useMapKeyboardToSoftFocus } from '@/ui/tables/hooks/useMapKeyboardToSoftFocus';
-
-export function HooksEntityTable({
- numberOfColumns,
- availableFilters,
-}: {
- numberOfColumns: number;
- availableFilters: FilterDefinition[];
-}) {
- useMapKeyboardToSoftFocus();
-
- useInitializeEntityTable({
- numberOfColumns,
- });
-
- useInitializeEntityTableFilters({
- availableFilters,
- });
-
- return <>>;
-}
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputDateDisplayMode.tsx b/front/src/modules/ui/display/component/InplaceInputDateDisplayMode.tsx
similarity index 74%
rename from front/src/modules/ui/inplace-inputs/components/InplaceInputDateDisplayMode.tsx
rename to front/src/modules/ui/display/component/InplaceInputDateDisplayMode.tsx
index eb1b949fe..21f580b6b 100644
--- a/front/src/modules/ui/inplace-inputs/components/InplaceInputDateDisplayMode.tsx
+++ b/front/src/modules/ui/display/component/InplaceInputDateDisplayMode.tsx
@@ -1,4 +1,4 @@
-import { formatToHumanReadableDate } from '@/utils/utils';
+import { formatToHumanReadableDate } from '~/utils';
type OwnProps = {
value: Date;
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputPhoneDisplayMode.tsx b/front/src/modules/ui/display/component/InplaceInputPhoneDisplayMode.tsx
similarity index 93%
rename from front/src/modules/ui/inplace-inputs/components/InplaceInputPhoneDisplayMode.tsx
rename to front/src/modules/ui/display/component/InplaceInputPhoneDisplayMode.tsx
index 36bc7c5db..ac4e4032f 100644
--- a/front/src/modules/ui/inplace-inputs/components/InplaceInputPhoneDisplayMode.tsx
+++ b/front/src/modules/ui/display/component/InplaceInputPhoneDisplayMode.tsx
@@ -2,7 +2,7 @@ import { MouseEvent } from 'react';
import styled from '@emotion/styled';
import { isValidPhoneNumber, parsePhoneNumber } from 'libphonenumber-js';
-import { RawLink } from '@/ui/components/links/RawLink';
+import { RawLink } from '@/ui/link/components/RawLink';
const StyledRawLink = styled(RawLink)`
overflow: hidden;
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputTextDisplayMode.tsx b/front/src/modules/ui/display/component/InplaceInputTextDisplayMode.tsx
similarity index 100%
rename from front/src/modules/ui/inplace-inputs/components/InplaceInputTextDisplayMode.tsx
rename to front/src/modules/ui/display/component/InplaceInputTextDisplayMode.tsx
diff --git a/front/src/modules/ui/components/menu/DropdownMenu.tsx b/front/src/modules/ui/dropdown/components/DropdownMenu.tsx
similarity index 100%
rename from front/src/modules/ui/components/menu/DropdownMenu.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenu.tsx
diff --git a/front/src/modules/ui/components/menu/DropdownMenuButton.tsx b/front/src/modules/ui/dropdown/components/DropdownMenuButton.tsx
similarity index 100%
rename from front/src/modules/ui/components/menu/DropdownMenuButton.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenuButton.tsx
diff --git a/front/src/modules/ui/components/menu/DropdownMenuCheckableItem.tsx b/front/src/modules/ui/dropdown/components/DropdownMenuCheckableItem.tsx
similarity index 95%
rename from front/src/modules/ui/components/menu/DropdownMenuCheckableItem.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenuCheckableItem.tsx
index 93c1e3862..651a682c6 100644
--- a/front/src/modules/ui/components/menu/DropdownMenuCheckableItem.tsx
+++ b/front/src/modules/ui/dropdown/components/DropdownMenuCheckableItem.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import styled from '@emotion/styled';
-import { Checkbox } from '../form/Checkbox';
+import { Checkbox } from '@/ui/input/components/Checkbox';
import { DropdownMenuButton } from './DropdownMenuButton';
diff --git a/front/src/modules/ui/components/menu/DropdownMenuItem.tsx b/front/src/modules/ui/dropdown/components/DropdownMenuItem.tsx
similarity index 100%
rename from front/src/modules/ui/components/menu/DropdownMenuItem.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenuItem.tsx
diff --git a/front/src/modules/ui/components/menu/DropdownMenuItemContainer.tsx b/front/src/modules/ui/dropdown/components/DropdownMenuItemContainer.tsx
similarity index 100%
rename from front/src/modules/ui/components/menu/DropdownMenuItemContainer.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenuItemContainer.tsx
diff --git a/front/src/modules/ui/components/menu/DropdownMenuSearch.tsx b/front/src/modules/ui/dropdown/components/DropdownMenuSearch.tsx
similarity index 100%
rename from front/src/modules/ui/components/menu/DropdownMenuSearch.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenuSearch.tsx
diff --git a/front/src/modules/ui/components/menu/DropdownMenuSelectableItem.tsx b/front/src/modules/ui/dropdown/components/DropdownMenuSelectableItem.tsx
similarity index 96%
rename from front/src/modules/ui/components/menu/DropdownMenuSelectableItem.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenuSelectableItem.tsx
index 4a6c2ba96..2d23e349a 100644
--- a/front/src/modules/ui/components/menu/DropdownMenuSelectableItem.tsx
+++ b/front/src/modules/ui/dropdown/components/DropdownMenuSelectableItem.tsx
@@ -2,7 +2,7 @@ import React, { useEffect } from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { IconCheck } from '@/ui/icons/index';
+import { IconCheck } from '@/ui/icon/index';
import { hoverBackground } from '@/ui/themes/effects';
import { DropdownMenuButton } from './DropdownMenuButton';
diff --git a/front/src/modules/ui/components/menu/DropdownMenuSeparator.tsx b/front/src/modules/ui/dropdown/components/DropdownMenuSeparator.tsx
similarity index 100%
rename from front/src/modules/ui/components/menu/DropdownMenuSeparator.tsx
rename to front/src/modules/ui/dropdown/components/DropdownMenuSeparator.tsx
diff --git a/front/src/modules/ui/components/menu/stories/DropdownMenu.stories.tsx b/front/src/modules/ui/dropdown/components/__stories__/DropdownMenu.stories.tsx
similarity index 99%
rename from front/src/modules/ui/components/menu/stories/DropdownMenu.stories.tsx
rename to front/src/modules/ui/dropdown/components/__stories__/DropdownMenu.stories.tsx
index 6edde0e34..32afd2813 100644
--- a/front/src/modules/ui/components/menu/stories/DropdownMenu.stories.tsx
+++ b/front/src/modules/ui/dropdown/components/__stories__/DropdownMenu.stories.tsx
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
import styled from '@emotion/styled';
import type { Meta, StoryObj } from '@storybook/react';
-import { IconPlus } from '@/ui/icons/index';
+import { IconPlus } from '@/ui/icon/index';
import { Avatar } from '@/users/components/Avatar';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
diff --git a/front/src/modules/ui/editable-fields/components/EditableField.tsx b/front/src/modules/ui/editable-field/components/EditableField.tsx
similarity index 98%
rename from front/src/modules/ui/editable-fields/components/EditableField.tsx
rename to front/src/modules/ui/editable-field/components/EditableField.tsx
index 34a9537ad..a5edba7e7 100644
--- a/front/src/modules/ui/editable-fields/components/EditableField.tsx
+++ b/front/src/modules/ui/editable-field/components/EditableField.tsx
@@ -2,7 +2,7 @@ import { useState } from 'react';
import styled from '@emotion/styled';
import { motion } from 'framer-motion';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
import { useEditableField } from '../hooks/useEditableField';
diff --git a/front/src/modules/ui/editable-fields/components/EditableFieldDisplayMode.tsx b/front/src/modules/ui/editable-field/components/EditableFieldDisplayMode.tsx
similarity index 100%
rename from front/src/modules/ui/editable-fields/components/EditableFieldDisplayMode.tsx
rename to front/src/modules/ui/editable-field/components/EditableFieldDisplayMode.tsx
diff --git a/front/src/modules/ui/editable-fields/components/EditableFieldEditButton.tsx b/front/src/modules/ui/editable-field/components/EditableFieldEditButton.tsx
similarity index 85%
rename from front/src/modules/ui/editable-fields/components/EditableFieldEditButton.tsx
rename to front/src/modules/ui/editable-field/components/EditableFieldEditButton.tsx
index d9a9f9945..d18ed15bb 100644
--- a/front/src/modules/ui/editable-fields/components/EditableFieldEditButton.tsx
+++ b/front/src/modules/ui/editable-field/components/EditableFieldEditButton.tsx
@@ -1,8 +1,8 @@
import styled from '@emotion/styled';
-import { IconPencil } from '@tabler/icons-react';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
-import { IconButton } from '@/ui/components/buttons/IconButton';
+import { IconButton } from '@/ui/button/components/IconButton';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
+import { IconPencil } from '@/ui/icon';
import { overlayBackground } from '@/ui/themes/effects';
import { useEditableField } from '../hooks/useEditableField';
diff --git a/front/src/modules/ui/editable-fields/components/EditableFieldEditMode.tsx b/front/src/modules/ui/editable-field/components/EditableFieldEditMode.tsx
similarity index 100%
rename from front/src/modules/ui/editable-fields/components/EditableFieldEditMode.tsx
rename to front/src/modules/ui/editable-field/components/EditableFieldEditMode.tsx
diff --git a/front/src/modules/ui/editable-fields/components/EditableFieldEntityText.tsx b/front/src/modules/ui/editable-field/components/EditableFieldEntityText.tsx
similarity index 79%
rename from front/src/modules/ui/editable-fields/components/EditableFieldEntityText.tsx
rename to front/src/modules/ui/editable-field/components/EditableFieldEntityText.tsx
index f944f9418..079ff3a52 100644
--- a/front/src/modules/ui/editable-fields/components/EditableFieldEntityText.tsx
+++ b/front/src/modules/ui/editable-field/components/EditableFieldEntityText.tsx
@@ -1,10 +1,10 @@
import { useEffect, useState } from 'react';
-import { IconMap } from '@tabler/icons-react';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EditableField } from '@/ui/editable-fields/components/EditableField';
-import { FieldContext } from '@/ui/editable-fields/states/FieldContext';
-import { InplaceInputText } from '@/ui/inplace-inputs/components/InplaceInputText';
+import { EditableField } from '@/ui/editable-field/components/EditableField';
+import { FieldContext } from '@/ui/editable-field/states/FieldContext';
+import { IconMap } from '@/ui/icon';
+import { InplaceInputText } from '@/ui/inplace-input/components/InplaceInputText';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
import { Company, useUpdateCompanyMutation } from '~/generated/graphql';
type OwnProps = {
diff --git a/front/src/modules/ui/editable-fields/components/FieldDisplayURL.tsx b/front/src/modules/ui/editable-field/components/FieldDisplayURL.tsx
similarity index 71%
rename from front/src/modules/ui/editable-fields/components/FieldDisplayURL.tsx
rename to front/src/modules/ui/editable-field/components/FieldDisplayURL.tsx
index 54b3b3f6f..333625d60 100644
--- a/front/src/modules/ui/editable-fields/components/FieldDisplayURL.tsx
+++ b/front/src/modules/ui/editable-field/components/FieldDisplayURL.tsx
@@ -1,4 +1,4 @@
-import { RawLink } from '@/ui/components/links/RawLink';
+import { RawLink } from '@/ui/link/components/RawLink';
export function FieldDisplayURL({ URL }: { URL: string | undefined }) {
return {URL};
diff --git a/front/src/modules/ui/editable-fields/hooks/useEditableField.ts b/front/src/modules/ui/editable-field/hooks/useEditableField.ts
similarity index 82%
rename from front/src/modules/ui/editable-fields/hooks/useEditableField.ts
rename to front/src/modules/ui/editable-field/hooks/useEditableField.ts
index d158b4d47..a981b8492 100644
--- a/front/src/modules/ui/editable-fields/hooks/useEditableField.ts
+++ b/front/src/modules/ui/editable-field/hooks/useEditableField.ts
@@ -1,6 +1,6 @@
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { FieldContext } from '../states/FieldContext';
import { isFieldInEditModeScopedState } from '../states/isFieldInEditModeScopedState';
diff --git a/front/src/modules/ui/editable-fields/hooks/useRegisterCloseFieldHandlers.ts b/front/src/modules/ui/editable-field/hooks/useRegisterCloseFieldHandlers.ts
similarity index 92%
rename from front/src/modules/ui/editable-fields/hooks/useRegisterCloseFieldHandlers.ts
rename to front/src/modules/ui/editable-field/hooks/useRegisterCloseFieldHandlers.ts
index 3890b1b97..2d60da4b1 100644
--- a/front/src/modules/ui/editable-fields/hooks/useRegisterCloseFieldHandlers.ts
+++ b/front/src/modules/ui/editable-field/hooks/useRegisterCloseFieldHandlers.ts
@@ -1,5 +1,5 @@
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
import { useListenClickOutsideArrayOfRef } from '@/ui/hooks/useListenClickOutsideArrayOfRef';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
import { EditableFieldHotkeyScope } from '../types/EditableFieldHotkeyScope';
diff --git a/front/src/modules/ui/components/property-box/PropertyBox.tsx b/front/src/modules/ui/editable-field/property-box/components/PropertyBox.tsx
similarity index 100%
rename from front/src/modules/ui/components/property-box/PropertyBox.tsx
rename to front/src/modules/ui/editable-field/property-box/components/PropertyBox.tsx
diff --git a/front/src/modules/ui/components/property-box/PropertyBoxItem.tsx b/front/src/modules/ui/editable-field/property-box/components/PropertyBoxItem.tsx
similarity index 100%
rename from front/src/modules/ui/components/property-box/PropertyBoxItem.tsx
rename to front/src/modules/ui/editable-field/property-box/components/PropertyBoxItem.tsx
diff --git a/front/src/modules/ui/editable-fields/states/FieldContext.ts b/front/src/modules/ui/editable-field/states/FieldContext.ts
similarity index 100%
rename from front/src/modules/ui/editable-fields/states/FieldContext.ts
rename to front/src/modules/ui/editable-field/states/FieldContext.ts
diff --git a/front/src/modules/ui/editable-fields/states/isFieldInEditModeScopedState.ts b/front/src/modules/ui/editable-field/states/isFieldInEditModeScopedState.ts
similarity index 100%
rename from front/src/modules/ui/editable-fields/states/isFieldInEditModeScopedState.ts
rename to front/src/modules/ui/editable-field/states/isFieldInEditModeScopedState.ts
diff --git a/front/src/modules/ui/editable-fields/types/EditableFieldHotkeyScope.ts b/front/src/modules/ui/editable-field/types/EditableFieldHotkeyScope.ts
similarity index 100%
rename from front/src/modules/ui/editable-fields/types/EditableFieldHotkeyScope.ts
rename to front/src/modules/ui/editable-field/types/EditableFieldHotkeyScope.ts
diff --git a/front/src/modules/ui/editable-fields/variants/components/EditableFieldEditModeDate.tsx b/front/src/modules/ui/editable-field/variants/components/EditableFieldEditModeDate.tsx
similarity index 75%
rename from front/src/modules/ui/editable-fields/variants/components/EditableFieldEditModeDate.tsx
rename to front/src/modules/ui/editable-field/variants/components/EditableFieldEditModeDate.tsx
index 507be9602..86112006e 100644
--- a/front/src/modules/ui/editable-fields/variants/components/EditableFieldEditModeDate.tsx
+++ b/front/src/modules/ui/editable-field/variants/components/EditableFieldEditModeDate.tsx
@@ -1,6 +1,6 @@
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
-import { InplaceInputDate } from '@/ui/inplace-inputs/components/InplaceInputDate';
-import { parseDate } from '@/utils/datetime/date-utils';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
+import { InplaceInputDate } from '@/ui/inplace-input/components/InplaceInputDate';
+import { parseDate } from '~/utils/date-utils';
import { useEditableField } from '../../hooks/useEditableField';
diff --git a/front/src/modules/ui/components/editor/BlockEditor.tsx b/front/src/modules/ui/editor/components/BlockEditor.tsx
similarity index 100%
rename from front/src/modules/ui/components/editor/BlockEditor.tsx
rename to front/src/modules/ui/editor/components/BlockEditor.tsx
diff --git a/front/src/modules/lib/filters-and-sorts/components/DropdownButton.tsx b/front/src/modules/ui/filter-n-sort/components/DropdownButton.tsx
similarity index 97%
rename from front/src/modules/lib/filters-and-sorts/components/DropdownButton.tsx
rename to front/src/modules/ui/filter-n-sort/components/DropdownButton.tsx
index eba9d66b3..a36d1e44e 100644
--- a/front/src/modules/lib/filters-and-sorts/components/DropdownButton.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/DropdownButton.tsx
@@ -2,9 +2,9 @@ import { ReactNode, useRef } from 'react';
import styled from '@emotion/styled';
import { Key } from 'ts-key-enum';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
import { useOutsideAlerter } from '@/ui/hooks/useOutsideAlerter';
-import { IconChevronDown } from '@/ui/icons/index';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { IconChevronDown } from '@/ui/icon/index';
import { overlayBackground, textInputStyle } from '@/ui/themes/effects';
import { FiltersHotkeyScope } from '../types/FiltersHotkeyScope';
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownButton.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownButton.tsx
similarity index 82%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownButton.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownButton.tsx
index 9ceef74eb..96255ca0a 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownButton.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownButton.tsx
@@ -1,15 +1,15 @@
import { Context, useCallback, useState } from 'react';
import { Key } from 'ts-key-enum';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { filterDropdownSearchInputScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState';
-import { filtersScopedState } from '@/lib/filters-and-sorts/states/filtersScopedState';
-import { isFilterDropdownOperandSelectUnfoldedScopedState } from '@/lib/filters-and-sorts/states/isFilterDropdownOperandSelectUnfoldedScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
+import { filterDefinitionUsedInDropdownScopedState } from '@/ui/filter-n-sort/states/filterDefinitionUsedInDropdownScopedState';
+import { filterDropdownSearchInputScopedState } from '@/ui/filter-n-sort/states/filterDropdownSearchInputScopedState';
+import { filtersScopedState } from '@/ui/filter-n-sort/states/filtersScopedState';
+import { isFilterDropdownOperandSelectUnfoldedScopedState } from '@/ui/filter-n-sort/states/isFilterDropdownOperandSelectUnfoldedScopedState';
+import { selectedOperandInDropdownScopedState } from '@/ui/filter-n-sort/states/selectedOperandInDropdownScopedState';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
import { FiltersHotkeyScope } from '../types/FiltersHotkeyScope';
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownDateSearchInput.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownDateSearchInput.tsx
similarity index 68%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownDateSearchInput.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownDateSearchInput.tsx
index 5151d79f2..d4e4e3260 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownDateSearchInput.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownDateSearchInput.tsx
@@ -1,11 +1,11 @@
import { Context } from 'react';
import styled from '@emotion/styled';
-import { useUpsertFilter } from '@/lib/filters-and-sorts/hooks/useUpsertFilter';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import DatePicker from '@/ui/components/form/DatePicker';
+import { useUpsertFilter } from '@/ui/filter-n-sort/hooks/useUpsertFilter';
+import { filterDefinitionUsedInDropdownScopedState } from '@/ui/filter-n-sort/states/filterDefinitionUsedInDropdownScopedState';
+import { selectedOperandInDropdownScopedState } from '@/ui/filter-n-sort/states/selectedOperandInDropdownScopedState';
+import DatePicker from '@/ui/input/components/DatePicker';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
export function FilterDropdownDateSearchInput({
context,
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySearchInput.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySearchInput.tsx
similarity index 66%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySearchInput.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySearchInput.tsx
index ee486121c..bde76a577 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySearchInput.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySearchInput.tsx
@@ -1,9 +1,9 @@
import { ChangeEvent, Context } from 'react';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { filterDropdownSearchInputScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { filterDefinitionUsedInDropdownScopedState } from '@/ui/filter-n-sort/states/filterDefinitionUsedInDropdownScopedState';
+import { filterDropdownSearchInputScopedState } from '@/ui/filter-n-sort/states/filterDropdownSearchInputScopedState';
+import { selectedOperandInDropdownScopedState } from '@/ui/filter-n-sort/states/selectedOperandInDropdownScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
export function FilterDropdownEntitySearchInput({
context,
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySearchSelect.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySearchSelect.tsx
similarity index 67%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySearchSelect.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySearchSelect.tsx
index 3927576ff..2ff0b3c21 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySearchSelect.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySearchSelect.tsx
@@ -1,15 +1,15 @@
import { useEffect } from 'react';
-import { useFilterCurrentlyEdited } from '@/lib/filters-and-sorts/hooks/useFilterCurrentlyEdited';
-import { useRemoveFilter } from '@/lib/filters-and-sorts/hooks/useRemoveFilter';
-import { useUpsertFilter } from '@/lib/filters-and-sorts/hooks/useUpsertFilter';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { filterDropdownSelectedEntityIdScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSelectedEntityIdScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { EntitiesForMultipleEntitySelect } from '@/relation-picker/components/MultipleEntitySelect';
-import { SingleEntitySelectBase } from '@/relation-picker/components/SingleEntitySelectBase';
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
+import { useFilterCurrentlyEdited } from '@/ui/filter-n-sort/hooks/useFilterCurrentlyEdited';
+import { useRemoveFilter } from '@/ui/filter-n-sort/hooks/useRemoveFilter';
+import { useUpsertFilter } from '@/ui/filter-n-sort/hooks/useUpsertFilter';
+import { filterDefinitionUsedInDropdownScopedState } from '@/ui/filter-n-sort/states/filterDefinitionUsedInDropdownScopedState';
+import { filterDropdownSelectedEntityIdScopedState } from '@/ui/filter-n-sort/states/filterDropdownSelectedEntityIdScopedState';
+import { selectedOperandInDropdownScopedState } from '@/ui/filter-n-sort/states/selectedOperandInDropdownScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { EntitiesForMultipleEntitySelect } from '@/ui/relation-picker/components/MultipleEntitySelect';
+import { SingleEntitySelectBase } from '@/ui/relation-picker/components/SingleEntitySelectBase';
+import { EntityForSelect } from '@/ui/relation-picker/types/EntityForSelect';
export function FilterDropdownEntitySearchSelect({
entitiesForSelect,
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySelect.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySelect.tsx
similarity index 58%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySelect.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySelect.tsx
index b5fcbabed..85ff86668 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownEntitySelect.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownEntitySelect.tsx
@@ -1,9 +1,10 @@
import { Context } from 'react';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { DropdownMenuSeparator } from '@/ui/components/menu/DropdownMenuSeparator';
+import { DropdownMenuSeparator } from '@/ui/dropdown/components/DropdownMenuSeparator';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState';
export function FilterDropdownEntitySelect({
context,
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownFilterSelect.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownFilterSelect.tsx
similarity index 58%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownFilterSelect.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownFilterSelect.tsx
index 456ebb16e..c43eb2069 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownFilterSelect.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownFilterSelect.tsx
@@ -1,16 +1,17 @@
import { Context } from 'react';
-import { availableFiltersScopedState } from '@/lib/filters-and-sorts/states/availableFiltersScopedState';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { filterDropdownSearchInputScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { getOperandsForFilterType } from '@/lib/filters-and-sorts/utils/getOperandsForFilterType';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { useRecoilScopedValue } from '@/recoil-scope/hooks/useRecoilScopedValue';
-import { RelationPickerHotkeyScope } from '@/relation-picker/types/RelationPickerHotkeyScope';
-import { DropdownMenuItemContainer } from '@/ui/components/menu/DropdownMenuItemContainer';
-import { DropdownMenuSelectableItem } from '@/ui/components/menu/DropdownMenuSelectableItem';
+import { DropdownMenuItemContainer } from '@/ui/dropdown/components/DropdownMenuItemContainer';
+import { DropdownMenuSelectableItem } from '@/ui/dropdown/components/DropdownMenuSelectableItem';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedValue } from '@/ui/recoil-scope/hooks/useRecoilScopedValue';
+import { RelationPickerHotkeyScope } from '@/ui/relation-picker/types/RelationPickerHotkeyScope';
+
+import { availableFiltersScopedState } from '../states/availableFiltersScopedState';
+import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState';
+import { filterDropdownSearchInputScopedState } from '../states/filterDropdownSearchInputScopedState';
+import { selectedOperandInDropdownScopedState } from '../states/selectedOperandInDropdownScopedState';
+import { getOperandsForFilterType } from '../utils/getOperandsForFilterType';
import DropdownButton from './DropdownButton';
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownNumberSearchInput.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownNumberSearchInput.tsx
similarity index 70%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownNumberSearchInput.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownNumberSearchInput.tsx
index abd14d10b..ef12e0865 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownNumberSearchInput.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownNumberSearchInput.tsx
@@ -1,10 +1,11 @@
import { ChangeEvent, Context } from 'react';
-import { useRemoveFilter } from '@/lib/filters-and-sorts/hooks/useRemoveFilter';
-import { useUpsertFilter } from '@/lib/filters-and-sorts/hooks/useUpsertFilter';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { useRemoveFilter } from '../hooks/useRemoveFilter';
+import { useUpsertFilter } from '../hooks/useUpsertFilter';
+import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState';
+import { selectedOperandInDropdownScopedState } from '../states/selectedOperandInDropdownScopedState';
export function FilterDropdownNumberSearchInput({
context,
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownOperandButton.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownOperandButton.tsx
similarity index 71%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownOperandButton.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownOperandButton.tsx
index faf637d02..303335191 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownOperandButton.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownOperandButton.tsx
@@ -1,9 +1,10 @@
import { Context } from 'react';
-import { isFilterDropdownOperandSelectUnfoldedScopedState } from '@/lib/filters-and-sorts/states/isFilterDropdownOperandSelectUnfoldedScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { getOperandLabel } from '@/lib/filters-and-sorts/utils/getOperandLabel';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { isFilterDropdownOperandSelectUnfoldedScopedState } from '../states/isFilterDropdownOperandSelectUnfoldedScopedState';
+import { selectedOperandInDropdownScopedState } from '../states/selectedOperandInDropdownScopedState';
+import { getOperandLabel } from '../utils/getOperandLabel';
import DropdownButton from './DropdownButton';
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownOperandSelect.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownOperandSelect.tsx
similarity index 66%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownOperandSelect.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownOperandSelect.tsx
index e703dcb43..d6e81675c 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownOperandSelect.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownOperandSelect.tsx
@@ -1,15 +1,16 @@
import { Context } from 'react';
-import { useFilterCurrentlyEdited } from '@/lib/filters-and-sorts/hooks/useFilterCurrentlyEdited';
-import { useUpsertFilter } from '@/lib/filters-and-sorts/hooks/useUpsertFilter';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { isFilterDropdownOperandSelectUnfoldedScopedState } from '@/lib/filters-and-sorts/states/isFilterDropdownOperandSelectUnfoldedScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { FilterOperand } from '@/lib/filters-and-sorts/types/FilterOperand';
-import { getOperandLabel } from '@/lib/filters-and-sorts/utils/getOperandLabel';
-import { getOperandsForFilterType } from '@/lib/filters-and-sorts/utils/getOperandsForFilterType';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { DropdownMenuItemContainer } from '@/ui/components/menu/DropdownMenuItemContainer';
+import { DropdownMenuItemContainer } from '@/ui/dropdown/components/DropdownMenuItemContainer';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { useFilterCurrentlyEdited } from '../hooks/useFilterCurrentlyEdited';
+import { useUpsertFilter } from '../hooks/useUpsertFilter';
+import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState';
+import { isFilterDropdownOperandSelectUnfoldedScopedState } from '../states/isFilterDropdownOperandSelectUnfoldedScopedState';
+import { selectedOperandInDropdownScopedState } from '../states/selectedOperandInDropdownScopedState';
+import { FilterOperand } from '../types/FilterOperand';
+import { getOperandLabel } from '../utils/getOperandLabel';
+import { getOperandsForFilterType } from '../utils/getOperandsForFilterType';
import DropdownButton from './DropdownButton';
diff --git a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownTextSearchInput.tsx b/front/src/modules/ui/filter-n-sort/components/FilterDropdownTextSearchInput.tsx
similarity index 68%
rename from front/src/modules/lib/filters-and-sorts/components/FilterDropdownTextSearchInput.tsx
rename to front/src/modules/ui/filter-n-sort/components/FilterDropdownTextSearchInput.tsx
index 057035627..34d724581 100644
--- a/front/src/modules/lib/filters-and-sorts/components/FilterDropdownTextSearchInput.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/FilterDropdownTextSearchInput.tsx
@@ -1,12 +1,13 @@
import { ChangeEvent, Context } from 'react';
-import { useFilterCurrentlyEdited } from '@/lib/filters-and-sorts/hooks/useFilterCurrentlyEdited';
-import { useRemoveFilter } from '@/lib/filters-and-sorts/hooks/useRemoveFilter';
-import { useUpsertFilter } from '@/lib/filters-and-sorts/hooks/useUpsertFilter';
-import { filterDefinitionUsedInDropdownScopedState } from '@/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState';
-import { filterDropdownSearchInputScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState';
-import { selectedOperandInDropdownScopedState } from '@/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { useFilterCurrentlyEdited } from '../hooks/useFilterCurrentlyEdited';
+import { useRemoveFilter } from '../hooks/useRemoveFilter';
+import { useUpsertFilter } from '../hooks/useUpsertFilter';
+import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState';
+import { filterDropdownSearchInputScopedState } from '../states/filterDropdownSearchInputScopedState';
+import { selectedOperandInDropdownScopedState } from '../states/selectedOperandInDropdownScopedState';
export function FilterDropdownTextSearchInput({
context,
diff --git a/front/src/modules/lib/filters-and-sorts/components/SortAndFilterBar.tsx b/front/src/modules/ui/filter-n-sort/components/SortAndFilterBar.tsx
similarity index 85%
rename from front/src/modules/lib/filters-and-sorts/components/SortAndFilterBar.tsx
rename to front/src/modules/ui/filter-n-sort/components/SortAndFilterBar.tsx
index 92c8641cb..a5e1f9145 100644
--- a/front/src/modules/lib/filters-and-sorts/components/SortAndFilterBar.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/SortAndFilterBar.tsx
@@ -2,14 +2,16 @@ import { Context } from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import SortOrFilterChip from '@/lib/filters-and-sorts/components/SortOrFilterChip';
-import { useRemoveFilter } from '@/lib/filters-and-sorts/hooks/useRemoveFilter';
-import { SelectedSortType } from '@/lib/filters-and-sorts/interfaces/sorts/interface';
-import { availableFiltersScopedState } from '@/lib/filters-and-sorts/states/availableFiltersScopedState';
-import { filtersScopedState } from '@/lib/filters-and-sorts/states/filtersScopedState';
-import { getOperandLabel } from '@/lib/filters-and-sorts/utils/getOperandLabel';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { IconArrowNarrowDown, IconArrowNarrowUp } from '@/ui/icons/index';
+import { IconArrowNarrowDown, IconArrowNarrowUp } from '@/ui/icon/index';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { useRemoveFilter } from '../hooks/useRemoveFilter';
+import { availableFiltersScopedState } from '../states/availableFiltersScopedState';
+import { filtersScopedState } from '../states/filtersScopedState';
+import { SelectedSortType } from '../types/interface';
+import { getOperandLabel } from '../utils/getOperandLabel';
+
+import SortOrFilterChip from './SortOrFilterChip';
type OwnProps = {
context: Context;
diff --git a/front/src/modules/lib/filters-and-sorts/components/SortDropdownButton.tsx b/front/src/modules/ui/filter-n-sort/components/SortDropdownButton.tsx
similarity index 96%
rename from front/src/modules/lib/filters-and-sorts/components/SortDropdownButton.tsx
rename to front/src/modules/ui/filter-n-sort/components/SortDropdownButton.tsx
index 54fbd24cf..fd7ff367b 100644
--- a/front/src/modules/lib/filters-and-sorts/components/SortDropdownButton.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/SortDropdownButton.tsx
@@ -1,11 +1,7 @@
import { useCallback, useState } from 'react';
-import {
- SelectedSortType,
- SortType,
-} from '@/lib/filters-and-sorts/interfaces/sorts/interface';
-
import { FiltersHotkeyScope } from '../types/FiltersHotkeyScope';
+import { SelectedSortType, SortType } from '../types/interface';
import DropdownButton from './DropdownButton';
diff --git a/front/src/modules/lib/filters-and-sorts/components/SortOrFilterChip.tsx b/front/src/modules/ui/filter-n-sort/components/SortOrFilterChip.tsx
similarity index 97%
rename from front/src/modules/lib/filters-and-sorts/components/SortOrFilterChip.tsx
rename to front/src/modules/ui/filter-n-sort/components/SortOrFilterChip.tsx
index a89da7236..320671640 100644
--- a/front/src/modules/lib/filters-and-sorts/components/SortOrFilterChip.tsx
+++ b/front/src/modules/ui/filter-n-sort/components/SortOrFilterChip.tsx
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { IconX } from '@/ui/icons/index';
+import { IconX } from '@/ui/icon/index';
type OwnProps = {
id: string;
diff --git a/front/src/modules/lib/filters-and-sorts/helpers.ts b/front/src/modules/ui/filter-n-sort/helpers.ts
similarity index 92%
rename from front/src/modules/lib/filters-and-sorts/helpers.ts
rename to front/src/modules/ui/filter-n-sort/helpers.ts
index f2922f9b6..818a23134 100644
--- a/front/src/modules/lib/filters-and-sorts/helpers.ts
+++ b/front/src/modules/ui/filter-n-sort/helpers.ts
@@ -1,6 +1,6 @@
import { SortOrder as Order_By } from '~/generated/graphql';
-import { SelectedSortType } from './interfaces/sorts/interface';
+import { SelectedSortType } from './types/interface';
const mapOrderToOrder_By = (order: string) => {
if (order === 'asc') return Order_By.Asc;
diff --git a/front/src/modules/lib/filters-and-sorts/hooks/useFilterCurrentlyEdited.ts b/front/src/modules/ui/filter-n-sort/hooks/useFilterCurrentlyEdited.ts
similarity index 88%
rename from front/src/modules/lib/filters-and-sorts/hooks/useFilterCurrentlyEdited.ts
rename to front/src/modules/ui/filter-n-sort/hooks/useFilterCurrentlyEdited.ts
index b1a893f5b..57aea37ad 100644
--- a/front/src/modules/lib/filters-and-sorts/hooks/useFilterCurrentlyEdited.ts
+++ b/front/src/modules/ui/filter-n-sort/hooks/useFilterCurrentlyEdited.ts
@@ -1,6 +1,6 @@
import { Context, useMemo } from 'react';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState';
import { filtersScopedState } from '../states/filtersScopedState';
diff --git a/front/src/modules/lib/filters-and-sorts/hooks/useRemoveFilter.ts b/front/src/modules/ui/filter-n-sort/hooks/useRemoveFilter.ts
similarity index 83%
rename from front/src/modules/lib/filters-and-sorts/hooks/useRemoveFilter.ts
rename to front/src/modules/ui/filter-n-sort/hooks/useRemoveFilter.ts
index 15f525582..b75e3506e 100644
--- a/front/src/modules/lib/filters-and-sorts/hooks/useRemoveFilter.ts
+++ b/front/src/modules/ui/filter-n-sort/hooks/useRemoveFilter.ts
@@ -1,6 +1,6 @@
import { Context } from 'react';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { filtersScopedState } from '../states/filtersScopedState';
diff --git a/front/src/modules/lib/filters-and-sorts/hooks/useUpsertFilter.ts b/front/src/modules/ui/filter-n-sort/hooks/useUpsertFilter.ts
similarity index 89%
rename from front/src/modules/lib/filters-and-sorts/hooks/useUpsertFilter.ts
rename to front/src/modules/ui/filter-n-sort/hooks/useUpsertFilter.ts
index 921d24f54..348871e5c 100644
--- a/front/src/modules/lib/filters-and-sorts/hooks/useUpsertFilter.ts
+++ b/front/src/modules/ui/filter-n-sort/hooks/useUpsertFilter.ts
@@ -1,7 +1,7 @@
import { Context } from 'react';
import { produce } from 'immer';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { filtersScopedState } from '../states/filtersScopedState';
import { Filter } from '../types/Filter';
diff --git a/front/src/modules/lib/filters-and-sorts/states/availableFiltersScopedState.ts b/front/src/modules/ui/filter-n-sort/states/availableFiltersScopedState.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/states/availableFiltersScopedState.ts
rename to front/src/modules/ui/filter-n-sort/states/availableFiltersScopedState.ts
diff --git a/front/src/modules/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState.ts b/front/src/modules/ui/filter-n-sort/states/filterDefinitionUsedInDropdownScopedState.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/states/filterDefinitionUsedInDropdownScopedState.ts
rename to front/src/modules/ui/filter-n-sort/states/filterDefinitionUsedInDropdownScopedState.ts
diff --git a/front/src/modules/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState.ts b/front/src/modules/ui/filter-n-sort/states/filterDropdownSearchInputScopedState.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState.ts
rename to front/src/modules/ui/filter-n-sort/states/filterDropdownSearchInputScopedState.ts
diff --git a/front/src/modules/lib/filters-and-sorts/states/filterDropdownSelectedEntityIdScopedState.ts b/front/src/modules/ui/filter-n-sort/states/filterDropdownSelectedEntityIdScopedState.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/states/filterDropdownSelectedEntityIdScopedState.ts
rename to front/src/modules/ui/filter-n-sort/states/filterDropdownSelectedEntityIdScopedState.ts
diff --git a/front/src/modules/lib/filters-and-sorts/states/filtersScopedState.ts b/front/src/modules/ui/filter-n-sort/states/filtersScopedState.ts
similarity index 70%
rename from front/src/modules/lib/filters-and-sorts/states/filtersScopedState.ts
rename to front/src/modules/ui/filter-n-sort/states/filtersScopedState.ts
index 6ba34a39a..ddc5f8200 100644
--- a/front/src/modules/lib/filters-and-sorts/states/filtersScopedState.ts
+++ b/front/src/modules/ui/filter-n-sort/states/filtersScopedState.ts
@@ -1,6 +1,6 @@
import { atomFamily } from 'recoil';
-import { Filter } from '@/lib/filters-and-sorts/types/Filter';
+import { Filter } from '../types/Filter';
export const filtersScopedState = atomFamily({
key: 'filtersScopedState',
diff --git a/front/src/modules/lib/filters-and-sorts/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts b/front/src/modules/ui/filter-n-sort/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts
rename to front/src/modules/ui/filter-n-sort/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts
diff --git a/front/src/modules/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState.ts b/front/src/modules/ui/filter-n-sort/states/selectedOperandInDropdownScopedState.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/states/selectedOperandInDropdownScopedState.ts
rename to front/src/modules/ui/filter-n-sort/states/selectedOperandInDropdownScopedState.ts
diff --git a/front/src/modules/lib/filters-and-sorts/types/Filter.ts b/front/src/modules/ui/filter-n-sort/types/Filter.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/types/Filter.ts
rename to front/src/modules/ui/filter-n-sort/types/Filter.ts
diff --git a/front/src/modules/lib/filters-and-sorts/types/FilterDefinition.ts b/front/src/modules/ui/filter-n-sort/types/FilterDefinition.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/types/FilterDefinition.ts
rename to front/src/modules/ui/filter-n-sort/types/FilterDefinition.ts
diff --git a/front/src/modules/lib/filters-and-sorts/types/FilterDefinitionByEntity.ts b/front/src/modules/ui/filter-n-sort/types/FilterDefinitionByEntity.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/types/FilterDefinitionByEntity.ts
rename to front/src/modules/ui/filter-n-sort/types/FilterDefinitionByEntity.ts
diff --git a/front/src/modules/lib/filters-and-sorts/types/FilterOperand.ts b/front/src/modules/ui/filter-n-sort/types/FilterOperand.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/types/FilterOperand.ts
rename to front/src/modules/ui/filter-n-sort/types/FilterOperand.ts
diff --git a/front/src/modules/lib/filters-and-sorts/types/FilterSearchResult.ts b/front/src/modules/ui/filter-n-sort/types/FilterSearchResult.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/types/FilterSearchResult.ts
rename to front/src/modules/ui/filter-n-sort/types/FilterSearchResult.ts
diff --git a/front/src/modules/lib/filters-and-sorts/types/FilterType.ts b/front/src/modules/ui/filter-n-sort/types/FilterType.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/types/FilterType.ts
rename to front/src/modules/ui/filter-n-sort/types/FilterType.ts
diff --git a/front/src/modules/lib/filters-and-sorts/types/FiltersHotkeyScope.ts b/front/src/modules/ui/filter-n-sort/types/FiltersHotkeyScope.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/types/FiltersHotkeyScope.ts
rename to front/src/modules/ui/filter-n-sort/types/FiltersHotkeyScope.ts
diff --git a/front/src/modules/lib/filters-and-sorts/interfaces/sorts/interface.ts b/front/src/modules/ui/filter-n-sort/types/interface.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/interfaces/sorts/interface.ts
rename to front/src/modules/ui/filter-n-sort/types/interface.ts
diff --git a/front/src/modules/lib/filters-and-sorts/utils/getOperandLabel.ts b/front/src/modules/ui/filter-n-sort/utils/getOperandLabel.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/utils/getOperandLabel.ts
rename to front/src/modules/ui/filter-n-sort/utils/getOperandLabel.ts
diff --git a/front/src/modules/lib/filters-and-sorts/utils/getOperandsForFilterType.ts b/front/src/modules/ui/filter-n-sort/utils/getOperandsForFilterType.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/utils/getOperandsForFilterType.ts
rename to front/src/modules/ui/filter-n-sort/utils/getOperandsForFilterType.ts
diff --git a/front/src/modules/lib/filters-and-sorts/utils/turnFilterIntoWhereClause.ts b/front/src/modules/ui/filter-n-sort/utils/turnFilterIntoWhereClause.ts
similarity index 100%
rename from front/src/modules/lib/filters-and-sorts/utils/turnFilterIntoWhereClause.ts
rename to front/src/modules/ui/filter-n-sort/utils/turnFilterIntoWhereClause.ts
diff --git a/front/src/modules/ui/hooks/useListenClickOutsideArrayOfRef.ts b/front/src/modules/ui/hooks/useListenClickOutsideArrayOfRef.ts
index 2d3c4a467..d5270f67a 100644
--- a/front/src/modules/ui/hooks/useListenClickOutsideArrayOfRef.ts
+++ b/front/src/modules/ui/hooks/useListenClickOutsideArrayOfRef.ts
@@ -1,6 +1,6 @@
import React, { useEffect } from 'react';
-import { isDefined } from '@/utils/type-guards/isDefined';
+import { isDefined } from '~/utils/isDefined';
export function useListenClickOutsideArrayOfRef(
arrayOfRef: Array>,
diff --git a/front/src/modules/lib/hotkeys/constants/index.ts b/front/src/modules/ui/hotkey/constants/index.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/constants/index.ts
rename to front/src/modules/ui/hotkey/constants/index.ts
diff --git a/front/src/modules/lib/hotkeys/hooks/internal/useHotkeyScopeAutoSync.ts b/front/src/modules/ui/hotkey/hooks/internal/useHotkeyScopeAutoSync.ts
similarity index 88%
rename from front/src/modules/lib/hotkeys/hooks/internal/useHotkeyScopeAutoSync.ts
rename to front/src/modules/ui/hotkey/hooks/internal/useHotkeyScopeAutoSync.ts
index 3f9174ad7..e7aa47564 100644
--- a/front/src/modules/lib/hotkeys/hooks/internal/useHotkeyScopeAutoSync.ts
+++ b/front/src/modules/ui/hotkey/hooks/internal/useHotkeyScopeAutoSync.ts
@@ -1,7 +1,7 @@
import { useEffect } from 'react';
import { useRecoilValue } from 'recoil';
-import { currentHotkeyScopeState } from '@/lib/hotkeys/states/internal/currentHotkeyScopeState';
+import { currentHotkeyScopeState } from '@/ui/hotkey/states/internal/currentHotkeyScopeState';
import { AppHotkeyScope } from '../../types/AppHotkeyScope';
diff --git a/front/src/modules/lib/hotkeys/hooks/internal/useHotkeyScopes.ts b/front/src/modules/ui/hotkey/hooks/internal/useHotkeyScopes.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/hooks/internal/useHotkeyScopes.ts
rename to front/src/modules/ui/hotkey/hooks/internal/useHotkeyScopes.ts
diff --git a/front/src/modules/lib/hotkeys/hooks/useGoToHotkeys.ts b/front/src/modules/ui/hotkey/hooks/useGoToHotkeys.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/hooks/useGoToHotkeys.ts
rename to front/src/modules/ui/hotkey/hooks/useGoToHotkeys.ts
diff --git a/front/src/modules/lib/hotkeys/hooks/usePreviousHotkeyScope.ts b/front/src/modules/ui/hotkey/hooks/usePreviousHotkeyScope.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/hooks/usePreviousHotkeyScope.ts
rename to front/src/modules/ui/hotkey/hooks/usePreviousHotkeyScope.ts
diff --git a/front/src/modules/lib/hotkeys/hooks/useScopedHotkeys.ts b/front/src/modules/ui/hotkey/hooks/useScopedHotkeys.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/hooks/useScopedHotkeys.ts
rename to front/src/modules/ui/hotkey/hooks/useScopedHotkeys.ts
diff --git a/front/src/modules/lib/hotkeys/hooks/useSequenceScopedHotkeys.ts b/front/src/modules/ui/hotkey/hooks/useSequenceScopedHotkeys.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/hooks/useSequenceScopedHotkeys.ts
rename to front/src/modules/ui/hotkey/hooks/useSequenceScopedHotkeys.ts
diff --git a/front/src/modules/lib/hotkeys/hooks/useSetHotkeyScope.ts b/front/src/modules/ui/hotkey/hooks/useSetHotkeyScope.ts
similarity index 96%
rename from front/src/modules/lib/hotkeys/hooks/useSetHotkeyScope.ts
rename to front/src/modules/ui/hotkey/hooks/useSetHotkeyScope.ts
index 80ab2a37d..2334be611 100644
--- a/front/src/modules/lib/hotkeys/hooks/useSetHotkeyScope.ts
+++ b/front/src/modules/ui/hotkey/hooks/useSetHotkeyScope.ts
@@ -1,6 +1,6 @@
import { useRecoilCallback } from 'recoil';
-import { isDefined } from '@/utils/type-guards/isDefined';
+import { isDefined } from '~/utils/isDefined';
import { DEFAULT_HOTKEYS_SCOPE_CUSTOM_SCOPES } from '../constants';
import { currentHotkeyScopeState } from '../states/internal/currentHotkeyScopeState';
diff --git a/front/src/modules/lib/hotkeys/states/internal/currentHotkeyScopeState.ts b/front/src/modules/ui/hotkey/states/internal/currentHotkeyScopeState.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/states/internal/currentHotkeyScopeState.ts
rename to front/src/modules/ui/hotkey/states/internal/currentHotkeyScopeState.ts
diff --git a/front/src/modules/lib/hotkeys/states/internal/internalHotkeysEnabledScopesState.ts b/front/src/modules/ui/hotkey/states/internal/internalHotkeysEnabledScopesState.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/states/internal/internalHotkeysEnabledScopesState.ts
rename to front/src/modules/ui/hotkey/states/internal/internalHotkeysEnabledScopesState.ts
diff --git a/front/src/modules/lib/hotkeys/states/internal/pendingHotkeysState.ts b/front/src/modules/ui/hotkey/states/internal/pendingHotkeysState.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/states/internal/pendingHotkeysState.ts
rename to front/src/modules/ui/hotkey/states/internal/pendingHotkeysState.ts
diff --git a/front/src/modules/lib/hotkeys/types/AppHotkeyScope.ts b/front/src/modules/ui/hotkey/types/AppHotkeyScope.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/types/AppHotkeyScope.ts
rename to front/src/modules/ui/hotkey/types/AppHotkeyScope.ts
diff --git a/front/src/modules/lib/hotkeys/types/CustomHotkeyScope.ts b/front/src/modules/ui/hotkey/types/CustomHotkeyScope.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/types/CustomHotkeyScope.ts
rename to front/src/modules/ui/hotkey/types/CustomHotkeyScope.ts
diff --git a/front/src/modules/lib/hotkeys/types/HotkeyScope.ts b/front/src/modules/ui/hotkey/types/HotkeyScope.ts
similarity index 100%
rename from front/src/modules/lib/hotkeys/types/HotkeyScope.ts
rename to front/src/modules/ui/hotkey/types/HotkeyScope.ts
diff --git a/front/src/modules/utils/hotkeys/isNonTextWritingKey.ts b/front/src/modules/ui/hotkey/utils/isNonTextWritingKey.ts
similarity index 100%
rename from front/src/modules/utils/hotkeys/isNonTextWritingKey.ts
rename to front/src/modules/ui/hotkey/utils/isNonTextWritingKey.ts
diff --git a/front/src/modules/ui/icons/svgs/address-book.svg b/front/src/modules/ui/icon/assets/address-book.svg
similarity index 100%
rename from front/src/modules/ui/icons/svgs/address-book.svg
rename to front/src/modules/ui/icon/assets/address-book.svg
diff --git a/front/src/modules/ui/icons/components/IconAddressBook.tsx b/front/src/modules/ui/icon/components/IconAddressBook.tsx
similarity index 77%
rename from front/src/modules/ui/icons/components/IconAddressBook.tsx
rename to front/src/modules/ui/icon/components/IconAddressBook.tsx
index 6960e9ea7..6586dbfe8 100644
--- a/front/src/modules/ui/icons/components/IconAddressBook.tsx
+++ b/front/src/modules/ui/icon/components/IconAddressBook.tsx
@@ -1,6 +1,6 @@
import { TablerIconsProps } from '@tabler/icons-react';
-import { ReactComponent as IconAddressBookRaw } from '../svgs/address-book.svg';
+import { ReactComponent as IconAddressBookRaw } from '../assets/address-book.svg';
export function IconAddressBook(props: TablerIconsProps): JSX.Element {
const size = props.size ?? 24;
diff --git a/front/src/modules/ui/icons/index.ts b/front/src/modules/ui/icon/index.ts
similarity index 91%
rename from front/src/modules/ui/icons/index.ts
rename to front/src/modules/ui/icon/index.ts
index 8f8802e88..05f637569 100644
--- a/front/src/modules/ui/icons/index.ts
+++ b/front/src/modules/ui/icon/index.ts
@@ -41,3 +41,7 @@ export { IconEye } from '@tabler/icons-react';
export { IconEyeOff } from '@tabler/icons-react';
export { IconAlertTriangle } from '@tabler/icons-react';
export { IconCopy } from '@tabler/icons-react';
+export { IconCurrencyDollar } from '@tabler/icons-react';
+export { IconUserCircle } from '@tabler/icons-react';
+export { IconCalendar } from '@tabler/icons-react';
+export { IconPencil } from '@tabler/icons-react';
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputContainer.tsx b/front/src/modules/ui/inplace-input/components/InplaceInputContainer.tsx
similarity index 100%
rename from front/src/modules/ui/inplace-inputs/components/InplaceInputContainer.tsx
rename to front/src/modules/ui/inplace-input/components/InplaceInputContainer.tsx
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputDate.tsx b/front/src/modules/ui/inplace-input/components/InplaceInputDate.tsx
similarity index 93%
rename from front/src/modules/ui/inplace-inputs/components/InplaceInputDate.tsx
rename to front/src/modules/ui/inplace-input/components/InplaceInputDate.tsx
index 3d27e4869..4032ef13c 100644
--- a/front/src/modules/ui/inplace-inputs/components/InplaceInputDate.tsx
+++ b/front/src/modules/ui/inplace-input/components/InplaceInputDate.tsx
@@ -1,8 +1,8 @@
import { forwardRef } from 'react';
import styled from '@emotion/styled';
-import DatePicker from '@/ui/components/form/DatePicker';
-import { formatToHumanReadableDate } from '@/utils/utils';
+import DatePicker from '@/ui/input/components/DatePicker';
+import { formatToHumanReadableDate } from '~/utils';
import { InplaceInputContainer } from './InplaceInputContainer';
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputText.tsx b/front/src/modules/ui/inplace-input/components/InplaceInputText.tsx
similarity index 100%
rename from front/src/modules/ui/inplace-inputs/components/InplaceInputText.tsx
rename to front/src/modules/ui/inplace-input/components/InplaceInputText.tsx
diff --git a/front/src/modules/ui/inplace-inputs/components/InplaceInputTextEditMode.tsx b/front/src/modules/ui/inplace-input/components/InplaceInputTextEditMode.tsx
similarity index 100%
rename from front/src/modules/ui/inplace-inputs/components/InplaceInputTextEditMode.tsx
rename to front/src/modules/ui/inplace-input/components/InplaceInputTextEditMode.tsx
diff --git a/front/src/modules/ui/components/inputs/AutosizeTextInput.tsx b/front/src/modules/ui/input/components/AutosizeTextInput.tsx
similarity index 96%
rename from front/src/modules/ui/components/inputs/AutosizeTextInput.tsx
rename to front/src/modules/ui/input/components/AutosizeTextInput.tsx
index 28c5d48d0..ef46196ad 100644
--- a/front/src/modules/ui/components/inputs/AutosizeTextInput.tsx
+++ b/front/src/modules/ui/input/components/AutosizeTextInput.tsx
@@ -4,8 +4,8 @@ import { HotkeysEvent } from 'react-hotkeys-hook/dist/types';
import TextareaAutosize from 'react-textarea-autosize';
import styled from '@emotion/styled';
-import { RoundedIconButton } from '@/ui/components/buttons/RoundedIconButton';
-import { IconArrowRight } from '@/ui/icons/index';
+import { RoundedIconButton } from '@/ui/button/components/RoundedIconButton';
+import { IconArrowRight } from '@/ui/icon/index';
const MAX_ROWS = 5;
diff --git a/front/src/modules/ui/components/form/Checkbox.tsx b/front/src/modules/ui/input/components/Checkbox.tsx
similarity index 97%
rename from front/src/modules/ui/components/form/Checkbox.tsx
rename to front/src/modules/ui/input/components/Checkbox.tsx
index 332f2ac88..a7c35bb2c 100644
--- a/front/src/modules/ui/components/form/Checkbox.tsx
+++ b/front/src/modules/ui/input/components/Checkbox.tsx
@@ -1,7 +1,7 @@
import * as React from 'react';
import styled from '@emotion/styled';
-import { IconCheck, IconMinus } from '@/ui/icons';
+import { IconCheck, IconMinus } from '@/ui/icon';
type OwnProps = {
checked: boolean;
diff --git a/front/src/modules/ui/components/form/DatePicker.tsx b/front/src/modules/ui/input/components/DatePicker.tsx
similarity index 100%
rename from front/src/modules/ui/components/form/DatePicker.tsx
rename to front/src/modules/ui/input/components/DatePicker.tsx
diff --git a/front/src/modules/ui/components/inputs/ImageInput.tsx b/front/src/modules/ui/input/components/ImageInput.tsx
similarity index 98%
rename from front/src/modules/ui/components/inputs/ImageInput.tsx
rename to front/src/modules/ui/input/components/ImageInput.tsx
index 10f37a85d..1f16a92a1 100644
--- a/front/src/modules/ui/components/inputs/ImageInput.tsx
+++ b/front/src/modules/ui/input/components/ImageInput.tsx
@@ -2,9 +2,8 @@ import React from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { IconFileUpload, IconTrash, IconUpload } from '@/ui/icons';
-
-import { Button } from '../buttons/Button';
+import { Button } from '@/ui/button/components/Button';
+import { IconFileUpload, IconTrash, IconUpload } from '@/ui/icon';
const Container = styled.div`
display: flex;
diff --git a/front/src/modules/ui/components/inputs/TextInput.tsx b/front/src/modules/ui/input/components/TextInput.tsx
similarity index 93%
rename from front/src/modules/ui/components/inputs/TextInput.tsx
rename to front/src/modules/ui/input/components/TextInput.tsx
index d3da1e842..56aca09ba 100644
--- a/front/src/modules/ui/components/inputs/TextInput.tsx
+++ b/front/src/modules/ui/input/components/TextInput.tsx
@@ -7,14 +7,14 @@ import {
} from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { IconAlertCircle } from '@tabler/icons-react';
import { Key } from 'ts-key-enum';
-import { usePreviousHotkeyScope } from '@/lib/hotkeys/hooks/usePreviousHotkeyScope';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { IconEye, IconEyeOff } from '@/ui/icons/index';
+import { usePreviousHotkeyScope } from '@/ui/hotkey/hooks/usePreviousHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { IconAlertCircle } from '@/ui/icon';
+import { IconEye, IconEyeOff } from '@/ui/icon/index';
-import { InputHotkeyScope } from './types/InputHotkeyScope';
+import { InputHotkeyScope } from '../types/InputHotkeyScope';
type OwnProps = Omit, 'onChange'> & {
label?: string;
diff --git a/front/src/modules/ui/components/inputs/__stories__/AutosizeTextInput.stories.tsx b/front/src/modules/ui/input/components/__stories__/AutosizeTextInput.stories.tsx
similarity index 100%
rename from front/src/modules/ui/components/inputs/__stories__/AutosizeTextInput.stories.tsx
rename to front/src/modules/ui/input/components/__stories__/AutosizeTextInput.stories.tsx
diff --git a/front/src/modules/ui/components/inputs/__stories__/TextInput.stories.tsx b/front/src/modules/ui/input/components/__stories__/TextInput.stories.tsx
similarity index 100%
rename from front/src/modules/ui/components/inputs/__stories__/TextInput.stories.tsx
rename to front/src/modules/ui/input/components/__stories__/TextInput.stories.tsx
diff --git a/front/src/modules/ui/components/inputs/types/InputHotkeyScope.ts b/front/src/modules/ui/input/types/InputHotkeyScope.ts
similarity index 100%
rename from front/src/modules/ui/components/inputs/types/InputHotkeyScope.ts
rename to front/src/modules/ui/input/types/InputHotkeyScope.ts
diff --git a/front/src/modules/ui/layout/AuthLayout.tsx b/front/src/modules/ui/layout/components/AuthLayout.tsx
similarity index 100%
rename from front/src/modules/ui/layout/AuthLayout.tsx
rename to front/src/modules/ui/layout/components/AuthLayout.tsx
diff --git a/front/src/modules/ui/layout/DefaultLayout.tsx b/front/src/modules/ui/layout/components/DefaultLayout.tsx
similarity index 86%
rename from front/src/modules/ui/layout/DefaultLayout.tsx
rename to front/src/modules/ui/layout/components/DefaultLayout.tsx
index 57d58ba64..8c17e0a78 100644
--- a/front/src/modules/ui/layout/DefaultLayout.tsx
+++ b/front/src/modules/ui/layout/components/DefaultLayout.tsx
@@ -3,12 +3,11 @@ import { useRecoilState, useRecoilValue } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
import { CommandMenu } from '@/command-menu/components/CommandMenu';
+import { NavbarAnimatedContainer } from '@/ui/navbar/components/NavbarAnimatedContainer';
+import { MOBILE_VIEWPORT } from '@/ui/themes/themes';
import { AppNavbar } from '~/AppNavbar';
-import { MOBILE_VIEWPORT } from '../themes/themes';
-
-import { NavbarAnimatedContainer } from './navbar/NavbarAnimatedContainer';
-import { isNavbarOpenedState } from './states/isNavbarOpenedState';
+import { isNavbarOpenedState } from '../states/isNavbarOpenedState';
const StyledLayout = styled.div`
background: ${({ theme }) => theme.background.noisy};
diff --git a/front/src/modules/ui/layout/containers/NoTopBarContainer.tsx b/front/src/modules/ui/layout/components/NoTopBarContainer.tsx
similarity index 100%
rename from front/src/modules/ui/layout/containers/NoTopBarContainer.tsx
rename to front/src/modules/ui/layout/components/NoTopBarContainer.tsx
diff --git a/front/src/modules/ui/layout/Panel.tsx b/front/src/modules/ui/layout/components/Panel.tsx
similarity index 100%
rename from front/src/modules/ui/layout/Panel.tsx
rename to front/src/modules/ui/layout/components/Panel.tsx
diff --git a/front/src/modules/ui/layout/containers/RightDrawerContainer.tsx b/front/src/modules/ui/layout/components/RightDrawerContainer.tsx
similarity index 90%
rename from front/src/modules/ui/layout/containers/RightDrawerContainer.tsx
rename to front/src/modules/ui/layout/components/RightDrawerContainer.tsx
index 2e96d3b1f..cc9c5fc52 100644
--- a/front/src/modules/ui/layout/containers/RightDrawerContainer.tsx
+++ b/front/src/modules/ui/layout/components/RightDrawerContainer.tsx
@@ -1,7 +1,8 @@
import styled from '@emotion/styled';
-import { Panel } from '../Panel';
-import { RightDrawer } from '../right-drawer/components/RightDrawer';
+import { RightDrawer } from '@/ui/right-drawer/components/RightDrawer';
+
+import { Panel } from './Panel';
type OwnProps = {
children: JSX.Element | JSX.Element[];
diff --git a/front/src/modules/ui/layout/containers/WithTopBarContainer.tsx b/front/src/modules/ui/layout/components/WithTopBarContainer.tsx
similarity index 84%
rename from front/src/modules/ui/layout/containers/WithTopBarContainer.tsx
rename to front/src/modules/ui/layout/components/WithTopBarContainer.tsx
index fc2c3a1c1..7a75827f8 100644
--- a/front/src/modules/ui/layout/containers/WithTopBarContainer.tsx
+++ b/front/src/modules/ui/layout/components/WithTopBarContainer.tsx
@@ -1,8 +1,8 @@
import { ReactNode } from 'react';
import styled from '@emotion/styled';
-import { TopBarHotkeys } from '../top-bar/TableTopBarHotkeys';
-import { TOP_BAR_MIN_HEIGHT, TopBar } from '../top-bar/TopBar';
+import { TopBarHotkeys } from '../top-bar/components/TableTopBarHotkeys';
+import { TOP_BAR_MIN_HEIGHT, TopBar } from '../top-bar/components/TopBar';
import { RightDrawerContainer } from './RightDrawerContainer';
diff --git a/front/src/modules/ui/layout/containers/ContentContainer.tsx b/front/src/modules/ui/layout/containers/ContentContainer.tsx
deleted file mode 100644
index 3edceaea2..000000000
--- a/front/src/modules/ui/layout/containers/ContentContainer.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import styled from '@emotion/styled';
-import { useRecoilState } from 'recoil';
-
-import { Panel } from '../Panel';
-import { RightDrawer } from '../right-drawer/components/RightDrawer';
-import { isRightDrawerOpenState } from '../right-drawer/states/isRightDrawerOpenState';
-
-type OwnProps = {
- children: JSX.Element;
- topMargin?: number;
-};
-
-const StyledMainContainer = styled.div<{ topMargin: number }>`
- background: ${({ theme }) => theme.background.noisy};
- display: flex;
-
- flex-direction: row;
- gap: ${({ theme }) => theme.spacing(2)};
- height: calc(100% - ${(props) => props.topMargin}px);
-
- padding-bottom: ${({ theme }) => theme.spacing(3)};
- padding-right: ${({ theme }) => theme.spacing(3)};
- width: calc(100% - ${({ theme }) => theme.spacing(3)});
-`;
-
-type LeftContainerProps = {
- isRightDrawerOpen?: boolean;
-};
-
-const StyledLeftContainer = styled.div`
- display: flex;
- position: relative;
- width: 100%;
-`;
-
-export function ContentContainer({ children, topMargin }: OwnProps) {
- const [isRightDrawerOpen] = useRecoilState(isRightDrawerOpenState);
-
- return (
-
-
- {children}
-
-
-
- );
-}
diff --git a/front/src/modules/ui/layout/containers/FlexExpandingContainer.tsx b/front/src/modules/ui/layout/containers/FlexExpandingContainer.tsx
deleted file mode 100644
index 92c94466e..000000000
--- a/front/src/modules/ui/layout/containers/FlexExpandingContainer.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import styled from '@emotion/styled';
-
-export const FlexExpandingContainer = styled.div`
- display: flex;
- height: 100%;
- width: 100%;
-`;
diff --git a/front/src/modules/ui/layout/containers/VerticalFullWidthContainer.tsx b/front/src/modules/ui/layout/containers/VerticalFullWidthContainer.tsx
deleted file mode 100644
index d7b42a9d9..000000000
--- a/front/src/modules/ui/layout/containers/VerticalFullWidthContainer.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import styled from '@emotion/styled';
-
-const StyledContainer = styled.div`
- display: flex;
- flex-direction: column;
- width: 100%;
-`;
-
-export function VerticalFullWidthContainer({
- children,
-}: {
- children: JSX.Element[];
-}) {
- return {children};
-}
diff --git a/front/src/modules/ui/layout/show-page/containers/ShowPageLeftContainer.tsx b/front/src/modules/ui/layout/show-page/components/ShowPageLeftContainer.tsx
similarity index 100%
rename from front/src/modules/ui/layout/show-page/containers/ShowPageLeftContainer.tsx
rename to front/src/modules/ui/layout/show-page/components/ShowPageLeftContainer.tsx
diff --git a/front/src/modules/ui/layout/show-page/containers/ShowPageRightContainer.tsx b/front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx
similarity index 100%
rename from front/src/modules/ui/layout/show-page/containers/ShowPageRightContainer.tsx
rename to front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx
diff --git a/front/src/modules/ui/layout/show-page/ShowPageSummaryCard.tsx b/front/src/modules/ui/layout/show-page/components/ShowPageSummaryCard.tsx
similarity index 98%
rename from front/src/modules/ui/layout/show-page/ShowPageSummaryCard.tsx
rename to front/src/modules/ui/layout/show-page/components/ShowPageSummaryCard.tsx
index 856a4cc68..4e7cad6db 100644
--- a/front/src/modules/ui/layout/show-page/ShowPageSummaryCard.tsx
+++ b/front/src/modules/ui/layout/show-page/components/ShowPageSummaryCard.tsx
@@ -7,7 +7,7 @@ import { Avatar } from '@/users/components/Avatar';
import {
beautifyExactDate,
beautifyPastDateRelativeToNow,
-} from '@/utils/datetime/date-utils';
+} from '~/utils/date-utils';
type OwnProps = {
id?: string;
diff --git a/front/src/modules/ui/layout/top-bar/TableTopBarHotkeys.tsx b/front/src/modules/ui/layout/top-bar/components/TableTopBarHotkeys.tsx
similarity index 62%
rename from front/src/modules/ui/layout/top-bar/TableTopBarHotkeys.tsx
rename to front/src/modules/ui/layout/top-bar/components/TableTopBarHotkeys.tsx
index 62ae36ce9..d0c3bb1f1 100644
--- a/front/src/modules/ui/layout/top-bar/TableTopBarHotkeys.tsx
+++ b/front/src/modules/ui/layout/top-bar/components/TableTopBarHotkeys.tsx
@@ -1,5 +1,5 @@
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { TableHotkeyScope } from '@/ui/table/types/TableHotkeyScope';
type OwnProps = {
onAddButtonClick?: () => void;
diff --git a/front/src/modules/ui/layout/top-bar/TopBar.tsx b/front/src/modules/ui/layout/top-bar/components/TopBar.tsx
similarity index 87%
rename from front/src/modules/ui/layout/top-bar/TopBar.tsx
rename to front/src/modules/ui/layout/top-bar/components/TopBar.tsx
index deb625c45..cbb49736b 100644
--- a/front/src/modules/ui/layout/top-bar/TopBar.tsx
+++ b/front/src/modules/ui/layout/top-bar/components/TopBar.tsx
@@ -1,10 +1,9 @@
import { ReactNode } from 'react';
import styled from '@emotion/styled';
-import { IconButton } from '@/ui/components/buttons/IconButton';
-import { IconPlus } from '@/ui/icons/index';
-
-import NavCollapseButton from '../navbar/NavCollapseButton';
+import { IconButton } from '@/ui/button/components/IconButton';
+import { IconPlus } from '@/ui/icon/index';
+import NavCollapseButton from '@/ui/navbar/components/NavCollapseButton';
export const TOP_BAR_MIN_HEIGHT = 40;
diff --git a/front/src/modules/ui/layout/top-bar/TopTitle.tsx b/front/src/modules/ui/layout/top-bar/components/TopTitle.tsx
similarity index 89%
rename from front/src/modules/ui/layout/top-bar/TopTitle.tsx
rename to front/src/modules/ui/layout/top-bar/components/TopTitle.tsx
index 59e7e0827..b4e7dc0dc 100644
--- a/front/src/modules/ui/layout/top-bar/TopTitle.tsx
+++ b/front/src/modules/ui/layout/top-bar/components/TopTitle.tsx
@@ -1,6 +1,6 @@
import styled from '@emotion/styled';
-import NavCollapseButton from '../navbar/NavCollapseButton';
+import NavCollapseButton from '@/ui/navbar/components/NavCollapseButton';
const TitleAndCollapseContainer = styled.div`
align-items: center;
diff --git a/front/src/modules/ui/components/links/PrimaryLink.tsx b/front/src/modules/ui/link/components/PrimaryLink.tsx
similarity index 100%
rename from front/src/modules/ui/components/links/PrimaryLink.tsx
rename to front/src/modules/ui/link/components/PrimaryLink.tsx
diff --git a/front/src/modules/ui/components/links/RawLink.tsx b/front/src/modules/ui/link/components/RawLink.tsx
similarity index 100%
rename from front/src/modules/ui/components/links/RawLink.tsx
rename to front/src/modules/ui/link/components/RawLink.tsx
diff --git a/front/src/modules/ui/components/links/__stories__/PrimaryLink.stories.tsx b/front/src/modules/ui/link/components/__stories__/PrimaryLink.stories.tsx
similarity index 100%
rename from front/src/modules/ui/components/links/__stories__/PrimaryLink.stories.tsx
rename to front/src/modules/ui/link/components/__stories__/PrimaryLink.stories.tsx
diff --git a/front/src/modules/ui/components/modal/Modal.tsx b/front/src/modules/ui/modal/components/Modal.tsx
similarity index 100%
rename from front/src/modules/ui/components/modal/Modal.tsx
rename to front/src/modules/ui/modal/components/Modal.tsx
diff --git a/front/src/modules/ui/layout/navbar/MainNavbar.tsx b/front/src/modules/ui/navbar/components/MainNavbar.tsx
similarity index 100%
rename from front/src/modules/ui/layout/navbar/MainNavbar.tsx
rename to front/src/modules/ui/navbar/components/MainNavbar.tsx
diff --git a/front/src/modules/ui/layout/navbar/sub-navbar/NavBackButton.tsx b/front/src/modules/ui/navbar/components/NavBackButton.tsx
similarity index 87%
rename from front/src/modules/ui/layout/navbar/sub-navbar/NavBackButton.tsx
rename to front/src/modules/ui/navbar/components/NavBackButton.tsx
index 177baa16c..da1504e4b 100644
--- a/front/src/modules/ui/layout/navbar/sub-navbar/NavBackButton.tsx
+++ b/front/src/modules/ui/navbar/components/NavBackButton.tsx
@@ -2,10 +2,10 @@ import { useNavigate } from 'react-router-dom';
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
-import { IconChevronLeft } from '@/ui/icons/index';
+import { IconChevronLeft } from '@/ui/icon/index';
+import { isNavbarSwitchingSizeState } from '@/ui/layout/states/isNavbarSwitchingSizeState';
-import { isNavbarSwitchingSizeState } from '../../states/isNavbarSwitchingSizeState';
-import NavCollapseButton from '../NavCollapseButton';
+import NavCollapseButton from './NavCollapseButton';
type OwnProps = {
title: string;
diff --git a/front/src/modules/ui/layout/navbar/NavCollapseButton.tsx b/front/src/modules/ui/navbar/components/NavCollapseButton.tsx
similarity index 94%
rename from front/src/modules/ui/layout/navbar/NavCollapseButton.tsx
rename to front/src/modules/ui/navbar/components/NavCollapseButton.tsx
index 88ea443be..6753bcc1d 100644
--- a/front/src/modules/ui/layout/navbar/NavCollapseButton.tsx
+++ b/front/src/modules/ui/navbar/components/NavCollapseButton.tsx
@@ -4,11 +4,10 @@ import { useRecoilState } from 'recoil';
import {
IconLayoutSidebarLeftCollapse,
IconLayoutSidebarRightCollapse,
-} from '@/ui/icons';
+} from '@/ui/icon';
+import { isNavbarOpenedState } from '@/ui/layout/states/isNavbarOpenedState';
import { MOBILE_VIEWPORT } from '@/ui/themes/themes';
-import { isNavbarOpenedState } from '../states/isNavbarOpenedState';
-
const CollapseButton = styled.button<{ hideOnDesktop: boolean | undefined }>`
align-items: center;
background: inherit;
diff --git a/front/src/modules/ui/layout/navbar/NavItem.tsx b/front/src/modules/ui/navbar/components/NavItem.tsx
similarity index 100%
rename from front/src/modules/ui/layout/navbar/NavItem.tsx
rename to front/src/modules/ui/navbar/components/NavItem.tsx
diff --git a/front/src/modules/ui/layout/navbar/NavItemsContainer.tsx b/front/src/modules/ui/navbar/components/NavItemsContainer.tsx
similarity index 100%
rename from front/src/modules/ui/layout/navbar/NavItemsContainer.tsx
rename to front/src/modules/ui/navbar/components/NavItemsContainer.tsx
diff --git a/front/src/modules/ui/layout/navbar/NavTitle.tsx b/front/src/modules/ui/navbar/components/NavTitle.tsx
similarity index 100%
rename from front/src/modules/ui/layout/navbar/NavTitle.tsx
rename to front/src/modules/ui/navbar/components/NavTitle.tsx
diff --git a/front/src/modules/ui/layout/navbar/NavWorkspaceButton.tsx b/front/src/modules/ui/navbar/components/NavWorkspaceButton.tsx
similarity index 100%
rename from front/src/modules/ui/layout/navbar/NavWorkspaceButton.tsx
rename to front/src/modules/ui/navbar/components/NavWorkspaceButton.tsx
diff --git a/front/src/modules/ui/layout/navbar/NavbarAnimatedContainer.tsx b/front/src/modules/ui/navbar/components/NavbarAnimatedContainer.tsx
similarity index 84%
rename from front/src/modules/ui/layout/navbar/NavbarAnimatedContainer.tsx
rename to front/src/modules/ui/navbar/components/NavbarAnimatedContainer.tsx
index 4ac742e53..09974f6ec 100644
--- a/front/src/modules/ui/layout/navbar/NavbarAnimatedContainer.tsx
+++ b/front/src/modules/ui/navbar/components/NavbarAnimatedContainer.tsx
@@ -3,12 +3,11 @@ import styled from '@emotion/styled';
import { motion } from 'framer-motion';
import { useRecoilState, useRecoilValue } from 'recoil';
+import { useIsSubNavbarDisplayed } from '@/ui/layout/hooks/useIsSubNavbarDisplayed';
+import { isNavbarOpenedState } from '@/ui/layout/states/isNavbarOpenedState';
+import { isNavbarSwitchingSizeState } from '@/ui/layout/states/isNavbarSwitchingSizeState';
import { MOBILE_VIEWPORT } from '@/ui/themes/themes';
-import { useIsSubNavbarDisplayed } from '../hooks/useIsSubNavbarDisplayed';
-import { isNavbarOpenedState } from '../states/isNavbarOpenedState';
-import { isNavbarSwitchingSizeState } from '../states/isNavbarSwitchingSizeState';
-
const StyledNavbarContainer = styled(motion.div)`
align-items: end;
display: flex;
diff --git a/front/src/modules/ui/layout/navbar/sub-navbar/SubNavbar.tsx b/front/src/modules/ui/navbar/components/SubNavbar.tsx
similarity index 90%
rename from front/src/modules/ui/layout/navbar/sub-navbar/SubNavbar.tsx
rename to front/src/modules/ui/navbar/components/SubNavbar.tsx
index 9a7585170..9cdc05398 100644
--- a/front/src/modules/ui/layout/navbar/sub-navbar/SubNavbar.tsx
+++ b/front/src/modules/ui/navbar/components/SubNavbar.tsx
@@ -1,8 +1,7 @@
import styled from '@emotion/styled';
-import NavItemsContainer from '../NavItemsContainer';
-
import NavBackButton from './NavBackButton';
+import NavItemsContainer from './NavItemsContainer';
type OwnProps = {
children: JSX.Element;
diff --git a/front/src/modules/ui/components/accessories/SoonPill.tsx b/front/src/modules/ui/pill/components/SoonPill.tsx
similarity index 100%
rename from front/src/modules/ui/components/accessories/SoonPill.tsx
rename to front/src/modules/ui/pill/components/SoonPill.tsx
diff --git a/front/src/modules/ui/components/accessories/__stories__/SoonPill.stories.tsx b/front/src/modules/ui/pill/components/__stories__/SoonPill.stories.tsx
similarity index 100%
rename from front/src/modules/ui/components/accessories/__stories__/SoonPill.stories.tsx
rename to front/src/modules/ui/pill/components/__stories__/SoonPill.stories.tsx
diff --git a/front/src/modules/ui/components/progress-bar/ProgressBar.tsx b/front/src/modules/ui/progress-bar/components/ProgressBar.tsx
similarity index 100%
rename from front/src/modules/ui/components/progress-bar/ProgressBar.tsx
rename to front/src/modules/ui/progress-bar/components/ProgressBar.tsx
diff --git a/front/src/modules/recoil-scope/components/RecoilScope.tsx b/front/src/modules/ui/recoil-scope/components/RecoilScope.tsx
similarity index 100%
rename from front/src/modules/recoil-scope/components/RecoilScope.tsx
rename to front/src/modules/ui/recoil-scope/components/RecoilScope.tsx
diff --git a/front/src/modules/recoil-scope/hooks/useRecoilScopedState.ts b/front/src/modules/ui/recoil-scope/hooks/useRecoilScopedState.ts
similarity index 100%
rename from front/src/modules/recoil-scope/hooks/useRecoilScopedState.ts
rename to front/src/modules/ui/recoil-scope/hooks/useRecoilScopedState.ts
diff --git a/front/src/modules/recoil-scope/hooks/useRecoilScopedValue.ts b/front/src/modules/ui/recoil-scope/hooks/useRecoilScopedValue.ts
similarity index 100%
rename from front/src/modules/recoil-scope/hooks/useRecoilScopedValue.ts
rename to front/src/modules/ui/recoil-scope/hooks/useRecoilScopedValue.ts
diff --git a/front/src/modules/recoil-scope/states/RecoilScopeContext.ts b/front/src/modules/ui/recoil-scope/states/RecoilScopeContext.ts
similarity index 100%
rename from front/src/modules/recoil-scope/states/RecoilScopeContext.ts
rename to front/src/modules/ui/recoil-scope/states/RecoilScopeContext.ts
diff --git a/front/src/modules/relation-picker/components/MultipleEntitySelect.tsx b/front/src/modules/ui/relation-picker/components/MultipleEntitySelect.tsx
similarity index 80%
rename from front/src/modules/relation-picker/components/MultipleEntitySelect.tsx
rename to front/src/modules/ui/relation-picker/components/MultipleEntitySelect.tsx
index 9d44f9d24..a75c8af8c 100644
--- a/front/src/modules/relation-picker/components/MultipleEntitySelect.tsx
+++ b/front/src/modules/ui/relation-picker/components/MultipleEntitySelect.tsx
@@ -1,14 +1,15 @@
import debounce from 'lodash.debounce';
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
-import { DropdownMenu } from '@/ui/components/menu/DropdownMenu';
-import { DropdownMenuCheckableItem } from '@/ui/components/menu/DropdownMenuCheckableItem';
-import { DropdownMenuItem } from '@/ui/components/menu/DropdownMenuItem';
-import { DropdownMenuItemContainer } from '@/ui/components/menu/DropdownMenuItemContainer';
-import { DropdownMenuSearch } from '@/ui/components/menu/DropdownMenuSearch';
-import { DropdownMenuSeparator } from '@/ui/components/menu/DropdownMenuSeparator';
+import { DropdownMenu } from '@/ui/dropdown/components/DropdownMenu';
+import { DropdownMenuCheckableItem } from '@/ui/dropdown/components/DropdownMenuCheckableItem';
+import { DropdownMenuItem } from '@/ui/dropdown/components/DropdownMenuItem';
+import { DropdownMenuItemContainer } from '@/ui/dropdown/components/DropdownMenuItemContainer';
+import { DropdownMenuSearch } from '@/ui/dropdown/components/DropdownMenuSearch';
+import { DropdownMenuSeparator } from '@/ui/dropdown/components/DropdownMenuSeparator';
import { Avatar } from '@/users/components/Avatar';
+import { EntityForSelect } from '../types/EntityForSelect';
+
export type EntitiesForMultipleEntitySelect<
CustomEntityForSelect extends EntityForSelect,
> = {
diff --git a/front/src/modules/relation-picker/components/SingleEntitySelect.tsx b/front/src/modules/ui/relation-picker/components/SingleEntitySelect.tsx
similarity index 77%
rename from front/src/modules/relation-picker/components/SingleEntitySelect.tsx
rename to front/src/modules/ui/relation-picker/components/SingleEntitySelect.tsx
index 4fac5cfc5..44638c5c8 100644
--- a/front/src/modules/relation-picker/components/SingleEntitySelect.tsx
+++ b/front/src/modules/ui/relation-picker/components/SingleEntitySelect.tsx
@@ -1,17 +1,17 @@
import { useRef } from 'react';
import { useTheme } from '@emotion/react';
-import { IconPlus } from '@tabler/icons-react';
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
-import { DropdownMenu } from '@/ui/components/menu/DropdownMenu';
-import { DropdownMenuButton } from '@/ui/components/menu/DropdownMenuButton';
-import { DropdownMenuItemContainer } from '@/ui/components/menu/DropdownMenuItemContainer';
-import { DropdownMenuSearch } from '@/ui/components/menu/DropdownMenuSearch';
-import { DropdownMenuSeparator } from '@/ui/components/menu/DropdownMenuSeparator';
+import { DropdownMenu } from '@/ui/dropdown/components/DropdownMenu';
+import { DropdownMenuButton } from '@/ui/dropdown/components/DropdownMenuButton';
+import { DropdownMenuItemContainer } from '@/ui/dropdown/components/DropdownMenuItemContainer';
+import { DropdownMenuSearch } from '@/ui/dropdown/components/DropdownMenuSearch';
+import { DropdownMenuSeparator } from '@/ui/dropdown/components/DropdownMenuSeparator';
import { useListenClickOutsideArrayOfRef } from '@/ui/hooks/useListenClickOutsideArrayOfRef';
-import { isDefined } from '@/utils/type-guards/isDefined';
+import { IconPlus } from '@/ui/icon';
+import { isDefined } from '~/utils/isDefined';
import { useEntitySelectSearch } from '../hooks/useEntitySelectSearch';
+import { EntityForSelect } from '../types/EntityForSelect';
import { SingleEntitySelectBase } from './SingleEntitySelectBase';
diff --git a/front/src/modules/relation-picker/components/SingleEntitySelectBase.tsx b/front/src/modules/ui/relation-picker/components/SingleEntitySelectBase.tsx
similarity index 85%
rename from front/src/modules/relation-picker/components/SingleEntitySelectBase.tsx
rename to front/src/modules/ui/relation-picker/components/SingleEntitySelectBase.tsx
index 46cb8a9e8..db0d531a8 100644
--- a/front/src/modules/relation-picker/components/SingleEntitySelectBase.tsx
+++ b/front/src/modules/ui/relation-picker/components/SingleEntitySelectBase.tsx
@@ -1,15 +1,15 @@
import { useRef } from 'react';
import { Key } from 'ts-key-enum';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { EntityForSelect } from '@/relation-picker/types/EntityForSelect';
-import { DropdownMenuItem } from '@/ui/components/menu/DropdownMenuItem';
-import { DropdownMenuItemContainer } from '@/ui/components/menu/DropdownMenuItemContainer';
-import { DropdownMenuSelectableItem } from '@/ui/components/menu/DropdownMenuSelectableItem';
+import { DropdownMenuItem } from '@/ui/dropdown/components/DropdownMenuItem';
+import { DropdownMenuItemContainer } from '@/ui/dropdown/components/DropdownMenuItemContainer';
+import { DropdownMenuSelectableItem } from '@/ui/dropdown/components/DropdownMenuSelectableItem';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
import { Avatar } from '@/users/components/Avatar';
-import { isDefined } from '@/utils/type-guards/isDefined';
+import { isDefined } from '~/utils/isDefined';
import { useEntitySelectScroll } from '../hooks/useEntitySelectScroll';
+import { EntityForSelect } from '../types/EntityForSelect';
import { RelationPickerHotkeyScope } from '../types/RelationPickerHotkeyScope';
import { CompanyPickerSkeleton } from './skeletons/CompanyPickerSkeleton';
diff --git a/front/src/modules/relation-picker/components/skeletons/CompanyPickerSkeleton.tsx b/front/src/modules/ui/relation-picker/components/skeletons/CompanyPickerSkeleton.tsx
similarity index 100%
rename from front/src/modules/relation-picker/components/skeletons/CompanyPickerSkeleton.tsx
rename to front/src/modules/ui/relation-picker/components/skeletons/CompanyPickerSkeleton.tsx
diff --git a/front/src/modules/relation-picker/components/skeletons/DropdownMenuItemContainerSkeleton.tsx b/front/src/modules/ui/relation-picker/components/skeletons/DropdownMenuItemContainerSkeleton.tsx
similarity index 100%
rename from front/src/modules/relation-picker/components/skeletons/DropdownMenuItemContainerSkeleton.tsx
rename to front/src/modules/ui/relation-picker/components/skeletons/DropdownMenuItemContainerSkeleton.tsx
diff --git a/front/src/modules/relation-picker/hooks/useEntitySelectScroll.ts b/front/src/modules/ui/relation-picker/hooks/useEntitySelectScroll.ts
similarity index 93%
rename from front/src/modules/relation-picker/hooks/useEntitySelectScroll.ts
rename to front/src/modules/ui/relation-picker/hooks/useEntitySelectScroll.ts
index 2febd7660..8862e4b46 100644
--- a/front/src/modules/relation-picker/hooks/useEntitySelectScroll.ts
+++ b/front/src/modules/ui/relation-picker/hooks/useEntitySelectScroll.ts
@@ -1,8 +1,8 @@
import scrollIntoView from 'scroll-into-view';
import { Key } from 'ts-key-enum';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { relationPickerHoverIndexScopedState } from '../states/relationPickerHoverIndexScopedState';
import { EntityForSelect } from '../types/EntityForSelect';
diff --git a/front/src/modules/relation-picker/hooks/useEntitySelectSearch.ts b/front/src/modules/ui/relation-picker/hooks/useEntitySelectSearch.ts
similarity index 90%
rename from front/src/modules/relation-picker/hooks/useEntitySelectSearch.ts
rename to front/src/modules/ui/relation-picker/hooks/useEntitySelectSearch.ts
index 512c4e223..961f5aaad 100644
--- a/front/src/modules/relation-picker/hooks/useEntitySelectSearch.ts
+++ b/front/src/modules/ui/relation-picker/hooks/useEntitySelectSearch.ts
@@ -1,6 +1,6 @@
import debounce from 'lodash.debounce';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { relationPickerHoverIndexScopedState } from '../states/relationPickerHoverIndexScopedState';
import { relationPickerSearchFilterScopedState } from '../states/relationPickerSearchFilterScopedState';
diff --git a/front/src/modules/relation-picker/states/relationPickerHoverIndexScopedState.ts b/front/src/modules/ui/relation-picker/states/relationPickerHoverIndexScopedState.ts
similarity index 100%
rename from front/src/modules/relation-picker/states/relationPickerHoverIndexScopedState.ts
rename to front/src/modules/ui/relation-picker/states/relationPickerHoverIndexScopedState.ts
diff --git a/front/src/modules/relation-picker/states/relationPickerSearchFilterScopedState.ts b/front/src/modules/ui/relation-picker/states/relationPickerSearchFilterScopedState.ts
similarity index 100%
rename from front/src/modules/relation-picker/states/relationPickerSearchFilterScopedState.ts
rename to front/src/modules/ui/relation-picker/states/relationPickerSearchFilterScopedState.ts
diff --git a/front/src/modules/relation-picker/types/EntityForSelect.ts b/front/src/modules/ui/relation-picker/types/EntityForSelect.ts
similarity index 100%
rename from front/src/modules/relation-picker/types/EntityForSelect.ts
rename to front/src/modules/ui/relation-picker/types/EntityForSelect.ts
diff --git a/front/src/modules/relation-picker/types/EntityTypeForSelect.ts b/front/src/modules/ui/relation-picker/types/EntityTypeForSelect.ts
similarity index 100%
rename from front/src/modules/relation-picker/types/EntityTypeForSelect.ts
rename to front/src/modules/ui/relation-picker/types/EntityTypeForSelect.ts
diff --git a/front/src/modules/relation-picker/types/RelationPickerHotkeyScope.ts b/front/src/modules/ui/relation-picker/types/RelationPickerHotkeyScope.ts
similarity index 100%
rename from front/src/modules/relation-picker/types/RelationPickerHotkeyScope.ts
rename to front/src/modules/ui/relation-picker/types/RelationPickerHotkeyScope.ts
diff --git a/front/src/modules/ui/layout/right-drawer/components/RightDrawer.tsx b/front/src/modules/ui/right-drawer/components/RightDrawer.tsx
similarity index 96%
rename from front/src/modules/ui/layout/right-drawer/components/RightDrawer.tsx
rename to front/src/modules/ui/right-drawer/components/RightDrawer.tsx
index c43d8ddec..a63d890ff 100644
--- a/front/src/modules/ui/layout/right-drawer/components/RightDrawer.tsx
+++ b/front/src/modules/ui/right-drawer/components/RightDrawer.tsx
@@ -8,7 +8,7 @@ import {
OutsideClickAlerterMode,
useOutsideAlerter,
} from '@/ui/hooks/useOutsideAlerter';
-import { isDefined } from '@/utils/type-guards/isDefined';
+import { isDefined } from '~/utils/isDefined';
import { isRightDrawerOpenState } from '../states/isRightDrawerOpenState';
import { rightDrawerPageState } from '../states/rightDrawerPageState';
diff --git a/front/src/modules/ui/layout/right-drawer/components/RightDrawerBody.tsx b/front/src/modules/ui/right-drawer/components/RightDrawerBody.tsx
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/components/RightDrawerBody.tsx
rename to front/src/modules/ui/right-drawer/components/RightDrawerBody.tsx
diff --git a/front/src/modules/ui/layout/right-drawer/components/RightDrawerPage.tsx b/front/src/modules/ui/right-drawer/components/RightDrawerPage.tsx
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/components/RightDrawerPage.tsx
rename to front/src/modules/ui/right-drawer/components/RightDrawerPage.tsx
diff --git a/front/src/modules/ui/layout/right-drawer/components/RightDrawerRouter.tsx b/front/src/modules/ui/right-drawer/components/RightDrawerRouter.tsx
similarity index 63%
rename from front/src/modules/ui/layout/right-drawer/components/RightDrawerRouter.tsx
rename to front/src/modules/ui/right-drawer/components/RightDrawerRouter.tsx
index a487bedd4..20a9b07a5 100644
--- a/front/src/modules/ui/layout/right-drawer/components/RightDrawerRouter.tsx
+++ b/front/src/modules/ui/right-drawer/components/RightDrawerRouter.tsx
@@ -1,9 +1,9 @@
import { useRecoilState } from 'recoil';
-import { RightDrawerCreateCommentThread } from '@/comments/components/right-drawer/create/RightDrawerCreateCommentThread';
-import { RightDrawerEditCommentThread } from '@/comments/components/right-drawer/edit/RightDrawerEditCommentThread';
-import { RightDrawerTimeline } from '@/comments/components/right-drawer/RightDrawerTimeline';
-import { isDefined } from '@/utils/type-guards/isDefined';
+import { RightDrawerCreateCommentThread } from '@/activities/right-drawer/components/create/RightDrawerCreateCommentThread';
+import { RightDrawerEditCommentThread } from '@/activities/right-drawer/components/edit/RightDrawerEditCommentThread';
+import { RightDrawerTimeline } from '@/activities/right-drawer/components/RightDrawerTimeline';
+import { isDefined } from '~/utils/isDefined';
import { rightDrawerPageState } from '../states/rightDrawerPageState';
import { RightDrawerPages } from '../types/RightDrawerPages';
diff --git a/front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBar.tsx b/front/src/modules/ui/right-drawer/components/RightDrawerTopBar.tsx
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBar.tsx
rename to front/src/modules/ui/right-drawer/components/RightDrawerTopBar.tsx
diff --git a/front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarCloseButton.tsx b/front/src/modules/ui/right-drawer/components/RightDrawerTopBarCloseButton.tsx
similarity index 94%
rename from front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarCloseButton.tsx
rename to front/src/modules/ui/right-drawer/components/RightDrawerTopBarCloseButton.tsx
index 612a195eb..4360bfd21 100644
--- a/front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarCloseButton.tsx
+++ b/front/src/modules/ui/right-drawer/components/RightDrawerTopBarCloseButton.tsx
@@ -1,7 +1,7 @@
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
-import { IconChevronsRight } from '@/ui/icons/index';
+import { IconChevronsRight } from '@/ui/icon/index';
import { isRightDrawerOpenState } from '../states/isRightDrawerOpenState';
diff --git a/front/src/modules/ui/layout/right-drawer/components/__stories__/RightDrawerTopBar.stories.tsx b/front/src/modules/ui/right-drawer/components/__stories__/RightDrawerTopBar.stories.tsx
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/components/__stories__/RightDrawerTopBar.stories.tsx
rename to front/src/modules/ui/right-drawer/components/__stories__/RightDrawerTopBar.stories.tsx
diff --git a/front/src/modules/ui/layout/right-drawer/hooks/useOpenRightDrawer.ts b/front/src/modules/ui/right-drawer/hooks/useOpenRightDrawer.ts
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/hooks/useOpenRightDrawer.ts
rename to front/src/modules/ui/right-drawer/hooks/useOpenRightDrawer.ts
diff --git a/front/src/modules/ui/layout/right-drawer/states/isRightDrawerOpenState.ts b/front/src/modules/ui/right-drawer/states/isRightDrawerOpenState.ts
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/states/isRightDrawerOpenState.ts
rename to front/src/modules/ui/right-drawer/states/isRightDrawerOpenState.ts
diff --git a/front/src/modules/ui/layout/right-drawer/states/rightDrawerPageState.ts b/front/src/modules/ui/right-drawer/states/rightDrawerPageState.ts
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/states/rightDrawerPageState.ts
rename to front/src/modules/ui/right-drawer/states/rightDrawerPageState.ts
diff --git a/front/src/modules/ui/layout/right-drawer/types/RightDrawerHotkeyScope.ts b/front/src/modules/ui/right-drawer/types/RightDrawerHotkeyScope.ts
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/types/RightDrawerHotkeyScope.ts
rename to front/src/modules/ui/right-drawer/types/RightDrawerHotkeyScope.ts
diff --git a/front/src/modules/ui/layout/right-drawer/types/RightDrawerPages.ts b/front/src/modules/ui/right-drawer/types/RightDrawerPages.ts
similarity index 100%
rename from front/src/modules/ui/layout/right-drawer/types/RightDrawerPages.ts
rename to front/src/modules/ui/right-drawer/types/RightDrawerPages.ts
diff --git a/front/src/modules/snack-bar/components/SnackBar.tsx b/front/src/modules/ui/snack-bar/components/SnackBar.tsx
similarity index 95%
rename from front/src/modules/snack-bar/components/SnackBar.tsx
rename to front/src/modules/ui/snack-bar/components/SnackBar.tsx
index a685e6d81..0225c7d8a 100644
--- a/front/src/modules/snack-bar/components/SnackBar.tsx
+++ b/front/src/modules/ui/snack-bar/components/SnackBar.tsx
@@ -2,14 +2,14 @@ import { useCallback, useMemo, useRef } from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { usePausableTimeout } from '@/snack-bar/hooks/usePausableTimeout';
-import { IconAlertTriangle, IconX } from '@/ui/icons';
-import { rgba } from '@/ui/themes/colors';
-
+import { IconAlertTriangle, IconX } from '@/ui/icon';
import {
ProgressBar,
ProgressBarControls,
-} from '../../ui/components/progress-bar/ProgressBar';
+} from '@/ui/progress-bar/components/ProgressBar';
+import { rgba } from '@/ui/themes/colors';
+
+import { usePausableTimeout } from '../hooks/usePausableTimeout';
const StyledMotionContainer = styled.div>`
align-items: center;
diff --git a/front/src/providers/snack-bar/SnackBarProvider.tsx b/front/src/modules/ui/snack-bar/components/SnackBarProvider.tsx
similarity index 92%
rename from front/src/providers/snack-bar/SnackBarProvider.tsx
rename to front/src/modules/ui/snack-bar/components/SnackBarProvider.tsx
index cce3a6b41..52cb60e74 100644
--- a/front/src/providers/snack-bar/SnackBarProvider.tsx
+++ b/front/src/modules/ui/snack-bar/components/SnackBarProvider.tsx
@@ -2,9 +2,9 @@ import styled from '@emotion/styled';
import { motion, useReducedMotion } from 'framer-motion';
import { useRecoilState } from 'recoil';
-import { SnackBar } from '@/snack-bar/components/SnackBar';
+import { snackBarInternalState } from '../states/snackBarState';
-import { snackBarInternalState } from '../../modules/snack-bar/states/snackBarState';
+import { SnackBar } from './SnackBar';
const SnackBarContainer = styled.div`
display: flex;
diff --git a/front/src/modules/snack-bar/hooks/usePausableTimeout.ts b/front/src/modules/ui/snack-bar/hooks/usePausableTimeout.ts
similarity index 100%
rename from front/src/modules/snack-bar/hooks/usePausableTimeout.ts
rename to front/src/modules/ui/snack-bar/hooks/usePausableTimeout.ts
diff --git a/front/src/modules/snack-bar/hooks/useSnackBar.ts b/front/src/modules/ui/snack-bar/hooks/useSnackBar.ts
similarity index 100%
rename from front/src/modules/snack-bar/hooks/useSnackBar.ts
rename to front/src/modules/ui/snack-bar/hooks/useSnackBar.ts
diff --git a/front/src/modules/snack-bar/states/snackBarState.ts b/front/src/modules/ui/snack-bar/states/snackBarState.ts
similarity index 93%
rename from front/src/modules/snack-bar/states/snackBarState.ts
rename to front/src/modules/ui/snack-bar/states/snackBarState.ts
index c6626d0d5..159edfdbe 100644
--- a/front/src/modules/snack-bar/states/snackBarState.ts
+++ b/front/src/modules/ui/snack-bar/states/snackBarState.ts
@@ -1,6 +1,6 @@
import { atom, selector } from 'recoil';
-import { SnackbarProps } from '@/snack-bar/components/SnackBar';
+import { SnackbarProps } from '../components/SnackBar';
export type SnackBarOptions = SnackbarProps & {
id: string;
diff --git a/front/src/modules/ui/components/table/action-bar/EntityTableActionBar.tsx b/front/src/modules/ui/table/action-bar/components/EntityTableActionBar.tsx
similarity index 70%
rename from front/src/modules/ui/components/table/action-bar/EntityTableActionBar.tsx
rename to front/src/modules/ui/table/action-bar/components/EntityTableActionBar.tsx
index 8e44ee820..0159e3dd2 100644
--- a/front/src/modules/ui/components/table/action-bar/EntityTableActionBar.tsx
+++ b/front/src/modules/ui/table/action-bar/components/EntityTableActionBar.tsx
@@ -1,8 +1,9 @@
import React from 'react';
import { useRecoilValue } from 'recoil';
-import { ActionBar } from '@/ui/components/action-bar/ActionBar';
-import { selectedRowIdsSelector } from '@/ui/tables/states/selectedRowIdsSelector';
+import { ActionBar } from '@/ui/action-bar/components/ActionBar';
+
+import { selectedRowIdsSelector } from '../../states/selectedRowIdsSelector';
type OwnProps = {
children: React.ReactNode | React.ReactNode[];
diff --git a/front/src/modules/ui/components/table/action-bar/EntityTableActionBarButton.tsx b/front/src/modules/ui/table/action-bar/components/EntityTableActionBarButton.tsx
similarity index 100%
rename from front/src/modules/ui/components/table/action-bar/EntityTableActionBarButton.tsx
rename to front/src/modules/ui/table/action-bar/components/EntityTableActionBarButton.tsx
diff --git a/front/src/modules/ui/components/table/action-bar/TableActionBarButtonOpenComments.tsx b/front/src/modules/ui/table/action-bar/components/TableActionBarButtonOpenComments.tsx
similarity index 87%
rename from front/src/modules/ui/components/table/action-bar/TableActionBarButtonOpenComments.tsx
rename to front/src/modules/ui/table/action-bar/components/TableActionBarButtonOpenComments.tsx
index cdc93bf83..8da8db328 100644
--- a/front/src/modules/ui/components/table/action-bar/TableActionBarButtonOpenComments.tsx
+++ b/front/src/modules/ui/table/action-bar/components/TableActionBarButtonOpenComments.tsx
@@ -1,4 +1,4 @@
-import { IconNotes } from '@/ui/icons/index';
+import { IconNotes } from '@/ui/icon/index';
import { EntityTableActionBarButton } from './EntityTableActionBarButton';
diff --git a/front/src/modules/ui/components/table/CheckboxCell.tsx b/front/src/modules/ui/table/components/CheckboxCell.tsx
similarity index 79%
rename from front/src/modules/ui/components/table/CheckboxCell.tsx
rename to front/src/modules/ui/table/components/CheckboxCell.tsx
index a45ad7518..9eeee393e 100644
--- a/front/src/modules/ui/components/table/CheckboxCell.tsx
+++ b/front/src/modules/ui/table/components/CheckboxCell.tsx
@@ -2,10 +2,10 @@ import * as React from 'react';
import styled from '@emotion/styled';
import { useSetRecoilState } from 'recoil';
-import { useCurrentRowSelected } from '@/ui/tables/hooks/useCurrentRowSelected';
-import { contextMenuPositionState } from '@/ui/tables/states/contextMenuPositionState';
+import { Checkbox } from '@/ui/input/components/Checkbox';
-import { Checkbox } from '../form/Checkbox';
+import { useCurrentRowSelected } from '../hooks/useCurrentRowSelected';
+import { contextMenuPositionState } from '../states/contextMenuPositionState';
const StyledContainer = styled.div`
align-items: center;
diff --git a/front/src/modules/ui/components/table/ColumnHead.tsx b/front/src/modules/ui/table/components/ColumnHead.tsx
similarity index 100%
rename from front/src/modules/ui/components/table/ColumnHead.tsx
rename to front/src/modules/ui/table/components/ColumnHead.tsx
diff --git a/front/src/modules/ui/components/table/EntityTable.tsx b/front/src/modules/ui/table/components/EntityTable.tsx
similarity index 92%
rename from front/src/modules/ui/components/table/EntityTable.tsx
rename to front/src/modules/ui/table/components/EntityTable.tsx
index 534220dc5..9ad7f1eed 100644
--- a/front/src/modules/ui/components/table/EntityTable.tsx
+++ b/front/src/modules/ui/table/components/EntityTable.tsx
@@ -1,15 +1,13 @@
import * as React from 'react';
import styled from '@emotion/styled';
-import {
- SelectedSortType,
- SortType,
-} from '@/lib/filters-and-sorts/interfaces/sorts/interface';
import { TableColumn } from '@/people/table/components/peopleColumns';
+import { SelectedSortType, SortType } from '@/ui/filter-n-sort/types/interface';
import { useListenClickOutsideArrayOfRef } from '@/ui/hooks/useListenClickOutsideArrayOfRef';
-import { useLeaveTableFocus } from '@/ui/tables/hooks/useLeaveTableFocus';
-import { TableHeader } from './table-header/TableHeader';
+import { useLeaveTableFocus } from '../hooks/useLeaveTableFocus';
+import { TableHeader } from '../table-header/components/TableHeader';
+
import { EntityTableBody } from './EntityTableBody';
import { EntityTableHeader } from './EntityTableHeader';
diff --git a/front/src/modules/ui/components/table/EntityTableBody.tsx b/front/src/modules/ui/table/components/EntityTableBody.tsx
similarity index 75%
rename from front/src/modules/ui/components/table/EntityTableBody.tsx
rename to front/src/modules/ui/table/components/EntityTableBody.tsx
index b4e88a135..e73fb112f 100644
--- a/front/src/modules/ui/components/table/EntityTableBody.tsx
+++ b/front/src/modules/ui/table/components/EntityTableBody.tsx
@@ -1,11 +1,12 @@
import { useRecoilValue } from 'recoil';
import { TableColumn } from '@/people/table/components/peopleColumns';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
import { isNavbarSwitchingSizeState } from '@/ui/layout/states/isNavbarSwitchingSizeState';
-import { isFetchingEntityTableDataState } from '@/ui/tables/states/isFetchingEntityTableDataState';
-import { RowContext } from '@/ui/tables/states/RowContext';
-import { tableRowIdsState } from '@/ui/tables/states/tableRowIdsState';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+
+import { isFetchingEntityTableDataState } from '../states/isFetchingEntityTableDataState';
+import { RowContext } from '../states/RowContext';
+import { tableRowIdsState } from '../states/tableRowIdsState';
import { EntityTableRow } from './EntityTableRow';
diff --git a/front/src/modules/ui/components/table/EntityTableCell.tsx b/front/src/modules/ui/table/components/EntityTableCell.tsx
similarity index 71%
rename from front/src/modules/ui/components/table/EntityTableCell.tsx
rename to front/src/modules/ui/table/components/EntityTableCell.tsx
index 94ef72a89..9cd9516f0 100644
--- a/front/src/modules/ui/components/table/EntityTableCell.tsx
+++ b/front/src/modules/ui/table/components/EntityTableCell.tsx
@@ -1,11 +1,12 @@
import { useEffect } from 'react';
import { useSetRecoilState } from 'recoil';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { useCurrentRowSelected } from '@/ui/tables/hooks/useCurrentRowSelected';
-import { CellContext } from '@/ui/tables/states/CellContext';
-import { contextMenuPositionState } from '@/ui/tables/states/contextMenuPositionState';
-import { currentColumnNumberScopedState } from '@/ui/tables/states/currentColumnNumberScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { useCurrentRowSelected } from '../hooks/useCurrentRowSelected';
+import { CellContext } from '../states/CellContext';
+import { contextMenuPositionState } from '../states/contextMenuPositionState';
+import { currentColumnNumberScopedState } from '../states/currentColumnNumberScopedState';
export function EntityTableCell({
rowId,
diff --git a/front/src/modules/ui/components/table/EntityTableHeader.tsx b/front/src/modules/ui/table/components/EntityTableHeader.tsx
similarity index 100%
rename from front/src/modules/ui/components/table/EntityTableHeader.tsx
rename to front/src/modules/ui/table/components/EntityTableHeader.tsx
diff --git a/front/src/modules/ui/components/table/EntityTableRow.tsx b/front/src/modules/ui/table/components/EntityTableRow.tsx
similarity index 76%
rename from front/src/modules/ui/components/table/EntityTableRow.tsx
rename to front/src/modules/ui/table/components/EntityTableRow.tsx
index 85d809e96..425e8dec8 100644
--- a/front/src/modules/ui/components/table/EntityTableRow.tsx
+++ b/front/src/modules/ui/table/components/EntityTableRow.tsx
@@ -3,13 +3,14 @@ import styled from '@emotion/styled';
import { useRecoilValue } from 'recoil';
import { TableColumn } from '@/people/table/components/peopleColumns';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { CellContext } from '@/ui/tables/states/CellContext';
-import { currentRowEntityIdScopedState } from '@/ui/tables/states/currentRowEntityIdScopedState';
-import { currentRowNumberScopedState } from '@/ui/tables/states/currentRowNumberScopedState';
-import { isRowSelectedFamilyState } from '@/ui/tables/states/isRowSelectedFamilyState';
-import { RowContext } from '@/ui/tables/states/RowContext';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { CellContext } from '../states/CellContext';
+import { currentRowEntityIdScopedState } from '../states/currentRowEntityIdScopedState';
+import { currentRowNumberScopedState } from '../states/currentRowNumberScopedState';
+import { isRowSelectedFamilyState } from '../states/isRowSelectedFamilyState';
+import { RowContext } from '../states/RowContext';
import { CheckboxCell } from './CheckboxCell';
import { EntityTableCell } from './EntityTableCell';
diff --git a/front/src/modules/ui/table/components/HooksEntityTable.tsx b/front/src/modules/ui/table/components/HooksEntityTable.tsx
new file mode 100644
index 000000000..347b735a9
--- /dev/null
+++ b/front/src/modules/ui/table/components/HooksEntityTable.tsx
@@ -0,0 +1,25 @@
+import { FilterDefinition } from '@/ui/filter-n-sort/types/FilterDefinition';
+
+import { useInitializeEntityTable } from '../hooks/useInitializeEntityTable';
+import { useInitializeEntityTableFilters } from '../hooks/useInitializeEntityTableFilters';
+import { useMapKeyboardToSoftFocus } from '../hooks/useMapKeyboardToSoftFocus';
+
+export function HooksEntityTable({
+ numberOfColumns,
+ availableFilters,
+}: {
+ numberOfColumns: number;
+ availableFilters: FilterDefinition[];
+}) {
+ useMapKeyboardToSoftFocus();
+
+ useInitializeEntityTable({
+ numberOfColumns,
+ });
+
+ useInitializeEntityTableFilters({
+ availableFilters,
+ });
+
+ return <>>;
+}
diff --git a/front/src/modules/ui/components/table/SelectAllCheckbox.tsx b/front/src/modules/ui/table/components/SelectAllCheckbox.tsx
similarity index 84%
rename from front/src/modules/ui/components/table/SelectAllCheckbox.tsx
rename to front/src/modules/ui/table/components/SelectAllCheckbox.tsx
index c89f74f18..acf88420a 100644
--- a/front/src/modules/ui/components/table/SelectAllCheckbox.tsx
+++ b/front/src/modules/ui/table/components/SelectAllCheckbox.tsx
@@ -1,9 +1,9 @@
import React from 'react';
import styled from '@emotion/styled';
-import { useSelectAllRows } from '@/ui/tables/hooks/useSelectAllRows';
+import { Checkbox } from '@/ui/input/components/Checkbox';
-import { Checkbox } from '../form/Checkbox';
+import { useSelectAllRows } from '../hooks/useSelectAllRows';
const StyledContainer = styled.div`
align-items: center;
diff --git a/front/src/modules/ui/components/editable-cell/CellSkeleton.tsx b/front/src/modules/ui/table/editable-cell/components/CellSkeleton.tsx
similarity index 100%
rename from front/src/modules/ui/components/editable-cell/CellSkeleton.tsx
rename to front/src/modules/ui/table/editable-cell/components/CellSkeleton.tsx
diff --git a/front/src/modules/ui/components/editable-cell/EditableCell.tsx b/front/src/modules/ui/table/editable-cell/components/EditableCell.tsx
similarity index 88%
rename from front/src/modules/ui/components/editable-cell/EditableCell.tsx
rename to front/src/modules/ui/table/editable-cell/components/EditableCell.tsx
index 1b4eb1dee..c0152b92c 100644
--- a/front/src/modules/ui/components/editable-cell/EditableCell.tsx
+++ b/front/src/modules/ui/table/editable-cell/components/EditableCell.tsx
@@ -1,10 +1,11 @@
import { ReactElement } from 'react';
import styled from '@emotion/styled';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
+
+import { useCurrentCellEditMode } from '../hooks/useCurrentCellEditMode';
+import { useIsSoftFocusOnCurrentCell } from '../hooks/useIsSoftFocusOnCurrentCell';
-import { useCurrentCellEditMode } from './hooks/useCurrentCellEditMode';
-import { useIsSoftFocusOnCurrentCell } from './hooks/useIsSoftFocusOnCurrentCell';
import { EditableCellDisplayMode } from './EditableCellDisplayMode';
import { EditableCellEditMode } from './EditableCellEditMode';
import { EditableCellSoftFocusMode } from './EditableCellSoftFocusMode';
diff --git a/front/src/modules/ui/components/editable-cell/EditableCellDisplayMode.tsx b/front/src/modules/ui/table/editable-cell/components/EditableCellDisplayMode.tsx
similarity index 93%
rename from front/src/modules/ui/components/editable-cell/EditableCellDisplayMode.tsx
rename to front/src/modules/ui/table/editable-cell/components/EditableCellDisplayMode.tsx
index 0ddfee2b0..c53dc3c6d 100644
--- a/front/src/modules/ui/components/editable-cell/EditableCellDisplayMode.tsx
+++ b/front/src/modules/ui/table/editable-cell/components/EditableCellDisplayMode.tsx
@@ -1,6 +1,6 @@
import styled from '@emotion/styled';
-import { useSetSoftFocusOnCurrentCell } from './hooks/useSetSoftFocusOnCurrentCell';
+import { useSetSoftFocusOnCurrentCell } from '../hooks/useSetSoftFocusOnCurrentCell';
type Props = {
softFocus?: boolean;
diff --git a/front/src/modules/ui/components/editable-cell/EditableCellEditMode.tsx b/front/src/modules/ui/table/editable-cell/components/EditableCellEditMode.tsx
similarity index 94%
rename from front/src/modules/ui/components/editable-cell/EditableCellEditMode.tsx
rename to front/src/modules/ui/table/editable-cell/components/EditableCellEditMode.tsx
index 936556cb2..0d8eba3e8 100644
--- a/front/src/modules/ui/components/editable-cell/EditableCellEditMode.tsx
+++ b/front/src/modules/ui/table/editable-cell/components/EditableCellEditMode.tsx
@@ -3,7 +3,7 @@ import styled from '@emotion/styled';
import { overlayBackground } from '@/ui/themes/effects';
-import { useRegisterCloseCellHandlers } from './hooks/useRegisterCloseCellHandlers';
+import { useRegisterCloseCellHandlers } from '../hooks/useRegisterCloseCellHandlers';
export const EditableCellEditModeContainer = styled.div`
align-items: center;
diff --git a/front/src/modules/ui/components/editable-cell/EditableCellSoftFocusMode.tsx b/front/src/modules/ui/table/editable-cell/components/EditableCellSoftFocusMode.tsx
similarity index 79%
rename from front/src/modules/ui/components/editable-cell/EditableCellSoftFocusMode.tsx
rename to front/src/modules/ui/table/editable-cell/components/EditableCellSoftFocusMode.tsx
index a178ace6c..6af77205e 100644
--- a/front/src/modules/ui/components/editable-cell/EditableCellSoftFocusMode.tsx
+++ b/front/src/modules/ui/table/editable-cell/components/EditableCellSoftFocusMode.tsx
@@ -1,11 +1,12 @@
import React from 'react';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
-import { isNonTextWritingKey } from '@/utils/hotkeys/isNonTextWritingKey';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
+import { isNonTextWritingKey } from '@/ui/hotkey/utils/isNonTextWritingKey';
+
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
+import { useEditableCell } from '../hooks/useEditableCell';
-import { useEditableCell } from './hooks/useEditableCell';
import {
EditableCellNormalModeInnerContainer,
EditableCellNormalModeOuterContainer,
diff --git a/front/src/modules/ui/components/editable-cell/HoverableMenuItem.tsx b/front/src/modules/ui/table/editable-cell/components/HoverableMenuItem.tsx
similarity index 100%
rename from front/src/modules/ui/components/editable-cell/HoverableMenuItem.tsx
rename to front/src/modules/ui/table/editable-cell/components/HoverableMenuItem.tsx
diff --git a/front/src/modules/ui/components/editable-cell/__stories__/EditableCellText.stories.tsx b/front/src/modules/ui/table/editable-cell/components/__stories__/EditableCellText.stories.tsx
similarity index 94%
rename from front/src/modules/ui/components/editable-cell/__stories__/EditableCellText.stories.tsx
rename to front/src/modules/ui/table/editable-cell/components/__stories__/EditableCellText.stories.tsx
index 716418b9d..a9d3640b4 100644
--- a/front/src/modules/ui/components/editable-cell/__stories__/EditableCellText.stories.tsx
+++ b/front/src/modules/ui/table/editable-cell/components/__stories__/EditableCellText.stories.tsx
@@ -6,7 +6,7 @@ import {
ComponentDecorator,
} from '~/testing/decorators';
-import { EditableCellText } from '../types/EditableCellText';
+import { EditableCellText } from '../../types/EditableCellText';
const meta: Meta = {
title: 'UI/EditableCell/EditableCellText',
diff --git a/front/src/modules/ui/components/editable-cell/hooks/useCurrentCellEditMode.ts b/front/src/modules/ui/table/editable-cell/hooks/useCurrentCellEditMode.ts
similarity index 77%
rename from front/src/modules/ui/components/editable-cell/hooks/useCurrentCellEditMode.ts
rename to front/src/modules/ui/table/editable-cell/hooks/useCurrentCellEditMode.ts
index 44453e903..692f0e0ad 100644
--- a/front/src/modules/ui/components/editable-cell/hooks/useCurrentCellEditMode.ts
+++ b/front/src/modules/ui/table/editable-cell/hooks/useCurrentCellEditMode.ts
@@ -1,8 +1,8 @@
import { useCallback } from 'react';
import { useRecoilState } from 'recoil';
-import { useMoveEditModeToCellPosition } from '@/ui/tables/hooks/useMoveEditModeToCellPosition';
-import { isCellInEditModeFamilyState } from '@/ui/tables/states/isCellInEditModeFamilyState';
+import { useMoveEditModeToCellPosition } from '../../hooks/useMoveEditModeToCellPosition';
+import { isCellInEditModeFamilyState } from '../../states/isCellInEditModeFamilyState';
import { useCurrentCellPosition } from './useCurrentCellPosition';
diff --git a/front/src/modules/ui/components/editable-cell/hooks/useCurrentCellPosition.ts b/front/src/modules/ui/table/editable-cell/hooks/useCurrentCellPosition.ts
similarity index 52%
rename from front/src/modules/ui/components/editable-cell/hooks/useCurrentCellPosition.ts
rename to front/src/modules/ui/table/editable-cell/hooks/useCurrentCellPosition.ts
index c2811971e..9a3bcddb5 100644
--- a/front/src/modules/ui/components/editable-cell/hooks/useCurrentCellPosition.ts
+++ b/front/src/modules/ui/table/editable-cell/hooks/useCurrentCellPosition.ts
@@ -1,11 +1,12 @@
import { useMemo } from 'react';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { CellContext } from '@/ui/tables/states/CellContext';
-import { currentColumnNumberScopedState } from '@/ui/tables/states/currentColumnNumberScopedState';
-import { currentRowNumberScopedState } from '@/ui/tables/states/currentRowNumberScopedState';
-import { RowContext } from '@/ui/tables/states/RowContext';
-import { CellPosition } from '@/ui/tables/types/CellPosition';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { CellContext } from '../../states/CellContext';
+import { currentColumnNumberScopedState } from '../../states/currentColumnNumberScopedState';
+import { currentRowNumberScopedState } from '../../states/currentRowNumberScopedState';
+import { RowContext } from '../../states/RowContext';
+import { CellPosition } from '../../types/CellPosition';
export function useCurrentCellPosition() {
const [currentRowNumber] = useRecoilScopedState(
diff --git a/front/src/modules/ui/components/editable-cell/hooks/useEditableCell.ts b/front/src/modules/ui/table/editable-cell/hooks/useEditableCell.ts
similarity index 71%
rename from front/src/modules/ui/components/editable-cell/hooks/useEditableCell.ts
rename to front/src/modules/ui/table/editable-cell/hooks/useEditableCell.ts
index 7b979be87..a79bbbc7f 100644
--- a/front/src/modules/ui/components/editable-cell/hooks/useEditableCell.ts
+++ b/front/src/modules/ui/table/editable-cell/hooks/useEditableCell.ts
@@ -1,10 +1,11 @@
import { useRecoilCallback } from 'recoil';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { HotkeyScope } from '@/lib/hotkeys/types/HotkeyScope';
-import { useCloseCurrentCellInEditMode } from '@/ui/tables/hooks/useClearCellInEditMode';
-import { isSomeInputInEditModeState } from '@/ui/tables/states/isSomeInputInEditModeState';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { HotkeyScope } from '@/ui/hotkey/types/HotkeyScope';
+
+import { useCloseCurrentCellInEditMode } from '../../hooks/useClearCellInEditMode';
+import { isSomeInputInEditModeState } from '../../states/isSomeInputInEditModeState';
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
import { useCurrentCellEditMode } from './useCurrentCellEditMode';
diff --git a/front/src/modules/ui/components/editable-cell/hooks/useIsSoftFocusOnCurrentCell.ts b/front/src/modules/ui/table/editable-cell/hooks/useIsSoftFocusOnCurrentCell.ts
similarity index 78%
rename from front/src/modules/ui/components/editable-cell/hooks/useIsSoftFocusOnCurrentCell.ts
rename to front/src/modules/ui/table/editable-cell/hooks/useIsSoftFocusOnCurrentCell.ts
index 3a04d08a9..a81d6d58a 100644
--- a/front/src/modules/ui/components/editable-cell/hooks/useIsSoftFocusOnCurrentCell.ts
+++ b/front/src/modules/ui/table/editable-cell/hooks/useIsSoftFocusOnCurrentCell.ts
@@ -1,6 +1,6 @@
import { useRecoilValue } from 'recoil';
-import { isSoftFocusOnCellFamilyState } from '@/ui/tables/states/isSoftFocusOnCellFamilyState';
+import { isSoftFocusOnCellFamilyState } from '../../states/isSoftFocusOnCellFamilyState';
import { useCurrentCellPosition } from './useCurrentCellPosition';
diff --git a/front/src/modules/ui/components/editable-cell/hooks/useRegisterCloseCellHandlers.ts b/front/src/modules/ui/table/editable-cell/hooks/useRegisterCloseCellHandlers.ts
similarity index 87%
rename from front/src/modules/ui/components/editable-cell/hooks/useRegisterCloseCellHandlers.ts
rename to front/src/modules/ui/table/editable-cell/hooks/useRegisterCloseCellHandlers.ts
index 34c773ac5..661410522 100644
--- a/front/src/modules/ui/components/editable-cell/hooks/useRegisterCloseCellHandlers.ts
+++ b/front/src/modules/ui/table/editable-cell/hooks/useRegisterCloseCellHandlers.ts
@@ -1,7 +1,8 @@
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
import { useListenClickOutsideArrayOfRef } from '@/ui/hooks/useListenClickOutsideArrayOfRef';
-import { useMoveSoftFocus } from '@/ui/tables/hooks/useMoveSoftFocus';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+
+import { useMoveSoftFocus } from '../../hooks/useMoveSoftFocus';
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
import { useCurrentCellEditMode } from './useCurrentCellEditMode';
import { useEditableCell } from './useEditableCell';
diff --git a/front/src/modules/ui/components/editable-cell/hooks/useSetSoftFocusOnCurrentCell.ts b/front/src/modules/ui/table/editable-cell/hooks/useSetSoftFocusOnCurrentCell.ts
similarity index 54%
rename from front/src/modules/ui/components/editable-cell/hooks/useSetSoftFocusOnCurrentCell.ts
rename to front/src/modules/ui/table/editable-cell/hooks/useSetSoftFocusOnCurrentCell.ts
index c48eb020f..a80093bd8 100644
--- a/front/src/modules/ui/components/editable-cell/hooks/useSetSoftFocusOnCurrentCell.ts
+++ b/front/src/modules/ui/table/editable-cell/hooks/useSetSoftFocusOnCurrentCell.ts
@@ -1,16 +1,17 @@
import { useMemo } from 'react';
import { useRecoilCallback } from 'recoil';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { useSetSoftFocusPosition } from '@/ui/tables/hooks/useSetSoftFocusPosition';
-import { CellContext } from '@/ui/tables/states/CellContext';
-import { currentColumnNumberScopedState } from '@/ui/tables/states/currentColumnNumberScopedState';
-import { currentRowNumberScopedState } from '@/ui/tables/states/currentRowNumberScopedState';
-import { isSoftFocusActiveState } from '@/ui/tables/states/isSoftFocusActiveState';
-import { RowContext } from '@/ui/tables/states/RowContext';
-import { CellPosition } from '@/ui/tables/types/CellPosition';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+
+import { useSetSoftFocusPosition } from '../../hooks/useSetSoftFocusPosition';
+import { CellContext } from '../../states/CellContext';
+import { currentColumnNumberScopedState } from '../../states/currentColumnNumberScopedState';
+import { currentRowNumberScopedState } from '../../states/currentRowNumberScopedState';
+import { isSoftFocusActiveState } from '../../states/isSoftFocusActiveState';
+import { RowContext } from '../../states/RowContext';
+import { CellPosition } from '../../types/CellPosition';
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
export function useSetSoftFocusOnCurrentCell() {
const setSoftFocusPosition = useSetSoftFocusPosition();
diff --git a/front/src/modules/ui/components/editable-cell/states/isCreateModeScopedState.ts b/front/src/modules/ui/table/editable-cell/states/isCreateModeScopedState.ts
similarity index 100%
rename from front/src/modules/ui/components/editable-cell/states/isCreateModeScopedState.ts
rename to front/src/modules/ui/table/editable-cell/states/isCreateModeScopedState.ts
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableCellDate.tsx b/front/src/modules/ui/table/editable-cell/types/EditableCellDate.tsx
similarity index 74%
rename from front/src/modules/ui/components/editable-cell/types/EditableCellDate.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableCellDate.tsx
index e222a9efb..169065f18 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableCellDate.tsx
+++ b/front/src/modules/ui/table/editable-cell/types/EditableCellDate.tsx
@@ -1,7 +1,7 @@
-import { InplaceInputDateDisplayMode } from '@/ui/inplace-inputs/components/InplaceInputDateDisplayMode';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { InplaceInputDateDisplayMode } from '@/ui/display/component/InplaceInputDateDisplayMode';
-import { EditableCell } from '../EditableCell';
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
+import { EditableCell } from '../components/EditableCell';
import { EditableCellDateEditMode } from './EditableCellDateEditMode';
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableCellDateEditMode.tsx b/front/src/modules/ui/table/editable-cell/types/EditableCellDateEditMode.tsx
similarity index 79%
rename from front/src/modules/ui/components/editable-cell/types/EditableCellDateEditMode.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableCellDateEditMode.tsx
index 40314f365..f83ffe1a5 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableCellDateEditMode.tsx
+++ b/front/src/modules/ui/table/editable-cell/types/EditableCellDateEditMode.tsx
@@ -1,10 +1,10 @@
import styled from '@emotion/styled';
import { Key } from 'ts-key-enum';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { InplaceInputDate } from '@/ui/inplace-inputs/components/InplaceInputDate';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { InplaceInputDate } from '@/ui/inplace-input/components/InplaceInputDate';
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
import { useEditableCell } from '../hooks/useEditableCell';
const EditableCellDateEditModeContainer = styled.div`
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableCellDoubleText.tsx b/front/src/modules/ui/table/editable-cell/types/EditableCellDoubleText.tsx
similarity index 90%
rename from front/src/modules/ui/components/editable-cell/types/EditableCellDoubleText.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableCellDoubleText.tsx
index 43b68548c..6c96fd796 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableCellDoubleText.tsx
+++ b/front/src/modules/ui/table/editable-cell/types/EditableCellDoubleText.tsx
@@ -1,9 +1,8 @@
import { ReactElement, useEffect, useState } from 'react';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
-
-import { CellSkeleton } from '../CellSkeleton';
-import { EditableCell } from '../EditableCell';
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
+import { CellSkeleton } from '../components/CellSkeleton';
+import { EditableCell } from '../components/EditableCell';
import { EditableCellDoubleTextEditMode } from './EditableCellDoubleTextEditMode';
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableCellDoubleTextEditMode.tsx b/front/src/modules/ui/table/editable-cell/types/EditableCellDoubleTextEditMode.tsx
similarity index 90%
rename from front/src/modules/ui/components/editable-cell/types/EditableCellDoubleTextEditMode.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableCellDoubleTextEditMode.tsx
index fab42ceef..ccd3ba307 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableCellDoubleTextEditMode.tsx
+++ b/front/src/modules/ui/table/editable-cell/types/EditableCellDoubleTextEditMode.tsx
@@ -2,11 +2,11 @@ import { ChangeEvent, useRef, useState } from 'react';
import styled from '@emotion/styled';
import { Key } from 'ts-key-enum';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { InplaceInputTextEditMode } from '@/ui/inplace-inputs/components/InplaceInputTextEditMode';
-import { useMoveSoftFocus } from '@/ui/tables/hooks/useMoveSoftFocus';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { InplaceInputTextEditMode } from '@/ui/inplace-input/components/InplaceInputTextEditMode';
+import { useMoveSoftFocus } from '../../hooks/useMoveSoftFocus';
+import { TableHotkeyScope } from '../../types/TableHotkeyScope';
import { useEditableCell } from '../hooks/useEditableCell';
type OwnProps = {
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableCellPhone.tsx b/front/src/modules/ui/table/editable-cell/types/EditableCellPhone.tsx
similarity index 80%
rename from front/src/modules/ui/components/editable-cell/types/EditableCellPhone.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableCellPhone.tsx
index cb9f10c6d..408944980 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableCellPhone.tsx
+++ b/front/src/modules/ui/table/editable-cell/types/EditableCellPhone.tsx
@@ -1,9 +1,9 @@
import { ChangeEvent, useEffect, useRef, useState } from 'react';
-import { InplaceInputPhoneDisplayMode } from '@/ui/inplace-inputs/components/InplaceInputPhoneDisplayMode';
-import { InplaceInputTextEditMode } from '@/ui/inplace-inputs/components/InplaceInputTextEditMode';
+import { InplaceInputPhoneDisplayMode } from '@/ui/display/component/InplaceInputPhoneDisplayMode';
+import { InplaceInputTextEditMode } from '@/ui/inplace-input/components/InplaceInputTextEditMode';
-import { EditableCell } from '../EditableCell';
+import { EditableCell } from '../components/EditableCell';
type OwnProps = {
placeholder?: string;
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableCellRelationCreateButton.tsx b/front/src/modules/ui/table/editable-cell/types/EditableCellRelationCreateButton.tsx
similarity index 100%
rename from front/src/modules/ui/components/editable-cell/types/EditableCellRelationCreateButton.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableCellRelationCreateButton.tsx
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableCellText.tsx b/front/src/modules/ui/table/editable-cell/types/EditableCellText.tsx
similarity index 80%
rename from front/src/modules/ui/components/editable-cell/types/EditableCellText.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableCellText.tsx
index e154e00b0..da1e60c1a 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableCellText.tsx
+++ b/front/src/modules/ui/table/editable-cell/types/EditableCellText.tsx
@@ -1,10 +1,10 @@
import { ChangeEvent, useEffect, useState } from 'react';
-import { InplaceInputTextDisplayMode } from '@/ui/inplace-inputs/components/InplaceInputTextDisplayMode';
-import { InplaceInputTextEditMode } from '@/ui/inplace-inputs/components/InplaceInputTextEditMode';
+import { InplaceInputTextDisplayMode } from '@/ui/display/component/InplaceInputTextDisplayMode';
+import { InplaceInputTextEditMode } from '@/ui/inplace-input/components/InplaceInputTextEditMode';
-import { CellSkeleton } from '../CellSkeleton';
-import { EditableCell } from '../EditableCell';
+import { CellSkeleton } from '../components/CellSkeleton';
+import { EditableCell } from '../components/EditableCell';
type OwnProps = {
placeholder?: string;
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableChip.tsx b/front/src/modules/ui/table/editable-cell/types/EditableChip.tsx
similarity index 97%
rename from front/src/modules/ui/components/editable-cell/types/EditableChip.tsx
rename to front/src/modules/ui/table/editable-cell/types/EditableChip.tsx
index 81b33af16..b9e578af8 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableChip.tsx
+++ b/front/src/modules/ui/table/editable-cell/types/EditableChip.tsx
@@ -10,7 +10,7 @@ import styled from '@emotion/styled';
import { textInputStyle } from '@/ui/themes/effects';
-import { EditableCell } from '../EditableCell';
+import { EditableCell } from '../components/EditableCell';
export type EditableChipProps = {
id: string;
diff --git a/front/src/modules/ui/tables/hooks/useClearCellInEditMode.ts b/front/src/modules/ui/table/hooks/useClearCellInEditMode.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useClearCellInEditMode.ts
rename to front/src/modules/ui/table/hooks/useClearCellInEditMode.ts
diff --git a/front/src/modules/ui/tables/hooks/useCurrentEntityId.ts b/front/src/modules/ui/table/hooks/useCurrentEntityId.ts
similarity index 83%
rename from front/src/modules/ui/tables/hooks/useCurrentEntityId.ts
rename to front/src/modules/ui/table/hooks/useCurrentEntityId.ts
index ebd08fc11..3499f70dd 100644
--- a/front/src/modules/ui/tables/hooks/useCurrentEntityId.ts
+++ b/front/src/modules/ui/table/hooks/useCurrentEntityId.ts
@@ -1,4 +1,4 @@
-import { useRecoilScopedValue } from '@/recoil-scope/hooks/useRecoilScopedValue';
+import { useRecoilScopedValue } from '@/ui/recoil-scope/hooks/useRecoilScopedValue';
import { currentRowEntityIdScopedState } from '../states/currentRowEntityIdScopedState';
import { RowContext } from '../states/RowContext';
diff --git a/front/src/modules/ui/tables/hooks/useCurrentRowSelected.ts b/front/src/modules/ui/table/hooks/useCurrentRowSelected.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useCurrentRowSelected.ts
rename to front/src/modules/ui/table/hooks/useCurrentRowSelected.ts
diff --git a/front/src/modules/ui/tables/hooks/useDisableSoftFocus.ts b/front/src/modules/ui/table/hooks/useDisableSoftFocus.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useDisableSoftFocus.ts
rename to front/src/modules/ui/table/hooks/useDisableSoftFocus.ts
diff --git a/front/src/modules/ui/tables/hooks/useInitializeEntityTable.ts b/front/src/modules/ui/table/hooks/useInitializeEntityTable.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useInitializeEntityTable.ts
rename to front/src/modules/ui/table/hooks/useInitializeEntityTable.ts
diff --git a/front/src/modules/ui/tables/hooks/useInitializeEntityTableFilters.ts b/front/src/modules/ui/table/hooks/useInitializeEntityTableFilters.ts
similarity index 61%
rename from front/src/modules/ui/tables/hooks/useInitializeEntityTableFilters.ts
rename to front/src/modules/ui/table/hooks/useInitializeEntityTableFilters.ts
index de9f4aa7e..d066271e0 100644
--- a/front/src/modules/ui/tables/hooks/useInitializeEntityTableFilters.ts
+++ b/front/src/modules/ui/table/hooks/useInitializeEntityTableFilters.ts
@@ -1,8 +1,8 @@
import { useEffect } from 'react';
-import { availableFiltersScopedState } from '@/lib/filters-and-sorts/states/availableFiltersScopedState';
-import { FilterDefinition } from '@/lib/filters-and-sorts/types/FilterDefinition';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
+import { availableFiltersScopedState } from '@/ui/filter-n-sort/states/availableFiltersScopedState';
+import { FilterDefinition } from '@/ui/filter-n-sort/types/FilterDefinition';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
import { TableContext } from '../states/TableContext';
diff --git a/front/src/modules/ui/tables/hooks/useLeaveTableFocus.ts b/front/src/modules/ui/table/hooks/useLeaveTableFocus.ts
similarity index 89%
rename from front/src/modules/ui/tables/hooks/useLeaveTableFocus.ts
rename to front/src/modules/ui/table/hooks/useLeaveTableFocus.ts
index 5627900ed..b1a184bee 100644
--- a/front/src/modules/ui/tables/hooks/useLeaveTableFocus.ts
+++ b/front/src/modules/ui/table/hooks/useLeaveTableFocus.ts
@@ -1,7 +1,7 @@
import { useRecoilCallback } from 'recoil';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { currentHotkeyScopeState } from '@/lib/hotkeys/states/internal/currentHotkeyScopeState';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { currentHotkeyScopeState } from '@/ui/hotkey/states/internal/currentHotkeyScopeState';
import { isSoftFocusActiveState } from '../states/isSoftFocusActiveState';
import { isSomeInputInEditModeState } from '../states/isSomeInputInEditModeState';
diff --git a/front/src/modules/ui/tables/hooks/useMapKeyboardToSoftFocus.ts b/front/src/modules/ui/table/hooks/useMapKeyboardToSoftFocus.ts
similarity index 92%
rename from front/src/modules/ui/tables/hooks/useMapKeyboardToSoftFocus.ts
rename to front/src/modules/ui/table/hooks/useMapKeyboardToSoftFocus.ts
index 059e73c8d..840313eac 100644
--- a/front/src/modules/ui/tables/hooks/useMapKeyboardToSoftFocus.ts
+++ b/front/src/modules/ui/table/hooks/useMapKeyboardToSoftFocus.ts
@@ -1,8 +1,8 @@
import { useRecoilState } from 'recoil';
import { Key } from 'ts-key-enum';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
import { isSomeInputInEditModeState } from '../states/isSomeInputInEditModeState';
import { TableHotkeyScope } from '../types/TableHotkeyScope';
diff --git a/front/src/modules/ui/tables/hooks/useMoveEditModeToCellPosition.ts b/front/src/modules/ui/table/hooks/useMoveEditModeToCellPosition.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useMoveEditModeToCellPosition.ts
rename to front/src/modules/ui/table/hooks/useMoveEditModeToCellPosition.ts
diff --git a/front/src/modules/ui/tables/hooks/useMoveSoftFocus.ts b/front/src/modules/ui/table/hooks/useMoveSoftFocus.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useMoveSoftFocus.ts
rename to front/src/modules/ui/table/hooks/useMoveSoftFocus.ts
diff --git a/front/src/modules/ui/tables/hooks/useResetTableRowSelection.ts b/front/src/modules/ui/table/hooks/useResetTableRowSelection.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useResetTableRowSelection.ts
rename to front/src/modules/ui/table/hooks/useResetTableRowSelection.ts
diff --git a/front/src/modules/ui/tables/hooks/useSelectAllRows.ts b/front/src/modules/ui/table/hooks/useSelectAllRows.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useSelectAllRows.ts
rename to front/src/modules/ui/table/hooks/useSelectAllRows.ts
diff --git a/front/src/modules/ui/tables/hooks/useSetSoftFocusPosition.ts b/front/src/modules/ui/table/hooks/useSetSoftFocusPosition.ts
similarity index 100%
rename from front/src/modules/ui/tables/hooks/useSetSoftFocusPosition.ts
rename to front/src/modules/ui/table/hooks/useSetSoftFocusPosition.ts
diff --git a/front/src/modules/ui/tables/states/CellContext.ts b/front/src/modules/ui/table/states/CellContext.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/CellContext.ts
rename to front/src/modules/ui/table/states/CellContext.ts
diff --git a/front/src/modules/ui/tables/states/RowContext.ts b/front/src/modules/ui/table/states/RowContext.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/RowContext.ts
rename to front/src/modules/ui/table/states/RowContext.ts
diff --git a/front/src/modules/ui/tables/states/TableContext.ts b/front/src/modules/ui/table/states/TableContext.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/TableContext.ts
rename to front/src/modules/ui/table/states/TableContext.ts
diff --git a/front/src/modules/ui/tables/states/allRowsSelectedStatusSelector.ts b/front/src/modules/ui/table/states/allRowsSelectedStatusSelector.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/allRowsSelectedStatusSelector.ts
rename to front/src/modules/ui/table/states/allRowsSelectedStatusSelector.ts
diff --git a/front/src/modules/ui/tables/states/contextMenuPositionState.ts b/front/src/modules/ui/table/states/contextMenuPositionState.ts
similarity index 72%
rename from front/src/modules/ui/tables/states/contextMenuPositionState.ts
rename to front/src/modules/ui/table/states/contextMenuPositionState.ts
index 48561a2cf..1832437b5 100644
--- a/front/src/modules/ui/tables/states/contextMenuPositionState.ts
+++ b/front/src/modules/ui/table/states/contextMenuPositionState.ts
@@ -1,6 +1,6 @@
import { atom } from 'recoil';
-import { PositionType } from '@/ui/types/PositionType';
+import { PositionType } from '@/ui/action-bar/types/PositionType';
export const contextMenuPositionState = atom({
key: 'contextMenuPositionState',
diff --git a/front/src/modules/ui/tables/states/currentCellInEditModePositionState.ts b/front/src/modules/ui/table/states/currentCellInEditModePositionState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/currentCellInEditModePositionState.ts
rename to front/src/modules/ui/table/states/currentCellInEditModePositionState.ts
diff --git a/front/src/modules/ui/tables/states/currentColumnNumberScopedState.ts b/front/src/modules/ui/table/states/currentColumnNumberScopedState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/currentColumnNumberScopedState.ts
rename to front/src/modules/ui/table/states/currentColumnNumberScopedState.ts
diff --git a/front/src/modules/ui/tables/states/currentRowEntityIdScopedState.ts b/front/src/modules/ui/table/states/currentRowEntityIdScopedState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/currentRowEntityIdScopedState.ts
rename to front/src/modules/ui/table/states/currentRowEntityIdScopedState.ts
diff --git a/front/src/modules/ui/tables/states/currentRowNumberScopedState.ts b/front/src/modules/ui/table/states/currentRowNumberScopedState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/currentRowNumberScopedState.ts
rename to front/src/modules/ui/table/states/currentRowNumberScopedState.ts
diff --git a/front/src/modules/ui/tables/states/entityTableDimensionsState.ts b/front/src/modules/ui/table/states/entityTableDimensionsState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/entityTableDimensionsState.ts
rename to front/src/modules/ui/table/states/entityTableDimensionsState.ts
diff --git a/front/src/modules/ui/tables/states/isCellInEditModeFamilyState.ts b/front/src/modules/ui/table/states/isCellInEditModeFamilyState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/isCellInEditModeFamilyState.ts
rename to front/src/modules/ui/table/states/isCellInEditModeFamilyState.ts
diff --git a/front/src/modules/ui/tables/states/isFetchingEntityTableDataState.ts b/front/src/modules/ui/table/states/isFetchingEntityTableDataState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/isFetchingEntityTableDataState.ts
rename to front/src/modules/ui/table/states/isFetchingEntityTableDataState.ts
diff --git a/front/src/modules/ui/tables/states/isRowSelectedFamilyState.ts b/front/src/modules/ui/table/states/isRowSelectedFamilyState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/isRowSelectedFamilyState.ts
rename to front/src/modules/ui/table/states/isRowSelectedFamilyState.ts
diff --git a/front/src/modules/ui/tables/states/isSoftFocusActiveState.ts b/front/src/modules/ui/table/states/isSoftFocusActiveState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/isSoftFocusActiveState.ts
rename to front/src/modules/ui/table/states/isSoftFocusActiveState.ts
diff --git a/front/src/modules/ui/tables/states/isSoftFocusOnCellFamilyState.ts b/front/src/modules/ui/table/states/isSoftFocusOnCellFamilyState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/isSoftFocusOnCellFamilyState.ts
rename to front/src/modules/ui/table/states/isSoftFocusOnCellFamilyState.ts
diff --git a/front/src/modules/ui/tables/states/isSomeInputInEditModeState.ts b/front/src/modules/ui/table/states/isSomeInputInEditModeState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/isSomeInputInEditModeState.ts
rename to front/src/modules/ui/table/states/isSomeInputInEditModeState.ts
diff --git a/front/src/modules/ui/tables/states/numberOfTableColumnsSelectorState.ts b/front/src/modules/ui/table/states/numberOfTableColumnsSelectorState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/numberOfTableColumnsSelectorState.ts
rename to front/src/modules/ui/table/states/numberOfTableColumnsSelectorState.ts
diff --git a/front/src/modules/ui/tables/states/numberOfTableRowsSelectorState.ts b/front/src/modules/ui/table/states/numberOfTableRowsSelectorState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/numberOfTableRowsSelectorState.ts
rename to front/src/modules/ui/table/states/numberOfTableRowsSelectorState.ts
diff --git a/front/src/modules/ui/tables/states/selectedRowIdsSelector.ts b/front/src/modules/ui/table/states/selectedRowIdsSelector.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/selectedRowIdsSelector.ts
rename to front/src/modules/ui/table/states/selectedRowIdsSelector.ts
diff --git a/front/src/modules/ui/tables/states/softFocusPositionState.ts b/front/src/modules/ui/table/states/softFocusPositionState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/softFocusPositionState.ts
rename to front/src/modules/ui/table/states/softFocusPositionState.ts
diff --git a/front/src/modules/ui/tables/states/tableRowIdsState.ts b/front/src/modules/ui/table/states/tableRowIdsState.ts
similarity index 100%
rename from front/src/modules/ui/tables/states/tableRowIdsState.ts
rename to front/src/modules/ui/table/states/tableRowIdsState.ts
diff --git a/front/src/modules/ui/components/table/table-header/TableHeader.tsx b/front/src/modules/ui/table/table-header/components/TableHeader.tsx
similarity index 86%
rename from front/src/modules/ui/components/table/table-header/TableHeader.tsx
rename to front/src/modules/ui/table/table-header/components/TableHeader.tsx
index 00e954e08..833499a81 100644
--- a/front/src/modules/ui/components/table/table-header/TableHeader.tsx
+++ b/front/src/modules/ui/table/table-header/components/TableHeader.tsx
@@ -1,15 +1,13 @@
import { ReactNode, useCallback, useState } from 'react';
import styled from '@emotion/styled';
-import { FilterDropdownButton } from '@/lib/filters-and-sorts/components/FilterDropdownButton';
-import SortAndFilterBar from '@/lib/filters-and-sorts/components/SortAndFilterBar';
-import { SortDropdownButton } from '@/lib/filters-and-sorts/components/SortDropdownButton';
-import {
- SelectedSortType,
- SortType,
-} from '@/lib/filters-and-sorts/interfaces/sorts/interface';
-import { FiltersHotkeyScope } from '@/lib/filters-and-sorts/types/FiltersHotkeyScope';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { FilterDropdownButton } from '@/ui/filter-n-sort/components/FilterDropdownButton';
+import SortAndFilterBar from '@/ui/filter-n-sort/components/SortAndFilterBar';
+import { SortDropdownButton } from '@/ui/filter-n-sort/components/SortDropdownButton';
+import { FiltersHotkeyScope } from '@/ui/filter-n-sort/types/FiltersHotkeyScope';
+import { SelectedSortType, SortType } from '@/ui/filter-n-sort/types/interface';
+
+import { TableContext } from '../../states/TableContext';
type OwnProps = {
viewName: string;
diff --git a/front/src/modules/ui/components/table/table-header/__stories__/TableHeader.stories.tsx b/front/src/modules/ui/table/table-header/components/__stories__/TableHeader.stories.tsx
similarity index 97%
rename from front/src/modules/ui/components/table/table-header/__stories__/TableHeader.stories.tsx
rename to front/src/modules/ui/table/table-header/components/__stories__/TableHeader.stories.tsx
index f26c6012f..9b5f75b79 100644
--- a/front/src/modules/ui/components/table/table-header/__stories__/TableHeader.stories.tsx
+++ b/front/src/modules/ui/table/table-header/components/__stories__/TableHeader.stories.tsx
@@ -1,7 +1,7 @@
import type { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
-import { IconList } from '@/ui/icons/index';
+import { IconList } from '@/ui/icon/index';
import { availableSorts } from '~/pages/companies/companies-sorts';
import { getRenderWrapperForEntityTableComponent } from '~/testing/renderWrappers';
diff --git a/front/src/modules/ui/tables/types/AllRowSelectedStatus.ts b/front/src/modules/ui/table/types/AllRowSelectedStatus.ts
similarity index 100%
rename from front/src/modules/ui/tables/types/AllRowSelectedStatus.ts
rename to front/src/modules/ui/table/types/AllRowSelectedStatus.ts
diff --git a/front/src/modules/ui/tables/types/CellPosition.ts b/front/src/modules/ui/table/types/CellPosition.ts
similarity index 100%
rename from front/src/modules/ui/tables/types/CellPosition.ts
rename to front/src/modules/ui/table/types/CellPosition.ts
diff --git a/front/src/modules/ui/tables/types/TableDimensions.ts b/front/src/modules/ui/table/types/TableDimensions.ts
similarity index 100%
rename from front/src/modules/ui/tables/types/TableDimensions.ts
rename to front/src/modules/ui/table/types/TableDimensions.ts
diff --git a/front/src/modules/ui/tables/types/TableHotkeyScope.ts b/front/src/modules/ui/table/types/TableHotkeyScope.ts
similarity index 100%
rename from front/src/modules/ui/tables/types/TableHotkeyScope.ts
rename to front/src/modules/ui/table/types/TableHotkeyScope.ts
diff --git a/front/src/modules/ui/tables/types/guards/isTablePosition.ts b/front/src/modules/ui/table/types/guards/isTablePosition.ts
similarity index 100%
rename from front/src/modules/ui/tables/types/guards/isTablePosition.ts
rename to front/src/modules/ui/table/types/guards/isTablePosition.ts
diff --git a/front/src/providers/theme/AppThemeProvider.tsx b/front/src/modules/ui/themes/components/AppThemeProvider.tsx
similarity index 86%
rename from front/src/providers/theme/AppThemeProvider.tsx
rename to front/src/modules/ui/themes/components/AppThemeProvider.tsx
index dbe6fcea8..df7d30fc6 100644
--- a/front/src/providers/theme/AppThemeProvider.tsx
+++ b/front/src/modules/ui/themes/components/AppThemeProvider.tsx
@@ -1,7 +1,7 @@
import { ThemeProvider } from '@emotion/react';
import { darkTheme, lightTheme } from '@/ui/themes/themes';
-import { browserPrefersDarkMode } from '@/utils/utils';
+import { browserPrefersDarkMode } from '~/utils';
type OwnProps = {
children: JSX.Element;
diff --git a/front/src/modules/ui/components/section-titles/MainSectionTitle.tsx b/front/src/modules/ui/title/components/MainSectionTitle.tsx
similarity index 100%
rename from front/src/modules/ui/components/section-titles/MainSectionTitle.tsx
rename to front/src/modules/ui/title/components/MainSectionTitle.tsx
diff --git a/front/src/modules/ui/components/section-titles/SubSectionTitle.tsx b/front/src/modules/ui/title/components/SubSectionTitle.tsx
similarity index 100%
rename from front/src/modules/ui/components/section-titles/SubSectionTitle.tsx
rename to front/src/modules/ui/title/components/SubSectionTitle.tsx
diff --git a/front/src/modules/users/components/Avatar.tsx b/front/src/modules/users/components/Avatar.tsx
index a368308fb..4f9fbf43c 100644
--- a/front/src/modules/users/components/Avatar.tsx
+++ b/front/src/modules/users/components/Avatar.tsx
@@ -1,7 +1,7 @@
import styled from '@emotion/styled';
-import { stringToHslColor } from '@/utils/string-to-hsl';
-import { isNonEmptyString } from '@/utils/type-guards/isNonEmptyString';
+import { isNonEmptyString } from '~/utils/isNonEmptyString';
+import { stringToHslColor } from '~/utils/string-to-hsl';
import { getImageAbsoluteURIOrBase64 } from '../utils/getProfilePictureAbsoluteURI';
diff --git a/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx b/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx
index aa71d1380..609da0a5f 100644
--- a/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx
+++ b/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx
@@ -1,11 +1,11 @@
-import { FilterDropdownEntitySearchSelect } from '@/lib/filters-and-sorts/components/FilterDropdownEntitySearchSelect';
-import { filterDropdownSearchInputScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSearchInputScopedState';
-import { filterDropdownSelectedEntityIdScopedState } from '@/lib/filters-and-sorts/states/filterDropdownSelectedEntityIdScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { useRecoilScopedValue } from '@/recoil-scope/hooks/useRecoilScopedValue';
-import { Entity } from '@/relation-picker/types/EntityTypeForSelect';
import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { FilterDropdownEntitySearchSelect } from '@/ui/filter-n-sort/components/FilterDropdownEntitySearchSelect';
+import { filterDropdownSearchInputScopedState } from '@/ui/filter-n-sort/states/filterDropdownSearchInputScopedState';
+import { filterDropdownSelectedEntityIdScopedState } from '@/ui/filter-n-sort/states/filterDropdownSelectedEntityIdScopedState';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { useRecoilScopedValue } from '@/ui/recoil-scope/hooks/useRecoilScopedValue';
+import { Entity } from '@/ui/relation-picker/types/EntityTypeForSelect';
+import { TableContext } from '@/ui/table/states/TableContext';
import { useSearchUserQuery } from '~/generated/graphql';
export function FilterDropdownUserSearchSelect() {
diff --git a/front/src/providers/user/UserProvider.tsx b/front/src/modules/users/components/UserProvider.tsx
similarity index 100%
rename from front/src/providers/user/UserProvider.tsx
rename to front/src/modules/users/components/UserProvider.tsx
diff --git a/front/src/modules/workspace/components/WorkspaceInviteLink.tsx b/front/src/modules/workspace/components/WorkspaceInviteLink.tsx
index 2d63e2c8f..061a1ac77 100644
--- a/front/src/modules/workspace/components/WorkspaceInviteLink.tsx
+++ b/front/src/modules/workspace/components/WorkspaceInviteLink.tsx
@@ -1,10 +1,10 @@
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { useSnackBar } from '@/snack-bar/hooks/useSnackBar';
-import { Button } from '@/ui/components/buttons/Button';
-import { TextInput } from '@/ui/components/inputs/TextInput';
-import { IconCopy, IconLink } from '@/ui/icons';
+import { Button } from '@/ui/button/components/Button';
+import { IconCopy, IconLink } from '@/ui/icon';
+import { TextInput } from '@/ui/input/components/TextInput';
+import { useSnackBar } from '@/ui/snack-bar/hooks/useSnackBar';
const StyledContainer = styled.div`
align-items: center;
diff --git a/front/src/pages/auth/CreateProfile.tsx b/front/src/pages/auth/CreateProfile.tsx
index bc27868c2..ba52fdb9c 100644
--- a/front/src/pages/auth/CreateProfile.tsx
+++ b/front/src/pages/auth/CreateProfile.tsx
@@ -13,15 +13,15 @@ import { Title } from '@/auth/components/ui/Title';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { currentUserState } from '@/auth/states/currentUserState';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
import { ProfilePictureUploader } from '@/settings/profile/components/ProfilePictureUploader';
-import { useSnackBar } from '@/snack-bar/hooks/useSnackBar';
-import { MainButton } from '@/ui/components/buttons/MainButton';
-import { TextInput } from '@/ui/components/inputs/TextInput';
-import { SubSectionTitle } from '@/ui/components/section-titles/SubSectionTitle';
+import { PageHotkeyScope } from '@/types/PageHotkeyScope';
+import { MainButton } from '@/ui/button/components/MainButton';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { TextInput } from '@/ui/input/components/TextInput';
+import { useSnackBar } from '@/ui/snack-bar/hooks/useSnackBar';
+import { SubSectionTitle } from '@/ui/title/components/SubSectionTitle';
import { GET_CURRENT_USER } from '@/users/queries';
import { useUpdateUserMutation } from '~/generated/graphql';
-import { PageHotkeyScope } from '~/sync-hooks/types/PageHotkeyScope';
const StyledContentContainer = styled.div`
width: 100%;
diff --git a/front/src/pages/auth/CreateWorkspace.tsx b/front/src/pages/auth/CreateWorkspace.tsx
index 1a16edc4c..068991f4a 100644
--- a/front/src/pages/auth/CreateWorkspace.tsx
+++ b/front/src/pages/auth/CreateWorkspace.tsx
@@ -10,15 +10,15 @@ import { SubTitle } from '@/auth/components/ui/SubTitle';
import { Title } from '@/auth/components/ui/Title';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
import { WorkspaceLogoUploader } from '@/settings/workspace/components/WorkspaceLogoUploader';
-import { useSnackBar } from '@/snack-bar/hooks/useSnackBar';
-import { MainButton } from '@/ui/components/buttons/MainButton';
-import { TextInput } from '@/ui/components/inputs/TextInput';
-import { SubSectionTitle } from '@/ui/components/section-titles/SubSectionTitle';
+import { PageHotkeyScope } from '@/types/PageHotkeyScope';
+import { MainButton } from '@/ui/button/components/MainButton';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { TextInput } from '@/ui/input/components/TextInput';
+import { useSnackBar } from '@/ui/snack-bar/hooks/useSnackBar';
+import { SubSectionTitle } from '@/ui/title/components/SubSectionTitle';
import { GET_CURRENT_USER } from '@/users/queries';
import { useUpdateWorkspaceMutation } from '~/generated/graphql';
-import { PageHotkeyScope } from '~/sync-hooks/types/PageHotkeyScope';
const StyledContentContainer = styled.div`
width: 100%;
diff --git a/front/src/pages/auth/Index.tsx b/front/src/pages/auth/Index.tsx
index 771d48811..9c52e50ea 100644
--- a/front/src/pages/auth/Index.tsx
+++ b/front/src/pages/auth/Index.tsx
@@ -12,12 +12,12 @@ import { Title } from '@/auth/components/ui/Title';
import { authFlowUserEmailState } from '@/auth/states/authFlowUserEmailState';
import { authProvidersState } from '@/client-config/states/authProvidersState';
import { isDemoModeState } from '@/client-config/states/isDemoModeState';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { MainButton } from '@/ui/components/buttons/MainButton';
-import { TextInput } from '@/ui/components/inputs/TextInput';
-import { AnimatedEaseIn } from '@/ui/components/motion/AnimatedEaseIn';
-import { IconBrandGoogle } from '@/ui/icons';
-import { PageHotkeyScope } from '~/sync-hooks/types/PageHotkeyScope';
+import { PageHotkeyScope } from '@/types/PageHotkeyScope';
+import { AnimatedEaseIn } from '@/ui/animation/components/AnimatedEaseIn';
+import { MainButton } from '@/ui/button/components/MainButton';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { IconBrandGoogle } from '@/ui/icon';
+import { TextInput } from '@/ui/input/components/TextInput';
const StyledContentContainer = styled.div`
width: 200px;
diff --git a/front/src/pages/auth/PasswordLogin.tsx b/front/src/pages/auth/PasswordLogin.tsx
index 42dbdc233..31a6931cf 100644
--- a/front/src/pages/auth/PasswordLogin.tsx
+++ b/front/src/pages/auth/PasswordLogin.tsx
@@ -13,13 +13,13 @@ import { useAuth } from '@/auth/hooks/useAuth';
import { authFlowUserEmailState } from '@/auth/states/authFlowUserEmailState';
import { PASSWORD_REGEX } from '@/auth/utils/passwordRegex';
import { isDemoModeState } from '@/client-config/states/isDemoModeState';
-import { useScopedHotkeys } from '@/lib/hotkeys/hooks/useScopedHotkeys';
-import { useSnackBar } from '@/snack-bar/hooks/useSnackBar';
-import { MainButton } from '@/ui/components/buttons/MainButton';
-import { TextInput } from '@/ui/components/inputs/TextInput';
-import { SubSectionTitle } from '@/ui/components/section-titles/SubSectionTitle';
+import { PageHotkeyScope } from '@/types/PageHotkeyScope';
+import { MainButton } from '@/ui/button/components/MainButton';
+import { useScopedHotkeys } from '@/ui/hotkey/hooks/useScopedHotkeys';
+import { TextInput } from '@/ui/input/components/TextInput';
+import { useSnackBar } from '@/ui/snack-bar/hooks/useSnackBar';
+import { SubSectionTitle } from '@/ui/title/components/SubSectionTitle';
import { useCheckUserExistsQuery } from '~/generated/graphql';
-import { PageHotkeyScope } from '~/sync-hooks/types/PageHotkeyScope';
const StyledContentContainer = styled.div`
width: 100%;
diff --git a/front/src/pages/auth/__stories__/CreateProfile.stories.tsx b/front/src/pages/auth/__stories__/CreateProfile.stories.tsx
index ff8225c1a..cc923da6a 100644
--- a/front/src/pages/auth/__stories__/CreateProfile.stories.tsx
+++ b/front/src/pages/auth/__stories__/CreateProfile.stories.tsx
@@ -1,7 +1,7 @@
import type { Meta, StoryObj } from '@storybook/react';
import { AuthModal } from '@/auth/components/ui/Modal';
-import { AuthLayout } from '@/ui/layout/AuthLayout';
+import { AuthLayout } from '@/ui/layout/components/AuthLayout';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { getRenderWrapperForPage } from '~/testing/renderWrappers';
diff --git a/front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx b/front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx
index cd35b8f3e..8d87d0d7d 100644
--- a/front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx
+++ b/front/src/pages/auth/__stories__/CreateWorkspace.stories.tsx
@@ -1,7 +1,7 @@
import type { Meta, StoryObj } from '@storybook/react';
import { AuthModal } from '@/auth/components/ui/Modal';
-import { AuthLayout } from '@/ui/layout/AuthLayout';
+import { AuthLayout } from '@/ui/layout/components/AuthLayout';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { getRenderWrapperForPage } from '~/testing/renderWrappers';
diff --git a/front/src/pages/auth/__stories__/Index.stories.tsx b/front/src/pages/auth/__stories__/Index.stories.tsx
index ee2ba5196..b528f9d7c 100644
--- a/front/src/pages/auth/__stories__/Index.stories.tsx
+++ b/front/src/pages/auth/__stories__/Index.stories.tsx
@@ -1,7 +1,7 @@
import type { Meta, StoryObj } from '@storybook/react';
import { AuthModal } from '@/auth/components/ui/Modal';
-import { AuthLayout } from '@/ui/layout/AuthLayout';
+import { AuthLayout } from '@/ui/layout/components/AuthLayout';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { getRenderWrapperForPage } from '~/testing/renderWrappers';
diff --git a/front/src/pages/auth/__stories__/PasswordLogin.stories.tsx b/front/src/pages/auth/__stories__/PasswordLogin.stories.tsx
index c85c99767..2d28475f5 100644
--- a/front/src/pages/auth/__stories__/PasswordLogin.stories.tsx
+++ b/front/src/pages/auth/__stories__/PasswordLogin.stories.tsx
@@ -1,7 +1,7 @@
import type { Meta, StoryObj } from '@storybook/react';
import { AuthModal } from '@/auth/components/ui/Modal';
-import { AuthLayout } from '@/ui/layout/AuthLayout';
+import { AuthLayout } from '@/ui/layout/components/AuthLayout';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { getRenderWrapperForPage } from '~/testing/renderWrappers';
diff --git a/front/src/pages/companies/Companies.tsx b/front/src/pages/companies/Companies.tsx
index fd5964aeb..631a73fde 100644
--- a/front/src/pages/companies/Companies.tsx
+++ b/front/src/pages/companies/Companies.tsx
@@ -4,20 +4,19 @@ import styled from '@emotion/styled';
import { v4 as uuidv4 } from 'uuid';
import { GET_COMPANIES } from '@/companies/queries';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EntityTableActionBar } from '@/ui/components/table/action-bar/EntityTableActionBar';
-import { IconBuildingSkyscraper } from '@/ui/icons/index';
-import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { CompanyTable } from '@/companies/table/components/CompanyTable';
+import { TableActionBarButtonCreateCommentThreadCompany } from '@/companies/table/components/TableActionBarButtonCreateCommentThreadCompany';
+import { TableActionBarButtonDeleteCompanies } from '@/companies/table/components/TableActionBarButtonDeleteCompanies';
+import { IconBuildingSkyscraper } from '@/ui/icon';
+import { WithTopBarContainer } from '@/ui/layout/components/WithTopBarContainer';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { EntityTableActionBar } from '@/ui/table/action-bar/components/EntityTableActionBar';
+import { TableContext } from '@/ui/table/states/TableContext';
import {
InsertCompanyMutationVariables,
useInsertCompanyMutation,
} from '~/generated/graphql';
-import { TableActionBarButtonCreateCommentThreadCompany } from './table/TableActionBarButtonCreateCommentThreadCompany';
-import { TableActionBarButtonDeleteCompanies } from './table/TableActionBarButtonDeleteCompanies';
-import { CompanyTable } from './CompanyTable';
-
const StyledTableContainer = styled.div`
display: flex;
width: 100%;
diff --git a/front/src/pages/companies/CompaniesMockMode.tsx b/front/src/pages/companies/CompaniesMockMode.tsx
index 7d101a07c..d64cd9104 100644
--- a/front/src/pages/companies/CompaniesMockMode.tsx
+++ b/front/src/pages/companies/CompaniesMockMode.tsx
@@ -1,15 +1,14 @@
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EntityTableActionBar } from '@/ui/components/table/action-bar/EntityTableActionBar';
-import { IconBuildingSkyscraper } from '@/ui/icons/index';
-import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
-import { TableContext } from '@/ui/tables/states/TableContext';
-
-import { TableActionBarButtonCreateCommentThreadCompany } from './table/TableActionBarButtonCreateCommentThreadCompany';
-import { TableActionBarButtonDeleteCompanies } from './table/TableActionBarButtonDeleteCompanies';
-import { CompanyTableMockMode } from './CompanyTableMockMode';
+import { CompanyTableMockMode } from '@/companies/table/components/CompanyTableMockMode';
+import { TableActionBarButtonCreateCommentThreadCompany } from '@/companies/table/components/TableActionBarButtonCreateCommentThreadCompany';
+import { TableActionBarButtonDeleteCompanies } from '@/companies/table/components/TableActionBarButtonDeleteCompanies';
+import { IconBuildingSkyscraper } from '@/ui/icon';
+import { WithTopBarContainer } from '@/ui/layout/components/WithTopBarContainer';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { EntityTableActionBar } from '@/ui/table/action-bar/components/EntityTableActionBar';
+import { TableContext } from '@/ui/table/states/TableContext';
const StyledTableContainer = styled.div`
display: flex;
diff --git a/front/src/pages/companies/CompanyShow.tsx b/front/src/pages/companies/CompanyShow.tsx
index e0474745f..d5b9d5444 100644
--- a/front/src/pages/companies/CompanyShow.tsx
+++ b/front/src/pages/companies/CompanyShow.tsx
@@ -1,21 +1,21 @@
import { useParams } from 'react-router-dom';
import { useTheme } from '@emotion/react';
-import { Timeline } from '@/comments/components/timeline/Timeline';
-import { CompanyAccountOwnerEditableField } from '@/companies/fields/components/CompanyAccountOwnerEditableField';
-import { CompanyAddressEditableField } from '@/companies/fields/components/CompanyAddressEditableField';
-import { CompanyCreatedAtEditableField } from '@/companies/fields/components/CompanyCreatedAtEditableField';
-import { CompanyDomainNameEditableField } from '@/companies/fields/components/CompanyDomainNameEditableField';
-import { CompanyEmployeesEditableField } from '@/companies/fields/components/CompanyEmployeesEditableField';
+import { Timeline } from '@/activities/timeline/components/Timeline';
+import { CompanyAccountOwnerEditableField } from '@/companies/editable-field/components/CompanyAccountOwnerEditableField';
+import { CompanyAddressEditableField } from '@/companies/editable-field/components/CompanyAddressEditableField';
+import { CompanyCreatedAtEditableField } from '@/companies/editable-field/components/CompanyCreatedAtEditableField';
+import { CompanyDomainNameEditableField } from '@/companies/editable-field/components/CompanyDomainNameEditableField';
+import { CompanyEmployeesEditableField } from '@/companies/editable-field/components/CompanyEmployeesEditableField';
import { useCompanyQuery } from '@/companies/queries';
-import { PropertyBox } from '@/ui/components/property-box/PropertyBox';
-import { IconBuildingSkyscraper } from '@/ui/icons/index';
-import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
-import { ShowPageLeftContainer } from '@/ui/layout/show-page/containers/ShowPageLeftContainer';
-import { ShowPageRightContainer } from '@/ui/layout/show-page/containers/ShowPageRightContainer';
-import { ShowPageSummaryCard } from '@/ui/layout/show-page/ShowPageSummaryCard';
-import { getLogoUrlFromDomainName } from '@/utils/utils';
+import { PropertyBox } from '@/ui/editable-field/property-box/components/PropertyBox';
+import { IconBuildingSkyscraper } from '@/ui/icon';
+import { WithTopBarContainer } from '@/ui/layout/components/WithTopBarContainer';
+import { ShowPageLeftContainer } from '@/ui/layout/show-page/components/ShowPageLeftContainer';
+import { ShowPageRightContainer } from '@/ui/layout/show-page/components/ShowPageRightContainer';
+import { ShowPageSummaryCard } from '@/ui/layout/show-page/components/ShowPageSummaryCard';
import { CommentableType } from '~/generated/graphql';
+import { getLogoUrlFromDomainName } from '~/utils';
export function CompanyShow() {
const companyId = useParams().companyId ?? '';
diff --git a/front/src/pages/companies/__stories__/Company.stories.tsx b/front/src/pages/companies/__stories__/Company.stories.tsx
index a230f83b4..a3f90ef7b 100644
--- a/front/src/pages/companies/__stories__/Company.stories.tsx
+++ b/front/src/pages/companies/__stories__/Company.stories.tsx
@@ -6,8 +6,8 @@ import { graphql } from 'msw';
import {
GET_COMMENT_THREAD,
GET_COMMENT_THREADS_BY_TARGETS,
-} from '@/comments/services';
-import { CREATE_COMMENT_THREAD_WITH_COMMENT } from '@/comments/services/create';
+} from '@/activities/queries';
+import { CREATE_COMMENT_THREAD_WITH_COMMENT } from '@/activities/queries/create';
import { GET_COMPANY } from '@/companies/queries';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { mockedCommentThreads } from '~/testing/mock-data/comment-threads';
diff --git a/front/src/pages/companies/companies-filters.tsx b/front/src/pages/companies/companies-filters.tsx
index 740b6e00d..c8fd77b01 100644
--- a/front/src/pages/companies/companies-filters.tsx
+++ b/front/src/pages/companies/companies-filters.tsx
@@ -1,4 +1,4 @@
-import { FilterDefinitionByEntity } from '@/lib/filters-and-sorts/types/FilterDefinitionByEntity';
+import { FilterDefinitionByEntity } from '@/ui/filter-n-sort/types/FilterDefinitionByEntity';
import {
IconBuildingSkyscraper,
IconCalendarEvent,
@@ -6,7 +6,7 @@ import {
IconMap,
IconUser,
IconUsers,
-} from '@/ui/icons/index';
+} from '@/ui/icon/index';
import { icon } from '@/ui/themes/icon';
import { FilterDropdownUserSearchSelect } from '@/users/components/FilterDropdownUserSearchSelect';
import { Company } from '~/generated/graphql';
diff --git a/front/src/pages/companies/companies-sorts.tsx b/front/src/pages/companies/companies-sorts.tsx
index 3467eff45..71ecc6620 100644
--- a/front/src/pages/companies/companies-sorts.tsx
+++ b/front/src/pages/companies/companies-sorts.tsx
@@ -1,11 +1,11 @@
-import { SortType } from '@/lib/filters-and-sorts/interfaces/sorts/interface';
+import { SortType } from '@/ui/filter-n-sort/types/interface';
import {
IconBuildingSkyscraper,
IconCalendarEvent,
IconLink,
IconMap,
IconUsers,
-} from '@/ui/icons/index';
+} from '@/ui/icon/index';
import { CompanyOrderByWithRelationInput as Companies_Order_By } from '~/generated/graphql';
export const availableSorts = [
diff --git a/front/src/pages/opportunities/Opportunities.tsx b/front/src/pages/opportunities/Opportunities.tsx
index 8a6a8bf35..b5fe95ec3 100644
--- a/front/src/pages/opportunities/Opportunities.tsx
+++ b/front/src/pages/opportunities/Opportunities.tsx
@@ -1,15 +1,14 @@
import { useTheme } from '@emotion/react';
import { companyBoardOptions } from '@/companies/components/companyBoardOptions';
+import { HookCompanyBoard } from '@/companies/components/HookCompanyBoard';
import { CompanyBoardContext } from '@/companies/states/CompanyBoardContext';
-import { BoardActionBarButtonDeletePipelineProgress } from '@/pipeline-progress/components/BoardActionBarButtonDeletePipelineProgress';
-import { EntityBoard } from '@/pipeline-progress/components/EntityBoard';
-import { EntityBoardActionBar } from '@/pipeline-progress/components/EntityBoardActionBar';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { IconTargetArrow } from '@/ui/icons/index';
-import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
-
-import { HookCompanyBoard } from './HookCompanyBoard';
+import { BoardActionBarButtonDeletePipelineProgress } from '@/pipeline/components/BoardActionBarButtonDeletePipelineProgress';
+import { EntityBoard } from '@/pipeline/components/EntityBoard';
+import { EntityBoardActionBar } from '@/pipeline/components/EntityBoardActionBar';
+import { IconTargetArrow } from '@/ui/icon/index';
+import { WithTopBarContainer } from '@/ui/layout/components/WithTopBarContainer';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
export function Opportunities() {
const theme = useTheme();
diff --git a/front/src/pages/opportunities/__stories__/Opportunities.mdx b/front/src/pages/opportunities/__stories__/Opportunities.mdx
deleted file mode 100644
index 74e37e19d..000000000
--- a/front/src/pages/opportunities/__stories__/Opportunities.mdx
+++ /dev/null
@@ -1,11 +0,0 @@
-{ /* Opportunities.mdx */ }
-
-import { Canvas, Meta } from '@storybook/blocks';
-
-import * as Opportunities from './Opportunities.stories';
-
-
-
-# Opportunities View
-
-
\ No newline at end of file
diff --git a/front/src/pages/people/People.tsx b/front/src/pages/people/People.tsx
index 421e35e9b..b56ab7e2c 100644
--- a/front/src/pages/people/People.tsx
+++ b/front/src/pages/people/People.tsx
@@ -1,19 +1,23 @@
import { getOperationName } from '@apollo/client/utilities';
import { useTheme } from '@emotion/react';
+import styled from '@emotion/styled';
import { v4 as uuidv4 } from 'uuid';
-import { GET_PEOPLE } from '@/people/services';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { EntityTableActionBar } from '@/ui/components/table/action-bar/EntityTableActionBar';
-import { IconBuildingSkyscraper } from '@/ui/icons/index';
-import { FlexExpandingContainer } from '@/ui/layout/containers/FlexExpandingContainer';
-import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { GET_PEOPLE } from '@/people/queries';
+import { PeopleTable } from '@/people/table/components/PeopleTable';
+import { TableActionBarButtonCreateCommentThreadPeople } from '@/people/table/components/TableActionBarButtonCreateCommentThreadPeople';
+import { TableActionBarButtonDeletePeople } from '@/people/table/components/TableActionBarButtonDeletePeople';
+import { IconBuildingSkyscraper } from '@/ui/icon';
+import { WithTopBarContainer } from '@/ui/layout/components/WithTopBarContainer';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { EntityTableActionBar } from '@/ui/table/action-bar/components/EntityTableActionBar';
+import { TableContext } from '@/ui/table/states/TableContext';
import { useInsertPersonMutation } from '~/generated/graphql';
-import { TableActionBarButtonCreateCommentThreadPeople } from './table/TableActionBarButtonCreateCommentThreadPeople';
-import { TableActionBarButtonDeletePeople } from './table/TableActionBarButtonDeletePeople';
-import { PeopleTable } from './PeopleTable';
+const StyledTableContainer = styled.div`
+ display: flex;
+ width: 100%;
+`;
export function People() {
const [insertPersonMutation] = useInsertPersonMutation();
@@ -42,9 +46,9 @@ export function People() {
icon={}
onAddButtonClick={handleAddButtonClick}
>
-
+
-
+
diff --git a/front/src/pages/people/PersonShow.tsx b/front/src/pages/people/PersonShow.tsx
index 9e8a0e158..c73a3d37a 100644
--- a/front/src/pages/people/PersonShow.tsx
+++ b/front/src/pages/people/PersonShow.tsx
@@ -1,15 +1,15 @@
import { useParams } from 'react-router-dom';
import { useTheme } from '@emotion/react';
-import { Timeline } from '@/comments/components/timeline/Timeline';
-import { usePersonQuery } from '@/people/services';
-import { PropertyBox } from '@/ui/components/property-box/PropertyBox';
-import { PropertyBoxItem } from '@/ui/components/property-box/PropertyBoxItem';
-import { IconLink, IconUser } from '@/ui/icons/index';
-import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
-import { ShowPageLeftContainer } from '@/ui/layout/show-page/containers/ShowPageLeftContainer';
-import { ShowPageRightContainer } from '@/ui/layout/show-page/containers/ShowPageRightContainer';
-import { ShowPageSummaryCard } from '@/ui/layout/show-page/ShowPageSummaryCard';
+import { Timeline } from '@/activities/timeline/components/Timeline';
+import { usePersonQuery } from '@/people/queries';
+import { PropertyBox } from '@/ui/editable-field/property-box/components/PropertyBox';
+import { PropertyBoxItem } from '@/ui/editable-field/property-box/components/PropertyBoxItem';
+import { IconLink, IconUser } from '@/ui/icon';
+import { WithTopBarContainer } from '@/ui/layout/components/WithTopBarContainer';
+import { ShowPageLeftContainer } from '@/ui/layout/show-page/components/ShowPageLeftContainer';
+import { ShowPageRightContainer } from '@/ui/layout/show-page/components/ShowPageRightContainer';
+import { ShowPageSummaryCard } from '@/ui/layout/show-page/components/ShowPageSummaryCard';
import { CommentableType } from '~/generated/graphql';
export function PersonShow() {
diff --git a/front/src/pages/people/__stories__/People.inputs.stories.tsx b/front/src/pages/people/__stories__/People.inputs.stories.tsx
index ee1cb5f20..b0e5f6f24 100644
--- a/front/src/pages/people/__stories__/People.inputs.stories.tsx
+++ b/front/src/pages/people/__stories__/People.inputs.stories.tsx
@@ -4,8 +4,8 @@ import type { Meta } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
import { graphql } from 'msw';
-import { UPDATE_PERSON } from '@/people/services';
-import { SEARCH_COMPANY_QUERY } from '@/search/services/search';
+import { UPDATE_PERSON } from '@/people/queries';
+import { SEARCH_COMPANY_QUERY } from '@/search/queries/search';
import { Company } from '~/generated/graphql';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { fetchOneFromData } from '~/testing/mock-data';
diff --git a/front/src/pages/people/people-filters.tsx b/front/src/pages/people/people-filters.tsx
index cb1404073..eff40c703 100644
--- a/front/src/pages/people/people-filters.tsx
+++ b/front/src/pages/people/people-filters.tsx
@@ -1,5 +1,5 @@
import { FilterDropdownCompanySearchSelect } from '@/companies/components/FilterDropdownCompanySearchSelect';
-import { FilterDefinitionByEntity } from '@/lib/filters-and-sorts/types/FilterDefinitionByEntity';
+import { FilterDefinitionByEntity } from '@/ui/filter-n-sort/types/FilterDefinitionByEntity';
import {
IconBuildingSkyscraper,
IconCalendarEvent,
@@ -7,7 +7,7 @@ import {
IconMap,
IconPhone,
IconUser,
-} from '@/ui/icons/index';
+} from '@/ui/icon/index';
import { icon } from '@/ui/themes/icon';
import { Person } from '~/generated/graphql';
diff --git a/front/src/pages/people/people-sorts.tsx b/front/src/pages/people/people-sorts.tsx
index f000dfec7..9f866f565 100644
--- a/front/src/pages/people/people-sorts.tsx
+++ b/front/src/pages/people/people-sorts.tsx
@@ -1,4 +1,4 @@
-import { SortType } from '@/lib/filters-and-sorts/interfaces/sorts/interface';
+import { SortType } from '@/ui/filter-n-sort/types/interface';
import {
IconBuildingSkyscraper,
IconCalendarEvent,
@@ -6,7 +6,7 @@ import {
IconMap,
IconPhone,
IconUser,
-} from '@/ui/icons/index';
+} from '@/ui/icon/index';
import {
PersonOrderByWithRelationInput as People_Order_By,
SortOrder as Order_By,
diff --git a/front/src/pages/settings/SettingsProfile.tsx b/front/src/pages/settings/SettingsProfile.tsx
index 3485147cc..8b110932d 100644
--- a/front/src/pages/settings/SettingsProfile.tsx
+++ b/front/src/pages/settings/SettingsProfile.tsx
@@ -3,9 +3,9 @@ import styled from '@emotion/styled';
import { EmailField } from '@/settings/profile/components/EmailField';
import { NameFields } from '@/settings/profile/components/NameFields';
import { ProfilePictureUploader } from '@/settings/profile/components/ProfilePictureUploader';
-import { MainSectionTitle } from '@/ui/components/section-titles/MainSectionTitle';
-import { SubSectionTitle } from '@/ui/components/section-titles/SubSectionTitle';
-import { NoTopBarContainer } from '@/ui/layout/containers/NoTopBarContainer';
+import { NoTopBarContainer } from '@/ui/layout/components/NoTopBarContainer';
+import { MainSectionTitle } from '@/ui/title/components/MainSectionTitle';
+import { SubSectionTitle } from '@/ui/title/components/SubSectionTitle';
const StyledContainer = styled.div`
display: flex;
diff --git a/front/src/pages/settings/SettingsWorkspace.tsx b/front/src/pages/settings/SettingsWorkspace.tsx
index 23e9c621d..376fd5d0e 100644
--- a/front/src/pages/settings/SettingsWorkspace.tsx
+++ b/front/src/pages/settings/SettingsWorkspace.tsx
@@ -2,9 +2,9 @@ import styled from '@emotion/styled';
import { NameField } from '@/settings/workspace/components/NameField';
import { WorkspaceLogoUploader } from '@/settings/workspace/components/WorkspaceLogoUploader';
-import { MainSectionTitle } from '@/ui/components/section-titles/MainSectionTitle';
-import { SubSectionTitle } from '@/ui/components/section-titles/SubSectionTitle';
-import { NoTopBarContainer } from '@/ui/layout/containers/NoTopBarContainer';
+import { NoTopBarContainer } from '@/ui/layout/components/NoTopBarContainer';
+import { MainSectionTitle } from '@/ui/title/components/MainSectionTitle';
+import { SubSectionTitle } from '@/ui/title/components/SubSectionTitle';
const StyledContainer = styled.div`
display: flex;
diff --git a/front/src/pages/settings/SettingsWorkspaceMembers.tsx b/front/src/pages/settings/SettingsWorkspaceMembers.tsx
index f23a8080c..d05a4f2cc 100644
--- a/front/src/pages/settings/SettingsWorkspaceMembers.tsx
+++ b/front/src/pages/settings/SettingsWorkspaceMembers.tsx
@@ -3,11 +3,11 @@ import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
-import { Button } from '@/ui/components/buttons/Button';
-import { MainSectionTitle } from '@/ui/components/section-titles/MainSectionTitle';
-import { SubSectionTitle } from '@/ui/components/section-titles/SubSectionTitle';
-import { IconTrash } from '@/ui/icons';
-import { NoTopBarContainer } from '@/ui/layout/containers/NoTopBarContainer';
+import { Button } from '@/ui/button/components/Button';
+import { IconTrash } from '@/ui/icon';
+import { NoTopBarContainer } from '@/ui/layout/components/NoTopBarContainer';
+import { MainSectionTitle } from '@/ui/title/components/MainSectionTitle';
+import { SubSectionTitle } from '@/ui/title/components/SubSectionTitle';
import { WorkspaceInviteLink } from '@/workspace/components/WorkspaceInviteLink';
import { WorkspaceMemberCard } from '@/workspace/components/WorkspaceMemberCard';
import {
diff --git a/front/src/sync-hooks/AppInternalHooks.tsx b/front/src/sync-hooks/AppInternalHooks.tsx
new file mode 100644
index 000000000..a3443b2b6
--- /dev/null
+++ b/front/src/sync-hooks/AppInternalHooks.tsx
@@ -0,0 +1,15 @@
+import { AnalyticsHook } from './AnalyticsHook';
+import { GotoHotkeysHooks } from './GotoHotkeysHooks';
+import { HotkeyScopeAutoSyncHook } from './HotkeyScopeAutoSyncHook';
+import { HotkeyScopeBrowserRouterSync } from './HotkeyScopeBrowserRouterSync';
+
+export function AppInternalHooks() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
diff --git a/front/src/sync-hooks/GotoHotkeysHooks.tsx b/front/src/sync-hooks/GotoHotkeysHooks.tsx
index b3f4a19c0..cc91c9cdc 100644
--- a/front/src/sync-hooks/GotoHotkeysHooks.tsx
+++ b/front/src/sync-hooks/GotoHotkeysHooks.tsx
@@ -1,4 +1,4 @@
-import { useGoToHotkeys } from '@/lib/hotkeys/hooks/useGoToHotkeys';
+import { useGoToHotkeys } from '@/ui/hotkey/hooks/useGoToHotkeys';
export function GotoHotkeysHooks() {
useGoToHotkeys('p', '/people');
diff --git a/front/src/sync-hooks/HotkeyScopeAutoSyncHook.tsx b/front/src/sync-hooks/HotkeyScopeAutoSyncHook.tsx
index 946c188d7..5786e61c7 100644
--- a/front/src/sync-hooks/HotkeyScopeAutoSyncHook.tsx
+++ b/front/src/sync-hooks/HotkeyScopeAutoSyncHook.tsx
@@ -1,4 +1,4 @@
-import { useHotkeyScopeAutoSync } from '@/lib/hotkeys/hooks/internal/useHotkeyScopeAutoSync';
+import { useHotkeyScopeAutoSync } from '@/ui/hotkey/hooks/internal/useHotkeyScopeAutoSync';
export function HotkeyScopeAutoSyncHook() {
useHotkeyScopeAutoSync();
diff --git a/front/src/sync-hooks/HotkeyScopeBrowserRouterSync.tsx b/front/src/sync-hooks/HotkeyScopeBrowserRouterSync.tsx
index 8ddd2d102..555ed9292 100644
--- a/front/src/sync-hooks/HotkeyScopeBrowserRouterSync.tsx
+++ b/front/src/sync-hooks/HotkeyScopeBrowserRouterSync.tsx
@@ -1,14 +1,13 @@
import { useEffect } from 'react';
-import { useSetHotkeyScope } from '@/lib/hotkeys/hooks/useSetHotkeyScope';
-import { TableHotkeyScope } from '@/ui/tables/types/TableHotkeyScope';
-
-import { useIsMatchingLocation } from './hooks/useIsMatchingLocation';
-import { AppBasePath } from './types/AppBasePath';
-import { AppPath } from './types/AppPath';
-import { AuthPath } from './types/AuthPath';
-import { PageHotkeyScope } from './types/PageHotkeyScope';
-import { SettingsPath } from './types/SettingsPath';
+import { AppBasePath } from '@/types/AppBasePath';
+import { AppPath } from '@/types/AppPath';
+import { AuthPath } from '@/types/AuthPath';
+import { PageHotkeyScope } from '@/types/PageHotkeyScope';
+import { SettingsPath } from '@/types/SettingsPath';
+import { useSetHotkeyScope } from '@/ui/hotkey/hooks/useSetHotkeyScope';
+import { TableHotkeyScope } from '@/ui/table/types/TableHotkeyScope';
+import { useIsMatchingLocation } from '~/hooks/useIsMatchingLocation';
export function HotkeyScopeBrowserRouterSync() {
const isMatchingLocation = useIsMatchingLocation();
diff --git a/front/src/testing/decorators.tsx b/front/src/testing/decorators.tsx
index f3086e12e..7cb091045 100644
--- a/front/src/testing/decorators.tsx
+++ b/front/src/testing/decorators.tsx
@@ -4,16 +4,15 @@ import { Decorator } from '@storybook/react';
import { RecoilRoot } from 'recoil';
import { pipeline } from '@/companies/__stories__/mock-data';
+import { HookCompanyBoard } from '@/companies/components/HookCompanyBoard';
import { CompanyBoardContext } from '@/companies/states/CompanyBoardContext';
-import { BoardCardContext } from '@/pipeline-progress/states/BoardCardContext';
-import { BoardColumnContext } from '@/pipeline-progress/states/BoardColumnContext';
-import { pipelineProgressIdScopedState } from '@/pipeline-progress/states/pipelineProgressIdScopedState';
-import { useRecoilScopedState } from '@/recoil-scope/hooks/useRecoilScopedState';
-import { HookCompanyBoard } from '~/pages/opportunities/HookCompanyBoard';
-
-import { RecoilScope } from '../modules/recoil-scope/components/RecoilScope';
-import { CellContext } from '../modules/ui/tables/states/CellContext';
-import { RowContext } from '../modules/ui/tables/states/RowContext';
+import { BoardCardContext } from '@/pipeline/states/BoardCardContext';
+import { BoardColumnContext } from '@/pipeline/states/BoardColumnContext';
+import { pipelineProgressIdScopedState } from '@/pipeline/states/pipelineProgressIdScopedState';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { useRecoilScopedState } from '@/ui/recoil-scope/hooks/useRecoilScopedState';
+import { CellContext } from '@/ui/table/states/CellContext';
+import { RowContext } from '@/ui/table/states/RowContext';
import { ComponentStorybookLayout } from './ComponentStorybookLayout';
import { mockedClient } from './mockedClient';
diff --git a/front/src/testing/graphqlMocks.ts b/front/src/testing/graphqlMocks.ts
index f7d264d33..14ed24c0a 100644
--- a/front/src/testing/graphqlMocks.ts
+++ b/front/src/testing/graphqlMocks.ts
@@ -1,18 +1,15 @@
import { getOperationName } from '@apollo/client/utilities';
import { graphql } from 'msw';
-import { CREATE_EVENT } from '@/analytics/services';
+import { CREATE_EVENT } from '@/analytics/queries';
import { GET_CLIENT_CONFIG } from '@/client-config/queries';
import { GET_COMPANIES } from '@/companies/queries';
-import { GET_PEOPLE, UPDATE_PERSON } from '@/people/services';
-import {
- GET_PIPELINE_PROGRESS,
- GET_PIPELINES,
-} from '@/pipeline-progress/services';
+import { GET_PEOPLE, UPDATE_PERSON } from '@/people/queries';
+import { GET_PIPELINE_PROGRESS, GET_PIPELINES } from '@/pipeline/queries';
import {
SEARCH_COMPANY_QUERY,
SEARCH_USER_QUERY,
-} from '@/search/services/search';
+} from '@/search/queries/search';
import { GET_CURRENT_USER } from '@/users/queries';
import {
GetCompaniesQuery,
diff --git a/front/src/testing/renderWrappers.tsx b/front/src/testing/renderWrappers.tsx
index 2a0460554..e9810003d 100644
--- a/front/src/testing/renderWrappers.tsx
+++ b/front/src/testing/renderWrappers.tsx
@@ -2,14 +2,14 @@ import React from 'react';
import { HotkeysProvider } from 'react-hotkeys-hook';
import { MemoryRouter } from 'react-router-dom';
-import { INITIAL_HOTKEYS_SCOPES } from '@/lib/hotkeys/constants';
-import { RecoilScope } from '@/recoil-scope/components/RecoilScope';
-import { HooksEntityTable } from '@/ui/components/table/HooksEntityTable';
-import { DefaultLayout } from '@/ui/layout/DefaultLayout';
-import { TableContext } from '@/ui/tables/states/TableContext';
+import { ClientConfigProvider } from '@/client-config/components/ClientConfigProvider';
+import { INITIAL_HOTKEYS_SCOPES } from '@/ui/hotkey/constants';
+import { DefaultLayout } from '@/ui/layout/components/DefaultLayout';
+import { RecoilScope } from '@/ui/recoil-scope/components/RecoilScope';
+import { HooksEntityTable } from '@/ui/table/components/HooksEntityTable';
+import { TableContext } from '@/ui/table/states/TableContext';
+import { UserProvider } from '@/users/components/UserProvider';
import { companiesFilters } from '~/pages/companies/companies-filters';
-import { ClientConfigProvider } from '~/providers/client-config/ClientConfigProvider';
-import { UserProvider } from '~/providers/user/UserProvider';
import { ComponentStorybookLayout } from './ComponentStorybookLayout';
import { FullHeightStorybookLayout } from './FullHeightStorybookLayout';
diff --git a/front/src/modules/utils/datetime/__tests__/date-utils.test.ts b/front/src/utils/__tests__/date-utils.test.ts
similarity index 98%
rename from front/src/modules/utils/datetime/__tests__/date-utils.test.ts
rename to front/src/utils/__tests__/date-utils.test.ts
index 49c796298..22e6a9185 100644
--- a/front/src/modules/utils/datetime/__tests__/date-utils.test.ts
+++ b/front/src/utils/__tests__/date-utils.test.ts
@@ -1,8 +1,6 @@
import { formatDistanceToNow } from 'date-fns';
import { DateTime } from 'luxon';
-import { logError } from '@/utils/logs/logError';
-
import {
beautifyExactDate,
beautifyPastDateAbsolute,
@@ -10,8 +8,9 @@ import {
DEFAULT_DATE_LOCALE,
parseDate,
} from '../date-utils';
+import { logError } from '../logError';
-jest.mock('@/utils/logs/logError');
+jest.mock('~/utils/logError');
describe('beautifyExactDate', () => {
it('should return the correct relative date', () => {
diff --git a/front/src/modules/utils/__tests__/utils.test.ts b/front/src/utils/__tests__/utils.test.ts
similarity index 91%
rename from front/src/modules/utils/__tests__/utils.test.ts
rename to front/src/utils/__tests__/utils.test.ts
index 80fe3b4ff..8ac6b5475 100644
--- a/front/src/modules/utils/__tests__/utils.test.ts
+++ b/front/src/utils/__tests__/utils.test.ts
@@ -1,4 +1,4 @@
-import { getLogoUrlFromDomainName } from '../utils';
+import { getLogoUrlFromDomainName } from '..';
describe('getLogoUrlFromDomainName', () => {
it(`should generate logo url if undefined `, () => {
diff --git a/front/src/modules/utils/assert.ts b/front/src/utils/assert.ts
similarity index 100%
rename from front/src/modules/utils/assert.ts
rename to front/src/utils/assert.ts
diff --git a/front/src/modules/utils/cookie-storage.ts b/front/src/utils/cookie-storage.ts
similarity index 100%
rename from front/src/modules/utils/cookie-storage.ts
rename to front/src/utils/cookie-storage.ts
diff --git a/front/src/modules/utils/datetime/date-utils.ts b/front/src/utils/date-utils.ts
similarity index 97%
rename from front/src/modules/utils/datetime/date-utils.ts
rename to front/src/utils/date-utils.ts
index 4c1b4c03c..cde50ebb0 100644
--- a/front/src/modules/utils/datetime/date-utils.ts
+++ b/front/src/utils/date-utils.ts
@@ -1,7 +1,7 @@
import { formatDistanceToNow } from 'date-fns';
import { DateTime } from 'luxon';
-import { logError } from '../logs/logError';
+import { logError } from './logError';
export const DEFAULT_DATE_LOCALE = 'en-EN';
diff --git a/front/src/modules/utils/debounce.ts b/front/src/utils/debounce.ts
similarity index 100%
rename from front/src/modules/utils/debounce.ts
rename to front/src/utils/debounce.ts
diff --git a/front/src/modules/utils/utils.ts b/front/src/utils/index.ts
similarity index 91%
rename from front/src/modules/utils/utils.ts
rename to front/src/utils/index.ts
index 0831916e3..db987e2a4 100644
--- a/front/src/modules/utils/utils.ts
+++ b/front/src/utils/index.ts
@@ -1,4 +1,4 @@
-import { parseDate } from './datetime/date-utils';
+import { parseDate } from './date-utils';
export function formatToHumanReadableDate(date: Date | string) {
const parsedJSDate = parseDate(date).toJSDate();
diff --git a/front/src/modules/utils/type-guards/isDefined.ts b/front/src/utils/isDefined.ts
similarity index 100%
rename from front/src/modules/utils/type-guards/isDefined.ts
rename to front/src/utils/isDefined.ts
diff --git a/front/src/modules/utils/type-guards/isNonEmptyArray.ts b/front/src/utils/isNonEmptyArray.ts
similarity index 100%
rename from front/src/modules/utils/type-guards/isNonEmptyArray.ts
rename to front/src/utils/isNonEmptyArray.ts
diff --git a/front/src/modules/utils/type-guards/isNonEmptyString.ts b/front/src/utils/isNonEmptyString.ts
similarity index 100%
rename from front/src/modules/utils/type-guards/isNonEmptyString.ts
rename to front/src/utils/isNonEmptyString.ts
diff --git a/front/src/modules/utils/logs/logError.ts b/front/src/utils/logError.ts
similarity index 100%
rename from front/src/modules/utils/logs/logError.ts
rename to front/src/utils/logError.ts
diff --git a/front/src/modules/utils/promise-to-observable.ts b/front/src/utils/promise-to-observable.ts
similarity index 100%
rename from front/src/modules/utils/promise-to-observable.ts
rename to front/src/utils/promise-to-observable.ts
diff --git a/front/src/modules/utils/string-to-hsl.ts b/front/src/utils/string-to-hsl.ts
similarity index 100%
rename from front/src/modules/utils/string-to-hsl.ts
rename to front/src/utils/string-to-hsl.ts