100 Commits
Author SHA1 Message Date
Thaïs c7d61e183a feat: simplify field preview logic in Settings (#5541)
Closes #5382

TODO:

- [x] Test all field previews in app
- [x] Fix tests
- [x] Fix JSON preview
2024-05-24 18:06:57 +02:00
Thaïs 736c79afde fix: Links field fixes (#5565)
Related issue: #3607
2024-05-24 17:59:08 +02:00
Thaïs 9ad3fb96b7 feat: move Snackbar to top of screen on mobile (#5567)
... and change SnackBar blur to medium.

@Bonapara Following
https://github.com/twentyhq/twenty/pull/5515#discussion_r1609618980

Related issue: https://github.com/twentyhq/twenty/issues/5383

<img width="386" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/de2f0be4-9d9c-4013-bed2-774e0599ce49">
2024-05-24 17:58:12 +02:00
Thaïs 7f7ea59b51 refactor: reset field default value on type change in Settings (#5534)
Related issue: #5412

See https://github.com/twentyhq/twenty/pull/5436#discussion_r1609470484
for context.
2024-05-24 12:15:17 +02:00
Thaïs 8019ba8782 feat: implement new SnackBar design (#5515)
Closes #5383

## Light theme

<img width="905" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/ab0683c5-ded3-420c-ace6-684d38794a2d">

## Dark theme

<img width="903" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/4e43ca35-438d-4ba0-8388-1f061c6ccfb0">
2024-05-23 12:19:50 +02:00
Thaïs 04bf697b25 feat: add feature flag to activate Links field creation (#5535)
Related issue: #3607
2024-05-22 18:06:32 +02:00
Thaïs 35c1f97511 perf: use Nx cache for Chromatic script (#5457)
Makes sure the `twenty-front:chromatic:ci` task in the CI job
`front-chromatic-deployment` reuses the cache of the Storybook built in
the CI job `front-sb-build` instead of re-building Storybook so
Chromatic is deployed faster in the CI.
2024-05-22 11:18:16 +02:00
Thaïs 474dfd7bd8 fix: fix Apollo client cache update error for Links field (#5473)
Fixes #5437
2024-05-22 10:55:24 +02:00
Thaïs e2b48e2c4e feat: edit link in Links field (#5447)
Closes #5376
2024-05-22 10:42:08 +02:00
Thaïs 47a6146dd0 feat: set primary link in Links field (#5429)
Closes #5375

<img width="381" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/d87773df-c685-466b-ae35-a8349f79df48">

_____

~~Note that I ugraded `@apollo/client` to v3.10.4 because current
version is causing an error when trying to write the Links field in the
cache in `updateRecordFromCache` (`TypeError: Cannot convert object to
primitive value`). After upgrade, the error is gone but console still
prints a warning (here the custom object name is `Listing` and the Links
field name is `website`):~~

<img width="964" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/834b8909-e8dc-464a-8c5a-6b7e4c964a7f">

~~It might be because the Links field seems to somehow have a
`__typename` property in Apollo's cache, so Apollo considers it as a
record and tries to match the object's cache with an id, but the Links
field value has no id so it can't find it.
We might want to find where this `__typename` is added and remove it
from the Links object in the cache.~~

Edit: will fix this in another PR as upgrading `@apollo/client` +
`apollo-upload-client` seems to break types and/or tests. Related issue:
[#5437](https://github.com/twentyhq/twenty/issues/5437)
2024-05-22 10:32:37 +02:00
Thaïs 944b2b0254 fix: reset default value on field type switch in Settings/Data Model … (#5436)
…field form

Closes #5412
2024-05-22 09:53:15 +02:00
48003887ce feat: remove a link from a Links field (#5313)
Closes #5117

TO FIX in another PR: right now, the "Vertical Dots" LightIconButton
inside the Dropdown menu sometimes needs to be clicked twice to open the
nested dropdown, not sure why 🤔 Maybe an `event.preventDefault()` is
needed somewhere?

<img width="369" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/dd0c771a-c18d-4eb2-8ed6-b107f56711e9">

---------

Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-05-22 09:39:21 +02:00
Thaïs 992602b307 fix: fix storybook build cache not being used by tests in CI (#5451)
TL;DR:
- removed `--configuration={args.scope}` from `storybook:static:test`
for the `storybook:static` part, as it was making `front-sb-test` jobs
in CI not reuse the cache from the `front-sb-build` job and re-build
storybook every time.
- replaced it with a new `test` configuration which optimizes storybook
build for tests and builds storybook 2x faster.

## Fix storybook:build cache usage in CI

`storybook:static:test` executes two scripts in parallel:
1. `storybook:static`, which depends on `storybook:build`
1.a. it builds storybook first with `storybook:build`, the output
directory is `storybook-static`.
1.b. then it launches an `http-server`, using what has been built in
`storybook-static`
2. `storybook:test` to execute tests (needs the storybook http-server to
be running)

When passing `--configuration=pages` or `--configuration=modules` to
`storybook:static` from step 1, those configurations are passed to the
`storybook:build` script from step 1.a as well.

But for Nx `storybook:build` and `storybook:build --configuration=pages`
(or `modules`) are not the same command, therefore one does not reuse
the cache of the other because they could output completely different
things.

As `front-sb-test` jobs are passing `--configuration={args.scope}` to
`storybook:static`, the cache of the previously executed
`storybook:build` (from `front-sb-build`) is not reused and therefore
each job re-builds Storybook with its own scope, which increases CI
time.

### Solution

- Removed scope configurations from `storybook:static` and
`storybook:build` scripts to avoid confusion.
- `storybook:test` and `storybook:dev` can keep scope configurations as
they can be useful and this doesn't impact storybook build cache in CI.

### Improve Storybook build time for testing

Added the `test` configuration to `storybook:build` and
`storybook:static` which makes Storybook build time 2x faster. It
disables addons that slow down build time and are not used in tests.
2024-05-17 16:05:31 +02:00
Thaïs 602d5422a2 feat: display Links field as Expandable List (#5374)
Closes #5114
2024-05-15 15:52:23 +02:00
Thaïs 0fb416d17c fix: fix field select options positions after option removal (#5350)
- Adds an util `toSpliced`. We cannot used the native Javascript
`Array.prototype.toSpliced` method as Chromatic servers don't support
it.
- Makes sure Select field options have sequential positions after
removing an option (form validation schema checks that positions are
sequential and considers options invalid otherwise).
2024-05-10 18:31:22 +02:00
Thaïs 7728c09dba fix: fix several field bugs (#5339)
After discussing with @charlesBochet, several fixes are needed on
fields:
- [x] Disable Boolean field `defaultValue` edition for now (On
`defaultValue` update, newly created records are not taking the updated
`defaultValue` into account. Setting the `defaultValue` on creation is
fine.)
- [x] Disable Phone field creation for now
- [x] For the Person object, display the "Phone" field as a field of
type Phone (right now its type is Text; later we'll migrate it to a
proper Phone field).
- [x] Fix RawJson field display (displaying `[object Object]` in Record
Table cells).
- [x] In Settings/Data Model, on Relation field creation/edition,
"Object destination" select is not working properly if an object was not
manually selected (displays Companies by default but creates a relation
to another random object than Companies).
2024-05-09 01:56:15 +02:00
Thaïs 005045c596 fix: fix Settings field form validation for certain field types (#5335)
Related to #4295

Following #5326, field types other than:
- `FieldMetadataType.Boolean`
- `FieldMetadataType.Currency`
- `FieldMetadataType.Relation`
- `FieldMetadataType.Select`
- `FieldMetadataType.MultiSelect`

Cannot be saved as they are not included in the form validation schema.
This PR makes sure they are included and can therefore be
created/edited.
2024-05-08 12:13:34 +02:00
Thaïs 8c85e7bf61 fix: fix storybook:build cache output path (#5336) 2024-05-08 11:51:09 +02:00
Thaïs bb995d5488 refactor: use react-hook-form for Field type config forms (#5326)
Closes #4295

Note: for the sake of an easier code review, I did not rename/move some
files and added "todo" comments instead so Github is able to match those
files with their previous version.
2024-05-07 21:07:56 +02:00
Thaïs b7a2e72c32 fix: fix storybook pages tests coverage (#5319) 2024-05-07 21:05:45 +02:00
ThaïsandJérémy Magrin b0d1cc9dcb feat: add links to Links field (#5223)
Closes #5115, Closes #5116

<img width="242" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/ab78495a-4216-4243-8de3-53720818a09b">

---------

Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com>
2024-05-07 15:05:18 +02:00
Thaïs d0759ad7cc refactor: use react-hook-form to validate Settings/DataModel/Field (#4916)
Closes #4295
2024-05-07 11:44:46 +02:00
Thaïs 16ae34dfd1 fix: fix Chromatic script memory allocation in CI (#5299) 2024-05-06 17:49:53 +02:00
Thaïs fc87a51acf fix: fix storybook:build memory allocation error in CI (#5284) 2024-05-03 19:19:21 +02:00
Thaïs 1351a95754 fix: fix storybook coverage task (#5256)
- Fixes storybook coverage command: the coverage directory path was
incorrect, but instead of failing `storybook:test --configuration=ci`,
it was hanging indefinitely.
- Switches back to `concurrently` to launch `storybook:static` and
`storybook:test` in parallel, which allows to use options to explicitly
kill `storybook:static` when `storybook:test` fails.
- Moves `storybook:test --configuration=ci` to its own command
`storybook:static:test`: used in the CI, and can be used locally to run
storybook tests without having to launch `storybook:dev` first.
- Creates command `storybook:coverage` and enables cache for this
command.
- Fixes Jest tests that were failing.
- Improves caching conditions for some tasks (for instance, no need to
invalidate Jest test cache if only Storybook story files were modified).
2024-05-03 14:59:09 +02:00
Thaïs 5128ea3ffb fix: fix storybook build script not found by Chromatic (#5235) 2024-05-02 16:15:36 +02:00
ThaïsandJérémy Magrin 0d023e5e77 feat: update links field (#5212)
Closes #5113

---------

Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com>
2024-05-01 14:56:55 +02:00
ThaïsandLucas Bordeau 8853226d17 feat: add Links field type (#5176)
Closes #5113

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-05-01 11:56:14 +02:00
Thaïs c193663a71 chore: use Nx affected tasks in CI (#5110)
Closes #5097

- Uses "nx affected" to detect what projects need to be checked in the
current PR (for now, `ci-front` and `ci-server` workflows only).
- Caches results of certain tasks (`lint`, `typecheck`, `test`,
`storybook:build`) when a PR pipeline runs. The next runs of the same
PR's pipeline will then be able to reuse the PR's task cache to execute
tasks faster.
- Caches Yarn's cache folder to install dependencies faster in CI jobs.
- Rewrites the node modules cache/install steps as a custom, reusable
Github action.
- Distributes `ci-front` jobs with a "matrix" strategy.
- Sets common tasks config at the root `nx.json`. For instance, to
activate the `typecheck` task in a project, add `typecheck: {}` to its
`project.json` and it'll use the default config set in `nx.json` for the
`typecheck` task. Options can be overridden in each individual
`project.json` if needed.
- Adds "scope" tags to some projects: `scope:frontend`, `scope:backend`,
`scope:shared`. An eslint rule ensures that `scope:frontend` only
depends on `scope:frontent` or `scope:shared` projects, same for
`scope:backend`. These tags are used by `nx affected` to filter projects
by scope and generates different task cache keys according to the
requested scope.
- Enables checks for twenty-emails in the `ci-server` workflow.
2024-04-30 16:28:25 +02:00
ThaïsandCharles Bochet 8beec03762 fix: fix SignInUpForm Continue button being disabled (#5185)
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-04-26 16:27:40 +02:00
Thaïs d3170fc1ea fix: fix root start script (#5032)
Fixes #5022

See https://nx.dev/recipes/running-tasks/root-level-scripts#setup
2024-04-19 18:28:02 +02:00
Thaïs 7065495223 fix: attempt to fix Dockerfile front build (#5020) 2024-04-18 11:24:39 +02:00
Thaïs 56b7c84116 chore: add incremental typecheck to twenty-ui (#4947)
Part of #4766
2024-04-15 12:15:29 +02:00
Thaïs b6d0b8a895 refactor: move Checkmark, Avatar, Chip and Tooltip to twenty-ui (#4946)
Split from https://github.com/twentyhq/twenty/pull/4518

Part of #4766
2024-04-15 12:05:06 +02:00
Thaïs 9f83cc1426 refactor: move @/ui/display/icon to twenty-ui (#4820)
Split from https://github.com/twentyhq/twenty/pull/4518

Part of https://github.com/twentyhq/twenty/issues/4766
2024-04-12 15:30:48 +02:00
ThaïsandThomas Trompette 704f7f6d8e feat: fetch database connection tables in Settings/Integrations/Datab… (#4882)
…ase/Connection

Closes #4758

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-04-09 14:22:15 +02:00
Thaïs 1cbbb1600c feat: add Remove menu option to Settings/Integrations/Database/Connec… (#4874)
…tion page

Closes #4872
2024-04-08 11:28:04 +02:00
Thaïs bbdb926687 feat: add Tables settings to Settings/Integrations/Database/Connectio… (#4851)
…n page

Closes #4560
2024-04-05 18:12:54 +02:00
Thaïs e784dc8a98 chore: enable no-console eslint rule for tests and stories (#4816)
Re-enables no-console eslint rule in stories and tests files:
- In stories, use `action` from '@storybook/addon-actions' or `fn` from
'@storybook/test' instead of console.
- In tests, console methods can be mocked like this:
`global.console.error = jest.fn()`.
2024-04-04 18:36:39 +02:00
ThaïsandThomas Trompette 1f98bc899d feat: fetch database connections (#4813)
Closes #4757

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-04-04 17:27:36 +02:00
ThaïsandLucas Bordeau f184541293 feat: add Database Connection Summary Card to Settings/Integrations/D… (#4791)
…atabase/Connection page

Closes #4558

<img width="542" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/16d7d8ce-57db-4e48-ba72-a2318a2d34a4">

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-04-04 15:56:52 +02:00
ThaïsandLucas Bordeau c5349291c8 chore: setup twenty-ui absolute path alias (#4732)
Split from https://github.com/twentyhq/twenty/pull/4518

- Setup `@ui/*` as an internal alias to reference `twenty-ui/src`.
- Configures twenty-front to understand the `@ui/*` alias on development
mode, so twenty-ui can be hot reloaded.
- When building on production mode, twenty-front needs twenty-ui to be
built beforehand (which is automatic with the `dependsOn` option).
- Configures twenty-front to understand the `@ui/*` alias when launching
tests, so there is no need to re-build twenty-ui for tests.

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-04-04 15:38:01 +02:00
ThaïsandLucas Bordeau eef1211463 chore: include react components in twenty-ui test config (#4709)
Split from https://github.com/twentyhq/twenty/pull/4518

Part of https://github.com/twentyhq/twenty/issues/4766

- Re-generates some of the twenty-ui test and storybook config with Nx
- Includes tsx files in twenty-ui tests and compiles them with swc

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-04-04 12:30:49 +02:00
ThaïsandLucas Bordeau 932a8d68f5 chore: add script to generate twenty-ui barrels before build (#4707)
Split from https://github.com/twentyhq/twenty/pull/4518

Part of #4766 

Adds a script to auto-generate twenty-ui exports in `index.ts` files.

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-04-04 12:14:20 +02:00
Thaïs bf8ee99ebb chore: use common eslint config for most packages (#4705)
Split from https://github.com/twentyhq/twenty/pull/4518

Related to #4766 

Mutualizes eslint config between projects.
I didn't include `twenty-server` in this PR as this was causing too many
lint errors.
2024-04-04 12:05:26 +02:00
ThaïsandThomas Trompette f58d855097 feat: add Settings/Integrations/Database/New Connection form (#4787)
Closes #4554

<img width="556" alt="image"
src="https://github.com/twentyhq/twenty/assets/3098428/56738254-aa43-4bfd-b7c5-29a9e1b7258f">

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-04-04 10:03:40 +02:00
Thaïs 5c3e5a0d8a feat: create Settings/Integrations/Database/Connection page (#4785)
Closes #4556

- Renames some pages and components after discussion about terminology
with @thomtrp.
- Creates the Settings/Integrations/Database/Connection page.
2024-04-03 17:15:02 +02:00
Thaïs dc8ab5d95a feat: expand relation record cards on click in Record Show page (#4570)
Closes #3126
2024-04-02 09:42:57 +02:00
ThaïsandCharles Bochet 8ae6af6bd7 refactor: move createState to twenty-ui (#4716)
Split from https://github.com/twentyhq/twenty/pull/4518

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
2024-04-01 13:22:51 +02:00
Thaïs a3e5cf37b0 chore: upgrade Nx to v18.1.3 (#4706)
Split from https://github.com/twentyhq/twenty/pull/4518

- Upgrades dependencies and applies automatic config migrations with the
command: `npx nx migrate nx` (see
https://nx.dev/nx-api/nx/documents/migrate)
- Fixes lint errors after upgrading `@typescript-eslint`

Note: it was not possible (for now) to migrate Nx to the latest stable
version (v18.2.1) because it upgrades Typescript to v5.4.3, which seems
to cause a bug on install when Yarn tries to apply its native patches.
Might be a bug on the Yarn side.
2024-04-01 13:16:50 +02:00
Thaïs 5d07b6347e refactor: move Tabler Icon exports to twenty-ui (#4727)
Split from https://github.com/twentyhq/twenty/pull/4518
2024-04-01 13:15:47 +02:00
Thaïs 3f102b2934 fix: fix Settings/Developers page error (#4722)
Closes #4669
2024-04-01 11:36:36 +02:00
Thaïs c3cc0f651c feat: add remote object integration databases list card (#4621)
* feat: add remote object integration databases list card

Closes #4549

* fix: fixes after rebase
2024-03-27 18:59:40 +01:00
Thaïs 6637ae586f feat: add Integrations/Integration Details/New Database page (#4593)
Closes #4553
2024-03-27 16:28:40 +01:00
Thaïs 2ffe519478 feat: add date format calendar setting (#4600)
Closes #4184
2024-03-27 15:17:31 +01:00
Thaïs 17bf315a1d feat: add remote object integration preview (#4614)
Closes #4548
2024-03-26 10:02:25 +01:00
Thaïs 8baa59b6f4 feat: add Active and Add integration card displays (#4591)
* feat: add Active and Add integration card displays

Closes #4541

* docs: add PaymentSuccess page stories

* refactor: move page components
2024-03-25 18:53:30 +01:00
Thaïs 6ab43c608f feat: create Integrations/IntegrationDetail page (#4574)
* feat: create Integrations/IntegrationDetail page

Closes #4546

* docs: add Settings/Integrations/Integration Detail page stories

* docs: add Settings/Billing page stories

* refactor: move some Settings components to @/settings

* refactor: move some Settings integrations components to @/settings/integrations
2024-03-25 18:06:46 +01:00
Thaïs 61e5d5bcb9 fix: fix Select field preview (#4507)
* fix: fix Select field preview

Closes #4084

* fix: fix field preview utils tests
2024-03-25 16:37:41 +01:00
Thaïs b77d589497 refactor: merge FieldType and FieldMetadataType (#4504)
* refactor: merge FieldType and FieldMetadataType

* fix: fix args passed to assertFieldMetadata

* fix: omit RawJson from supported types in settings
2024-03-25 15:45:28 +01:00
Thaïs 1639b2ad0e refactor: improve Settings supported field types validation (#4496)
* refactor: improve Settings supported field types validation

Related to: #4084, #4295

* fix: fix wrong import
2024-03-25 12:27:00 +01:00
Thaïs 20e14cb455 fix: fix typings in calendar utils tests (#4572)
* fix: fix typings in calendar utils tests

* fix: remove unstable test
2024-03-20 10:07:01 +01:00
Thaïs 38f28de4a6 feat: open event details drawer on event row click (#4464)
* feat: open event details drawer on event row click

Closes #4294

* feat: review - display Calendar Event details Inline Cells in readonly mode

* fix: fix calendar event field values not being set

* chore: review - reactivate no-extra-boolean-cast eslint rule
2024-03-15 17:37:36 +01:00
ThaïsandLucas Bordeau 41c7cd8cf7 feat: add calendar event attendees avatar group (#4384)
* feat: add calendar event attendees avatar group

Closes #4290

* fix: take CalendarEventAttendee data model into account

* feat: add Color code section to Calendar Settings (#4420)

Closes #4293

* Fix lint

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-03-12 14:58:34 +01:00
ThaïsandLucas Bordeau ab4ab1dfba feat: add next event indicator to Show Page Calendar tab (#4348)
* feat: add next event indicator to Show Page Calendar tab

Closes #4289

* feat: improve calendar animation

* refactor: add some utils and fix sorting edge case with full day

* refactor: rename CalendarCurrentEventIndicator to CalendarCurrentEventCursor

* fix: fix tests

* Fix lint

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-03-12 14:27:51 +01:00
Thaïs 40bea0d95e feat: add Settings Object Edit identifiers form (#4300)
* feat: add Settings Object Edit identifiers form

Closes #3836

* fix: fix wrong imports after renaming directories
2024-03-08 21:55:30 +01:00
Thaïs 92aa0bd888 feat: add Month headers to Show Page Calendar tab (#4326)
Closes #4288
2024-03-08 06:22:23 -03:00
Thaïs dd961209de feat: add event rows to Show Page Calendar tab (#4319)
* feat: add event rows to Show Page Calendar tab

Closes #4287

* refactor: use time as events group key instead of ISO string for easier sorting

* feat: implement data model changes

* refactor: improve sorting
2024-03-07 11:13:22 +01:00
Thaïs 1f00af286b feat: remove Color setting from Calendars Settings (#4310)
Closes #4291
2024-03-05 12:37:11 +01:00
Thaïs a8575fbe2f feat: add Calendar tab to Show Page Activities panel (#4309)
Closes #4286
2024-03-05 12:34:57 +01:00
Thaïs 91e5e7598b refactor: use react-hook-form in Settings Data Model Object pages (#4271)
Related issue: #3836
2024-03-05 07:52:19 -03:00
Thaïs a9f4a66c4f refactor: validate objectMetadataItem with Zod on creation and update… (#4270)
* refactor: validate objectMetadataItem with Zod on creation and update & remove logic from useObjectMetadataItemForSettings

* refactor: review
2024-03-05 11:32:30 +01:00
Thaïs 30df6c10ea test: improve utils coverage (#4230)
* test: improve utils coverage

* refactor: review - rename isDefined to isNonNullable, update tests and return statement
2024-02-29 17:03:52 +01:00
Thaïs 6ec0e5e995 feat: adjust navigation drawer design (#4242)
Closes #3969, Closes #4240
2024-02-29 16:49:23 +01:00
Thaïs a892d0f653 feat: add Object Edit Settings section with Object preview (#4216)
* feat: add Object Edit Settings section with Object preview

Closes #3834

* fix: fix preview card stories

* test: improve getFieldDefaultPreviewValue tests

* test: add getFieldPreviewValueFromRecord tests

* test: add useFieldPreview tests

* refactor: rename and move components

* fix: restore RecordStoreDecorator
2024-02-29 11:23:56 -03:00
Thaïs 6ad3880696 feat: apply RecordDetailSection style on RecordDuplicatesSection and … (#4241)
feat: apply RecordDetailSection style on RecordDuplicatesSection and add stories

Closes #3963, Closes #4240
2024-02-29 14:10:07 +01:00
ThaïsandCharles Bochet 3d809d5317 feat: add Display calendar settings (#4164)
* feat: add Color calendar setting

Closes #4067

* fix: fix wrong imports

* feat: add Display calendar settings

Closes #4068

* feat: add 12h/24h in Format option labels

* fix tests

* Fix

* Fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-24 12:50:32 +01:00
ThaïsandCharles Bochet a993155fb0 feat: add Color calendar setting (#4141)
* feat: add Color calendar setting

Closes #4067

* fix: fix wrong imports

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-24 12:34:56 +01:00
Thaïs ce7be4c48e feat: add Event Visibility calendar settings (#4138)
Closes #4064
2024-02-22 14:20:56 -03:00
Thaïs 292e97a045 feat: add Contact Auto-Creation calendar settings (#4132)
* feat: add Contact Auto-Creation calendar settings

Closes #4065

* fix: fix wrong Section component import

* fix: fix wrong Toggle import
2024-02-22 18:18:05 +01:00
Thaïs 5a692fbaeb feat: add Accounts List Card to Calendar Settings (#4129)
Closes #4061
2024-02-22 11:22:49 +01:00
Thaïs ee66188656 feat: add Synchronization calendar settings (#4111)
* feat: add Calendar Settings section to Settings/Accounts/Calendars page

Closes #4060

* refactor: rename components

* feat: add Synchronization calendar settings

Closes #4066
2024-02-21 17:23:06 +01:00
Thaïs 5a8a9cd029 feat: add Calendar Settings section to Settings/Accounts/Calendars page (#4104)
* feat: add Calendar Settings section to Settings/Accounts/Calendars page

Closes #4060

* refactor: rename components
2024-02-21 17:18:57 +01:00
Thaïs f977164fee feat: create Settings/Accounts/Calendars/Calendar Settings page (#4092)
* feat: create Settings/Accounts/Calendars/Calendar Settings page

Closes #4063

* docs: add SettingsAccountsCalendarsSettings stories
2024-02-21 15:37:42 +01:00
Thaïs 11581ca9c3 feat: create Settings/Accounts/Calendars page (#4090)
* feat: create Settings/Accounts/Calendars page

Closes #4059

* docs: add SettingsAccountsCalendars stories

* refactor: add SettingsNavigationDrawerItem component
2024-02-20 19:28:15 +01:00
Thaïs ec20117e80 chore: make twenty-server nest command scripts depend on twenty-email… (#4055)
chore: make twenty-server nest command scripts depend on twenty-emails build

Closes #4013
2024-02-20 14:35:09 +01:00
ThaïsandCharles Bochet e011ecbd6f POC: generate twenty-server package.json with Nx (#3654)
* POC: generate twenty-server package.json with Nx

* Re-add passport

* Fix instal

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-13 22:16:21 +01:00
ThaïsandCharles Bochet d28843bb85 feat: order board cards by record position (#3902)
* feat: order board cards by record position

Closes #3848

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-09 18:09:13 +01:00
Thaïs 201a2c8acc feat: display record identifier field as first column in table (#3788)
* feat: display record identifier field as first column in table

& forbid hiding and moving record identifier column

Closes #3303

* refactor: add availableTableColumnKeysSelectorScopeMap

* feat: show plus icon button for label identifier column and dropdown menu for other columns

* fix: use label identifier field value in RecordShowPage title

* refactor: remove availableColumnKeys selector

* refactor: review - compute label identifier logic in mapViewFieldsToColumnDefinitions + remove selectors

* fix: several fixes

* fix: fix board fields isVisible

* fix: fix board fields reordering

* fix: more board fields fixes

* fix: fix hiddenTableColumnsSelectorScopeMap
2024-02-09 12:36:08 +01:00
ThaïsandCharles Bochet 90b58518bb feat: change RecordShowPage Relation Card field display for TO_ONE_OB… (#3596)
feat: change RecordShowPage Relation Card field display for TO_ONE_OBJECT relation fields

Closes #3409

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-08 18:46:35 +01:00
Thaïs 7adb5cc00d feat: delete favorite in cache on related record deletion (#3751)
* feat: delete favorite in cache on related record deletion

* fix: fix useCreateOneRecord tests

* fix: fix usePipelineSteps tests

* fix: fix useCreateManyRecords tests

* fix: add null relation field values in useGenerateObjectRecordOptimisticResponse
2024-02-01 16:09:32 +01:00
Thaïs 29339ef99a fix: detach relation records in cache on record deletion (#3707)
* fix: detach relation records in cache on record deletion

* fix: fix useGetRelationMetadata tests
2024-01-31 11:36:26 +01:00
Thaïs 0bfc63161b fix: fix delete records optimistic effect not re-rendering queries af… (#3690)
fix: fix delete records optimistic effect not re-rendering queries after cache.evict
2024-01-30 12:26:05 +01:00
ThaïsandCharles Bochet 49f33bbe2e fix: fix record deletion optimistic effect (#3683)
* fix: fix record deletion optimistic effect

* fix: fix renamed method after rebase

* Re-add evict

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-30 09:33:28 +01:00
Thaïs a58b4cf437 refactor: apply relation optimistic effects on record update (#3556)
* refactor: apply relation optimistic effects on record update

Related to #3509

* refactor: remove need to pass relation id field to create and update mutations

* fix: fix tests

* fix: fix SingleEntitySelect glitch

* fix: fix usePersistField tests

* fix: fix wrong import after rebase

* fix: fix several tests

* fix: fix test types
2024-01-29 08:00:00 -03:00
Thaïsandmartmull a654205dbc chore: set up twenty-emails config so build isn't needed in development (#3619)
* chore: set up twenty-emails config so build isn't needed in development

* fix: fix script dependency

* chore: use @vitejs/plugin-react-swc

* Remove useless dependancy

* Fix typing

* chore: use baseUrl in twenty-emails

* chore: fix docker server prod build

* refactor: optimize Docker file and tsconfig

* fix: fix WORKDIR in docker

---------

Co-authored-by: martmull <martmull@hotmail.fr>
2024-01-29 06:17:12 -03:00
ThaïsandLucas Bordeau 014f11fb6f perf: apply record optimistic effects with cache.modify on mutation (#3540)
* perf: apply record optimistic effects with cache.modify on mutation

Closes #3509

* refactor: return early when created records do not match filter

* fix: fix id generation on record creation

* fix: comment filtering behavior on record creation

* Fixed typing error

* refactor: review - use ??

* refactor: review - add variables in readFieldValueToSort

* docs: review - add comments for variables.first in triggerUpdateRecordOptimisticEffect

* refactor: review - add intermediary variable for 'not' filter in useMultiObjectSearchMatchesSearchFilterAndToSelectQuery

* refactor: review - add filter utils

* fix: fix tests

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-01-23 18:13:00 +01:00
ThaïsandCharles Bochet 2d929c3b91 feat: display label identifier table cell as chip with link to Record… (#3503)
* feat: display label identifier table cell as chip with link to RecordShowPage

Closes #3502

* Fix test

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-17 17:44:36 +01:00
Thaïs 96d990e275 feat: set field as custom object label identifier in Object Detail (#3360)
* feat: set field as custom object label identifier in Object Detail

Closes #3302

* feat: prevent disabling Object label identitifer field in back-end

* refactor: review - extract isLabelIdentifier variable
2024-01-17 12:19:41 +01:00
ThaïsandCharles Bochet 95326b2828 fix: fix Relation field optimistic effect on Record update (#3352)
* fix: fix Relation field optimistic effect on Record update

Related to #3099

* Fix lint

* Fix

* fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-13 12:35:30 +01:00