Commit Graph

326 Commits

Author SHA1 Message Date
Charles Bochet
540ad4929d
Felix icons (#312)
* Fix icon size in table top bar

* Replace building icon

* Replace Employees icon

* Replace map icon

* Replace calendar icon

* Replace Target icon
2023-06-15 18:07:56 +02:00
Lucas Bordeau
d28a762661
Finished relation picker for companies (#305)
* Finished relation picker for companies

* Minor fixes
2023-06-15 16:53:59 +02:00
Charles Bochet
763534ff45
Add update, create and delete pipelineProgress endpoints (#297) 2023-06-15 12:08:13 +02:00
Lucas Bordeau
fdfb6f10e2
Implemented comment thread target picker with new dropdown components (#295)
* First draft of new relation picker and usage in comments
---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-14 18:48:26 +02:00
Charles Bochet
2a1804c153
Update graphql schema and upgrade yarn lock files (#296)
* Update graphql schema
2023-06-14 18:30:24 +02:00
Sammy Teillet
287168f691
289 on opportunities page i see person and company card layout read only (#293)
* feature: create boardCard component

* test: add snapshot for BoardCards

* feature: fix typename of company

* feature: add max width on BoardItem

* feature: design CompanyBoardCard

* feature: Add People picture and name

* feature: design PeopleCard

* feature: fix font weight for card header

* test: fix storybook for board

* test: add unit test for column optimistic renderer
2023-06-14 17:06:50 +02:00
Félix Malfait
31f3950439
Add a custom rule to prevent colors from being hardcoded outside of theme (#288)
* Add a custom rule to prevent colors from being hardcoded in ESLint

* Refactor colors

* Create packages folder and fix colors

* Remove external dependency for css alphabetical order linting

* Fix install with yarn

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-14 16:56:29 +02:00
Sammy Teillet
bf6fb0ba70
282 on opportunities page data pipeline + companies + people is fetched from be (#285)
* feature: get pipelines columns from backend

* feature: display item not found instead of crashing

* feature: add BoardCard component

* feature: display items from the backend

* refactor: extract useBoard in a hook

* refactor: export only loading and error from useBoard

* refactor: create var pipelineStage

* feature: implement support for Company boards
2023-06-14 10:37:44 +02:00
Félix Malfait
eb8fc50ff1
Add rule to order css in styled components alphabetically (#284)
* Add plugin

* Run plugin
2023-06-14 07:59:16 +02:00
Félix Malfait
830b76cd9a
Icon refactoring (#287)
* Refactor icons

* Fix additional icons
2023-06-14 07:55:54 +02:00
Félix Malfait
b9c41a1dcd
Add settings page (#273)
* Add settings page

* Add 'soon' pill and logout

* Refactor components and layout

* Begin improving mobile display

* Add stories and refactor
2023-06-13 17:10:57 +02:00
Sammy Teillet
c20fd458ae
278 refactor uiboard opportunitiesboard + put state in recoil (#280)
* refactor: move Board file to opportunities

* refactor: dropable props are move in ui component

* refactor: rename provided in droppableProvided

* refactor: rename provided in draggableProvided

* refactor: rename BoardCard in BoardItem

* refactor: rename BoardCard in BoardItem file

* refactor: BoardItem use children instead of content

* refactor: Extract StyledColumnContainer

* refactor: create method to get optimistic new board after update

* refactor: move getOptimisticNewBoard in board UI

* refactor: make provided nullable

* lint: remove unused import
2023-06-13 17:02:09 +02:00
Lucas Bordeau
3a719001de
Refactor/dropdown menu (#279)
* Created dropdown menu UI component with story

* Added all components for composing Dropdown Menus

* Better component naming and reordered stories

* Solved comment thread from review
2023-06-13 15:15:19 +02:00
Charles Bochet
16e1b862d9
Refresh comments threads and count on new comment (#276)
* Refresh comments threads and count on new comment

* Fix tests
2023-06-12 19:32:18 +02:00
Félix Malfait
3341539eb2
Add arrow up/down+enter navigation to select relation (#275)
* Add arrow up/down+enter navigation to select relation
2023-06-12 17:52:16 +02:00
Charles Bochet
be863a22c9
Truncate comment user name when too long (#274) 2023-06-12 16:39:56 +02:00
Félix Malfait
c99fa74e2f
Fix frontend test: no need to convert to UTC (#266) 2023-06-12 13:33:58 +02:00
Lucas Bordeau
05d22c1b06
Lucas/t 295 fix checkbox column width (#261)
* wip

* Fixed table and column width

* Use last resizable column instead of table width 100%

* Removed comments

* Fix lint

* Fixed table theme

* Removed left clickable margin

* Removed overflow

* Added table width
2023-06-12 10:47:35 +00:00
Félix Malfait
c53be4febc
Add Right click to take action (#263)
* Add Right click to take action

* Create Position type and style row with background when selected
2023-06-09 18:36:39 +02:00
Félix Malfait
f6e1e626fd
Make the sidebar collapsable (#260)
* Make the sidebar collapsable

* Fix padding

* Automatically collapase sidebar and hide container on mobile

* Hide navbar content when navbar is collapsed

* Update naming convention for states
2023-06-09 15:09:21 +02:00
Lucas Bordeau
1d6f1f4551
Fixed space between filter & sort button is too large (#259)
Fixed filters CSS
2023-06-09 11:07:11 +02:00
Lucas Bordeau
ab1f1a3f67
Added shadow effect on table cell hover (#258)
Added shadow effect to replace border resizing components
2023-06-09 11:06:01 +02:00
Félix Malfait
024adb9221
Add cmd k to navigate pages (#254)
* Begin styled command bar

* Add 2 commands and improve styling

* Add storybook

* Move z-index to variables and use hotkey hook
2023-06-08 18:28:02 +02:00
Lucas Bordeau
4727c00a0a
Lucas/t 365 on comment drawer i see a add comment section with severa (#256)
* Added comments and authors on drawer with proper resolving

* Fixed generated front graphql from rebase

* Fixed comment chip

* wip

* wip 2

* - Added string typing for DateTime scalar
- Refactored user in a recoil state and workspace using it
- Added comment creation

* Put theme and user state in generic providers

* Fix from rebase

* Fixed app theme provider removed from storybook

* Wip

* Fix graphql front

* Fixed backend bug

* - Added comment fetching in creation mode
- Fixed drawer overflows and heights

* - Fixed autosize validation button CSS bug

* Fixed CSS bug with drawer changing height if overflow

* Fixed text input too many event catched and useless error message

* Removed console.log

* Fixed comment cell chip

* Create comment thread on each comment action bar click

* Fixed lint

* Fixed TopBar height
2023-06-08 17:40:58 +02:00
Sammy Teillet
49a99c8ae6
Sammy/t 392 aau i can drag and drop opportunities (#257)
* refactor: extract data from Board component

* feature: display board on opportunities page

* test: add strict mode in storybook

* chore: replace dnd to make it work with React 18 and strict mode

Atlassion has not fixed this issue in a year so we use the fork @hello-pangea/dnd
https://github.com/atlassian/react-beautiful-dnd/issues/2350

* refactor: move mocked-data in a file

* chore: use real column names in mock data

* feature: design columns

* feature: add New button at bottum of columns

* bugfix: move header out of dragable so the cards does not flicker on drop

* lint: remove useless imports

* refactor: rename board item key
2023-06-08 17:40:25 +02:00
Sammy Teillet
b827716d1b
Sammy/t 394 aadev i have a storybook with drag and drop features (#255)
* feature: add Board component

* feature: add BoardColumn

* feature: add BoardCard

* chore: install react beautiful dnd

* refactor: use children instead of item parameter

* feature: wrap board in DragDropContext

* feature: wrap columns in dropable

* feature: wrap boardCard in draggable

* feature: add a second column

* refactor: rename columns to initialBoard

* refactor: use itemKeys instead if item directly

* feature: add key for react to render

* refactor: type the onDragEnd callback

* feature: drag and drop elements between columns
2023-06-08 15:09:40 +02:00
Lucas Bordeau
ce4ba10f7b
Lucas/t 369 on comment drawer i can reply to a comment thread and it (#206)
* Added prisma to suggested extension in container

* Added comments and authors on drawer with proper resolving

* Fix lint

* Fix console log

* Fixed generated front graphql from rebase

* Fixed right drawer width and shared in theme

* Added date packages and tooltip

* Added date utils and tests

* Added comment thread components

* Fixed comment chip

* wip

* wip 2

* - Added string typing for DateTime scalar
- Refactored user in a recoil state and workspace using it
- Added comment creation

* Prepared EditableCell refactor

* Fixed line height and tooltip

* Fix lint
2023-06-08 08:36:37 +00:00
Lucas Bordeau
5e2673a2a4
Lucas/t 366 on comment drawer when i have comments on the selected (#201)
* Fixed right drawer width and shared in theme

* Added date packages and tooltip

* Added date utils and tests

* Added comment thread components

* Fixed comment chip

* Fix from rebase

* Fix from rebase

* Fix margin right

* Fixed CSS and graphql
2023-06-07 10:48:44 +00:00
Sammy Teillet
b1bf050936
test: add story for table header (#204)
* test: add story for table header

* feature: wrap chips in a container and set shrink to 0 so they don't grow vertically

* feature: cancel button is darker

* feature: set gap between chip to 4px instead of 8

* lint: remove unused code

* bugfix: ChipContainer has a starting margin
2023-06-06 17:45:07 +02:00
Sammy Teillet
86e00c3a03
Sammy/t 362 on people view when i click on comment bubble icon row level (#202)
* test: add empty comment test

* test: comments section opens on click on comments chip

* test: add a failing test for opening comment section

* feature: open comments drawer on click on comment chip

* test: refactor company test, create folders
2023-06-06 14:34:35 +02:00
Félix Malfait
2315504ee4
Add square logo without border radius (#199) 2023-06-06 09:37:42 +02:00
Felix Malfait
41fe78bc4c
Enable dark mode and fix theme 2023-06-05 22:20:55 +02:00
Sammy Teillet
c70bea9513
feature: display a message when user is not defined (#196)
* feature: display a message when user is not defined

* feature: display text in a fadein in case redirection is slow
2023-06-05 15:55:45 +00:00
Sammy Teillet
4cde1d68e8
Sammy/t 367 on comment drawer update top right close icon to match figma (#195)
* style: add a story for right drawer topbar

* style: use same cross from Tb but rotate it
2023-06-05 15:46:28 +00:00
Sammy Teillet
236437e4ff
Sammy/t fix display of comment section (#197)
* feature: do not display commentChip if no comments

* style: add mocked data for comment sections
2023-06-05 17:36:56 +02:00
Sammy Teillet
063ef8a4eb
Sammy/t refactor services use generated code (#194)
* refactor: use generated queries for Companies

* refactor: remove useQuery from service, use generated code

* refactor: rename to ts file instead of tsx

* bugfix: use generatd queries, and fix non existing id in workspace member query
2023-06-05 17:36:14 +02:00
Lucas Bordeau
fe70f30a29
Lucas/t 364 on comment drawer i can fetch all comment threads with (#193)
* Added prisma to suggested extension in container

* Added comments and authors on drawer with proper resolving

* Fix lint

* Fix console log

* Fixed generated front graphql from rebase
2023-06-05 15:23:29 +02:00
Sammy Teillet
6de90024ef
Sammy/t 363 comments count at row level depends on total comments number (#192)
* feature: add rightEndContent to editable cell

* refactor: use rightEndContent instead of comments sections

* refactor: move commentCount in a var

* feature: get commentsCount from backend

* refactor: use an index

* feature: use commentCount from backend on people

* refactor: rename commentCount for companies

* refactor: use generated queries, instead of useQuery
2023-06-05 14:41:27 +02:00
Charles Bochet
d3684b34c5
Refactor Editable Cell (#191) 2023-06-04 22:47:49 +02:00
Charles Bochet
7b858fd7c9
Reorganize frontend and install Craco to alias modules (#190) 2023-06-04 11:23:09 +02:00
Charles Bochet
bbc80cd543
Refactor backend and add exception handlers (#189) 2023-06-04 00:21:36 +02:00
Lucas Bordeau
a2fe159c2c
Feat/open comment drawer from comment chip (#187)
* wip

* Can open comment right drawer from company name cell
2023-06-02 17:51:17 +02:00
Lucas Bordeau
69c1095055
Created ComponentChip and CellComponentChip and their stories (#186)
* Created ComponentChip and CellComponentChip and their stories

* Fixed from comments

* Fixed icon color

* Fixed needle in a haystack bug
2023-06-02 17:22:48 +02:00
Charles Bochet
a618636180
Add tests on Editable relation (#188) 2023-06-02 16:48:44 +02:00
Charles Bochet
f23bbb9a68
Rename pipeline schema (#184) 2023-06-02 12:39:58 +02:00
Charles Bochet
0609994477
Implement comment count on person and company (#183) 2023-06-02 12:35:20 +02:00
Charles Bochet
2395f791c8
Add Pipelines models in server (#182)
* Hide workspace and refresh token from schema

* Add pipe models and migrations

* Add seeds

* Update FE graphql schema
2023-06-02 11:20:21 +02:00
Lucas Bordeau
bf3097500a
Lucas/t 223 i can add comments to companies or people using the right (#181)
* wip

* Implemented comment input text component

* Improved behavior
2023-06-01 19:49:37 +02:00
Charles Bochet
a1fe16812e
Setup our own icons library (#177) 2023-06-01 19:22:35 +02:00
Charles Bochet
9ffd347655
Apply various frontend fixes (#179) 2023-06-01 19:22:26 +02:00
Lucas Bordeau
58bbadcc30
Lucas/t 353 checkbox should change state when clicking on their whole (#167)
* Added on click on Checkbox component

* - Added test in story
- Added sleep util
- Fixed click target collision (thanks to test !)

* Use a new CheckboxCell to wrap Checkbox

* Fixed lint

* Refactored CSS after comment

* Fixed tests
2023-06-01 13:29:53 +00:00
Lucas Bordeau
52582124f9
Removed borders on workspace container (#171)
* Wip

* Added mocks on main App story and fixed small mock bugs

* Removed borders on WorkspaceContainer
2023-06-01 12:01:27 +02:00
Charles Bochet
621c3c3213 Build Storybook on main 2023-06-01 11:40:50 +02:00
Charles Bochet
51790d8484
Add chromatic testing (#170) 2023-06-01 11:20:05 +02:00
Charles Bochet
7d87598953 Fix design filter dropdown 2023-06-01 09:12:23 +02:00
Charles Bochet
1ff1dd252c Fix tests 2023-06-01 01:09:48 +02:00
Charles Bochet
5b545e5bc6 Fix design Add button in top bar 2023-06-01 01:01:17 +02:00
Charles Bochet
902aa28150
Apply a few frontend fixes on dropdown (#169) 2023-06-01 00:56:32 +02:00
Lucas Bordeau
723ea462e8
Lucas/t 352 i dont want another input cell to open when i click outside (#163)
* Added logic to handle global edit mode

* Added recoil global edit mode state into generic editable components

* Fix lint

* Added tests
2023-05-31 16:33:11 +02:00
Félix Malfait
c61beb1066
Reorganize icons for doc and manigest.json (#166)
* Reorganize icons for doc and manigest.json

* Fix icons path

* Fix path in index.html
2023-05-31 15:44:38 +02:00
Charles Bochet
a3a3c1924f
Add comments to Prisma Schema and GraphQL server (#162)
* Lowercase all relations in prisma/graphql schema

* Add Comments data model and graphql schema

* Make comments availalble on the api through resolvers and guard them

* Update front graphql schema

* Fix PR
2023-05-31 15:41:53 +02:00
Charles Bochet
c0658e1591
Update company logo fetch api (#161) 2023-05-31 11:08:35 +02:00
Charles Bochet
910d49f559
Fix layout behavior with Right panel open (#160) 2023-05-31 09:52:17 +02:00
Lucas Bordeau
cb259d5cf1
Feat/add right drawer (#159)
* Added right drawer component and logic

* Refactored layout to accept right drawer
2023-05-30 21:03:50 +02:00
Charles Bochet
3674365e6f
Scope server with workspace (#157)
* Rename User to AuthUser to avoid naming conflict with user business entity

* Prevent query by workspace in graphql

* Make full user and workspace object available in graphql resolvers

* Add Seed to create companies and people accross two workspace

* Check workspace on all entities findMany, find, create, update)
2023-05-30 20:40:04 +02:00
Charles Bochet
30d2337462
Add tests on companies page (#155) 2023-05-29 22:08:01 +02:00
Charles Bochet
2f50cdc07e
Update FE case to match BE graphql case (camelCase) (#154) 2023-05-29 19:45:55 +02:00
Charles Bochet
f935a6b723
Re-write test with storybook testing library (#150)
* Re-write test with storybook testing library

* Update CI
2023-05-29 11:02:38 +02:00
Lucas Bordeau
8f88605f32
Lucas/refactored table state with recoil (#149)
* Fixed ActionBar paddings and added transition on button hover

* Added recoil library for state management

* Refactor table state with recoil :

- Removed table internal states
- Added refetchQueries to plug apollo store directly into tables
- Added an action bar component that manages itself
- Use recoil state and selector for row selection
- Refactored Companies and People tables

* Moved hook

* Cleaned some files

* Fix bug infinite re-compute table row selection

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-27 08:41:26 +02:00
Charles Bochet
b95ac8b40b
Add logo on navbar workspace container (#147) 2023-05-26 17:41:21 +02:00
Charles Bochet
26d3716ae7
Implement scoping on be (#144) 2023-05-26 14:00:32 +02:00
Charles Bochet
112aa3720b
Fix graphql Queries (#142) 2023-05-26 08:33:33 +02:00
Charles Bochet
17f5cf1766 Fix graphql queries 2023-05-26 00:31:43 +02:00
Lucas Bordeau
b0044ed1a2
Lucas/t 231 timebox i can create a company at the same time im creating (#140)
This PR is a bit messy:

adding graphql schema
adding create company creation on company select on People page
some frontend refactoring to be continued

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-25 23:09:23 +02:00
Sammy Teillet
fecf45f3bc
Sammy/t 245 implement resolvers matching hasura (#139)
* chore: remove old resolvers

* refactor: move generated file in code base

* feature: use only necessary code in graphql

* feature: implement query companies

* feature: implement companies and relations

* feature: implement all companies resolvers

* feature: implement all people resolver

* feature: add use resolvers

* feature: implement resolvers for workspace and users
2023-05-25 17:10:00 +02:00
Charles Bochet
61099f99b8
Simplify setup again to run in vscode (#138) 2023-05-25 16:58:33 +02:00
Charles Bochet
34543b7fea
Simplify local dev (#137) 2023-05-25 15:56:28 +02:00
Charles Bochet
80f9cc8797
Re-implement authentication (#136)
* Remove hasura and hasura-auth

* Implement authentication
2023-05-25 11:51:15 +02:00
Charles Bochet
5d06398d2e
Remove hasura and hasura-auth (#134)
* Remove hasura and hasura-auth

* Move all models to prisma

* Start implementing graphql

* chore: clean package json

* chore: make the code build

* chore: get initial graphql.tsx file

* feature: use typegql as qgl server

* refactor: small refactoring

* refactor: clean tests

* bugfix: make all filters not case sensitive

* chore: remove unused imports

---------

Co-authored-by: Sammy Teillet <sammy.teillet@gmail.com>
2023-05-24 17:20:15 +02:00
Charles Bochet
67353eda8e
Add all filters to tables + make column width fixed (#133)
* Add additional filters on companies and people page

* Make colunn width fixed

* Remove duplicate declaration of Unknown type
2023-05-21 22:47:18 +02:00
Charles Bochet
3370499ad8
Make many small frontend fixes (icons update, paddings, font-sizes) (#132) 2023-05-21 18:52:23 +02:00
Charles Bochet
5adc5b833c
Enable filtering by creation date with datepicker (#131)
Enable to filter by date with datepicker
2023-05-19 13:17:32 +02:00
Charles Bochet
192b89a7b7
Make companies employees type a number (#130)
Make companies employees type a number to be consistent with api
2023-05-19 11:53:50 +02:00
Charles Bochet
20bf89ab1e
Add employees and address filter on companies table page (#129) 2023-05-18 18:15:07 +02:00
Charles Bochet
5286dfd695
Refactor Filter type to accept Is, Is Not, Contains, Does not Contain (#128)
* Refactor Filter type to accept Is, Is Not, Contains, Does not Contain

* Remove any and add tests
2023-05-18 15:32:57 +02:00
Charles Bochet
4211d5872b
Update favicon, manifest, page border (#127) 2023-05-18 10:07:47 +02:00
Charles Bochet
cdc9e24ac0
Simplifies search through relations usage (#126) 2023-05-17 23:10:00 +02:00
Charles Bochet
434e020846
Restructure project (#124) 2023-05-17 22:31:16 +02:00
Sammy Teillet
baca6150f5
Sammy/t 240 frontend filtering search is refactored (#122)
* refactor: use AnyEntity instead of any

* refactor: remove any and brand company type

* refactor: add typename for user and people

* bugfix: await company to be created before displaying it

* feature: await deletion before removing the lines

* refactor: remove default tyep for filters

* refactor: remove default type AnyEntity

* refactor: remove USers from filterable types

* refactor: do not depend on Filter types in Table

* Add tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-17 21:49:34 +02:00
Charles Bochet
bc49815ff0
Make all fields optional on entities (#121)
* Make all fields optional on entities

* Rewrite tests

* Add test on TableHeader Cancel button
2023-05-17 14:50:49 +02:00
Sammy Teillet
2facb383a2
bugfix: use row id instead of index to keep row selection after table… (#120)
* bugfix: use row id instead of index to keep row selection after table update

* bugfix: await creation before displaying the row and refetching
2023-05-17 14:43:09 +02:00
Charles Bochet
499752ed6b
Refactor Filters and Search (#119) 2023-05-17 13:25:33 +02:00
Charles Bochet
7208ec9e5a
Fix bug get current user (#115)
* Fix bug get current user

* Add tests

* Fix design on Workspace section in Navbar
2023-05-12 09:02:39 +02:00
Charles Bochet
6b2ccd460d
Update Favicon with new logo (#114) 2023-05-09 17:18:42 +02:00
Charles Bochet
2212900663
Enable deletion on table views (#113)
* Enable deletion on table views

* Add tests

* Enable deletion on table views for companies too
2023-05-08 23:26:37 +02:00
Charles Bochet
94ea9835a9
Enable multi-selection on table views (#112)
* Enable multi-selection on table views

* Enable multi-selection
2023-05-08 10:58:53 +02:00
Charles Bochet
48a75358b4
Enable add person on People Table (#111)
Add possibility to add Person on People table
2023-05-08 00:15:32 +02:00
Charles Bochet
50a4a97145
Add new line on Table Views (#110)
Add addition on Companies table
2023-05-07 23:41:22 +02:00
Charles Bochet
8c7815af79
Hide Opportunities as nothing is built yet and make company table fully editable (#109)
* Hide Opportunities as nothing is built yet and make company table fully editable

* Fix tests
2023-05-06 19:08:47 +02:00
Charles Bochet
760a49c5e3
Redesign DatePicker (#108) 2023-05-06 18:13:16 +02:00