diff --git a/.vscode/settings.json b/.vscode/settings.json
index b7235d7533..efca65e087 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -26,6 +26,7 @@
"cSpell.enableFiletypes": [
"!javascript",
"!json",
+ "!typescript",
"!typescriptreact",
"md",
"mdx"
diff --git a/front/package-lock.json b/front/package-lock.json
index 5efc23e7db..e7a0438d0f 100644
--- a/front/package-lock.json
+++ b/front/package-lock.json
@@ -28,7 +28,6 @@
"react-datepicker": "^4.11.0",
"react-dom": "^18.2.0",
"react-hotkeys-hook": "^4.4.0",
- "react-icons": "^4.8.0",
"react-router-dom": "^6.4.4",
"react-textarea-autosize": "^8.4.1",
"react-tooltip": "^5.13.1",
@@ -32859,14 +32858,6 @@
"react-dom": ">=16.8.1"
}
},
- "node_modules/react-icons": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.9.0.tgz",
- "integrity": "sha512-ijUnFr//ycebOqujtqtV9PFS7JjhWg0QU6ykURVHuL4cbofvRCf3f6GMn9+fBktEFQOIVZnuAYLZdiyadRQRFg==",
- "peerDependencies": {
- "react": "*"
- }
- },
"node_modules/react-inspector": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-6.0.1.tgz",
diff --git a/front/package.json b/front/package.json
index e1a7a644b3..031bb07f4d 100644
--- a/front/package.json
+++ b/front/package.json
@@ -23,7 +23,6 @@
"react-datepicker": "^4.11.0",
"react-dom": "^18.2.0",
"react-hotkeys-hook": "^4.4.0",
- "react-icons": "^4.8.0",
"react-router-dom": "^6.4.4",
"react-textarea-autosize": "^8.4.1",
"react-tooltip": "^5.13.1",
diff --git a/front/src/AppNavbar.tsx b/front/src/AppNavbar.tsx
index 5981474626..e04f273529 100644
--- a/front/src/AppNavbar.tsx
+++ b/front/src/AppNavbar.tsx
@@ -1,12 +1,12 @@
-import {
- TbBuilding,
- TbInbox,
- TbSearch,
- TbSettings,
- TbUser,
-} from 'react-icons/tb';
import { useMatch, useResolvedPath } from 'react-router-dom';
+import {
+ IconBuilding,
+ IconInbox,
+ IconSearch,
+ IconSettings,
+ IconUser,
+} from '@/ui/icons/index';
import NavItemsContainer from '@/ui/layout/navbar/NavItemsContainer';
import NavItem from './modules/ui/layout/navbar/NavItem';
@@ -21,25 +21,25 @@ export function AppNavbar() {
}
+ icon={}
soon={true}
/>
}
+ icon={}
soon={true}
/>
}
+ icon={}
/>
}
+ icon={}
active={
!!useMatch({
path: useResolvedPath('/people').pathname,
@@ -50,7 +50,7 @@ export function AppNavbar() {
}
+ icon={}
active={
!!useMatch({
path: useResolvedPath('/companies').pathname,
diff --git a/front/src/modules/settings/components/SettingsNavbar.tsx b/front/src/modules/settings/components/SettingsNavbar.tsx
index 1c95b009b9..c8177b34a8 100644
--- a/front/src/modules/settings/components/SettingsNavbar.tsx
+++ b/front/src/modules/settings/components/SettingsNavbar.tsx
@@ -1,7 +1,12 @@
-import { TbColorSwatch, TbLogout, TbSettings, TbUser } from 'react-icons/tb';
import { useMatch, useResolvedPath } from 'react-router-dom';
import { removeTokens } from '@/auth/services/AuthService';
+import {
+ IconColorSwatch,
+ IconLogout,
+ IconSettings,
+ IconUser,
+} from '@/ui/icons/index';
import NavBackButton from '@/ui/layout/navbar//NavBackButton';
import NavItem from '@/ui/layout/navbar/NavItem';
import NavItemsContainer from '@/ui/layout/navbar/NavItemsContainer';
@@ -16,7 +21,7 @@ export function SettingsNavbar() {
}
+ icon={}
active={
!!useMatch({
path: useResolvedPath('/people').pathname,
@@ -27,7 +32,7 @@ export function SettingsNavbar() {
}
+ icon={}
soon={true}
active={
!!useMatch({
@@ -40,7 +45,7 @@ export function SettingsNavbar() {
}
+ icon={}
soon={true}
active={
!!useMatch({
@@ -53,7 +58,7 @@ export function SettingsNavbar() {
}
+ icon={}
danger={true}
/>
diff --git a/front/src/modules/ui/components/board/BoardNewButton.tsx b/front/src/modules/ui/components/board/BoardNewButton.tsx
index 6454326115..ce5f042e28 100644
--- a/front/src/modules/ui/components/board/BoardNewButton.tsx
+++ b/front/src/modules/ui/components/board/BoardNewButton.tsx
@@ -1,5 +1,6 @@
import styled from '@emotion/styled';
-import { IconPlus } from '@tabler/icons-react';
+
+import { IconPlus } from '@/ui/icons/index';
const StyledButton = styled.button`
display: flex;
diff --git a/front/src/modules/ui/components/editable-cell/types/EditableRelation.tsx b/front/src/modules/ui/components/editable-cell/types/EditableRelation.tsx
index 9254d014ec..ac2b5026a3 100644
--- a/front/src/modules/ui/components/editable-cell/types/EditableRelation.tsx
+++ b/front/src/modules/ui/components/editable-cell/types/EditableRelation.tsx
@@ -1,11 +1,11 @@
import { ChangeEvent, ComponentType, useEffect, useState } from 'react';
import { useHotkeys } from 'react-hotkeys-hook';
-import { FaPlus } from 'react-icons/fa';
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
import { SearchConfigType } from '@/search/interfaces/interface';
import { useSearch } from '@/search/services/search';
+import { IconPlus } from '@/ui/icons/index';
import { textInputStyle } from '@/ui/layout/styles/themes';
import { isSomeInputInEditModeState } from '@/ui/tables/states/isSomeInputInEditModeState';
import { AnyEntity } from '@/utils/interfaces/generic.interface';
@@ -252,7 +252,7 @@ export function EditableRelation<
onClick={handleCreateNewRelationButtonClick}
>
-
+
Create new
diff --git a/front/src/modules/ui/components/inputs/AutosizeTextInput.tsx b/front/src/modules/ui/components/inputs/AutosizeTextInput.tsx
index 50bd9799b6..f53065cd48 100644
--- a/front/src/modules/ui/components/inputs/AutosizeTextInput.tsx
+++ b/front/src/modules/ui/components/inputs/AutosizeTextInput.tsx
@@ -1,11 +1,11 @@
import { useState } from 'react';
import { useHotkeys } from 'react-hotkeys-hook';
import { HotkeysEvent } from 'react-hotkeys-hook/dist/types';
-import { HiArrowSmRight } from 'react-icons/hi';
import TextareaAutosize from 'react-textarea-autosize';
import styled from '@emotion/styled';
import { IconButton } from '@/ui/components/buttons/IconButton';
+import { IconArrowRight } from '@/ui/icons/index';
const MAX_ROWS = 5;
@@ -132,7 +132,7 @@ export function AutosizeTextInput({
}
+ icon={}
disabled={isSendButtonDisabled}
/>
diff --git a/front/src/modules/ui/components/menu/DropdownMenuSelectableItem.tsx b/front/src/modules/ui/components/menu/DropdownMenuSelectableItem.tsx
index a4d83ba6f6..61543b8a2c 100644
--- a/front/src/modules/ui/components/menu/DropdownMenuSelectableItem.tsx
+++ b/front/src/modules/ui/components/menu/DropdownMenuSelectableItem.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import styled from '@emotion/styled';
-import { IconCheck } from '@tabler/icons-react';
+import { IconCheck } from '@/ui/icons/index';
import { hoverBackground } from '@/ui/layout/styles/themes';
import { DropdownMenuButton } from './DropdownMenuButton';
diff --git a/front/src/modules/ui/components/menu/stories/DropdownMenu.stories.tsx b/front/src/modules/ui/components/menu/stories/DropdownMenu.stories.tsx
index e26d9bb0a9..581ab992c4 100644
--- a/front/src/modules/ui/components/menu/stories/DropdownMenu.stories.tsx
+++ b/front/src/modules/ui/components/menu/stories/DropdownMenu.stories.tsx
@@ -1,8 +1,8 @@
import React, { useState } from 'react';
import styled from '@emotion/styled';
import type { Meta, StoryObj } from '@storybook/react';
-import { IconPlus } from '@tabler/icons-react';
+import { IconPlus } from '@/ui/icons/index';
import { Avatar } from '@/users/components/Avatar';
import { getRenderWrapperForComponent } from '~/testing/renderWrappers';
diff --git a/front/src/modules/ui/components/table/action-bar/TableActionBarButtonOpenComments.tsx b/front/src/modules/ui/components/table/action-bar/TableActionBarButtonOpenComments.tsx
index 6337c87e66..08749e0e85 100644
--- a/front/src/modules/ui/components/table/action-bar/TableActionBarButtonOpenComments.tsx
+++ b/front/src/modules/ui/components/table/action-bar/TableActionBarButtonOpenComments.tsx
@@ -1,4 +1,4 @@
-import { FaRegComment } from 'react-icons/fa';
+import { IconComment } from '@/ui/icons/index';
import { EntityTableActionBarButton } from './EntityTableActionBarButton';
@@ -10,7 +10,7 @@ export function TableActionBarButtonToggleComments({ onClick }: OwnProps) {
return (
}
+ icon={}
onClick={onClick}
/>
);
diff --git a/front/src/modules/ui/components/table/table-header/DropdownButton.tsx b/front/src/modules/ui/components/table/table-header/DropdownButton.tsx
index 718ff5265d..3ccbfe1df8 100644
--- a/front/src/modules/ui/components/table/table-header/DropdownButton.tsx
+++ b/front/src/modules/ui/components/table/table-header/DropdownButton.tsx
@@ -1,7 +1,8 @@
import { ReactNode, useRef } from 'react';
-import { FaAngleDown } from 'react-icons/fa';
import styled from '@emotion/styled';
+import { IconChevronDown } from '@/ui/icons/index';
+
import { useOutsideAlerter } from '../../../hooks/useOutsideAlerter';
import {
overlayBackground,
@@ -196,7 +197,7 @@ const StyleAngleDownContainer = styled.div`
function DropdownTopOptionAngleDown() {
return (
-
+
);
}
diff --git a/front/src/modules/ui/components/table/table-header/SortAndFilterBar.tsx b/front/src/modules/ui/components/table/table-header/SortAndFilterBar.tsx
index b216c15fb8..7cc9025919 100644
--- a/front/src/modules/ui/components/table/table-header/SortAndFilterBar.tsx
+++ b/front/src/modules/ui/components/table/table-header/SortAndFilterBar.tsx
@@ -1,4 +1,3 @@
-import { FaArrowDown, FaArrowUp } from 'react-icons/fa';
import styled from '@emotion/styled';
import {
@@ -6,6 +5,7 @@ import {
SelectedFilterType,
} from '@/filters-and-sorts/interfaces/filters/interface';
import { SelectedSortType } from '@/filters-and-sorts/interfaces/sorts/interface';
+import { IconArrowNarrowDown, IconArrowNarrowUp } from '@/ui/icons/index';
import SortOrFilterChip from './SortOrFilterChip';
@@ -74,7 +74,13 @@ function SortAndFilterBar({
key={sort.key}
labelValue={sort.label}
id={sort.key}
- icon={sort.order === 'desc' ? : }
+ icon={
+ sort.order === 'desc' ? (
+
+ ) : (
+
+ )
+ }
onRemove={() => onRemoveSort(sort.key)}
/>
);
diff --git a/front/src/modules/ui/components/table/table-header/SortOrFilterChip.tsx b/front/src/modules/ui/components/table/table-header/SortOrFilterChip.tsx
index f69924beb5..be16b97d77 100644
--- a/front/src/modules/ui/components/table/table-header/SortOrFilterChip.tsx
+++ b/front/src/modules/ui/components/table/table-header/SortOrFilterChip.tsx
@@ -1,7 +1,8 @@
import { ReactNode } from 'react';
-import { TbX } from 'react-icons/tb';
import styled from '@emotion/styled';
+import { IconX } from '@/ui/icons/index';
+
type OwnProps = {
id: string;
labelKey?: string;
@@ -55,7 +56,7 @@ function SortOrFilterChip({
{labelKey && {labelKey}: }
{labelValue}
-
+
);
diff --git a/front/src/modules/ui/components/table/table-header/__stories__/TableHeader.stories.tsx b/front/src/modules/ui/components/table/table-header/__stories__/TableHeader.stories.tsx
index 500066d8a3..179cc61027 100644
--- a/front/src/modules/ui/components/table/table-header/__stories__/TableHeader.stories.tsx
+++ b/front/src/modules/ui/components/table/table-header/__stories__/TableHeader.stories.tsx
@@ -1,9 +1,9 @@
import React from 'react';
-import { FaList } from 'react-icons/fa';
import { ApolloProvider } from '@apollo/client';
import type { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
+import { IconList } from '@/ui/icons/index';
import { FullHeightStorybookLayout } from '~/testing/FullHeightStorybookLayout';
import { mockedClient } from '~/testing/mockedClient';
@@ -25,7 +25,7 @@ export const Empty: Story = {
}
+ viewIcon={}
availableSorts={availableSorts}
availableFilters={availableFilters}
/>
@@ -40,7 +40,7 @@ export const WithSortsAndFilters: Story = {
}
+ viewIcon={}
availableSorts={availableSorts}
availableFilters={availableFilters}
/>
diff --git a/front/src/modules/ui/icons/components/IconComment.tsx b/front/src/modules/ui/icons/components/IconComment.tsx
deleted file mode 100644
index ab6a866f1f..0000000000
--- a/front/src/modules/ui/icons/components/IconComment.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { IconMessageCircle as IconComment } from '@tabler/icons-react';
diff --git a/front/src/modules/ui/icons/components/IconSidebarLeftCollapse.tsx b/front/src/modules/ui/icons/components/IconSidebarLeftCollapse.tsx
deleted file mode 100644
index c18df9f991..0000000000
--- a/front/src/modules/ui/icons/components/IconSidebarLeftCollapse.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { TbLayoutSidebarLeftCollapse as IconSidebarLeftCollapse } from 'react-icons/tb';
diff --git a/front/src/modules/ui/icons/components/IconSidebarRightCollapse.tsx b/front/src/modules/ui/icons/components/IconSidebarRightCollapse.tsx
deleted file mode 100644
index 832485a7ec..0000000000
--- a/front/src/modules/ui/icons/components/IconSidebarRightCollapse.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { TbLayoutSidebarRightCollapse as IconSidebarRightCollapse } from 'react-icons/tb';
diff --git a/front/src/modules/ui/icons/index.ts b/front/src/modules/ui/icons/index.ts
index 07d7cb2e49..4afa2a893d 100644
--- a/front/src/modules/ui/icons/index.ts
+++ b/front/src/modules/ui/icons/index.ts
@@ -1,6 +1,28 @@
export { IconAddressBook } from './components/IconAddressBook';
-export { IconComment } from './components/IconComment';
-export { IconSidebarLeftCollapse } from './components/IconSidebarLeftCollapse';
-export { IconSidebarRightCollapse } from './components/IconSidebarRightCollapse';
-export { IconAward } from '@tabler/icons-react';
+export { IconBuilding } from '@tabler/icons-react';
+export { IconMessageCircle as IconComment } from '@tabler/icons-react';
export { IconCheck } from '@tabler/icons-react';
+export { IconTrash } from '@tabler/icons-react';
+export { IconLayoutSidebarRightCollapse } from '@tabler/icons-react';
+export { IconLayoutSidebarLeftCollapse } from '@tabler/icons-react';
+export { IconUser } from '@tabler/icons-react';
+export { IconList } from '@tabler/icons-react';
+export { IconInbox } from '@tabler/icons-react';
+export { IconSearch } from '@tabler/icons-react';
+export { IconSettings } from '@tabler/icons-react';
+export { IconLogout } from '@tabler/icons-react';
+export { IconColorSwatch } from '@tabler/icons-react';
+export { IconX } from '@tabler/icons-react';
+export { IconChevronLeft } from '@tabler/icons-react';
+export { IconPlus } from '@tabler/icons-react';
+export { IconLink } from '@tabler/icons-react';
+export { IconSum } from '@tabler/icons-react';
+export { IconCalendar } from '@tabler/icons-react';
+export { IconMapPin } from '@tabler/icons-react';
+export { IconMail } from '@tabler/icons-react';
+export { IconPhone } from '@tabler/icons-react';
+export { IconTarget } from '@tabler/icons-react';
+export { IconChevronDown } from '@tabler/icons-react';
+export { IconArrowNarrowDown } from '@tabler/icons-react';
+export { IconArrowNarrowUp } from '@tabler/icons-react';
+export { IconArrowRight } from '@tabler/icons-react';
diff --git a/front/src/modules/ui/layout/navbar/NavBackButton.tsx b/front/src/modules/ui/layout/navbar/NavBackButton.tsx
index 91a32191e5..0d8214836e 100644
--- a/front/src/modules/ui/layout/navbar/NavBackButton.tsx
+++ b/front/src/modules/ui/layout/navbar/NavBackButton.tsx
@@ -1,7 +1,8 @@
-import { TbChevronLeft } from 'react-icons/tb';
import { useNavigate } from 'react-router-dom';
import styled from '@emotion/styled';
+import { IconChevronLeft } from '@/ui/icons/index';
+
import NavCollapseButton from './NavCollapseButton';
type OwnProps = {
@@ -38,7 +39,7 @@ export default function NavBackButton({ title }: OwnProps) {
navigate('/', { replace: true })}
>
-
+
{title}
diff --git a/front/src/modules/ui/layout/navbar/NavCollapseButton.tsx b/front/src/modules/ui/layout/navbar/NavCollapseButton.tsx
index 30a84ead42..3db90d7118 100644
--- a/front/src/modules/ui/layout/navbar/NavCollapseButton.tsx
+++ b/front/src/modules/ui/layout/navbar/NavCollapseButton.tsx
@@ -1,7 +1,10 @@
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
-import { IconSidebarLeftCollapse, IconSidebarRightCollapse } from '@/ui/icons';
+import {
+ IconLayoutSidebarLeftCollapse,
+ IconLayoutSidebarRightCollapse,
+} from '@/ui/icons';
import { isNavbarOpenedState } from '../states/isNavbarOpenedState';
import { MOBILE_VIEWPORT } from '../styles/themes';
@@ -50,7 +53,7 @@ export default function NavCollapseButton({
onClick={() => setIsNavOpen(!isNavOpen)}
hideOnDesktop={hideOnDesktop}
>
-
+
)}
{!isNavOpen && (
@@ -58,7 +61,7 @@ export default function NavCollapseButton({
onClick={() => setIsNavOpen(!isNavOpen)}
hideOnDesktop={hideOnDesktop}
>
-
+
)}
>
diff --git a/front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarCloseButton.tsx b/front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarCloseButton.tsx
index 8d680bc1d6..1f1cc93565 100644
--- a/front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarCloseButton.tsx
+++ b/front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarCloseButton.tsx
@@ -1,7 +1,8 @@
import styled from '@emotion/styled';
-import { IconPlus } from '@tabler/icons-react';
import { useRecoilState } from 'recoil';
+import { IconPlus } from '@/ui/icons/index';
+
import { isRightDrawerOpenState } from '../states/isRightDrawerOpenState';
const StyledButton = styled.button`
diff --git a/front/src/modules/ui/layout/top-bar/TopBar.tsx b/front/src/modules/ui/layout/top-bar/TopBar.tsx
index fbe781a67a..38389ab5ca 100644
--- a/front/src/modules/ui/layout/top-bar/TopBar.tsx
+++ b/front/src/modules/ui/layout/top-bar/TopBar.tsx
@@ -1,7 +1,8 @@
import { ReactNode } from 'react';
-import { TbPlus } from 'react-icons/tb';
import styled from '@emotion/styled';
+import { IconPlus } from '@/ui/icons/index';
+
import NavCollapseButton from '../navbar/NavCollapseButton';
export const TOP_BAR_MIN_HEIGHT = '40px';
@@ -59,7 +60,7 @@ export function TopBar({ title, icon, onAddButtonClick }: OwnProps) {
data-testid="add-button"
onClick={onAddButtonClick}
>
-
+
)}
diff --git a/front/src/pages/companies/Companies.tsx b/front/src/pages/companies/Companies.tsx
index 7cda823931..8f9068e3b7 100644
--- a/front/src/pages/companies/Companies.tsx
+++ b/front/src/pages/companies/Companies.tsx
@@ -1,6 +1,4 @@
import { useCallback, useState } from 'react';
-import { FaList } from 'react-icons/fa';
-import { TbBuilding } from 'react-icons/tb';
import styled from '@emotion/styled';
import { v4 as uuidv4 } from 'uuid';
@@ -21,6 +19,8 @@ import {
import { SelectedFilterType } from '@/filters-and-sorts/interfaces/filters/interface';
import { EntityTableActionBar } from '@/ui/components/table/action-bar/EntityTableActionBar';
import { EntityTable } from '@/ui/components/table/EntityTable';
+import { IconBuilding } from '@/ui/icons/index';
+import { IconList } from '@/ui/icons/index';
import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
import { BoolExpType } from '@/utils/interfaces/generic.interface';
import { AppPage } from '~/AppPage';
@@ -78,7 +78,7 @@ export function Companies() {
}
+ icon={}
onAddButtonClick={handleAddButtonClick}
>
<>
@@ -87,7 +87,7 @@ export function Companies() {
data={companies}
columns={companiesColumns}
viewName="All Companies"
- viewIcon={}
+ viewIcon={}
availableSorts={availableSorts}
availableFilters={availableFilters}
onSortsUpdate={updateSorts}
diff --git a/front/src/pages/companies/companies-columns.tsx b/front/src/pages/companies/companies-columns.tsx
index 14a920f6df..85e61788e8 100644
--- a/front/src/pages/companies/companies-columns.tsx
+++ b/front/src/pages/companies/companies-columns.tsx
@@ -1,12 +1,4 @@
import { useMemo } from 'react';
-import {
- TbBuilding,
- TbCalendar,
- TbLink,
- TbMapPin,
- TbSum,
- TbUser,
-} from 'react-icons/tb';
import { createColumnHelper } from '@tanstack/react-table';
import { CompanyEditableNameChipCell } from '@/companies/components/CompanyEditableNameCell';
@@ -22,6 +14,14 @@ import { EditableDate } from '@/ui/components/editable-cell/types/EditableDate';
import { EditableRelation } from '@/ui/components/editable-cell/types/EditableRelation';
import { EditableText } from '@/ui/components/editable-cell/types/EditableText';
import { ColumnHead } from '@/ui/components/table/ColumnHead';
+import {
+ IconBuilding,
+ IconCalendar,
+ IconLink,
+ IconMapPin,
+ IconSum,
+ IconUser,
+} from '@/ui/icons/index';
import { getCheckBoxColumn } from '@/ui/tables/utils/getCheckBoxColumn';
import { mapToUser, User } from '@/users/interfaces/user.interface';
import { QueryMode } from '~/generated/graphql';
@@ -34,7 +34,7 @@ export const useCompaniesColumns = () => {
getCheckBoxColumn(),
columnHelper.accessor('name', {
header: () => (
- } />
+ } />
),
cell: (props) => (
@@ -43,7 +43,7 @@ export const useCompaniesColumns = () => {
}),
columnHelper.accessor('domainName', {
header: () => (
- } />
+ } />
),
cell: (props) => (
{
}),
columnHelper.accessor('employees', {
header: () => (
- } />
+ } />
),
cell: (props) => (
{
}),
columnHelper.accessor('address', {
header: () => (
- } />
+ } />
),
cell: (props) => (
{
}),
columnHelper.accessor('createdAt', {
header: () => (
- } />
+ }
+ />
),
cell: (props) => (
{
header: () => (
}
+ viewIcon={}
/>
),
cell: (props) => (
diff --git a/front/src/pages/companies/companies-filters.tsx b/front/src/pages/companies/companies-filters.tsx
index ba5e39e18b..ae23304d55 100644
--- a/front/src/pages/companies/companies-filters.tsx
+++ b/front/src/pages/companies/companies-filters.tsx
@@ -1,22 +1,21 @@
-import {
- TbBuilding,
- TbCalendar,
- TbLink,
- TbMapPin,
- TbSum,
- TbUser,
-} from 'react-icons/tb';
-
import { Company } from '@/companies/interfaces/company.interface';
import { FilterConfigType } from '@/filters-and-sorts/interfaces/filters/interface';
import { SEARCH_USER_QUERY } from '@/search/services/search';
+import {
+ IconBuilding,
+ IconCalendar,
+ IconLink,
+ IconMapPin,
+ IconSum,
+ IconUser,
+} from '@/ui/icons/index';
import { mapToUser, User } from '@/users/interfaces/user.interface';
import { QueryMode } from '~/generated/graphql';
export const nameFilter = {
key: 'name',
label: 'Name',
- icon: ,
+ icon: ,
type: 'text',
operands: [
{
@@ -46,7 +45,7 @@ export const nameFilter = {
export const employeesFilter = {
key: 'employees',
label: 'Employees',
- icon: ,
+ icon: ,
type: 'text',
operands: [
{
@@ -73,7 +72,7 @@ export const employeesFilter = {
export const urlFilter = {
key: 'domainName',
label: 'Url',
- icon: ,
+ icon: ,
type: 'text',
operands: [
{
@@ -106,7 +105,7 @@ export const urlFilter = {
export const addressFilter = {
key: 'address',
label: 'Address',
- icon: ,
+ icon: ,
type: 'text',
operands: [
{
@@ -136,7 +135,7 @@ export const addressFilter = {
export const ccreatedAtFilter = {
key: 'createdAt',
label: 'Created At',
- icon: ,
+ icon: ,
type: 'date',
operands: [
{
@@ -163,7 +162,7 @@ export const ccreatedAtFilter = {
export const accountOwnerFilter = {
key: 'accountOwner',
label: 'Account Owner',
- icon: ,
+ icon: ,
type: 'relation',
searchConfig: {
query: SEARCH_USER_QUERY,
diff --git a/front/src/pages/companies/companies-sorts.tsx b/front/src/pages/companies/companies-sorts.tsx
index 9bfb67e6e1..e61fba7695 100644
--- a/front/src/pages/companies/companies-sorts.tsx
+++ b/front/src/pages/companies/companies-sorts.tsx
@@ -1,43 +1,42 @@
-import {
- TbBuilding,
- TbCalendar,
- TbLink,
- TbMapPin,
- TbSum,
-} from 'react-icons/tb';
-
import { SortType } from '@/filters-and-sorts/interfaces/sorts/interface';
+import {
+ IconBuilding,
+ IconCalendar,
+ IconLink,
+ IconMapPin,
+ IconSum,
+} from '@/ui/icons/index';
import { CompanyOrderByWithRelationInput as Companies_Order_By } from '~/generated/graphql';
export const availableSorts = [
{
key: 'name',
label: 'Name',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
{
key: 'employees',
label: 'Employees',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
{
key: 'domainName',
label: 'Url',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
{
key: 'address',
label: 'Address',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
{
key: 'createdAt',
label: 'Creation',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
] satisfies Array>;
diff --git a/front/src/pages/companies/table/TableActionBarButtonDeleteCompanies.tsx b/front/src/pages/companies/table/TableActionBarButtonDeleteCompanies.tsx
index 630d053033..112a1100a6 100644
--- a/front/src/pages/companies/table/TableActionBarButtonDeleteCompanies.tsx
+++ b/front/src/pages/companies/table/TableActionBarButtonDeleteCompanies.tsx
@@ -1,7 +1,7 @@
-import { TbTrash } from 'react-icons/tb';
import { useRecoilValue } from 'recoil';
import { EntityTableActionBarButton } from '@/ui/components/table/action-bar/EntityTableActionBarButton';
+import { IconTrash } from '@/ui/icons/index';
import { useResetTableRowSelection } from '@/ui/tables/hooks/useResetTableRowSelection';
import { selectedRowIdsState } from '@/ui/tables/states/selectedRowIdsState';
import { useDeleteCompaniesMutation } from '~/generated/graphql';
@@ -28,7 +28,7 @@ export function TableActionBarButtonDeleteCompanies() {
return (
}
+ icon={}
type="warning"
onClick={handleDeleteClick}
/>
diff --git a/front/src/pages/opportunities/Opportunities.tsx b/front/src/pages/opportunities/Opportunities.tsx
index 6a75c45965..45c238caca 100644
--- a/front/src/pages/opportunities/Opportunities.tsx
+++ b/front/src/pages/opportunities/Opportunities.tsx
@@ -1,5 +1,4 @@
-import { FaBullseye } from 'react-icons/fa';
-
+import { IconTarget } from '@/ui/icons/index';
import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
import { AppPage } from '~/AppPage';
@@ -12,7 +11,7 @@ import { Board } from '../../modules/opportunities/components/Board';
export function Opportunities() {
return (
- }>
+ }>
diff --git a/front/src/pages/people/People.tsx b/front/src/pages/people/People.tsx
index c482a49f62..9ece1b03dc 100644
--- a/front/src/pages/people/People.tsx
+++ b/front/src/pages/people/People.tsx
@@ -1,6 +1,4 @@
import { useCallback, useState } from 'react';
-import { FaList } from 'react-icons/fa';
-import { TbUser } from 'react-icons/tb';
import styled from '@emotion/styled';
import { v4 as uuidv4 } from 'uuid';
@@ -18,6 +16,7 @@ import {
} from '@/people/services';
import { EntityTableActionBar } from '@/ui/components/table/action-bar/EntityTableActionBar';
import { EntityTable } from '@/ui/components/table/EntityTable';
+import { IconList, IconUser } from '@/ui/icons/index';
import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer';
import { BoolExpType } from '@/utils/interfaces/generic.interface';
import { AppPage } from '~/AppPage';
@@ -76,7 +75,7 @@ export function People() {
}
+ icon={}
onAddButtonClick={handleAddButtonClick}
>
<>
@@ -85,7 +84,7 @@ export function People() {
data={people}
columns={peopleColumns}
viewName="All People"
- viewIcon={}
+ viewIcon={}
availableSorts={availableSorts}
availableFilters={availableFilters}
onSortsUpdate={updateSorts}
diff --git a/front/src/pages/people/people-columns.tsx b/front/src/pages/people/people-columns.tsx
index d1dabfc397..39ffea0447 100644
--- a/front/src/pages/people/people-columns.tsx
+++ b/front/src/pages/people/people-columns.tsx
@@ -1,12 +1,4 @@
import { useMemo } from 'react';
-import {
- TbBuilding,
- TbCalendar,
- TbMail,
- TbMapPin,
- TbPhone,
- TbUser,
-} from 'react-icons/tb';
import { createColumnHelper } from '@tanstack/react-table';
import { EditablePeopleFullName } from '@/people/components/EditablePeopleFullName';
@@ -17,6 +9,14 @@ import { EditableDate } from '@/ui/components/editable-cell/types/EditableDate';
import { EditablePhone } from '@/ui/components/editable-cell/types/EditablePhone';
import { EditableText } from '@/ui/components/editable-cell/types/EditableText';
import { ColumnHead } from '@/ui/components/table/ColumnHead';
+import {
+ IconBuilding,
+ IconCalendar,
+ IconMail,
+ IconMapPin,
+ IconPhone,
+ IconUser,
+} from '@/ui/icons/index';
import { getCheckBoxColumn } from '@/ui/tables/utils/getCheckBoxColumn';
const columnHelper = createColumnHelper();
@@ -27,7 +27,7 @@ export const usePeopleColumns = () => {
getCheckBoxColumn(),
columnHelper.accessor('firstname', {
header: () => (
- } />
+ } />
),
cell: (props) => (
<>
@@ -46,7 +46,7 @@ export const usePeopleColumns = () => {
}),
columnHelper.accessor('email', {
header: () => (
- } />
+ } />
),
cell: (props) => (
{
}),
columnHelper.accessor('company', {
header: () => (
- } />
+ }
+ />
),
cell: (props) => ,
size: 150,
}),
columnHelper.accessor('phone', {
header: () => (
- } />
+ } />
),
cell: (props) => (
{
}),
columnHelper.accessor('createdAt', {
header: () => (
- } />
+ }
+ />
),
cell: (props) => (
{
}),
columnHelper.accessor('city', {
header: () => (
- } />
+ } />
),
cell: (props) => (
,
+ icon: ,
type: 'text',
operands: [
{
@@ -72,7 +71,7 @@ export const fullnameFilter = {
export const emailFilter = {
key: 'email',
label: 'Email',
- icon: ,
+ icon: ,
type: 'text',
operands: [
{
@@ -102,7 +101,7 @@ export const emailFilter = {
export const companyFilter = {
key: 'company_name',
label: 'Company',
- icon: ,
+ icon: ,
type: 'relation',
searchConfig: {
query: SEARCH_COMPANY_QUERY,
@@ -136,7 +135,7 @@ export const companyFilter = {
export const phoneFilter = {
key: 'phone',
label: 'Phone',
- icon: ,
+ icon: ,
type: 'text',
operands: [
{
@@ -166,7 +165,7 @@ export const phoneFilter = {
export const createdAtFilter = {
key: 'createdAt',
label: 'Created At',
- icon: ,
+ icon: ,
type: 'date',
operands: [
{
@@ -193,7 +192,7 @@ export const createdAtFilter = {
export const cityFilter = {
key: 'city',
label: 'City',
- icon: ,
+ icon: ,
type: 'text',
operands: [
{
diff --git a/front/src/pages/people/people-sorts.tsx b/front/src/pages/people/people-sorts.tsx
index e29d6a2b05..2052ebf0a7 100644
--- a/front/src/pages/people/people-sorts.tsx
+++ b/front/src/pages/people/people-sorts.tsx
@@ -1,13 +1,12 @@
-import {
- TbBuilding,
- TbCalendar,
- TbMail,
- TbMapPin,
- TbPhone,
- TbUser,
-} from 'react-icons/tb';
-
import { SortType } from '@/filters-and-sorts/interfaces/sorts/interface';
+import {
+ IconBuilding,
+ IconCalendar,
+ IconMail,
+ IconMapPin,
+ IconPhone,
+ IconUser,
+} from '@/ui/icons/index';
import {
PersonOrderByWithRelationInput as People_Order_By,
SortOrder as Order_By,
@@ -17,7 +16,7 @@ export const availableSorts = [
{
key: 'fullname',
label: 'People',
- icon: ,
+ icon: ,
_type: 'custom_sort',
orderByTemplates: [
(order: Order_By) => ({
@@ -31,32 +30,32 @@ export const availableSorts = [
{
key: 'company_name',
label: 'Company',
- icon: ,
+ icon: ,
_type: 'custom_sort',
orderByTemplates: [(order: Order_By) => ({ company: { name: order } })],
},
{
key: 'email',
label: 'Email',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
{
key: 'phone',
label: 'Phone',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
{
key: 'createdAt',
label: 'Created at',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
{
key: 'city',
label: 'City',
- icon: ,
+ icon: ,
_type: 'default_sort',
},
] satisfies Array>;
diff --git a/front/src/pages/people/table/TableActionBarButtonDeletePeople.tsx b/front/src/pages/people/table/TableActionBarButtonDeletePeople.tsx
index c3036f2385..a3239cb73b 100644
--- a/front/src/pages/people/table/TableActionBarButtonDeletePeople.tsx
+++ b/front/src/pages/people/table/TableActionBarButtonDeletePeople.tsx
@@ -1,7 +1,7 @@
-import { TbTrash } from 'react-icons/tb';
import { useRecoilValue } from 'recoil';
import { EntityTableActionBarButton } from '@/ui/components/table/action-bar/EntityTableActionBarButton';
+import { IconTrash } from '@/ui/icons/index';
import { useResetTableRowSelection } from '@/ui/tables/hooks/useResetTableRowSelection';
import { selectedRowIdsState } from '@/ui/tables/states/selectedRowIdsState';
import { useDeletePeopleMutation } from '~/generated/graphql';
@@ -28,7 +28,7 @@ export function TableActionBarButtonDeletePeople() {
return (
}
+ icon={}
type="warning"
onClick={handleDeleteClick}
/>