Commit Graph

690 Commits

Author SHA1 Message Date
Félix Malfait
8af88d1ab3
README update (#749)
* README update

* Fix linter
2023-07-19 11:50:07 +02:00
Emilien Chauvet
c2fb8fd040
Add probability picker on Opportunity card (#747)
* Fix padding

* Update date input component

* Add Probability picker component on opportunity card

* lint
2023-07-18 23:54:34 -07:00
Lucas Bordeau
8a23a65c17
Fixed story for person show page (#746)
* Fixed story for person show page

* Remove console.logs

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-18 23:51:54 -07:00
Lucas Bordeau
7ecb098c55
Feat/editable fields update (#743)
* Removed console log

* Used current scope as default parent scope for fields

* Finished editable fields on people show page

* Added stories

* Console log

* Lint
2023-07-19 00:43:16 +00:00
Charles Bochet
5ee8eaa985
Make color scheme optimistically udpated (#745) 2023-07-19 00:35:03 +00:00
Emilien Chauvet
f98e49c26e
Opportunity fields (#744)
* Add opportunity probability and point of contact

* Have requests sent properly

* Add probaility field
2023-07-19 02:32:15 +02:00
Félix Malfait
10f7b08fdc
Add attachments (#733)
* Add attachments v1

* Refacto

* Add Policy checks

* Fix tests

* Remove generated files from git

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-18 15:24:03 -07:00
Lucas Bordeau
84018efc7d
Added two editable fields on company board card (#738) 2023-07-18 21:02:45 +02:00
Jérémy M
19e165fc05
feat: implementing experience page (#718)
* feat: add color scheme toggle
* feat: colorScheme stored in UserSettings model
* feat: add stories
* fix: AnimatePresence exit not working

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2023-07-18 17:47:27 +00:00
Emilien Chauvet
b313ba175d
Fix warnings for sorts (#735) 2023-07-18 17:17:11 +00:00
Thaïs
5d4fad2d96
feat: select line on checkbox container click (#732)
* feat: select line on checkbox container click

Closes #703

* Make onChange optional

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-18 10:00:48 -07:00
Thaïs
fdb2011a96
feat: add back button in company details top bar (#729)
* feat: add back button in company details top bar

Closes #636

* Add back button on person page

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-18 09:33:37 -07:00
Thaïs
434ea605a8
feat: close RightDrawer with ESC key (#719)
Closes #576
2023-07-18 09:02:08 -07:00
Jérémy M
4d37270e74
fix: background ugly white dot (#730) 2023-07-18 15:00:57 +02:00
Emilien Chauvet
e1b5463841
Add link to company page (#727)
* Add link to company page

* Have company chip background color matchin the card's

* Revert "Have company chip background color matchin the card's"

This reverts commit 8e9575fd933f9efb8d6614ec7287d6be28b81f7e.

* Create chip variants

* Lint

* code style

* Fix tests

* Fix tests

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-18 00:14:56 -07:00
Emilien Chauvet
6301bc2fbf
Feature/filter and sort board (#725)
* Get pipeline progress from stage IDs

* Rename hooks file

* Addd first amount filter

* Add remaining filters

* Design fixes

* Add filtering on creation date or amount

* Fix card updates and creations with the new state management

* Keep ordering when dropping a card

* Add remainint sorts

* Make board header more generic

* Move available filters and sorts to board options

* Fix decorators for test

* Add pipeline stage ids to mock data

* Adapt mock data

* Linter
2023-07-17 19:32:47 -07:00
Charles Bochet
9895c1d5d6 Fix clicks do not work anymore 2023-07-17 19:15:47 -07:00
Charles Bochet
a972705ce6
Improve test coverage and refactor storybook arch (#723)
* Improve test coverage and refactor storybook arch

* Fix coverage

* Fix tests

* Fix lint

* Fix lint
2023-07-17 17:14:53 -07:00
Lucas Bordeau
5b21657c4e
Feat/harmonize chips cell fields (#724)
* Wip

* Finished

* Fix lint
2023-07-17 17:14:09 -07:00
Thaïs
8b7314cd39
fix: fix kanban amount color (#717)
Fixes #673
2023-07-17 11:13:58 +02:00
Charles Bochet
b76047d255
Fix ImageInput object-fit, fix People page title (#712) 2023-07-17 06:25:41 +00:00
Charles Bochet
4cb856a180
Design fixes (#696)
* Design fixes

* Fix design

* unused code

* Fix tests
2023-07-16 17:36:40 -07:00
Charles Bochet
6ced8434bd
Uniformize folder structure (#693)
* Uniformize folder structure

* Fix icons

* Fix icons

* Fix tests

* Fix tests
2023-07-16 14:29:28 -07:00
Charles Bochet
900ec5572f Fix linter 2023-07-16 10:36:07 -07:00
Félix Malfait
11405f561f
Bug fix: avatar of account owner not displayed (#690)
* Begin - fix account owner not displayed

* Finish - profile pic of account owner not displayed
2023-07-16 10:03:19 -07:00
Charles Bochet
51d25c3e93 Fix merge conflict 2023-07-16 09:54:36 -07:00
Charles Bochet
037628ab1d
Enable Task creation (#688) 2023-07-16 09:39:52 -07:00
Charles Bochet
098cd038bd Fix bugs on pipeline new card creation and checkboxes not scrollable 2023-07-16 01:19:26 -07:00
Charles Bochet
fcdc82c07a Fix glitch on pipeline update stage title 2023-07-15 19:43:49 -07:00
Charles Bochet
a2fcc3082f Fix according to peer review 2023-07-15 19:33:59 -07:00
Emilien Chauvet
91c8068db1
Enable column edition, and fix ordering (#683)
* Enable column edition, and fix ordering

* Move queries to services

* Add total amounts for board columns

* Refactor totals selector as a family

* Fix 0-index issue

* Lint

* Rename selector

* Remove useless header

* Address PR comments

* Optimistically update board column names
2023-07-15 19:32:16 -07:00
Lucas Bordeau
be21392737
Feat/company card fields (#686)
* wip

* Ok

* asd

* Fixed cancel submit

* Renamed

* Fixed
2023-07-15 19:17:31 -07:00
Félix Malfait
7959308e0b
Add search to cmd bar (#667)
* Move useFilteredSearchEntityQuery from relation picker to search module

* refactor duplicated code with useFilteredSearchCompanyQuery

* Implement similar pattern for people than for companies with useFilteredSearchEntityQuery

* Fix warning from a previous PR

* Enable search from menu

* Add companies to search

* Fix ESLint

* Refactor

* Fix according to peer review

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-15 15:23:37 -07:00
Charles Bochet
b982788100
Fix checkbox issues (#681)
* Fix checkbox issues

* Fix theme
2023-07-15 14:16:02 -07:00
Charles Bochet
2bbcf6980a
Fix pipeline bug on scroll (#666)
* Fix pipeline bug on scroll

* Fix lint

* Fix lint
2023-07-15 11:00:32 -07:00
Emilien Chauvet
efd4ed16d6
Update checkbox API (#663)
* Update checkbox API

* Fix test
2023-07-14 18:44:32 -07:00
Charles Bochet
b971464fe5
Design fixes (#665) 2023-07-14 18:43:16 -07:00
Emilien Chauvet
0a319bcf86
Refacto board (#661)
* Refacto pipeline progress board to be entity agnostic

* Abstract hooks as well

* Move files

* Pass specific components as props

* Move board hook to the generic component

* Make dnd and update logic part of the board

* Remove useless call and getch pipelineProgress from hook

* Minot

* improve typing

* Revert "improve typing"

This reverts commit 49bf7929b6.

* wip

* Get board from initial component

* Move files again

* Lint

* Fix story

* Lint

* Mock pipeline progress

* Fix storybook

* WIP refactor recoil

* Checkpoint: compilation

* Fix dnd

* Fix unselect card

* Checkpoint: compilation

* Checkpoint: New card OK

* Checkpoint: feature complete

* Fix latency for delete

* Linter

* Fix rebase

* Move files

* lint

* Update Stories tests

* lint

* Fix test

* Refactor hook for company progress indexing

* Remove useless type

* Move boardState

* remove gardcoded Id

* Nit

* Fix

* Rename state
2023-07-14 17:51:16 -07:00
Charles Bochet
e93a96b3b1
Refactor hotkyes in its own lib folder (#660)
* Refactor hotkyes in its own lib folder

* Lint

* Fix PR comments

* rename hotkeysScope into hotkeyScope
2023-07-14 12:27:26 -07:00
Félix Malfait
7bcea343e2
Design fixes for #615 and #637 (#658)
Fixes #615 and #637
2023-07-14 12:36:48 +02:00
Emilien Chauvet
ff69b17210
Reorder company columns (#656) 2023-07-13 21:41:12 -07:00
Jérémy M
03364330d1
feat: snack-bar component (#626)
* feat: SnackBarProvider and queuing

* feat: use snack bar on onboarding errors

* feat: workspace copy use snackBar

* fix: remove magic number
2023-07-14 04:27:09 +00:00
Charles Bochet
551c3b5e60
Persist table cell values on cell close (#655)
* Persist table cell values on cell close

* Apply to all cells
2023-07-14 06:20:08 +02:00
Thaïs
ca1723f2e6
fix: fix cell border radius on soft focus (#649)
* refactor: add RootDecorator

* docs: add EditableCellText stories

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2023-07-14 00:03:23 +02:00
Lucas Bordeau
d70234f918
Fix/table remove and mock data (#653)
* Removed tanstack react table

* Fixed remove table feature without tanstack table

* Fixed delete people and companies

* Fixed hotkeys on editable date cell

* Fixed double text

* Fixed company mock mode

* Fixed lint

* Fixed right click selection
2023-07-13 12:43:00 -07:00
Félix Malfait
e8bd3b7a14
Design improvements (#645)
* Redesign checkbox components

* Fix spacing issue

* Fix cell hover color in dark mode

* Revert column order change because of commit conflict
2023-07-13 21:00:12 +02:00
Félix Malfait
15685018df
Fix dark mode background (#643) 2023-07-13 20:57:26 +02:00
Lucas Bordeau
734e18e01a
Refactor/remove react table (#642)
* Refactored tables without tan stack
* Fixed checkbox behavior with multiple handlers on click
* Fixed hotkeys scope
* Fix debounce in editable cells
* Lowered coverage

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-13 17:08:13 +00:00
Jérémy M
e7d48d5373
Add validation on onboarding flow inputs (#556)
* feat: wip react-hook-form

* feat: use react-hook-form for password login

* feat: clean regex

* feat: add react-hook-form on create workspace

* feat: add react-hook-form on create profile page

* fix: clean rebased code

* fix: rebase issue

* fix: add new stories to go over 65%

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-12 16:53:48 -07:00
Emilien Chauvet
ab3d326000
Set title and icon for topbar (#627) 2023-07-12 14:40:29 -07:00
Félix Malfait
e7a0f60ea0
Add total deal amount on top of pipeline column (#622)
Add total on top of pipeline column
2023-07-12 09:22:25 -07:00
Félix Malfait
1c3d68a537
Add click to reveal password (#624) 2023-07-12 07:59:01 -07:00
Félix Malfait
daad2bab75
Fix spacing issue on show page (#623) 2023-07-12 07:54:16 -07:00
Deepak Singh
6f90046779
fix: BUG - Left drawer profile menu item not hovered (#625) 2023-07-12 14:09:37 +02:00
Lucas Bordeau
5e0e449e4c
Fix/table rerenders (#609)
* Fixed top bar rerenders

* Fixed rerender on editable cell

* Fix lint

* asd

* Fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-11 20:51:24 -07:00
Emilien Chauvet
b5de2abd48
Move filter and sort compoenets in a separate lib (#612)
* Move filter and sort compoenets in a separate lib

* Add SortAndFilterBar to the filter lib

* Abstract hotkeys scopes

* Fix hotkeys on filters

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-11 20:42:15 -07:00
Emilien Chauvet
e8d77833a7
Move code to a lib, remove table dependancy (#606)
* Move code to a lib, remove table dependancy

* Abstract yable context from filters

* Update missing hook

* Remove wording of active filter, simplify naming for edited filters

* lint
2023-07-11 17:05:08 -07:00
Charles Bochet
4150a7bb51
Fixing BlockNote readability darkMode + fixing impossible to create cards for companies without name or domainName (#605)
fix-first-feedbacks
2023-07-11 14:33:15 -07:00
Emilien Chauvet
14caaf298a
Feat/add invite link (#603)
* Add UI for invite link

* Use invite link

* Isolate link component

* Improve UX
2023-07-11 13:35:43 -07:00
Emilien Chauvet
24bc2b72f9
Use seed for id generation in tests (#585)
* Use seed for id generation in tests

* Revert "Use seed for id generation in tests"

This reverts commit c5ae9ac6bf.

* Add hardcoded ids
2023-07-11 10:58:22 -07:00
Jérémy M
718ad721cf
feat: auth race condition & optimize ApolloFactory & too many pageview (#602) 2023-07-11 19:50:25 +02:00
Charles Bochet
55576cb638
Add possibility to invite members to workspace (#579)
* Add possibility to invite members to workspace

* Update endpoints

* Wrap up front end

* Fix according to review

* Fix lint
2023-07-10 23:33:15 -07:00
Charles Bochet
e1161e96a9
Fix right drawer bug (#584) 2023-07-10 21:46:20 -07:00
Emilien Chauvet
ebf5f67f63
Fix board card glitches (#583) 2023-07-10 20:24:57 -07:00
Lucas Bordeau
5f98b70c6a
Fix/scope hotkeys (#581)
* WIP

* asd

* Fix

* Fix lint

* Removed console log

* asd

* Removed isDefined

* Fix/debounce company card onchange (#580)

* Add internal state and debounce for editable text card

* Use debounce for date fields too

* Update refetch

* Nit

* Removed comments

* Ménage

---------

Co-authored-by: Emilien Chauvet <emilien.chauvet.enpc@gmail.com>
2023-07-11 01:53:46 +00:00
Emilien Chauvet
1c8aaff39d
Fix/debounce company card onchange (#580)
* Add internal state and debounce for editable text card

* Use debounce for date fields too

* Update refetch

* Nit
2023-07-11 03:19:46 +02:00
Charles Bochet
03c6d1f19d
Enable pipeline stage ordering (#577)
* Enable pipeline stage ordering

* Removing migration

* Remove Save button
2023-07-10 17:20:37 -07:00
Emilien Chauvet
eae583209e
Use correct Query name (#575) 2023-07-10 16:26:39 -07:00
Emilien Chauvet
aa252612c1
Run codegen (#574) 2023-07-10 16:21:13 -07:00
Charles Bochet
5d071187f5
Fix bug autofill title (#573)
* Fix bug autofill title

* Remove useless loading
2023-07-10 15:20:57 -07:00
Félix Malfait
25eeada92c
Design fixes (#555)
* Change placeholder color and design fixes for show page / sidebar

* Replace hardcoded border radiuses

* Improve border display for middle of button group

* Editor styling

* Editor font size

* Comment Bar positioning and remove scrollbar for 1px

* Add Comments section title

* Nit: match css style

---------

Co-authored-by: Emilien <emilien.chauvet.enpc@gmail.com>
2023-07-10 11:24:20 -07:00
Jérémy M
3079747c83
feat: colored avatar (#554)
* feat: colored avatar

* fix: use id instead of name & remove unused

* fix: remove unused

* Allow empty ID to avoid empty string

* Fix tests

* Add person chip story

---------

Co-authored-by: Emilien <emilien.chauvet.enpc@gmail.com>
2023-07-10 11:24:09 -07:00
Jérémy M
c9292365c0
feat: workspace update name and logo (#553)
* feat: workspace update name and logo

* fix: remove logs

* fix: disable warning until refacto

* Fix text

---------

Co-authored-by: Emilien <emilien.chauvet.enpc@gmail.com>
2023-07-10 11:23:58 -07:00
Félix Malfait
a2da3a5f09
Add ButtonGroup concept + Soon pill on button + implement in timeline (#551)
* Add ButtonGroup concept

* Add soon pill

* Fix incorrect wrapping behavior

* Implement button group in timeline
2023-07-10 14:06:35 +02:00
Jérémy M
c529c49ea6
Workspace member (#552)
* fix: clean small back-end issues

* fix: apollo factory causing infinite loop on token renew

* feat: small refactor and add ability to remove workspace member

* fix: test
2023-07-10 09:25:11 +00:00
Charles Bochet
f2c49907a8 Fix bug latency on commentThread title edition 2023-07-09 23:14:09 -07:00
Charles Bochet
5b532dcfe7 Fix bug latency on commentThread title edition 2023-07-09 22:49:21 -07:00
Félix Malfait
94a913a41f
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 9fbbf2db00.

* 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>
2023-07-09 22:25:34 -07:00
Félix Malfait
ca180acf9f
Update robots.txt (#549) 2023-07-09 14:37:49 -07:00
Emilien Chauvet
49c20907e8
Fix infinite loop when opening relation picker in comments pane (#548)
* Typo

* Remove hotkeys for relation picker
2023-07-08 20:09:00 -07:00
Charles Bochet
fffb8c99cb Fix right drawer not capture keys conflicting with app shortcuts 2023-07-08 20:05:02 -07:00
Charles Bochet
691da0ef57
Fix Opportunities page bug, make image urls support base64 (#547) 2023-07-08 18:43:55 -07:00
Lucas Bordeau
795bead1bb
Fix/relation picker (#546)
* FIx pickers

* Fix

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-08 18:43:41 -07:00
Charles Bochet
9d25d003ca
Bug Fix: company create from people + scroll settings (#545) 2023-07-08 18:15:39 -07:00
Emilien Chauvet
ce14d22744
Order users by first name (#543) 2023-07-08 18:09:29 -07:00
Lucas Bordeau
09efc49ef2
Fix text input bug (#544)
* Fix text input bug

* 200
2023-07-08 18:08:48 -07:00
Charles Bochet
be7731b71a
Upload Workspace logo during onboarding (#542)
* Upload image

* Upload image

* Fix tests

* Remove pictures from seeds

* Fix storybook

* Fix storybook

* Fix storybook
2023-07-08 16:46:04 -07:00
Lucas Bordeau
e03d5ed8a7
Refactor/inplace input (#541)
* wip

* Changed all other components

* Removed console log

* Console.log

* lint

* Removed internal state

* Fix

* Lint
2023-07-08 16:45:52 -07:00
Charles Bochet
b3d0061e0d
Remove MockMode mocking apollo queries + Add profile picture image upload during onboarding (#539)
* Remove MockMode mocking apollo queries + Add profile picture image upload

* lower line code coverage until we have tests on hotkyes
2023-07-08 15:13:14 -07:00
Emilien Chauvet
9cd5f7c057
Feat/navigate to signup if email does not exist (#540)
* Add userExists route

* Fix demo mode for login

* Improve sign in/up flow

* Remove redundant password length constraint

* Fix test
2023-07-08 15:02:39 -07:00
Charles Bochet
36ace6cc03
Add ability to remove profile picture on Profile Settings (#538)
* Add ability to remove profile picture on Profile Settings

* Fix lint

* Fix according to review
2023-07-08 10:41:16 -07:00
Charles Bochet
e2822ed095
Fix tests (#537)
* Fix tests

* Fix lint
2023-07-07 23:11:38 -07:00
Emilien Chauvet
c26a7fda9a
Add workspace members (#536)
* Add workspace members

* Remove workspace provider

* Lint
2023-07-07 18:56:22 -07:00
Lucas Bordeau
66dcc9b2e1
Feat/better hotkeys scope (#526)
* Working version

* fix

* Fixed console log

* Fix lint

* wip

* Fix

* Fix

* consolelog

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-07 18:53:05 -07:00
Charles Bochet
611cda1f41
Revert "Refacto/abstract inplace input" (#535)
Revert "Refacto/abstract inplace input (#530)"

This reverts commit c847bca293.
2023-07-07 18:10:51 -07:00
Charles Bochet
94ca61c887
Revert "Refacto/remaining inplace input cells" (#534)
Revert "Refacto/remaining inplace input cells (#531)"

This reverts commit 6446692f25.
2023-07-07 18:10:32 -07:00
Charles Bochet
a975935f49
Connect profile picture upload to backend (#533)
* Connect profile picture upload to backend

* Fix tests

* Revert onboarding state changes
2023-07-07 17:50:02 -07:00
Emilien Chauvet
6446692f25
Refacto/remaining inplace input cells (#531)
* Add inplace date input component

* Add inplace phone input component

* Add inplace double text input component

* Add inplace chip input component

* Remove useless styled component

* Reduce code through props destructuring
2023-07-07 15:00:01 -07:00
Charles Bochet
f62fdc1219
Fix authentication with debug mode (#532)
Fix authent with debug mode
2023-07-07 14:10:04 -07:00
Emilien Chauvet
c847bca293
Refacto/abstract inplace input (#530)
* Move code to new folder

* Deduplicate code, remove dependancy on table

* Remove more table dependency

* Move close logic to input

* Migrate editable text cell

* Rename EditableTextInput

* Fix component test id
2023-07-07 12:11:57 -07:00
Charles Bochet
26b033abc9
Refactor client config (#529)
* Refactor client config

* Fix server tests

* Fix lint
2023-07-07 11:10:42 -07:00
Charles Bochet
11d18cc269
Fix auth (#527)
* Fix auth

* fix lint
2023-07-06 20:11:04 -07:00
Emilien Chauvet
7d6adbaa73
Update company card (#512)
* Add card rows

* WIP - add amount

* Refactor board state to separate pipeline progress data and company data

* Add migration and generated code

* Pass pipeline progress properties to the comapny card

* WIP-editable

* Enable amount edition

* Nits

* Remove useless import

* Fix empty board bug

* Use cell for editable values on company card

* Add fields

* Enable edition for closeDate

* Add dummy edits for recurring and probability

* Nits

* remove useless fields

* Nits

* Fix user provider

* Add generated code

* Fix nits, reorder migrations, fix login

* Fix tests

* Fix lint
2023-07-06 18:41:44 -07:00
Jérémy M
1144bd13ed
feat: onboarding & profile edition (#507)
* feat: wip onboarding

* fix: generate graphql front

* wip: onboarding

* feat: login/register and edit profile

* fix: unused import

* fix: test

* Use DEBUG_MODE instead of STAGE and mute typescript depth exceed errors

* Fix seeds

* Fix onboarding when coming from google

* Fix

* Fix lint

* Fix ci

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-06 17:05:15 -07:00
Jérémy M
0b7a023f3d
fix: missing client query (#524) 2023-07-05 17:20:12 +02:00
Charles Bochet
3db15929a5
Hot Fix merge conflicts (#523) 2023-07-05 16:58:47 +02:00
Deepak Singh
6e1ffdcc72
feat: Skeleton loading #404 (#458)
* feat: Skeleton loading #404

* fix: skeleton loading

* fix: skeleton loading

* feat: Skeleton loading #404

* fix: skeleton loading

* fix: skeleton loading

* Update CompanyPickerSkeleton.tsx

* updated changes
2023-07-05 15:50:36 +02:00
Deepak Singh
9c09da18db
fix: Create a client config function that is retrieved when app is loading (#496)
* fix: Create a client config function that is retrieved when app is loaded

* update index.tsx

* fixed linter issues
2023-07-05 00:28:59 +02:00
Emilien Chauvet
d83313cd93
Add hover effect for navbar collapsable button (#492) 2023-07-04 18:28:32 +02:00
Lucas Bordeau
820ef184d3
Refactor/filters (#498)
* wip

* - Added scopes on useHotkeys
- Use new EditableCellV2
- Implemented Recoil Scoped State with specific context
- Implemented soft focus position
- Factorized open/close editable cell
- Removed editable relation old components
- Broke down entity table into multiple components
- Added Recoil Scope by CellContext
- Added Recoil Scope by RowContext

* First working version

* Use a new EditableCellSoftFocusMode

* Fixes

* wip

* wip

* wip

* Use company filters

* Refactored FilterDropdown into multiple components

* Refactored entity search select in dropdown

* Renamed states

* Fixed people filters

* Removed unused code

* Cleaned states

* Cleaned state

* Better naming

* fixed rebase

* Fix

* Fixed stories and mocked data and displayName bug

* Fixed cancel sort

* Fixed naming

* Fixed dropdown height

* Fix

* Fixed lint
2023-07-04 13:54:58 +00:00
Emilien Chauvet
580e6024d0
Fix drag and drop for opportunity board (#503) 2023-07-03 16:40:51 -07:00
Emilien Chauvet
db5dfb3bdf
Enable opportunity card deletion (#490)
* Add checkbox

* Add state management for selected opportunities

* Use recoil for selected items state, show action bar

* Deduplicate code

* Add delete action

* Enable delete

* Add color for selected cards

* update board state on delete

* Add stories

* Enable empty board

* Fix story

* Handle dark mdoe

* Nits

* Rename module

* Better naming

* Fix naming confusion process<>progress
2023-07-03 23:11:39 +02:00
Félix Malfait
c871d1cc10
Commandbar and dark mode UI fixes (#491)
* Improve dark mode

* Improve commandbar style and add interactions
2023-07-01 08:38:45 -07:00
Charles Bochet
8684a8d517
Fix hotkeys blocking comments (#487)
* Fix hotkeys blocking comments

* Fix tests
2023-07-01 02:09:49 +03:00
Jérémy M
19a1f2b9f8
feat: ui settings (#465) 2023-06-30 09:35:01 +00:00
Jérémy M
91608a37f2
fix: fix auth in prod env (#481) 2023-06-30 09:34:45 +00:00
Jérémy M
cca36cf50f
fix: rename event module into analytics and clean (#482) 2023-06-30 09:24:05 +00:00
Jérémy M
8e319900d0
fix: github actions (#483)
fix: test unused
2023-06-30 11:35:59 +03:00
Jérémy M
433962321a
feat: onboarding ui flow (#464)
* feat: onboarding ui flow

* fix: route naming and auth

* fix: clean unused imports

* fix: remove react.fc

* fix: infra dev remove package.json

* fix: remove usefull memoization

* fix: button stories

* fix: use type instead of interface

* fix: remove debug
2023-06-30 06:26:06 +00:00
Félix Malfait
3731380ce6
Fix tests on main (#479) 2023-06-29 22:30:56 -07:00
Félix Malfait
eb7fb2ba8e
Add Telemetry (#466)
* Telemetry v1

* Add package-lock.json to gitignore
2023-06-29 17:36:48 -07:00
Charles Bochet
74ea2718ca
Fix table focus taking over auth and filter and sort (#478) 2023-06-30 00:24:06 +03:00
Emilien Chauvet
30fd3320b7
Rename test commands (coverage storybook) (#476)
* Rename test commands

* Add coverage command in doc
2023-06-29 14:06:15 -07:00
Morning1139Angel
695ddd7a92
Func style allowing arrow (#461)
* eslint func-style rule added to server

* eslint func-style rule added to front-end
2023-06-29 11:19:03 -07:00
Jérémy M
097b278b11
fix: add firstName and lastName to user model (#473)
* fix: add firstname and lastanme to user model

* fix: avoid undefined in displayName resolve field

* fix: user firstName and lastName instead of firstname lastname

* fix: person table proper naming firstName lastName

* fix: migrate front with firstName and lastName

* fix: make front-graphql-generate not working
2023-06-29 15:11:15 +00:00
Charles Bochet
aa612b5fc9
Add tab hotkey on table page (#457)
* wip

* wip

* - Added scopes on useHotkeys
- Use new EditableCellV2
- Implemented Recoil Scoped State with specific context
- Implemented soft focus position
- Factorized open/close editable cell
- Removed editable relation old components
- Broke down entity table into multiple components
- Added Recoil Scope by CellContext
- Added Recoil Scope by RowContext

* First working version

* Use a new EditableCellSoftFocusMode

* Fixed initialize soft focus

* Fixed enter mode

* Added TODO

* Fix

* Fixes

* Fix tests

* Fix lint

* Fixes

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2023-06-28 14:06:44 +02:00
Charles Bochet
a6b2fd75ba
Enable comment deletion on CommentDrawer (#460)
* Enable comment deletion on people and companies page

* Add storybook test
2023-06-27 18:00:14 +02:00
Jérémy M
c9038bb93a
Front small ui fixes (#428)
* fix: add ellipsis in all table cells

* fix: workspace click redirect to home

* fix: add company chip story and edit comment cell story

* fix: remove cursor pointer on workspace name

* fix: snoop pill height

* fix: rebase
2023-06-27 17:56:48 +02:00
Deepak Singh
7a880bc9e8
fix: Correct space between menu icons and menu items text #423 (#456)
* fix: Correct space between menu icons and menu items text #423
2023-06-27 07:40:12 -07:00
Charles Bochet
d6364a9fdd
Apply new theme (#449)
* Apply new theme

* Fix storybook

* Fixes

* Fix regressions
2023-06-26 19:13:04 -07:00
Deepak Singh
2a42ebb70d
fix: Correct sorting sub-menu font-size #426 (#430) 2023-06-26 11:10:08 -07:00
Félix Malfait
827d6390e4
Refactoring shortcuts and commandbar (#412)
* Begin refactoring shortcuts and commandbar

* Continue refacto hotkeys

* Remove debug logs

* Add new story

* Simplify hotkeys

* Simplify hotkeys

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-25 22:25:31 -07:00
Charles Bochet
9bd8f6df01
Design fixes (#422) 2023-06-25 20:02:09 -07:00
Charles Bochet
643d090091
A few design fixes (#424) 2023-06-25 19:28:02 -07:00
Charles Bochet
f0bbfb11ee
Fix avatar storybook issue + fix Autosize input send button color (#389)
* Fix avatar storybook issue + fix Autosize input send button color

* Fix storybook font-size
2023-06-25 14:58:34 -07:00
Charles Bochet
9c21975d2b
Fix comment creation bug (#371) 2023-06-24 11:18:13 -07:00
Jérémy M
31145c5518
feat: align auth api with front convention (#370)
* feat: align auth api with front convention

* fix: email password auth

* fix: proper file naming

* Fix login

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-23 22:43:54 -07:00
Jérémy M
c6708b2c1f
feat: rewrite auth (#364)
* feat: wip rewrite auth

* feat: restructure folders and fix stories and tests

* feat: remove auth provider and fix tests
2023-06-23 08:49:50 -07:00
Lucas Bordeau
ceaf482f62
First working version of new dropdown UI (#360)
* First working version of new dropdown UI

* Removed consolelog

* Fixed test storybook

* Cleaned optional args
2023-06-23 10:39:16 +00:00
Charles Bochet
1b8b78d615
Various fixes (#362) 2023-06-22 14:57:08 -07:00
Charles Bochet
ba1dd07e53
Fix mock mode transition to regular mode on login (#361) 2023-06-22 14:09:51 -07:00
Lucas Bordeau
4a2797c491
Feat/account owner picker (#359)
* Added account owner picker

* Regenerated graphql files

* Fixed pickers staying in edit mode with a new generic hook

* Fixed lint
2023-06-22 19:47:04 +02:00
Charles Bochet
eb9be6894e
Redesign settings profile (#353)
* Redesign settings profile

* Fix spacing

* Fix Company creation
2023-06-21 23:50:24 -07:00
Félix Malfait
3c1851b3c9
Improve auth and seeds (#352)
* Improve seeds

* Autofill password on local environment

* Fix PR

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-21 23:47:24 -07:00
Charles Bochet
df6376dce0 Fix padding EditableCell DoubleText 2023-06-21 22:42:38 -07:00
Charles Bochet
817d6dcb05
Add ability to associate a new company to pipeline (#350)
* Add ability to associate a new company to pipeline

* Fix tests
2023-06-21 22:31:19 -07:00
Lucas Bordeau
e679f45615
Feat/single entity select relation picker (#345)
* - Implemented recoil scoped state
- Implemented SingleEntitySelect
- Implemented keyboard shortcut up/down select

* Added useRecoilScopedValue

* Fix storybook

* Fix storybook

* Fix storybook

* Fix storybook

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-21 13:29:07 -07:00
Charles Bochet
8a330b9746
Use Graphql types in FE and complete mappers removal (#348)
Fix Typescript build issues
2023-06-21 10:52:00 -07:00
Sammy Teillet
294b290939
338 on opportunities page when i associate a new company to a pipelinestage its persisted in db (#339)
* feature: add navigation for opportunities

* chore: add companies in pipeline seed

* feature: make the board scrollable

* feature: make the board scrollable vertically

* feature: remove board container

* feature: fix newButton style

* feature: add onClickNew method on board

* feature: call backend with hardcoded id for new pipeline progressable

* feature: refetch board on click on new

* feature: use pipelineProgressId instead of entityId to ensure unicity of itemKey

* feature: avoid rerender of columns when refetching
2023-06-20 19:27:02 -07:00
Charles Bochet
8790369f72
Implement Authentication with email + password (#343)
* Implement Login screen ui and add RequireNotAuth guard

* Perform login through auth/password-login flow
2023-06-20 19:17:31 -07:00
Charles Bochet
e2d8c3a2ec
Add tests on top of ui/buttons, ui/links and ui/inputs (#342) 2023-06-20 18:47:00 -07:00
Lucas Bordeau
e2eb40c1ea
Relation picker module (#335)
- Created a relation picker module
- Added a CustomeEntityForSelect type
2023-06-20 09:06:53 +00:00
Sammy Teillet
c120903a45
Persist update on board drag and drop (#328)
* chore: move dnd lib comment aligned with import

* feature: add onUpdate on board

* chore: remove multi entity pipelines

* feature: add pipelineProgressableType field

* feature: fetch progressableType in board

* feature: implement on update to persist progress change
2023-06-20 10:56:36 +02:00
Lucas Bordeau
950a0b77fe
Fixed refetch query for GetCommentThreadsByTargets (#336)
* Fixed refetch query for GetCommentThreadsByTargets

* Improvement : use apollo util getOperationName to de-hard code refetch queries arrays
2023-06-19 15:44:05 +00:00
Sammy Teillet
96a53ad765
refactor: remove mappers (#326)
* refactor: remove mappers

* chore: generate graphql types

* lint: remove useless import

* Remove preset-react-create-app from storybook addons

* test: remove old tests

* Upgrade storybook version

* Remove sb preset-cra and add sb svgr loader

* chore: remove figma image url from storybook

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-19 14:07:16 +00:00
Lucas Bordeau
c8c4a953c2
309 have comment relation picker show up above the relation field (#332)
* Added a floating ui manual offset to have the dropdown on top of the relation box

* Autofocus on dropdown search
2023-06-19 15:51:35 +02:00
Charles Bochet
5904a39362
Design Auth index (#325) 2023-06-18 23:51:59 +02:00
Charles Bochet
ffa8318e2e
Add Auth Index page (#323) 2023-06-18 00:18:13 +02:00
Charles Bochet
49462c69a2
Refactor Layout (#322)
* Refactor Layout

* Fix storybook

* Fixing tests by forcing msw version before regression
2023-06-17 21:24:15 +02:00
Félix Malfait
5ae5f28dcb
Add new story for darkmode (#317)
* Add a new story for dark mode

* Reorganize storybook menu

* Fix command menu margins

* Fix tests
2023-06-17 14:52:49 +02:00
Jérémy M
299ca293a8
feat: refactoring auth & add email password login (#318)
* feat: wip

* fix: issues

* feat: clean controllers and services

* fix: test

* Fix auth

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-17 13:42:02 +02:00
Lucas Bordeau
d13ceb98fa
306 implement multi relation picker for person and try to factorize relation picker (#319)
* Removed useless folder

* First working version

* Refactored MultipleEntitySelect and splitted into 2 components

* Added TODO

* Removed useless Query

* Fixed refetch

* Fixed naming

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-06-17 10:13:30 +02:00
Charles Bochet
7f25f16766
Fix some icon display size + fix padding issue on EditableChip component (#314)
* Fix some icon display size + fix padding issue on EditableChip component

* Fix according to PR

* Fix server generate and deploy scripts

* Fix image size on Opportunities board

* Fix lint

* Fix according to PR
2023-06-16 14:16:35 +02:00
Félix Malfait
5921c7f11d
Split theme into files (#313) 2023-06-16 08:50:48 +02:00
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
Charles Bochet
41c46c36ed
Create and EditableRelation component and make it generic (#107)
* Create and EditableRelation component and make it generic

* Refactor EditableCell component to be more flexible

* Complete Company picker on people page

* Fix lint
2023-05-06 16:08:45 +02:00
Charles Bochet
7ac2f8e1a6
Fix Cancel button behavior on TopFilterAndSort bar (#106) 2023-05-06 08:27:14 +02:00
Sammy Teillet
354cdb6ad9
Sammy/t 195 aau i see filters and sort on company (#104)
* 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>
2023-05-06 07:59:30 +02:00
Charles Bochet
406e1dc02e
Enable Date edition on People view (#105)
* Enable Date edition on People view

* Fix linter
2023-05-05 18:52:04 +02:00
Sammy Teillet
b8cd842633
Sammy/t 194 aau when i set sort back and forth the (#103)
* 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
2023-05-05 16:22:47 +02:00
Sammy Teillet
f022bf8335
Sammy/t 190 aau i see other filters city on people (#101)
* 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
2023-05-05 12:16:25 +02:00
Charles Bochet
55eff2b7a2
Create Editable chip to edit cells containing chips (#102)
* Create Editable chip to edit cells containing chips

* Fix icons vertical alignment

* Fix linter

* Fix coverage
2023-05-05 12:15:41 +02:00
Sammy Teillet
9cd57083f1
Sammy/t 192 aau whan i select does not include it is (#99)
* 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
2023-05-05 10:25:06 +02:00
Charles Bochet
89dc5b4d60
Make full name editable on People page (#100)
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-04 18:38:29 +02:00
Charles Bochet
f6b691945c
Make phone editable on people's page (#98)
* Make phone editable on people's page

* Make City editable

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-04 17:27:27 +02:00
Charles Bochet
e65fd3d6a5
Update Edit Inplace behavior and style (#97)
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-04 16:03:13 +02:00
Sammy Teillet
3605c0034c
feature: display only 5 results in filter search (#96)
* feature: display only 5 results in filter search

* feature: Display laoding in a dropdown item

* test: use testid insread of text
2023-05-04 12:58:43 +00:00
Sammy Teillet
6a8a8f0728
Add Filters on Table views (#95)
* 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>
2023-05-04 13:54:46 +02:00
Charles Bochet
27d5edc031
Fetch workspace and user from database (#94)
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-04 11:09:06 +02:00
Félix Malfait
9bc3aa1fb9
Replace Fontawesome Pro by React-Icons/FA (#93)
* Fontawesome -> ReactIcons cleanup

* No need for npmrc anymore

* Complete migration

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-05-03 17:24:07 +02:00
Anders Borch
f28edd405f
I can open the project in GitHub (#92)
* Ignore node_modules

* Use bash-compatible dotenv format

While still being compatible with dotenv, this
also allows sourcing the file to export all
variables in bash.

* Add prettier extension to recommendations

* Move to port 5001 to avoid conflict with macOS services

* Add workspace

* Add devcontainer

This automatically starts with all environment
variables available locally.

It brings up services which are dependent on each
other individually and verifies health before
moving on to the next service.

* Split init into clean, up, and logs tasks.

This allows the developer to set up .env and .npmrc
files before running services, and does not require
starting from a clean db every time the devcontainer
is restarted.

* Copy .env when creating codespace

* Automatically run UP command upon devcontainer creation

* Fix log message

---------

Co-authored-by: Felix Malfait <felix.malfait@gmail.com>
2023-05-03 11:34:10 +02:00
Anders Borch
27070b374e
In place edit company info (#90)
* Add update company functionality

* Fix padding in cells with chips

* Add icons to table headers
2023-04-28 06:50:04 +00:00
Anders Borch
d5c1bd6365
Handle missing account owner (#89) 2023-04-28 07:40:40 +02:00
Charles Bochet
571cb6ed5c
Style filter key in bold in filter and search bar (#86)
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-04-27 17:28:17 +02:00
Anders Borch
d4b1b2f661
Companies table (#79)
* Add columns to companies:
* account_owner_id
* employees
* address

Add foreign key constraint companies_account_owner_id_fkey
to auth.users.id

* Add select permissions to:
* account_owner_id
* employees
* address

Add relationship between companies and auth.users.

* Update Companies interface to include:
* account_owner_id
* employees
* address

Opportunity is expected to be replace by actual opportunity in a separate PR.

* Add GetCompanies query

* Add initial companies table

* Update test to use mock apollo provider

* Update to match changed company column names

* Add company interface mapping tests

* Test entire object

* Add test for companies being rendered in table.

* Add test for sorting reduce.

* Fix prettier errors
2023-04-27 12:46:43 +02:00
Sammy Teillet
35cf3ee801
Sammy/t 138 when i select an option i see it (#84)
* feature: remove selected filter item

* feature: add searchable field in dropdown
2023-04-26 19:10:05 +02:00
Charles Bochet
cabe6d4c36
Add empty opportunity page (#83)
* Add empty opportunity page

* Fix coverage

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-04-26 18:00:06 +02:00
Sammy Teillet
884080a9da
refactor: extract render into methods (#81) 2023-04-26 17:38:05 +02:00
Charles Bochet
04051e737f Fix long table scroll 2023-04-26 17:29:00 +02:00
Charles Bochet
6c7eb53333
Add seeds and move to uuid (#80)
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-04-26 16:42:01 +02:00
Sammy Teillet
5aec7ca730
Sammy/t 134 i see all filters in the dropdown (#78)
* feature: add filter dropdown

* test: add story for FilterDropdown

* feature: display filterOperand on top of dropdown

* feature: display filter operand

* feature: fix index and display selected filter

* refactor: set TopOption button inside dropdown file

* feature: move availableFilters outside the fitler component

* refactor: make the available sorts and filter optionnal

* refactor: rename availableSorts

* feature: add a resetState property on onOutsideClick

* feature: add filters and set  filters on Dropdown component

* feature: set filters on click in dropdown

* test: verify button is active after filters are set

* feature: display sorts and filters

* refactor: move SelectedFilters in SortAndFilter

* refactor: move SelectedFilters in dedicated file

* refactor: remove Id and use Key
2023-04-26 14:19:34 +00:00
Anders Borch
1c8a4058c3
Fix html entities and newline handling (#77)
* Fix html entities and newline handling

This forces contenteditable to behave as single line input,
and properly handles html entities.

* Proposal without reacteditable

* Fix tests and re-add focus styleé

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-04-26 11:58:40 +02:00
Charles Bochet
ae7bad65ca
Setup GraphQL Code Generator (#74)
* chore: add types of schema

* Ease codegen use on FE

* chore: ignore prettier in generated files

* lint: generated files

* feature: strongly type filter of query

* chore: ignore generated files in prettier

* chore: eslint ignore generated files

---------

Co-authored-by: Sammy Teillet <sammy.teillet@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-04-25 17:25:30 +02:00
Sammy Teillet
a93c92c65c
Sammy/t 131 i see a ascending descending option in (#73)
* refactor: use safe css selector

* feature: onclick update the order option

* feature: set option in the dropdown

* feature: display icon for sort options

* refactor: indent key so react does not complain of conflicting keys

* feature: align icon and text

* feature: fix size of icon to align text

* feature: create design for TopOption in dropdown

* refactor: set font weight in style

* feature: finalise design of TopOption

* refactor: rename option to sort

* refactor: remove order from the sortType

* refactor: move sort mapper in service

* test: selection of Descending in SortDropdownButton

* refactor: fix styme-component warning

* feature: add sorting by people

* refactor: set SortFields types for tables

* feature: add sort by company

* refactor: rename sortFields to singular

* refactor: rename option to SortDirection
2023-04-25 16:29:08 +02:00
Anders Borch
463b5f4ec9 Mock apollo client.
Remove unit test argument.
2023-04-25 12:55:27 +02:00
Anders Borch
a6254197b1 Add contenteditable change event test 2023-04-25 12:55:27 +02:00
Anders Borch
4e517fa8f9 Add map back to gql person 2023-04-25 12:55:27 +02:00
Anders Borch
443f8ed663 Added update test 2023-04-25 12:55:27 +02:00
Anders Borch
8ed09d61ef Refactor GraphqlPerson to GraphqlQueryPerson
A GraphqlQueryPerson has an id which is used in mutations.
2023-04-25 12:55:27 +02:00
Anders Borch
b6c7149b66 Use EditableCell for email 2023-04-25 12:55:27 +02:00
Anders Borch
b62fac3aee Map Person to GraphqlMutationPerson 2023-04-25 12:55:27 +02:00