Added table record mock mode with companies (#2715)

* wip

* Removed console.log

* Refactor mocks into multiple files

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Lucas Bordeau 2023-11-25 19:50:50 +01:00 committed by GitHub
parent ddc054be52
commit f0e20b06df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 2204 additions and 59 deletions

View File

@ -0,0 +1,44 @@
import styled from '@emotion/styled';
import { SignInBackgroundMockContainerEffect } from '@/sign-in-background-mock/components/SignInBackgroundMockContainerEffect';
import { RecordTable } from '@/ui/object/record-table/components/RecordTable';
import { TableOptionsDropdownId } from '@/ui/object/record-table/constants/TableOptionsDropdownId';
import { TableOptionsDropdown } from '@/ui/object/record-table/options/components/TableOptionsDropdown';
import { RecordTableScope } from '@/ui/object/record-table/scopes/RecordTableScope';
import { ViewBar } from '@/views/components/ViewBar';
import { ViewScope } from '@/views/scopes/ViewScope';
const StyledContainer = styled.div`
display: flex;
flex-direction: column;
height: 100%;
overflow: auto;
`;
export const SignInBackgroundMockContainer = () => {
const tableScopeId = 'sign-in-background-mock-table';
const viewScopeId = 'sign-in-background-mock-view';
return (
<ViewScope
viewScopeId={viewScopeId}
onViewFieldsChange={() => {}}
onViewFiltersChange={() => {}}
onViewSortsChange={() => {}}
>
<StyledContainer>
<RecordTableScope
recordTableScopeId={tableScopeId}
onColumnsChange={() => {}}
>
<ViewBar
optionsDropdownButton={<TableOptionsDropdown />}
optionsDropdownScopeId={TableOptionsDropdownId}
/>
<SignInBackgroundMockContainerEffect />
<RecordTable updateEntityMutation={() => {}} />
</RecordTableScope>
</StyledContainer>
</ViewScope>
);
};

View File

@ -0,0 +1,98 @@
import { useEffect } from 'react';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { useRecordTableContextMenuEntries } from '@/object-record/hooks/useRecordTableContextMenuEntries';
import { filterAvailableTableColumns } from '@/object-record/utils/filterAvailableTableColumns';
import { signInBackgroundMockCompanies } from '@/sign-in-background-mock/constants/signInBackgroundMockCompanies';
import {
signInBackgroundMockColumnDefinitions,
signInBackgroundMockFilterDefinitions,
signInBackgroundMockSortDefinitions,
} from '@/sign-in-background-mock/constants/signInBackgroundMockDefinitions';
import { signInBackgroundMockViewFields } from '@/sign-in-background-mock/constants/signInBackgroundMockViewFields';
import { useRecordTable } from '@/ui/object/record-table/hooks/useRecordTable';
import { useView } from '@/views/hooks/useView';
import { ViewType } from '@/views/types/ViewType';
import { mapViewFieldsToColumnDefinitions } from '@/views/utils/mapViewFieldsToColumnDefinitions';
export const SignInBackgroundMockContainerEffect = () => {
const {
scopeId: objectNamePlural,
setAvailableTableColumns,
setOnEntityCountChange,
setRecordTableData,
setTableColumns,
setObjectMetadataConfig,
} = useRecordTable();
const { objectMetadataItem } = useObjectMetadataItem({
objectNamePlural,
});
const {
setAvailableSortDefinitions,
setAvailableFilterDefinitions,
setAvailableFieldDefinitions,
setViewType,
setViewObjectMetadataId,
setEntityCountInCurrentView,
} = useView();
useEffect(() => {
setViewObjectMetadataId?.('company-mock-object-metadata-id');
setViewType?.(ViewType.Table);
setAvailableSortDefinitions?.(signInBackgroundMockSortDefinitions);
setAvailableFilterDefinitions?.(signInBackgroundMockFilterDefinitions);
setAvailableFieldDefinitions?.(signInBackgroundMockColumnDefinitions);
const availableTableColumns = signInBackgroundMockColumnDefinitions.filter(
filterAvailableTableColumns,
);
setAvailableTableColumns(availableTableColumns);
setRecordTableData(signInBackgroundMockCompanies);
setTableColumns(
mapViewFieldsToColumnDefinitions(
signInBackgroundMockViewFields,
signInBackgroundMockColumnDefinitions,
),
);
}, [
setViewObjectMetadataId,
setViewType,
setAvailableSortDefinitions,
setAvailableFilterDefinitions,
setAvailableFieldDefinitions,
objectMetadataItem,
setAvailableTableColumns,
setRecordTableData,
setTableColumns,
]);
useEffect(() => {
setObjectMetadataConfig?.(mockIdentifier);
}, [setObjectMetadataConfig]);
const { setActionBarEntries, setContextMenuEntries } =
useRecordTableContextMenuEntries();
useEffect(() => {
setActionBarEntries?.();
setContextMenuEntries?.();
}, [setActionBarEntries, setContextMenuEntries]);
useEffect(() => {
setOnEntityCountChange(
() => (entityCount: number) => setEntityCountInCurrentView(entityCount),
);
}, [setEntityCountInCurrentView, setOnEntityCountChange]);
return <></>;
};
const mockIdentifier = {
basePathToShowPage: '/object/company/',
labelIdentifierFieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
};

View File

@ -0,0 +1,35 @@
import styled from '@emotion/styled';
import { SignInBackgroundMockContainer } from '@/sign-in-background-mock/components/SignInBackgroundMockContainer';
import { IconBuildingSkyscraper } from '@/ui/display/icon';
import { PageAddButton } from '@/ui/layout/page/PageAddButton';
import { PageBody } from '@/ui/layout/page/PageBody';
import { PageContainer } from '@/ui/layout/page/PageContainer';
import { PageHeader } from '@/ui/layout/page/PageHeader';
import { PageHotkeysEffect } from '@/ui/layout/page/PageHotkeysEffect';
import { RecordTableActionBar } from '@/ui/object/record-table/action-bar/components/RecordTableActionBar';
import { RecordTableContextMenu } from '@/ui/object/record-table/context-menu/components/RecordTableContextMenu';
const StyledTableContainer = styled.div`
display: flex;
height: 100%;
width: 100%;
`;
export const SignInBackgroundMockPage = () => {
return (
<PageContainer>
<PageHeader title="Objects" Icon={IconBuildingSkyscraper}>
<PageHotkeysEffect onAddButtonClick={() => {}} />
<PageAddButton onClick={() => {}} />
</PageHeader>
<PageBody>
<StyledTableContainer>
<SignInBackgroundMockContainer />
</StyledTableContainer>
<RecordTableActionBar />
<RecordTableContextMenu />
</PageBody>
</PageContainer>
);
};

View File

@ -0,0 +1,344 @@
import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition';
import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition';
import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition';
export const signInBackgroundMockColumnDefinitions = [
{
position: 0,
fieldMetadataId: '20202020-5e4e-4007-a630-8a2617914889',
label: 'Domain Name',
size: 100,
type: 'TEXT',
metadata: {
fieldName: 'domainName',
placeHolder: 'Domain Name',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconLink',
isVisible: true,
},
{
position: 1,
fieldMetadataId: '20202020-7fbd-41ad-b64d-25a15ff62f04',
label: 'Employees',
size: 100,
type: 'NUMBER',
metadata: {
fieldName: 'employees',
placeHolder: 'Employees',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconUsers',
isVisible: true,
},
{
position: 2,
fieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
label: 'Name',
size: 100,
type: 'TEXT',
metadata: {
fieldName: 'name',
placeHolder: 'Name',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconBuildingSkyscraper',
isVisible: true,
},
{
position: 3,
fieldMetadataId: '20202020-e7c8-4771-8cc4-ce0e8c36a3c0',
label: 'Favorites',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'favorites',
placeHolder: 'Favorites',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconHeart',
isVisible: true,
},
{
position: 4,
fieldMetadataId: '20202020-ad10-4117-a039-3f04b7a5f939',
label: 'Address',
size: 100,
type: 'TEXT',
metadata: {
fieldName: 'address',
placeHolder: 'Address',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconMap',
isVisible: true,
},
{
position: 5,
fieldMetadataId: '20202020-0739-495d-8e70-c0807f6b2268',
label: 'Account Owner',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'accountOwner',
placeHolder: 'Account Owner',
relationType: 'TO_ONE_OBJECT',
relationObjectMetadataNameSingular: 'workspaceMember',
relationObjectMetadataNamePlural: 'workspaceMembers',
objectMetadataNameSingular: 'company',
},
iconName: 'IconUserCircle',
isVisible: true,
},
{
position: 6,
fieldMetadataId: '20202020-68b4-4c8e-af19-738eba2a42a5',
label: 'People',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'people',
placeHolder: 'People',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconUsers',
isVisible: true,
},
{
position: 7,
fieldMetadataId: '20202020-61af-4ffd-b79b-baed6db8ad11',
label: 'Attachments',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'attachments',
placeHolder: 'Attachments',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconFileImport',
isVisible: true,
},
{
position: 8,
fieldMetadataId: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
label: 'Creation date',
size: 100,
type: 'DATE_TIME',
metadata: {
fieldName: 'createdAt',
placeHolder: 'Creation date',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconCalendar',
isVisible: true,
},
{
position: 9,
fieldMetadataId: '20202020-9e9f-4235-98b2-c76f3e2d281e',
label: 'ICP',
size: 100,
type: 'BOOLEAN',
metadata: {
fieldName: 'idealCustomerProfile',
placeHolder: 'ICP',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconTarget',
isVisible: true,
},
{
position: 10,
fieldMetadataId: '20202020-a61d-4b78-b998-3fd88b4f73a1',
label: 'Linkedin',
size: 100,
type: 'LINK',
metadata: {
fieldName: 'linkedinLink',
placeHolder: 'Linkedin',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconBrandLinkedin',
isVisible: true,
},
{
position: 11,
fieldMetadataId: '20202020-e3fc-46ff-b552-3e757843f06e',
label: 'Opportunities',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'opportunities',
placeHolder: 'Opportunities',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconTargetArrow',
isVisible: true,
},
{
position: 12,
fieldMetadataId: '20202020-46e3-479a-b8f4-77137c74daa6',
label: 'X',
size: 100,
type: 'LINK',
metadata: {
fieldName: 'xLink',
placeHolder: 'X',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconBrandX',
isVisible: true,
},
{
position: 13,
fieldMetadataId: '20202020-4a2e-4b41-8562-279963e8947e',
label: 'Activities',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'activityTargets',
placeHolder: 'Activities',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconCheckbox',
isVisible: true,
},
{
position: 14,
fieldMetadataId: '20202020-4a5a-466f-92d9-c3870d9502a9',
label: 'ARR',
size: 100,
type: 'CURRENCY',
metadata: {
fieldName: 'annualRecurringRevenue',
placeHolder: 'ARR',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconMoneybag',
isVisible: true,
},
] as ColumnDefinition<any>[];
export const signInBackgroundMockFilterDefinitions = [
{
fieldMetadataId: '20202020-5e4e-4007-a630-8a2617914889',
label: 'Domain Name',
iconName: 'IconLink',
type: 'TEXT',
},
{
fieldMetadataId: '20202020-7fbd-41ad-b64d-25a15ff62f04',
label: 'Employees',
iconName: 'IconUsers',
type: 'NUMBER',
},
{
fieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
label: 'Name',
iconName: 'IconBuildingSkyscraper',
type: 'TEXT',
},
{
fieldMetadataId: '20202020-ad10-4117-a039-3f04b7a5f939',
label: 'Address',
iconName: 'IconMap',
type: 'TEXT',
},
{
fieldMetadataId: '20202020-0739-495d-8e70-c0807f6b2268',
label: 'Account Owner',
iconName: 'IconUserCircle',
relationObjectMetadataNamePlural: 'workspaceMembers',
relationObjectMetadataNameSingular: 'workspaceMember',
type: 'RELATION',
},
{
fieldMetadataId: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
label: 'Creation date',
iconName: 'IconCalendar',
type: 'DATE_TIME',
},
{
fieldMetadataId: '20202020-a61d-4b78-b998-3fd88b4f73a1',
label: 'Linkedin',
iconName: 'IconBrandLinkedin',
type: 'LINK',
},
{
fieldMetadataId: '20202020-46e3-479a-b8f4-77137c74daa6',
label: 'X',
iconName: 'IconBrandX',
type: 'LINK',
},
{
fieldMetadataId: '20202020-4a5a-466f-92d9-c3870d9502a9',
label: 'ARR',
iconName: 'IconMoneybag',
type: 'CURRENCY',
},
] as FilterDefinition[];
export const signInBackgroundMockSortDefinitions = [
{
fieldMetadataId: '20202020-5e4e-4007-a630-8a2617914889',
label: 'Domain Name',
iconName: 'IconLink',
},
{
fieldMetadataId: '20202020-7fbd-41ad-b64d-25a15ff62f04',
label: 'Employees',
iconName: 'IconUsers',
},
{
fieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
label: 'Name',
iconName: 'IconBuildingSkyscraper',
},
{
fieldMetadataId: '20202020-ad10-4117-a039-3f04b7a5f939',
label: 'Address',
iconName: 'IconMap',
},
{
fieldMetadataId: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
label: 'Creation date',
iconName: 'IconCalendar',
},
{
fieldMetadataId: '20202020-9e9f-4235-98b2-c76f3e2d281e',
label: 'ICP',
iconName: 'IconTarget',
},
] as SortDefinition[];

View File

@ -0,0 +1,400 @@
export const metadataItem = {
__typename: 'object',
id: '20202020-480c-434e-b4c7-e22408b97047',
dataSourceId: '20202020-7f63-47a9-b1b3-6c7290ca9fb1',
nameSingular: 'company',
namePlural: 'companies',
labelSingular: 'Company',
labelPlural: 'Companies',
description: 'A company',
icon: 'IconBuildingSkyscraper',
isCustom: false,
isActive: true,
isSystem: false,
createdAt: '2023-11-23T15:38:02.187Z',
updatedAt: '2023-11-23T15:38:02.187Z',
fields: [
{
__typename: 'field',
id: '20202020-5e4e-4007-a630-8a2617914889',
type: 'TEXT',
name: 'domainName',
label: 'Domain Name',
description:
'The company website URL. We use this url to fetch the company icon',
icon: 'IconLink',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-64b8-41bf-a01c-be6a806e8b70',
type: 'DATE_TIME',
name: 'updatedAt',
label: 'Update date',
description: null,
icon: 'IconCalendar',
isCustom: false,
isActive: true,
isSystem: true,
isNullable: false,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-7fbd-41ad-b64d-25a15ff62f04',
type: 'NUMBER',
name: 'employees',
label: 'Employees',
description: 'Number of employees in the company',
icon: 'IconUsers',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-6d30-4111-9f40-b4301906fd3c',
type: 'TEXT',
name: 'name',
label: 'Name',
description: 'The company name',
icon: 'IconBuildingSkyscraper',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-e7c8-4771-8cc4-ce0e8c36a3c0',
type: 'RELATION',
name: 'favorites',
label: 'Favorites',
description: 'Favorites linked to the company',
icon: 'IconHeart',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: {
__typename: 'relation',
id: '73d9610a-a196-4186-b5b2-9a1da2d3bede',
relationType: 'ONE_TO_MANY',
toObjectMetadata: {
__typename: 'object',
id: '20202020-90e4-4701-a350-8ab75e23e3b8',
dataSourceId: '20202020-7f63-47a9-b1b3-6c7290ca9fb1',
nameSingular: 'favorite',
namePlural: 'favorites',
},
toFieldMetadataId: '20202020-09e1-4384-ae3e-39e7956396ff',
},
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-ad10-4117-a039-3f04b7a5f939',
type: 'TEXT',
name: 'address',
label: 'Address',
description: 'The company address',
icon: 'IconMap',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-0739-495d-8e70-c0807f6b2268',
type: 'RELATION',
name: 'accountOwner',
label: 'Account Owner',
description:
'Your team member responsible for managing the company account',
icon: 'IconUserCircle',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: {
__typename: 'relation',
id: '729283e1-8134-494d-9df5-24a44e92c38b',
relationType: 'ONE_TO_MANY',
fromObjectMetadata: {
__typename: 'object',
id: '20202020-b550-40bb-a96b-9ab54b664753',
dataSourceId: '20202020-7f63-47a9-b1b3-6c7290ca9fb1',
nameSingular: 'workspaceMember',
namePlural: 'workspaceMembers',
},
fromFieldMetadataId: '20202020-41bb-4c17-8979-40fa915df9e1',
},
},
{
__typename: 'field',
id: '20202020-68b4-4c8e-af19-738eba2a42a5',
type: 'RELATION',
name: 'people',
label: 'People',
description: 'People linked to the company.',
icon: 'IconUsers',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: {
__typename: 'relation',
id: '8256c11a-710d-48b5-bc86-f607895abec4',
relationType: 'ONE_TO_MANY',
toObjectMetadata: {
__typename: 'object',
id: '20202020-c64b-44bc-bd2c-502c99f49dca',
dataSourceId: '20202020-7f63-47a9-b1b3-6c7290ca9fb1',
nameSingular: 'person',
namePlural: 'people',
},
toFieldMetadataId: '20202020-64e1-4080-b6ad-db03c3809885',
},
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-61af-4ffd-b79b-baed6db8ad11',
type: 'RELATION',
name: 'attachments',
label: 'Attachments',
description: 'Attachments linked to the company.',
icon: 'IconFileImport',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: {
__typename: 'relation',
id: '54c7c707-09f8-4ce0-b2f6-0161443fffa8',
relationType: 'ONE_TO_MANY',
toObjectMetadata: {
__typename: 'object',
id: '20202020-5f98-4317-915d-3779bb821be2',
dataSourceId: '20202020-7f63-47a9-b1b3-6c7290ca9fb1',
nameSingular: 'attachment',
namePlural: 'attachments',
},
toFieldMetadataId: '20202020-5463-4d03-9124-1775b9b7f955',
},
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
type: 'DATE_TIME',
name: 'createdAt',
label: 'Creation date',
description: null,
icon: 'IconCalendar',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: false,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-9e9f-4235-98b2-c76f3e2d281e',
type: 'BOOLEAN',
name: 'idealCustomerProfile',
label: 'ICP',
description:
'Ideal Customer Profile: Indicates whether the company is the most suitable and valuable customer for you',
icon: 'IconTarget',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-8169-44a3-9e0b-6bad1ac50f87',
type: 'UUID',
name: 'id',
label: 'Id',
description: null,
icon: null,
isCustom: false,
isActive: true,
isSystem: true,
isNullable: false,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-a61d-4b78-b998-3fd88b4f73a1',
type: 'LINK',
name: 'linkedinLink',
label: 'Linkedin',
description: 'The company Linkedin account',
icon: 'IconBrandLinkedin',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-e3fc-46ff-b552-3e757843f06e',
type: 'RELATION',
name: 'opportunities',
label: 'Opportunities',
description: 'Opportunities linked to the company.',
icon: 'IconTargetArrow',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: {
__typename: 'relation',
id: '831b6b14-125c-4563-83a3-99d5e07c0a85',
relationType: 'ONE_TO_MANY',
toObjectMetadata: {
__typename: 'object',
id: '20202020-cae9-4ff4-9579-f7d9fe44c937',
dataSourceId: '20202020-7f63-47a9-b1b3-6c7290ca9fb1',
nameSingular: 'opportunity',
namePlural: 'opportunities',
},
toFieldMetadataId: '20202020-31d5-4af5-b016-c61c1c265706',
},
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-0b9e-4b9e-8b0a-5b0b5b0b5b0b',
type: 'UUID',
name: 'accountOwnerId',
label: 'Account Owner ID (foreign key)',
description: 'Foreign key for account owner',
icon: null,
isCustom: false,
isActive: true,
isSystem: true,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-46e3-479a-b8f4-77137c74daa6',
type: 'LINK',
name: 'xLink',
label: 'X',
description: 'The company Twitter/X account',
icon: 'IconBrandX',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-4a2e-4b41-8562-279963e8947e',
type: 'RELATION',
name: 'activityTargets',
label: 'Activities',
description: 'Activities tied to the company',
icon: 'IconCheckbox',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: {
__typename: 'relation',
id: '56e2ab44-4718-4c05-b61c-a7f978d7bdd1',
relationType: 'ONE_TO_MANY',
toObjectMetadata: {
__typename: 'object',
id: '20202020-439a-4a41-83a3-3cda03d01d38',
dataSourceId: '20202020-7f63-47a9-b1b3-6c7290ca9fb1',
nameSingular: 'activityTarget',
namePlural: 'activityTargets',
},
toFieldMetadataId: '20202020-9408-4cc0-9fe1-51467edb530b',
},
toRelationMetadata: null,
},
{
__typename: 'field',
id: '20202020-4a5a-466f-92d9-c3870d9502a9',
type: 'CURRENCY',
name: 'annualRecurringRevenue',
label: 'ARR',
description:
'Annual Recurring Revenue: The actual or estimated annual revenue of the company',
icon: 'IconMoneybag',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '2023-11-23T15:38:02.292Z',
updatedAt: '2023-11-23T15:38:02.292Z',
fromRelationMetadata: null,
toRelationMetadata: null,
},
],
};

View File

@ -0,0 +1,86 @@
import { ViewField } from '@/views/types/ViewField';
export const signInBackgroundMockViewFields = [
{
__typename: 'ViewField',
id: '5168be09-f200-40f5-9e04-29d607de06e5',
fieldMetadataId: '20202020-7fbd-41ad-b64d-25a15ff62f04',
size: 150,
createdAt: '2023-11-23T15:38:03.706Z',
viewId: '20202020-2441-4424-8163-4002c523d415',
position: 4,
isVisible: true,
updatedAt: '2023-11-23T15:38:03.706Z',
},
{
__typename: 'ViewField',
id: '5ece850b-76fd-4135-9b99-06d49cad14ae',
fieldMetadataId: '20202020-a61d-4b78-b998-3fd88b4f73a1',
size: 170,
createdAt: '2023-11-23T15:38:03.706Z',
viewId: '20202020-2441-4424-8163-4002c523d415',
position: 5,
isVisible: true,
updatedAt: '2023-11-23T15:38:03.706Z',
},
{
__typename: 'ViewField',
id: '604dbdbb-df01-4e47-921b-f9963109f912',
fieldMetadataId: '20202020-0739-495d-8e70-c0807f6b2268',
size: 150,
createdAt: '2023-11-23T15:38:03.706Z',
viewId: '20202020-2441-4424-8163-4002c523d415',
position: 2,
isVisible: true,
updatedAt: '2023-11-23T15:38:03.706Z',
},
{
__typename: 'ViewField',
id: '7cbc36c8-37c6-4561-8c46-ddb316ddd121',
fieldMetadataId: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
size: 150,
createdAt: '2023-11-23T15:38:03.706Z',
viewId: '20202020-2441-4424-8163-4002c523d415',
position: 3,
isVisible: true,
updatedAt: '2023-11-23T15:38:03.706Z',
},
{
__typename: 'ViewField',
id: 'a7d19be3-1ce9-479b-9453-2930a381e07c',
fieldMetadataId: '20202020-5e4e-4007-a630-8a2617914889',
size: 100,
createdAt: '2023-11-23T15:38:03.706Z',
viewId: '20202020-2441-4424-8163-4002c523d415',
position: 1,
isVisible: true,
updatedAt: '2023-11-23T15:38:03.706Z',
},
{
__typename: 'ViewField',
id: 'cafacdc8-cbfc-4545-8242-94787f144ace',
fieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
size: 180,
createdAt: '2023-11-23T15:38:03.706Z',
viewId: '20202020-2441-4424-8163-4002c523d415',
position: 0,
isVisible: true,
updatedAt: '2023-11-23T15:38:03.706Z',
},
{
__typename: 'ViewField',
id: 'f0cc50c9-b9b6-405b-a1c0-23f7698ea731',
fieldMetadataId: '20202020-ad10-4117-a039-3f04b7a5f939',
size: 170,
createdAt: '2023-11-23T15:38:03.706Z',
viewId: '20202020-2441-4424-8163-4002c523d415',
position: 6,
isVisible: true,
updatedAt: '2023-11-23T15:38:03.706Z',
},
] as (ViewField & {
__typename: string;
createdAt: string;
viewId: string;
updatedAt: string;
})[];

View File

@ -7,10 +7,10 @@ import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { CommandMenu } from '@/command-menu/components/CommandMenu';
import { KeyboardShortcutMenu } from '@/keyboard-shortcut-menu/components/KeyboardShortcutMenu';
import { SignInBackgroundMockPage } from '@/sign-in-background-mock/components/SignInBackgroundMockPage';
import { NavbarAnimatedContainer } from '@/ui/navigation/navbar/components/NavbarAnimatedContainer';
import { MOBILE_VIEWPORT } from '@/ui/theme/constants/theme';
import { AppNavbar } from '~/AppNavbar';
import { CompaniesMockMode } from '~/pages/companies/CompaniesMockMode';
import { isNavbarOpenedState } from '../states/isNavbarOpenedState';
@ -66,7 +66,7 @@ export const DefaultLayout = ({ children }: DefaultLayoutProps) => {
<StyledMainContainer>
{onboardingStatus && onboardingStatus !== OnboardingStatus.Completed ? (
<>
<CompaniesMockMode />
<SignInBackgroundMockPage />
<AnimatePresence mode="wait">
<LayoutGroup>
<AuthModal>{children}</AuthModal>

View File

@ -3,9 +3,6 @@ import styled from '@emotion/styled';
import { Key } from 'ts-key-enum';
import { IconArrowLeft, IconArrowRight, IconPencil } from '@/ui/display/icon';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { relationPickerSearchFilterScopedState } from '@/ui/input/relation-picker/states/relationPickerSearchFilterScopedState';
import { EntityForSelect } from '@/ui/input/relation-picker/types/EntityForSelect';
import { RelationPickerHotkeyScope } from '@/ui/input/relation-picker/types/RelationPickerHotkeyScope';
import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu';
import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
@ -13,8 +10,6 @@ import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem';
import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope';
import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { useRecoilScopedState } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedState';
import { logError } from '~/utils/logError';
import { BoardColumnContext } from '../contexts/BoardColumnContext';
import { useBoardColumns } from '../hooks/useBoardColumns';
@ -48,28 +43,8 @@ export const RecordBoardColumnDropdownMenu = ({
const boardColumnMenuRef = useRef<HTMLDivElement>(null);
const { enqueueSnackBar } = useSnackBar();
const { handleMoveBoardColumn } = useBoardColumns();
const handleCompanySelected = (
selectedCompany: EntityForSelect | null | undefined,
) => {
if (!selectedCompany?.id) {
enqueueSnackBar(
'There was a problem with the company selection, please retry.',
{
variant: 'error',
},
);
logError('There was a problem with the company selection, please retry.');
return;
}
//createCompanyProgress(selectedCompany.id, stageId);
closeMenu();
};
const {
setHotkeyScopeAndMemorizePreviousScope,
goBackToPreviousHotkeyScope,
@ -88,12 +63,6 @@ export const RecordBoardColumnDropdownMenu = ({
}
setCurrentMenu(menu);
};
const [relationPickerSearchFilter] = useRecoilScopedState(
relationPickerSearchFilterScopedState,
);
// const companies = useFilteredSearchCompanyQuery({
// searchFilter: relationPickerSearchFilter,
// });
useListenClickOutside({
refs: [boardColumnMenuRef],

View File

@ -138,7 +138,7 @@ export const ViewsDropdownButton = ({
clickableComponent={
<StyledDropdownButtonContainer isUnfolded={isViewsDropdownOpen}>
<StyledViewIcon size={theme.icon.size.md} />
<StyledViewName>{currentView?.name}</StyledViewName>
<StyledViewName>{currentView?.name ?? 'All'}</StyledViewName>
<StyledDropdownLabelAdornments>
· {entityCountInCurrentView}{' '}
<IconChevronDown size={theme.icon.size.sm} />

View File

@ -1,22 +0,0 @@
import styled from '@emotion/styled';
import { IconBuildingSkyscraper } from '@/ui/display/icon';
import { PageBody } from '@/ui/layout/page/PageBody';
import { PageContainer } from '@/ui/layout/page/PageContainer';
import { PageHeader } from '@/ui/layout/page/PageHeader';
const StyledTableContainer = styled.div`
display: flex;
width: 100%;
`;
export const CompaniesMockMode = () => {
return (
<PageContainer>
<PageHeader title="Companies" Icon={IconBuildingSkyscraper} />
<PageBody>
<StyledTableContainer></StyledTableContainer>
</PageBody>
</PageContainer>
);
};

View File

@ -1,11 +1,10 @@
import { useNavigate } from 'react-router-dom';
import styled from '@emotion/styled';
import { SignInBackgroundMockPage } from '@/sign-in-background-mock/components/SignInBackgroundMockPage';
import { MainButton } from '@/ui/input/button/components/MainButton';
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
import { CompaniesMockMode } from '../companies/CompaniesMockMode';
const StyledBackDrop = styled.div`
align-items: center;
backdrop-filter: ${({ theme }) => theme.blur.light};
@ -64,7 +63,7 @@ export const NotFound = () => {
/>
</StyledButtonContainer>
</StyledBackDrop>
<CompaniesMockMode />
<SignInBackgroundMockPage />
</>
);
};