twenty/packages/twenty-front
pereira0x c3417ddba1
Share an email thread to workspace members chip and dropdown (#4199) (#5640)
# Feature: Email thread members visibility

For this feature we implemented a chip and a dropdown menu that allows
users to check which workspace members can see an email thread, as
depicted on issue (#4199).

## Implementations

- create a new database table (messageThreadMember)
- relations between `messageThreadMembers` and the relevant existing
tables (`MessageThread` and `WorkspaceMembers`)
- added a new column to the `MessageThread table`: `everyone` - to
indicate that all workspace members can see the email thread
- create a new repository for the new table, including new queries
- edit the queries so that the new fields could be fetched from the
frontend
- created a component `MultiChip`, that shows a group of user avatars,
instead of just one
- created a component, `ShareDropdownMenu`, that shows up once the
`EmailThreadMembersChip` is clicked. On this menu you can see which
workspace members can view the email thread.

## Screenshots

Here are some screenshots of the frontend components that were created:

Chip with everyone in the workspace being part of the message thread:

![image](https://github.com/twentyhq/twenty/assets/26422084/80d75cdc-656f-490d-9eb1-a07346aad75c)

Chip with just one member of the workspace (the owner) being part of the
message thread:

![image](https://github.com/twentyhq/twenty/assets/26422084/c26677c6-ab93-4149-8201-b110d7346a28)

Chip with some members of the workspace being part of the message
thread:

![image](https://github.com/twentyhq/twenty/assets/26422084/9eccf5f8-134c-4c62-9145-5d5aa2346071)

How the chip looks in a message thread:

![image](https://github.com/twentyhq/twenty/assets/26422084/a9de981d-7288-4aed-8616-c1cb7de524e2)

Dropdown that opens when you click on the chip:

![image](https://github.com/twentyhq/twenty/assets/26422084/a1bb9cd4-01bb-45c5-bf8b-b31c2f3d85e0)

## Testing and Mock data

We also added mock data (TypeORM seeds), focusing on adding mock data
related to message thread members.

## Conclusion

As some of the changes that we needed to do, regarding the change of
visibility of the message thread, were not covered by the existing
documentation, we were told to open a PR and ask for feedback on this
part of the implementation. Right now, our implementation is focused on
displaying who is part of an email thread.

Feel free to let us know which steps we should follow next :)

---------

Co-authored-by: Simão Sanguinho <simao.sanguinho@tecnico.ulisboa.pt>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-07-31 18:50:27 +02:00
..
__mocks__ Fix overlay scroll gaps (#4512) 2024-03-31 10:53:37 +02:00
.storybook Clarify storybook tests (#6073) 2024-06-30 20:02:13 +02:00
public Serverless function UI (#6388) 2024-07-29 13:03:09 +02:00
scripts feat: add SENTRY_RELEASE env (#4912) 2024-04-11 16:53:15 +02:00
src Share an email thread to workspace members chip and dropdown (#4199) (#5640) 2024-07-31 18:50:27 +02:00
.env.example Delete auth/file front variables (#4455) 2024-03-19 22:19:40 +01:00
.eslintrc-ci.cjs chore: enable no-console eslint rule for tests and stories (#4816) 2024-04-04 18:36:39 +02:00
.eslintrc.cjs Activity as standard object (#6219) 2024-07-31 15:36:11 +02:00
.gitignore Feat/put target object identifier on use activities (#4682) 2024-04-01 13:12:37 +02:00
.prettierignore Update twenty-front commands (#4667) 2024-04-17 18:06:02 +02:00
.swcrc Migrate to a monorepo structure (#2909) 2023-12-10 18:10:54 +01:00
codegen-metadata.cjs Serverless function UI (#6388) 2024-07-29 13:03:09 +02:00
codegen.cjs Serverless function UI (#6388) 2024-07-29 13:03:09 +02:00
index.html Migrate to a monorepo structure (#2909) 2023-12-10 18:10:54 +01:00
jest.config.ts Fix tests and lint (#6303) 2024-07-17 14:52:17 +02:00
nyc.config.cjs Added Linaria for performance optimization (#5693) 2024-06-12 16:31:07 +02:00
package.json Bump version to v0.22.0 (#6292) 2024-07-16 17:14:35 +02:00
project.json Fix reset PasswordToken (#6366) 2024-07-22 17:36:31 +02:00
README.md Migrate to a monorepo structure (#2909) 2023-12-10 18:10:54 +01:00
setupTests.ts chore: setup twenty-ui absolute path alias (#4732) 2024-04-04 15:38:01 +02:00
tsconfig.app.json fix: fix root start script (#5032) 2024-04-19 18:28:02 +02:00
tsconfig.json Activity as standard object (#6219) 2024-07-31 15:36:11 +02:00
tsconfig.spec.json fix: fix root start script (#5032) 2024-04-19 18:28:02 +02:00
tsconfig.storybook.json fix: fix root start script (#5032) 2024-04-19 18:28:02 +02:00
tsup.config.ts Update twenty-front commands (#4667) 2024-04-17 18:06:02 +02:00
tsup.ui.index.tsx feat: implement new SnackBar design (#5515) 2024-05-23 12:19:50 +02:00
vite.config.ts 5421 box shadow on frozen header and first column (#6130) 2024-07-05 18:30:59 +02:00

Run yarn dev while server running on port 3000