Add "show company / people" view and "Notes" concept (#528)

* Begin adding show view and refactoring threads to become notes

* Progress on design

* Progress redesign timeline

* Dropdown button, design improvement

* Open comment thread edit mode in drawer

* Autosave local storage and commentThreadcount

* Improve display and fix missing key issue

* Remove some hardcoded CSS properties

* Create button

* Split company show into ui/business + fix eslint

* Fix font weight

* Begin auto-save on edit mode

* Save server-side query result to Apollo cache

* Fix save behavior

* Refetch timeline after creating note

* Rename createCommentThreadWithComment

* Improve styling

* Revert "Improve styling"

This reverts commit 9fbbf2db006e529330edc64f3eb8ff9ecdde6bb0.

* Improve CSS styling

* Bring back border radius inadvertently removed

* padding adjustment

* Improve blocknote design

* Improve edit mode display

* Remove Comments.tsx

* Remove irrelevant comment stories

* Removed un-necessary panel component

* stop using fragment, move trash icon

* Add a basic story for CompanyShow

* Add a basic People show view

* Fix storybook tests

* Add very basic Person story

* Refactor PR1

* Refactor part 2

* Refactor part 3

* Refactor part 4

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Félix Malfait
2023-07-10 07:25:34 +02:00
committed by GitHub
parent ca180acf9f
commit 94a913a41f
191 changed files with 5390 additions and 721 deletions

View File

@ -1,4 +1,5 @@
import {
Comment,
CommentableType,
CommentThread,
CommentThreadTarget,
@ -6,8 +7,21 @@ import {
type MockedCommentThread = Pick<
CommentThread,
'id' | 'createdAt' | 'updatedAt' | '__typename'
| 'id'
| 'createdAt'
| 'updatedAt'
| '__typename'
| 'body'
| 'title'
| 'authorId'
> & {
author: {
__typename?: 'User' | undefined;
id: string;
firstName: string;
lastName: string;
};
comments: Array<Pick<Comment, 'body'>>;
commentThreadTargets: Array<
Pick<
CommentThreadTarget,
@ -27,6 +41,15 @@ export const mockedCommentThreads: Array<MockedCommentThread> = [
id: '89bb825c-171e-4bcc-9cf7-43448d6fb230',
createdAt: '2023-04-26T10:12:42.33625+00:00',
updatedAt: '2023-04-26T10:23:42.33625+00:00',
title: 'My very first note',
body: null,
author: {
id: '374fe3a5-df1e-4119-afe0-2a62a2ba481e',
firstName: 'Charles',
lastName: 'Test',
},
authorId: '374fe3a5-df1e-4119-afe0-2a62a2ba481e',
comments: [],
commentThreadTargets: [
{
id: '89bb825c-171e-4bcc-9cf7-43448d6fb300',
@ -63,6 +86,15 @@ export const mockedCommentThreads: Array<MockedCommentThread> = [
id: '89bb825c-171e-4bcc-9cf7-43448d6fb278',
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString(),
title: 'Another note',
body: null,
author: {
id: '374fe3a5-df1e-4119-afe0-2a62a2ba481e',
firstName: 'Charles',
lastName: 'Test',
},
authorId: '374fe3a5-df1e-4119-afe0-2a62a2ba481e',
comments: [],
commentThreadTargets: [
{
id: '89bb825c-171e-4bcc-9cf7-43448d6fb278',

View File

@ -9,7 +9,7 @@ type MockedCompany = Pick<
| 'createdAt'
| 'address'
| 'employees'
| '_commentCount'
| '_commentThreadCount'
> & {
accountOwner: Pick<
User,
@ -25,7 +25,7 @@ export const mockedCompaniesData: Array<MockedCompany> = [
createdAt: '2023-04-26T10:08:54.724515+00:00',
address: '17 rue de clignancourt',
employees: 12,
_commentCount: 1,
_commentThreadCount: 1,
accountOwner: {
email: 'charles@test.com',
displayName: 'Charles Test',
@ -43,7 +43,7 @@ export const mockedCompaniesData: Array<MockedCompany> = [
createdAt: '2023-04-26T10:12:42.33625+00:00',
address: '',
employees: 1,
_commentCount: 1,
_commentThreadCount: 1,
accountOwner: null,
__typename: 'Company',
},
@ -54,7 +54,7 @@ export const mockedCompaniesData: Array<MockedCompany> = [
createdAt: '2023-04-26T10:10:32.530184+00:00',
address: '',
employees: 1,
_commentCount: 1,
_commentThreadCount: 1,
accountOwner: null,
__typename: 'Company',
},
@ -65,7 +65,7 @@ export const mockedCompaniesData: Array<MockedCompany> = [
createdAt: '2023-03-21T06:30:25.39474+00:00',
address: '',
employees: 10,
_commentCount: 0,
_commentThreadCount: 0,
accountOwner: null,
__typename: 'Company',
},
@ -76,7 +76,7 @@ export const mockedCompaniesData: Array<MockedCompany> = [
createdAt: '2023-04-26T10:13:29.712485+00:00',
address: '10 rue de la Paix',
employees: 1,
_commentCount: 2,
_commentThreadCount: 2,
accountOwner: null,
__typename: 'Company',
},
@ -87,7 +87,7 @@ export const mockedCompaniesData: Array<MockedCompany> = [
createdAt: '2023-04-26T10:09:25.656555+00:00',
address: '',
employees: 1,
_commentCount: 13,
_commentThreadCount: 13,
accountOwner: null,
__typename: 'Company',
},
@ -98,7 +98,7 @@ export const mockedCompaniesData: Array<MockedCompany> = [
createdAt: '2023-04-26T10:09:25.656555+00:00',
address: '',
employees: 1,
_commentCount: 1,
_commentThreadCount: 1,
accountOwner: null,
__typename: 'Company',
},

View File

@ -9,7 +9,7 @@ type MockedPerson = Pick<
| '__typename'
| 'phone'
| 'city'
| '_commentCount'
| '_commentThreadCount'
| 'createdAt'
> & {
company: Pick<Company, 'id' | 'name' | 'domainName' | '__typename'>;
@ -29,7 +29,7 @@ export const mockedPeopleData: Array<MockedPerson> = [
__typename: 'Company',
},
phone: '06 12 34 56 78',
_commentCount: 1,
_commentThreadCount: 1,
createdAt: '2023-04-20T13:20:09.158312+00:00',
city: 'Paris',
@ -47,7 +47,7 @@ export const mockedPeopleData: Array<MockedPerson> = [
__typename: 'Company',
},
phone: '06 12 34 56 78',
_commentCount: 1,
_commentThreadCount: 1,
createdAt: '2023-04-20T13:20:09.158312+00:00',
city: 'Paris',
@ -65,7 +65,7 @@ export const mockedPeopleData: Array<MockedPerson> = [
__typename: 'Company',
},
phone: '06 12 34 56 78',
_commentCount: 1,
_commentThreadCount: 1,
createdAt: '2023-04-20T13:20:09.158312+00:00',
city: 'Paris',
@ -83,7 +83,7 @@ export const mockedPeopleData: Array<MockedPerson> = [
__typename: 'Company',
},
phone: '06 12 34 56 78',
_commentCount: 2,
_commentThreadCount: 2,
createdAt: '2023-04-20T13:20:09.158312+00:00',
city: 'Paris',