* 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>
* new header for Readme
* new header for Readme
* new header for Readme
* Correct naming and changed assets
* Applied Strapi method for dark-mode images
* Corrected logo-square-dark look
* Corrected a typo
* Corrected spacing
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>
* 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
* 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>
* 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>
* Create and EditableRelation component and make it generic
* Refactor EditableCell component to be more flexible
* Complete Company picker on people page
* Fix lint
* feature: add company filter by name
* feature: add fitler on URL
* feature: set icons for sorts
* feature: add creation date and address sorts
* Add tests
---------
Co-authored-by: Charles Bochet <charles@twenty.com>
* bugfix: use original row id in cells to make sure it rerenders
* feature: implement multiple sorts
* bugfix: recreate new array to make sure component rerenders
* feature: orderBy is an array to keep orders
* test: snapshot the searchTemplate methods
* feature: remove the console log and return undefined
* feature: use orderByTemplate instead of hardcoded orderBy
* refactor: move sort and where filters helpers out of service
* refactor: rename file helper
* refactor: move assert function in test
* feature: add email filter
* feature: add city filter
* test: fix company search tests
* test: use the right value in test
* refactor: test all the filters in a loop
* feature: add operand list to filters
* feature: implement not include
* feature: add operand on filters
* feature: use filters operand instead of defaults
* test: adapt test with new operands
* refactor: remove useless %% in gql where
* test: test fullname filter
* test: add test for where rendering of filters
* Add filter search logic
WIP Filter search
Implement filters
test: fix sorts tests
test: fix filter test
feature: search person and display firstname in results
feature: fix test for filter component
test: mock search filters
refactor: create a useSearch hook
refactor: move debounce in useSearch and reset status of filter selection
feature: debounce set filters
refactor: remove useless setSorts
feature: add where variable to people query
feature: strongly type Filters
feature: update WhereTemplate method
feature: implement filtering on full name
feature: type the useSearch hook
feature: use where reducer
refactor: create a type for readability
feature: use query and mapper from filters
feature: implement filter by company
feature: search filter results on filter select
feature: add loading and results to search results in filters
refactor: move render search results in a function
feature: display a LOADING when it loads
feature: split search input and search filter for different debounce
refactor: remove some warnings
refactor: remove some warnings
* Write test 1
* Write test 2
* test: useSearch is tested
* test: update names of default people data
* test: add a filter search
* Test 3
* Fix tests
---------
Co-authored-by: Charles Bochet <charles@twenty.com>