From c737028dd6b089d1c5257cb89cbbb8b754824bf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Malfait?= Date: Sat, 17 Jan 2026 07:37:17 +0100 Subject: [PATCH] Move tools/eslint-rules to packages/twenty-eslint-rules (#17203) ## Summary Moves the custom ESLint rules from `tools/eslint-rules` to `packages/twenty-eslint-rules` for better organization within the monorepo packages structure. ## Changes - Move `eslint-rules` from `tools/` to `packages/twenty-eslint-rules` - Use `loadWorkspaceRules` from `@nx/eslint-plugin` to load custom rules - Update all ESLint configs to use the `twenty/` rule prefix instead of `@nx/workspace-` - Update `project.json`, `jest.config.mjs` with new paths - Update `package.json` workspaces and `nx.json` cache inputs - Update Dockerfile reference ## Technical Details The custom ESLint rules are now loaded using Nx's `loadWorkspaceRules` utility which: - Handles TypeScript transpilation automatically - Allows loading workspace rules from any directory - Provides a cleaner approach than the previous `@nx/workspace-` convention ## Testing - Verified all 17 custom ESLint rules load correctly from the new location - Verified linting works on dependent packages (twenty-front, twenty-server, etc.) --- eslint.config.mjs | 7 +- jest.preset.js | 7 +- nx.json | 117 +- package.json | 24 +- .../browser-extension/eslint.config.mjs | 2 +- .../twenty-docker/twenty-website/Dockerfile | 2 +- packages/twenty-emails/eslint.config.mjs | 2 +- packages/twenty-emails/src/common-style.ts | 2 +- .../eslint.config.react.mjs | 29 +- .../twenty-eslint-rules}/index.ts | 0 .../twenty-eslint-rules}/jest.config.mjs | 4 +- .../twenty-eslint-rules}/project.json | 4 +- .../rules/component-props-naming.spec.ts | 0 .../rules/component-props-naming.ts | 0 .../rules/effect-components.spec.ts | 0 .../rules/effect-components.ts | 0 .../explicit-boolean-predicates-in-if.ts | 0 ...raphql-resolvers-should-be-guarded.spec.ts | 0 .../graphql-resolvers-should-be-guarded.ts | 0 .../rules/inject-workspace-repository.spec.ts | 0 .../rules/inject-workspace-repository.ts | 0 .../rules/matching-state-variable.spec.ts | 0 .../rules/matching-state-variable.ts | 0 .../rules/max-consts-per-file.spec.ts | 0 .../rules/max-consts-per-file.ts | 0 .../rules/mdx-component-newlines.ts | 0 .../rules/no-angle-bracket-placeholders.ts | 0 .../rules/no-hardcoded-colors.spec.ts | 0 .../rules/no-hardcoded-colors.ts | 0 .../rules/no-navigate-prefer-link.spec.ts | 0 .../rules/no-navigate-prefer-link.ts | 0 .../rules/no-state-useref.spec.ts | 0 .../rules/no-state-useref.ts | 0 ...rest-api-methods-should-be-guarded.spec.ts | 0 .../rest-api-methods-should-be-guarded.ts | 0 ...sort-css-properties-alphabetically.spec.ts | 0 .../sort-css-properties-alphabetically.ts | 0 ...ed-components-prefixed-with-styled.spec.ts | 0 .../styled-components-prefixed-with-styled.ts | 0 ...Loadable-and-getValue-to-get-atoms.spec.ts | 0 ...e-getLoadable-and-getValue-to-get-atoms.ts | 0 ...ecoilCallback-has-dependency-array.spec.ts | 0 .../useRecoilCallback-has-dependency-array.ts | 0 .../twenty-eslint-rules}/tsconfig.json | 0 .../twenty-eslint-rules}/tsconfig.lint.json | 0 .../twenty-eslint-rules}/tsconfig.spec.json | 0 .../twenty-eslint-rules}/utils/createRule.ts | 0 .../utils/typedTokenHelpers.ts | 0 packages/twenty-front/.storybook/preview.tsx | 29 +- packages/twenty-front/eslint.config.mjs | 2 +- packages/twenty-front/jest.config.mjs | 1 + packages/twenty-front/setupTests.ts | 8 + .../src/hooks/useFirstMountState.ts | 2 +- .../CommandMenuActionMenuDropdown.stories.tsx | 2 - .../RecordIndexActionMenuDropdown.stories.tsx | 2 - .../__stories__/Calendar.stories.tsx | 2 - .../__stories__/TaskGroups.stories.tsx | 2 - .../__stories__/TaskList.stories.tsx | 2 - .../EventCardCalendarEvent.stories.tsx | 2 - .../EventRowMainObjectUpdated.stories.tsx | 2 - .../__stories__/EventCardMessage.stories.tsx | 2 - .../AdvancedTextEditor.stories.tsx | 2 - .../__stories__/AIChatMessage.stories.tsx | 8 +- .../CodeExecutionDisplay.stories.tsx | 3 +- .../__stories__/TerminalOutput.stories.tsx | 3 +- .../modules/apollo/hooks/useApolloFactory.ts | 2 +- .../src/modules/apollo/utils/formatTitle.ts | 10 +- .../src/modules/apollo/utils/loggerLink.ts | 2 +- .../modules/auth/hooks/__mocks__/useAuth.ts | 4 +- .../__stories__/CommandMenu.stories.tsx | 2 - .../KeyboardShortcutMenu.stories.tsx | 2 - .../AppNavigationDrawer.stories.tsx | 2 - .../ObjectOptionsDropdownContent.stories.tsx | 2 - .../RecordCalendarMonth.stories.tsx | 2 - .../RecordDetailRelationSection.stories.tsx | 2 - .../FormAddressFieldInput.stories.tsx | 3 +- .../FormAdvancedTextFieldInput.stories.tsx | 2 - .../FormArrayFieldInput.stories.tsx | 3 +- .../FormBooleanFieldInput.stories.tsx | 3 +- .../FormCurrencyFieldInput.stories.tsx | 3 +- .../FormEmailsFieldInput.stories.tsx | 3 +- .../FormFullNameFieldInput.stories.tsx | 3 +- .../FormLinksFieldInput.stories.tsx | 3 +- .../FormMultiSelectFieldInput.stories.tsx | 3 +- .../FormPhoneFieldInput.stories.tsx | 3 +- .../FormRawJsonFieldInput.stories.tsx | 3 +- .../FormRichTextV2FieldInput.stories.tsx | 3 +- .../FormSelectFieldInput.stories.tsx | 3 +- .../FormSingleRecordPicker.stories.tsx | 2 - .../FormTextFieldInput.stories.tsx | 3 +- .../FormUuidFieldInput.stories.tsx | 3 +- .../__stories__/VariableChip.stories.tsx | 3 +- .../perf/EmailsFieldDisplay.perf.stories.tsx | 2 - .../perf/LinksFieldDisplay.perf.stories.tsx | 2 - .../perf/PhonesFieldDisplay.perf.stories.tsx | 2 - .../__stories__/ArrayFieldInput.stories.tsx | 3 +- .../__stories__/BooleanFieldInput.stories.tsx | 3 +- .../__stories__/EmailsFieldInput.stories.tsx | 3 +- .../__stories__/LinksFieldInput.stories.tsx | 3 +- .../__stories__/NumberFieldInput.stories.tsx | 3 +- .../__stories__/PhonesFieldInput.stories.tsx | 3 +- .../__stories__/RatingFieldInput.stories.tsx | 3 +- .../RelationManyToOneFieldInput.stories.tsx | 2 - .../RelationOneToManyFieldInput.stories.tsx | 7 +- .../RichTextFieldInput.stories.tsx | 2 - .../__stories__/TextFieldInput.stories.tsx | 3 +- .../SingleRecordPicker.stories.tsx | 2 - .../__stories__/RecordTable.stories.tsx | 2 - .../RecordTableEmptyStateRemote.tsx | 2 +- ...EmptyStateNoGroupNoRecordAtAll.stories.tsx | 2 - ...ptyStateNoRecordFoundForFilter.stories.tsx | 2 - .../RecordTableEmptyStateRemote.stories.tsx | 2 - ...ecordTableEmptyStateSoftDelete.stories.tsx | 2 - ...UpdateMultipleRecordsContainer.stories.tsx | 2 - .../PageLayoutRenderer.stories.tsx | 2 - .../DashboardWidgetPlaceholder.stories.tsx | 2 - .../__stories__/WidgetRenderer.stories.tsx | 2 - .../__stories__/FieldWidget.stories.tsx | 2 - .../GraphWidgetBarChart.stories.tsx | 2 - .../GraphWidgetLineChart.stories.tsx | 2 - .../GraphWidgetPieChart.stories.tsx | 3 - .../components/DashboardEditorSideMenu.tsx | 3 +- .../components/DashboardFormattingToolbar.tsx | 2 +- .../components/DashboardsBlockEditor.tsx | 2 +- .../widget-card/components/WidgetCard.tsx | 6 +- ...SettingsAccountsBlocklistInput.stories.tsx | 3 +- ...ttingsAccountsBlocklistSection.stories.tsx | 3 +- ...SettingsAccountsBlocklistTable.stories.tsx | 3 +- ...tingsAccountsBlocklistTableRow.stories.tsx | 3 +- ...AccountsCalendarChannelDetails.stories.tsx | 2 - ...ccountsCalendarChannelsGeneral.stories.tsx | 2 - ...sAccountsMessageChannelDetails.stories.tsx | 2 - .../__stories__/CancelButton.stories.tsx | 3 +- .../settings/constants/SettingsObjectModel.ts | 3 +- ...ngsDataModelFieldIconLabelForm.stories.tsx | 2 - ...DataModelFieldSettingsFormCard.stories.tsx | 2 - ...ngsDataModelFieldPreviewWidget.stories.tsx | 3 - .../SettingsObjectFieldItemTableRow.tsx | 2 +- .../SettingsObjectRelationItemTableRow.tsx | 4 +- ...ingsObjectInactiveMenuDropDown.stories.tsx | 3 +- ...ttingsDataModelObjectAboutForm.stories.tsx | 2 - .../__stories__/ApiKeyInput.stories.tsx | 3 +- ...ttingsApiKeysFieldItemTableRow.stories.tsx | 3 +- .../SettingsDevelopersWebhookForm.stories.tsx | 2 - .../__stories__/GraphQLPlayground.stories.tsx | 7 +- .../PlaygroundSetupForm.stories.tsx | 3 +- .../__stories__/RestPlayground.stories.tsx | 3 +- .../SettingsRoleAssignment.stories.tsx | 3 +- .../SettingsRolePermissions.stories.tsx | 3 +- ...RolePermissionsObjectLevelObjectPicker.tsx | 2 +- .../stories/SettingsRoleSettings.stories.tsx | 3 +- .../SignInBackgroundMockColumnDefinitions.ts | 2 +- .../SignInBackgroundMockCompanies.ts | 4 +- .../__stories__/MatchColumns.stories.tsx | 3 +- .../__stories__/SelectHeader.stories.tsx | 2 - .../__stories__/SelectSheet.stories.tsx | 2 - .../components/__stories__/Steps.stories.tsx | 2 - .../components/__stories__/Upload.stories.tsx | 2 - .../__stories__/Validation.stories.tsx | 2 - .../__stories__/SnackBar.stories.tsx | 5 +- .../input/components/FieldInputContainer.tsx | 2 +- .../__stories__/MultiSelectInput.stories.tsx | 3 +- .../__stories__/IconPicker.stories.tsx | 3 +- .../__stories__/ImageInput.stories.tsx | 3 +- .../input/editor/components/BlockEditor.tsx | 2 +- .../__stories__/Dropdown.stories.tsx | 5 +- .../FullScreenContainer.stories.tsx | 7 +- .../__stories__/ConfirmationModal.stories.tsx | 3 +- .../components/__stories__/Modal.stories.tsx | 3 +- .../overlay/components/OverlayContainer.tsx | 2 +- .../__stories__/NavigationDrawer.stories.tsx | 2 - .../ViewBarFilterDropdown.stories.tsx | 2 - .../WorkflowStepExecutionResult.stories.tsx | 3 +- ...lowDiagramEmptyTriggerEditable.stories.tsx | 3 +- ...DiagramStepNodeEditableContent.stories.tsx | 3 +- .../components/WorkflowNodeContainer.tsx | 3 +- ...wStepFilterAddFilterRuleSelect.stories.tsx | 2 - ...pFilterAddRootStepFilterButton.stories.tsx | 2 - .../WorkflowStepFilterColumn.stories.tsx | 2 - .../WorkflowStepFilterFieldSelect.stories.tsx | 2 - ...wStepFilterLogicalOperatorCell.stories.tsx | 2 - ...orkflowStepFilterOperandSelect.stories.tsx | 2 - .../WorkflowStepFilterValueInput.stories.tsx | 2 - ...owEditActionServerlessFunction.stories.tsx | 2 - ...WorkflowEditActionCreateRecord.stories.tsx | 2 - ...WorkflowEditActionDeleteRecord.stories.tsx | 2 - .../WorkflowEditActionFindRecords.stories.tsx | 2 - .../WorkflowEditActionSendEmail.stories.tsx | 2 - ...WorkflowEditActionUpdateRecord.stories.tsx | 2 - .../WorkflowEditActionFilter.stories.tsx | 2 - .../WorkflowEditActionFilterBody.stories.tsx | 2 - .../WorkflowEditActionFormBuilder.stories.tsx | 2 - ...lowEditActionFormFieldSettings.stories.tsx | 2 - .../WorkflowEditActionFormFiller.stories.tsx | 2 - .../WorkflowFormEmptyMessage.stories.tsx | 3 +- .../HttpRequestExecutionResult.stories.tsx | 3 +- .../WorkflowEditActionHttpRequest.stories.tsx | 2 - .../__stories__/PasswordReset.stories.tsx | 3 +- .../__stories__/PaymentSuccess.stories.tsx | 3 +- .../__stories__/SyncEmails.stories.tsx | 3 +- .../__stories__/SettingsNewObject.stories.tsx | 3 +- .../playground/GraphQLPlayground.stories.tsx | 7 +- .../playground/SettingsPlayground.stories.tsx | 7 +- .../SettingsDevelopersWebhookNew.stories.tsx | 3 +- ...ttingsDevelopersWebhooksDetail.stories.tsx | 3 +- ...ttingsServerlessFunctionDetail.stories.tsx | 3 +- .../testing/decorators/I18nFrontDecorator.tsx | 18 - packages/twenty-server/eslint.config.mjs | 11 +- .../auth/services/auth.service.ts | 2 +- .../auth/services/sign-in-up.service.ts | 2 +- .../billing-webhook-subscription.service.ts | 2 +- .../two-factor-authentication.service.ts | 2 +- .../user/services/user.service.ts | 2 +- .../workspace/services/workspace.service.ts | 2 +- .../services/agent-actor-context.service.ts | 2 +- .../workflow-execution-context.service.ts | 2 +- packages/twenty-shared/eslint.config.mjs | 5 +- packages/twenty-shared/package.json | 2 +- packages/twenty-ui/eslint.config.mjs | 2 +- .../components/VisibilityHiddenInput.tsx | 2 +- .../src/theme/constants/BoxShadowDark.ts | 2 +- .../twenty-ui/src/theme/constants/Rgba.ts | 2 +- .../navigation/hooks/useResetLocationHash.ts | 2 +- packages/twenty-website/eslint.config.mjs | 5 +- yarn.lock | 4491 ++--------------- 225 files changed, 622 insertions(+), 4600 deletions(-) rename {tools/eslint-rules => packages/twenty-eslint-rules}/eslint.config.react.mjs (96%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/index.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/jest.config.mjs (67%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/project.json (82%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/component-props-naming.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/component-props-naming.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/effect-components.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/effect-components.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/explicit-boolean-predicates-in-if.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/graphql-resolvers-should-be-guarded.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/graphql-resolvers-should-be-guarded.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/inject-workspace-repository.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/inject-workspace-repository.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/matching-state-variable.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/matching-state-variable.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/max-consts-per-file.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/max-consts-per-file.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/mdx-component-newlines.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/no-angle-bracket-placeholders.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/no-hardcoded-colors.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/no-hardcoded-colors.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/no-navigate-prefer-link.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/no-navigate-prefer-link.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/no-state-useref.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/no-state-useref.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/rest-api-methods-should-be-guarded.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/rest-api-methods-should-be-guarded.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/sort-css-properties-alphabetically.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/sort-css-properties-alphabetically.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/styled-components-prefixed-with-styled.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/styled-components-prefixed-with-styled.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/use-getLoadable-and-getValue-to-get-atoms.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/use-getLoadable-and-getValue-to-get-atoms.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/useRecoilCallback-has-dependency-array.spec.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/rules/useRecoilCallback-has-dependency-array.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/tsconfig.json (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/tsconfig.lint.json (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/tsconfig.spec.json (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/utils/createRule.ts (100%) rename {tools/eslint-rules => packages/twenty-eslint-rules}/utils/typedTokenHelpers.ts (100%) delete mode 100644 packages/twenty-front/src/testing/decorators/I18nFrontDecorator.tsx diff --git a/eslint.config.mjs b/eslint.config.mjs index 8d24d478bc4..1160ca46663 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -11,6 +11,8 @@ import unicornPlugin from 'eslint-plugin-unicorn'; import unusedImportsPlugin from 'eslint-plugin-unused-imports'; import jsoncParser from 'jsonc-eslint-parser'; +const twentyRules = await nxPlugin.loadWorkspaceRules('packages/twenty-eslint-rules'); + export default [ // Base JavaScript configuration js.configs.recommended, @@ -195,6 +197,7 @@ export default [ plugins: { ...mdxPlugin.flat.plugins, '@nx': nxPlugin, + 'twenty': { rules: twentyRules }, }, }, mdxPlugin.flatCodeBlocks, @@ -205,9 +208,9 @@ export default [ 'unused-imports/no-unused-imports': 'off', 'unused-imports/no-unused-vars': 'off', // Enforce JSX tags on separate lines to prevent Crowdin translation issues - '@nx/workspace-mdx-component-newlines': 'error', + 'twenty/mdx-component-newlines': 'error', // Disallow angle bracket placeholders to prevent Crowdin translation errors - '@nx/workspace-no-angle-bracket-placeholders': 'error', + 'twenty/no-angle-bracket-placeholders': 'error', }, }, ]; diff --git a/jest.preset.js b/jest.preset.js index 05984a2d534..61a0276624d 100644 --- a/jest.preset.js +++ b/jest.preset.js @@ -1,4 +1,9 @@ const nxPreset = require('@nx/jest/preset').default; -module.exports = { ...nxPreset }; +module.exports = { + ...nxPreset, + // Override the new testEnvironmentOptions added in @nx/jest 22.3.3 + // which breaks Lingui's module resolution + testEnvironmentOptions: {}, +}; diff --git a/nx.json b/nx.json index d25b6a03802..8f6de3c602e 100644 --- a/nx.json +++ b/nx.json @@ -4,9 +4,7 @@ "libsDir": "packages" }, "namedInputs": { - "default": [ - "{projectRoot}/**/*" - ], + "default": ["{projectRoot}/**/*"], "excludeStories": [ "default", "!{projectRoot}/.storybook/*", @@ -34,26 +32,17 @@ "targetDefaults": { "build": { "cache": true, - "inputs": [ - "^production", - "production" - ], - "dependsOn": [ - "^build" - ] + "inputs": ["^production", "production"], + "dependsOn": ["^build"] }, "start": { "cache": false, - "dependsOn": [ - "^build" - ] + "dependsOn": ["^build"] }, "lint": { "executor": "@nx/eslint:lint", "cache": true, - "outputs": [ - "{options.outputFile}" - ], + "outputs": ["{options.outputFile}"], "options": { "eslintConfig": "{projectRoot}/eslint.config.mjs", "cache": true, @@ -67,9 +56,7 @@ "fix": true } }, - "dependsOn": [ - "^build" - ] + "dependsOn": ["^build"] }, "lint:diff-with-main": { "executor": "nx:run-commands", @@ -103,9 +90,7 @@ "write": true } }, - "dependsOn": [ - "^build" - ] + "dependsOn": ["^build"] }, "typecheck": { "executor": "nx:run-commands", @@ -119,30 +104,22 @@ "watch": true } }, - "dependsOn": [ - "^build" - ] + "dependsOn": ["^build"] }, "test": { "executor": "@nx/jest:jest", "cache": true, - "dependsOn": [ - "^build" - ], + "dependsOn": ["^build"], "inputs": [ "^default", "excludeStories", "{workspaceRoot}/jest.preset.js" ], - "outputs": [ - "{projectRoot}/coverage" - ], + "outputs": ["{projectRoot}/coverage"], "options": { "jestConfig": "{projectRoot}/jest.config.mjs", "coverage": true, - "coverageReporters": [ - "text-summary" - ], + "coverageReporters": ["text-summary"], "cacheDirectory": "../../.cache/jest/{projectRoot}" }, "configurations": { @@ -151,10 +128,7 @@ "maxWorkers": 3 }, "coverage": { - "coverageReporters": [ - "lcov", - "text" - ] + "coverageReporters": ["lcov", "text"] }, "watch": { "watch": true @@ -163,36 +137,25 @@ }, "test:e2e": { "cache": true, - "dependsOn": [ - "^build" - ] + "dependsOn": ["^build"] }, "storybook:build": { "executor": "nx:run-commands", "cache": true, - "inputs": [ - "^default", - "excludeTests" - ], - "outputs": [ - "{projectRoot}/{options.output-dir}" - ], + "inputs": ["^default", "excludeTests"], + "outputs": ["{projectRoot}/{options.output-dir}"], "options": { "cwd": "{projectRoot}", "command": "NODE_OPTIONS='--max-old-space-size=10240' VITE_DISABLE_TYPESCRIPT_CHECKER=true storybook build --test", "output-dir": "storybook-static", "config-dir": ".storybook" }, - "dependsOn": [ - "^build" - ] + "dependsOn": ["^build"] }, "storybook:serve:dev": { "executor": "nx:run-commands", "cache": true, - "dependsOn": [ - "^build" - ], + "dependsOn": ["^build"], "options": { "cwd": "{projectRoot}", "command": "storybook dev", @@ -201,9 +164,7 @@ }, "storybook:serve:static": { "executor": "nx:run-commands", - "dependsOn": [ - "storybook:build" - ], + "dependsOn": ["storybook:build"], "options": { "cwd": "{projectRoot}", "command": "npx http-server {args.staticDir} -a={args.host} --port={args.port} --silent={args.silent}", @@ -216,13 +177,8 @@ "storybook:test": { "executor": "nx:run-commands", "cache": true, - "inputs": [ - "^default", - "excludeTests" - ], - "outputs": [ - "{projectRoot}/coverage/storybook" - ], + "inputs": ["^default", "excludeTests"], + "outputs": ["{projectRoot}/coverage/storybook"], "options": { "cwd": "{projectRoot}", "commands": [ @@ -238,10 +194,7 @@ }, "storybook:test:no-coverage": { "executor": "nx:run-commands", - "inputs": [ - "^default", - "excludeTests" - ], + "inputs": ["^default", "excludeTests"], "options": { "cwd": "{projectRoot}", "commands": [ @@ -326,29 +279,21 @@ "inputs": [ "default", "{workspaceRoot}/eslint.config.mjs", - "{workspaceRoot}/tools/eslint-rules/**/*" - ] - }, - "@nx/vite:test": { - "cache": true, - "inputs": [ - "default", - "^default" + "{workspaceRoot}/packages/twenty-eslint-rules/**/*" ] }, "@nx/vite:build": { "cache": true, - "dependsOn": [ - "^build" - ], - "inputs": [ - "default", - "^default" - ] + "dependsOn": ["^build"], + "inputs": ["default", "^default"] + }, + "@nx/vitest:test": { + "cache": true, + "inputs": ["default", "^default"] } }, "installation": { - "version": "22.0.3" + "version": "22.3.3" }, "generators": { "@nx/react": { @@ -376,9 +321,7 @@ "tasksRunnerOptions": { "default": { "options": { - "cacheableOperations": [ - "storybook:build" - ] + "cacheableOperations": ["storybook:build"] } } }, diff --git a/package.json b/package.json index 57883c8fc24..81b6e2119c9 100644 --- a/package.json +++ b/package.json @@ -72,14 +72,14 @@ "@graphql-codegen/typescript": "^3.0.4", "@graphql-codegen/typescript-operations": "^3.0.4", "@graphql-codegen/typescript-react-apollo": "^3.3.7", - "@nx/eslint": "22.0.3", - "@nx/eslint-plugin": "22.0.3", - "@nx/jest": "22.0.3", - "@nx/js": "22.0.3", - "@nx/react": "22.0.3", - "@nx/storybook": "22.0.3", - "@nx/vite": "22.0.3", - "@nx/web": "22.0.3", + "@nx/eslint": "22.3.3", + "@nx/eslint-plugin": "22.3.3", + "@nx/jest": "22.3.3", + "@nx/js": "22.3.3", + "@nx/react": "22.3.3", + "@nx/storybook": "22.3.3", + "@nx/vite": "22.3.3", + "@nx/web": "22.3.3", "@sentry/types": "^8", "@storybook-community/storybook-addon-cookie": "^5.0.0", "@storybook/addon-coverage": "^3.0.0", @@ -165,7 +165,7 @@ "jsdom": "~22.1.0", "msw": "^2.0.11", "msw-storybook-addon": "^2.0.5", - "nx": "22.0.3", + "nx": "22.3.3", "prettier": "^3.1.1", "raw-loader": "^4.0.2", "rimraf": "^5.0.5", @@ -195,7 +195,9 @@ "typescript": "5.9.2", "graphql-redis-subscriptions/ioredis": "^5.6.0", "prosemirror-view": "1.40.0", - "prosemirror-transform": "1.10.4" + "prosemirror-transform": "1.10.4", + "@lingui/core": "5.1.2", + "@types/qs": "6.9.16" }, "version": "0.2.1", "nx": {}, @@ -220,7 +222,7 @@ "packages/twenty-apps", "packages/twenty-cli", "packages/create-twenty-app", - "tools/eslint-rules" + "packages/twenty-eslint-rules" ] }, "prettier": { diff --git a/packages/twenty-apps/community/linkedin-browser-extension/browser-extension/eslint.config.mjs b/packages/twenty-apps/community/linkedin-browser-extension/browser-extension/eslint.config.mjs index f7f5688c3aa..802bc9d1e91 100755 --- a/packages/twenty-apps/community/linkedin-browser-extension/browser-extension/eslint.config.mjs +++ b/packages/twenty-apps/community/linkedin-browser-extension/browser-extension/eslint.config.mjs @@ -1,7 +1,7 @@ import typescriptParser from '@typescript-eslint/parser'; import path from 'path'; import { fileURLToPath } from 'url'; -import reactConfig from '../../../../../tools/eslint-rules/eslint.config.react.mjs'; +import reactConfig from '../../../../twenty-eslint-rules/eslint.config.react.mjs'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); diff --git a/packages/twenty-docker/twenty-website/Dockerfile b/packages/twenty-docker/twenty-website/Dockerfile index 3f9c69a413b..d006737e419 100644 --- a/packages/twenty-docker/twenty-website/Dockerfile +++ b/packages/twenty-docker/twenty-website/Dockerfile @@ -8,7 +8,7 @@ COPY ./yarn.lock . COPY ./.yarnrc.yml . COPY ./.yarn/releases /app/.yarn/releases COPY ./.yarn/patches /app/.yarn/patches -COPY ./tools/eslint-rules /app/tools/eslint-rules +COPY ./packages/twenty-eslint-rules /app/packages/twenty-eslint-rules COPY ./packages/twenty-ui/package.json /app/packages/twenty-ui/ COPY ./packages/twenty-shared/package.json /app/packages/twenty-shared/ COPY ./packages/twenty-website/package.json /app/packages/twenty-website/package.json diff --git a/packages/twenty-emails/eslint.config.mjs b/packages/twenty-emails/eslint.config.mjs index cfb3c390448..d4c0afa7a73 100644 --- a/packages/twenty-emails/eslint.config.mjs +++ b/packages/twenty-emails/eslint.config.mjs @@ -1,7 +1,7 @@ import typescriptParser from '@typescript-eslint/parser'; import path from 'path'; import { fileURLToPath } from 'url'; -import reactConfig from '../../tools/eslint-rules/eslint.config.react.mjs'; +import reactConfig from '../twenty-eslint-rules/eslint.config.react.mjs'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); diff --git a/packages/twenty-emails/src/common-style.ts b/packages/twenty-emails/src/common-style.ts index 082578a4084..0e18c56067d 100644 --- a/packages/twenty-emails/src/common-style.ts +++ b/packages/twenty-emails/src/common-style.ts @@ -1,4 +1,4 @@ -/* eslint-disable @nx/workspace-no-hardcoded-colors */ +/* eslint-disable twenty/no-hardcoded-colors */ const grayScale = { gray100: '#000000', diff --git a/tools/eslint-rules/eslint.config.react.mjs b/packages/twenty-eslint-rules/eslint.config.react.mjs similarity index 96% rename from tools/eslint-rules/eslint.config.react.mjs rename to packages/twenty-eslint-rules/eslint.config.react.mjs index d6a2b47a8a6..3969559dd8a 100644 --- a/tools/eslint-rules/eslint.config.react.mjs +++ b/packages/twenty-eslint-rules/eslint.config.react.mjs @@ -13,6 +13,8 @@ import unicornPlugin from 'eslint-plugin-unicorn'; import unusedImportsPlugin from 'eslint-plugin-unused-imports'; import jsoncParser from 'jsonc-eslint-parser'; +const twentyRules = await nxPlugin.loadWorkspaceRules('packages/twenty-eslint-rules'); + export default [ // Base JavaScript configuration js.configs.recommended, @@ -34,6 +36,7 @@ export default [ 'import': importPlugin, 'unused-imports': unusedImportsPlugin, 'unicorn': unicornPlugin, + 'twenty': { rules: twentyRules }, }, settings: { react: { @@ -567,17 +570,17 @@ export default [ '@typescript-eslint/no-unused-vars': 'off', // Custom workspace rules - '@nx/workspace-effect-components': 'error', - '@nx/workspace-no-hardcoded-colors': 'error', - '@nx/workspace-matching-state-variable': 'error', - '@nx/workspace-sort-css-properties-alphabetically': 'error', - '@nx/workspace-styled-components-prefixed-with-styled': 'error', - '@nx/workspace-no-state-useref': 'error', - '@nx/workspace-component-props-naming': 'error', - '@nx/workspace-explicit-boolean-predicates-in-if': 'error', - '@nx/workspace-use-getLoadable-and-getValue-to-get-atoms': 'error', - '@nx/workspace-useRecoilCallback-has-dependency-array': 'error', - '@nx/workspace-no-navigate-prefer-link': 'error', + 'twenty/effect-components': 'error', + 'twenty/no-hardcoded-colors': 'error', + 'twenty/matching-state-variable': 'error', + 'twenty/sort-css-properties-alphabetically': 'error', + 'twenty/styled-components-prefixed-with-styled': 'error', + 'twenty/no-state-useref': 'error', + 'twenty/component-props-naming': 'error', + 'twenty/explicit-boolean-predicates-in-if': 'error', + 'twenty/use-getLoadable-and-getValue-to-get-atoms': 'error', + 'twenty/useRecoilCallback-has-dependency-array': 'error', + 'twenty/no-navigate-prefer-link': 'error', }, }, @@ -721,7 +724,7 @@ export default [ }, }, ], - '@nx/workspace-max-consts-per-file': ['error', { max: 1 }], + 'twenty/max-consts-per-file': ['error', { max: 1 }], }, }, @@ -778,7 +781,7 @@ export default [ }, }, ], - '@nx/workspace-max-consts-per-file': ['error', { max: 1 }], + 'twenty/max-consts-per-file': ['error', { max: 1 }], }, }, diff --git a/tools/eslint-rules/index.ts b/packages/twenty-eslint-rules/index.ts similarity index 100% rename from tools/eslint-rules/index.ts rename to packages/twenty-eslint-rules/index.ts diff --git a/tools/eslint-rules/jest.config.mjs b/packages/twenty-eslint-rules/jest.config.mjs similarity index 67% rename from tools/eslint-rules/jest.config.mjs rename to packages/twenty-eslint-rules/jest.config.mjs index 83ef39037d8..6afffb1cc59 100644 --- a/tools/eslint-rules/jest.config.mjs +++ b/packages/twenty-eslint-rules/jest.config.mjs @@ -1,11 +1,11 @@ export default { - displayName: 'eslint-rules', + displayName: 'twenty-eslint-rules', silent: false, preset: '../../jest.preset.js', transform: { '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], }, moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/tools/eslint-rules', + coverageDirectory: '../../coverage/packages/twenty-eslint-rules', }; diff --git a/tools/eslint-rules/project.json b/packages/twenty-eslint-rules/project.json similarity index 82% rename from tools/eslint-rules/project.json rename to packages/twenty-eslint-rules/project.json index d80a1d1db96..75ba786e64f 100644 --- a/tools/eslint-rules/project.json +++ b/packages/twenty-eslint-rules/project.json @@ -1,7 +1,7 @@ { - "name": "eslint-rules", + "name": "twenty-eslint-rules", "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "tools/eslint-rules", + "sourceRoot": "packages/twenty-eslint-rules", "tags": ["scope:shared"], "targets": { "lint": { diff --git a/tools/eslint-rules/rules/component-props-naming.spec.ts b/packages/twenty-eslint-rules/rules/component-props-naming.spec.ts similarity index 100% rename from tools/eslint-rules/rules/component-props-naming.spec.ts rename to packages/twenty-eslint-rules/rules/component-props-naming.spec.ts diff --git a/tools/eslint-rules/rules/component-props-naming.ts b/packages/twenty-eslint-rules/rules/component-props-naming.ts similarity index 100% rename from tools/eslint-rules/rules/component-props-naming.ts rename to packages/twenty-eslint-rules/rules/component-props-naming.ts diff --git a/tools/eslint-rules/rules/effect-components.spec.ts b/packages/twenty-eslint-rules/rules/effect-components.spec.ts similarity index 100% rename from tools/eslint-rules/rules/effect-components.spec.ts rename to packages/twenty-eslint-rules/rules/effect-components.spec.ts diff --git a/tools/eslint-rules/rules/effect-components.ts b/packages/twenty-eslint-rules/rules/effect-components.ts similarity index 100% rename from tools/eslint-rules/rules/effect-components.ts rename to packages/twenty-eslint-rules/rules/effect-components.ts diff --git a/tools/eslint-rules/rules/explicit-boolean-predicates-in-if.ts b/packages/twenty-eslint-rules/rules/explicit-boolean-predicates-in-if.ts similarity index 100% rename from tools/eslint-rules/rules/explicit-boolean-predicates-in-if.ts rename to packages/twenty-eslint-rules/rules/explicit-boolean-predicates-in-if.ts diff --git a/tools/eslint-rules/rules/graphql-resolvers-should-be-guarded.spec.ts b/packages/twenty-eslint-rules/rules/graphql-resolvers-should-be-guarded.spec.ts similarity index 100% rename from tools/eslint-rules/rules/graphql-resolvers-should-be-guarded.spec.ts rename to packages/twenty-eslint-rules/rules/graphql-resolvers-should-be-guarded.spec.ts diff --git a/tools/eslint-rules/rules/graphql-resolvers-should-be-guarded.ts b/packages/twenty-eslint-rules/rules/graphql-resolvers-should-be-guarded.ts similarity index 100% rename from tools/eslint-rules/rules/graphql-resolvers-should-be-guarded.ts rename to packages/twenty-eslint-rules/rules/graphql-resolvers-should-be-guarded.ts diff --git a/tools/eslint-rules/rules/inject-workspace-repository.spec.ts b/packages/twenty-eslint-rules/rules/inject-workspace-repository.spec.ts similarity index 100% rename from tools/eslint-rules/rules/inject-workspace-repository.spec.ts rename to packages/twenty-eslint-rules/rules/inject-workspace-repository.spec.ts diff --git a/tools/eslint-rules/rules/inject-workspace-repository.ts b/packages/twenty-eslint-rules/rules/inject-workspace-repository.ts similarity index 100% rename from tools/eslint-rules/rules/inject-workspace-repository.ts rename to packages/twenty-eslint-rules/rules/inject-workspace-repository.ts diff --git a/tools/eslint-rules/rules/matching-state-variable.spec.ts b/packages/twenty-eslint-rules/rules/matching-state-variable.spec.ts similarity index 100% rename from tools/eslint-rules/rules/matching-state-variable.spec.ts rename to packages/twenty-eslint-rules/rules/matching-state-variable.spec.ts diff --git a/tools/eslint-rules/rules/matching-state-variable.ts b/packages/twenty-eslint-rules/rules/matching-state-variable.ts similarity index 100% rename from tools/eslint-rules/rules/matching-state-variable.ts rename to packages/twenty-eslint-rules/rules/matching-state-variable.ts diff --git a/tools/eslint-rules/rules/max-consts-per-file.spec.ts b/packages/twenty-eslint-rules/rules/max-consts-per-file.spec.ts similarity index 100% rename from tools/eslint-rules/rules/max-consts-per-file.spec.ts rename to packages/twenty-eslint-rules/rules/max-consts-per-file.spec.ts diff --git a/tools/eslint-rules/rules/max-consts-per-file.ts b/packages/twenty-eslint-rules/rules/max-consts-per-file.ts similarity index 100% rename from tools/eslint-rules/rules/max-consts-per-file.ts rename to packages/twenty-eslint-rules/rules/max-consts-per-file.ts diff --git a/tools/eslint-rules/rules/mdx-component-newlines.ts b/packages/twenty-eslint-rules/rules/mdx-component-newlines.ts similarity index 100% rename from tools/eslint-rules/rules/mdx-component-newlines.ts rename to packages/twenty-eslint-rules/rules/mdx-component-newlines.ts diff --git a/tools/eslint-rules/rules/no-angle-bracket-placeholders.ts b/packages/twenty-eslint-rules/rules/no-angle-bracket-placeholders.ts similarity index 100% rename from tools/eslint-rules/rules/no-angle-bracket-placeholders.ts rename to packages/twenty-eslint-rules/rules/no-angle-bracket-placeholders.ts diff --git a/tools/eslint-rules/rules/no-hardcoded-colors.spec.ts b/packages/twenty-eslint-rules/rules/no-hardcoded-colors.spec.ts similarity index 100% rename from tools/eslint-rules/rules/no-hardcoded-colors.spec.ts rename to packages/twenty-eslint-rules/rules/no-hardcoded-colors.spec.ts diff --git a/tools/eslint-rules/rules/no-hardcoded-colors.ts b/packages/twenty-eslint-rules/rules/no-hardcoded-colors.ts similarity index 100% rename from tools/eslint-rules/rules/no-hardcoded-colors.ts rename to packages/twenty-eslint-rules/rules/no-hardcoded-colors.ts diff --git a/tools/eslint-rules/rules/no-navigate-prefer-link.spec.ts b/packages/twenty-eslint-rules/rules/no-navigate-prefer-link.spec.ts similarity index 100% rename from tools/eslint-rules/rules/no-navigate-prefer-link.spec.ts rename to packages/twenty-eslint-rules/rules/no-navigate-prefer-link.spec.ts diff --git a/tools/eslint-rules/rules/no-navigate-prefer-link.ts b/packages/twenty-eslint-rules/rules/no-navigate-prefer-link.ts similarity index 100% rename from tools/eslint-rules/rules/no-navigate-prefer-link.ts rename to packages/twenty-eslint-rules/rules/no-navigate-prefer-link.ts diff --git a/tools/eslint-rules/rules/no-state-useref.spec.ts b/packages/twenty-eslint-rules/rules/no-state-useref.spec.ts similarity index 100% rename from tools/eslint-rules/rules/no-state-useref.spec.ts rename to packages/twenty-eslint-rules/rules/no-state-useref.spec.ts diff --git a/tools/eslint-rules/rules/no-state-useref.ts b/packages/twenty-eslint-rules/rules/no-state-useref.ts similarity index 100% rename from tools/eslint-rules/rules/no-state-useref.ts rename to packages/twenty-eslint-rules/rules/no-state-useref.ts diff --git a/tools/eslint-rules/rules/rest-api-methods-should-be-guarded.spec.ts b/packages/twenty-eslint-rules/rules/rest-api-methods-should-be-guarded.spec.ts similarity index 100% rename from tools/eslint-rules/rules/rest-api-methods-should-be-guarded.spec.ts rename to packages/twenty-eslint-rules/rules/rest-api-methods-should-be-guarded.spec.ts diff --git a/tools/eslint-rules/rules/rest-api-methods-should-be-guarded.ts b/packages/twenty-eslint-rules/rules/rest-api-methods-should-be-guarded.ts similarity index 100% rename from tools/eslint-rules/rules/rest-api-methods-should-be-guarded.ts rename to packages/twenty-eslint-rules/rules/rest-api-methods-should-be-guarded.ts diff --git a/tools/eslint-rules/rules/sort-css-properties-alphabetically.spec.ts b/packages/twenty-eslint-rules/rules/sort-css-properties-alphabetically.spec.ts similarity index 100% rename from tools/eslint-rules/rules/sort-css-properties-alphabetically.spec.ts rename to packages/twenty-eslint-rules/rules/sort-css-properties-alphabetically.spec.ts diff --git a/tools/eslint-rules/rules/sort-css-properties-alphabetically.ts b/packages/twenty-eslint-rules/rules/sort-css-properties-alphabetically.ts similarity index 100% rename from tools/eslint-rules/rules/sort-css-properties-alphabetically.ts rename to packages/twenty-eslint-rules/rules/sort-css-properties-alphabetically.ts diff --git a/tools/eslint-rules/rules/styled-components-prefixed-with-styled.spec.ts b/packages/twenty-eslint-rules/rules/styled-components-prefixed-with-styled.spec.ts similarity index 100% rename from tools/eslint-rules/rules/styled-components-prefixed-with-styled.spec.ts rename to packages/twenty-eslint-rules/rules/styled-components-prefixed-with-styled.spec.ts diff --git a/tools/eslint-rules/rules/styled-components-prefixed-with-styled.ts b/packages/twenty-eslint-rules/rules/styled-components-prefixed-with-styled.ts similarity index 100% rename from tools/eslint-rules/rules/styled-components-prefixed-with-styled.ts rename to packages/twenty-eslint-rules/rules/styled-components-prefixed-with-styled.ts diff --git a/tools/eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.spec.ts b/packages/twenty-eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.spec.ts similarity index 100% rename from tools/eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.spec.ts rename to packages/twenty-eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.spec.ts diff --git a/tools/eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.ts b/packages/twenty-eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.ts similarity index 100% rename from tools/eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.ts rename to packages/twenty-eslint-rules/rules/use-getLoadable-and-getValue-to-get-atoms.ts diff --git a/tools/eslint-rules/rules/useRecoilCallback-has-dependency-array.spec.ts b/packages/twenty-eslint-rules/rules/useRecoilCallback-has-dependency-array.spec.ts similarity index 100% rename from tools/eslint-rules/rules/useRecoilCallback-has-dependency-array.spec.ts rename to packages/twenty-eslint-rules/rules/useRecoilCallback-has-dependency-array.spec.ts diff --git a/tools/eslint-rules/rules/useRecoilCallback-has-dependency-array.ts b/packages/twenty-eslint-rules/rules/useRecoilCallback-has-dependency-array.ts similarity index 100% rename from tools/eslint-rules/rules/useRecoilCallback-has-dependency-array.ts rename to packages/twenty-eslint-rules/rules/useRecoilCallback-has-dependency-array.ts diff --git a/tools/eslint-rules/tsconfig.json b/packages/twenty-eslint-rules/tsconfig.json similarity index 100% rename from tools/eslint-rules/tsconfig.json rename to packages/twenty-eslint-rules/tsconfig.json diff --git a/tools/eslint-rules/tsconfig.lint.json b/packages/twenty-eslint-rules/tsconfig.lint.json similarity index 100% rename from tools/eslint-rules/tsconfig.lint.json rename to packages/twenty-eslint-rules/tsconfig.lint.json diff --git a/tools/eslint-rules/tsconfig.spec.json b/packages/twenty-eslint-rules/tsconfig.spec.json similarity index 100% rename from tools/eslint-rules/tsconfig.spec.json rename to packages/twenty-eslint-rules/tsconfig.spec.json diff --git a/tools/eslint-rules/utils/createRule.ts b/packages/twenty-eslint-rules/utils/createRule.ts similarity index 100% rename from tools/eslint-rules/utils/createRule.ts rename to packages/twenty-eslint-rules/utils/createRule.ts diff --git a/tools/eslint-rules/utils/typedTokenHelpers.ts b/packages/twenty-eslint-rules/utils/typedTokenHelpers.ts similarity index 100% rename from tools/eslint-rules/utils/typedTokenHelpers.ts rename to packages/twenty-eslint-rules/utils/typedTokenHelpers.ts diff --git a/packages/twenty-front/.storybook/preview.tsx b/packages/twenty-front/.storybook/preview.tsx index 81161c7c4a2..5d7257fc7ae 100644 --- a/packages/twenty-front/.storybook/preview.tsx +++ b/packages/twenty-front/.storybook/preview.tsx @@ -1,7 +1,10 @@ import { ThemeProvider } from '@emotion/react'; +import { i18n } from '@lingui/core'; +import { I18nProvider } from '@lingui/react'; import { type Preview } from '@storybook/react-vite'; import { initialize, mswLoader } from 'msw-storybook-addon'; import { useEffect } from 'react'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; //import { useDarkMode } from 'storybook-dark-mode'; // eslint-disable-next-line no-restricted-imports @@ -10,6 +13,12 @@ import { RootDecorator } from '../src/testing/decorators/RootDecorator'; import 'react-loading-skeleton/dist/skeleton.css'; import 'twenty-ui/style.css'; import { THEME_LIGHT, ThemeContextProvider } from 'twenty-ui/theme'; +// eslint-disable-next-line no-restricted-imports +import { messages as enMessages } from '../src/locales/generated/en'; + +// Initialize i18n globally for all stories +i18n.load({ [SOURCE_LOCALE]: enMessages }); +i18n.activate(SOURCE_LOCALE); import { mockedUserJWT } from '~/testing/mock-data/jwt'; // eslint-disable-next-line no-restricted-imports import { ClickOutsideListenerContext } from '../src/modules/ui/utilities/pointer-event/contexts/ClickOutsideListenerContext'; @@ -59,15 +68,17 @@ const preview: Preview = { }, [theme]); return ( - - - - - - - + + + + + + + + + ); }, RootDecorator, diff --git a/packages/twenty-front/eslint.config.mjs b/packages/twenty-front/eslint.config.mjs index 81f1cd36a77..27a74299fbf 100644 --- a/packages/twenty-front/eslint.config.mjs +++ b/packages/twenty-front/eslint.config.mjs @@ -1,7 +1,7 @@ import typescriptParser from '@typescript-eslint/parser'; import path from 'path'; import { fileURLToPath } from 'url'; -import reactConfig from '../../tools/eslint-rules/eslint.config.react.mjs'; +import reactConfig from '../twenty-eslint-rules/eslint.config.react.mjs'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); diff --git a/packages/twenty-front/jest.config.mjs b/packages/twenty-front/jest.config.mjs index d96a10b2cdb..7c374b59134 100644 --- a/packages/twenty-front/jest.config.mjs +++ b/packages/twenty-front/jest.config.mjs @@ -22,6 +22,7 @@ const jestConfig = { preset: '../../jest.preset.js', setupFilesAfterEnv: ['./setupTests.ts'], testEnvironment: 'jsdom', + testEnvironmentOptions: {}, transformIgnorePatterns: [ '/node_modules/(?!(twenty-ui)/.*)', diff --git a/packages/twenty-front/setupTests.ts b/packages/twenty-front/setupTests.ts index 9ddd57b6134..17c127607aa 100644 --- a/packages/twenty-front/setupTests.ts +++ b/packages/twenty-front/setupTests.ts @@ -4,6 +4,14 @@ // learn more: https://github.com/testing-library/jest-dom import '@testing-library/jest-dom'; +import { i18n } from '@lingui/core'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; +import { messages as enMessages } from '~/locales/generated/en'; + +// Initialize i18n for all tests +i18n.load({ [SOURCE_LOCALE]: enMessages }); +i18n.activate(SOURCE_LOCALE); + // Add Jest matchers for toThrowError and other missing methods declare global { namespace jest { diff --git a/packages/twenty-front/src/hooks/useFirstMountState.ts b/packages/twenty-front/src/hooks/useFirstMountState.ts index 6191f2842ec..cc8a7145b63 100644 --- a/packages/twenty-front/src/hooks/useFirstMountState.ts +++ b/packages/twenty-front/src/hooks/useFirstMountState.ts @@ -1,7 +1,7 @@ import { useRef } from 'react'; export const useFirstMountState = (): boolean => { - // eslint-disable-next-line @nx/workspace-no-state-useref + // eslint-disable-next-line twenty/no-state-useref const isFirst = useRef(true); if (isFirst.current) { diff --git a/packages/twenty-front/src/modules/action-menu/components/__stories__/CommandMenuActionMenuDropdown.stories.tsx b/packages/twenty-front/src/modules/action-menu/components/__stories__/CommandMenuActionMenuDropdown.stories.tsx index 06343fe3ab4..f50d6e02563 100644 --- a/packages/twenty-front/src/modules/action-menu/components/__stories__/CommandMenuActionMenuDropdown.stories.tsx +++ b/packages/twenty-front/src/modules/action-menu/components/__stories__/CommandMenuActionMenuDropdown.stories.tsx @@ -15,7 +15,6 @@ import { getCanvasElementForDropdownTesting, } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const deleteMock = test.fn(); const addToFavoritesMock = test.fn(); const exportMock = test.fn(); @@ -24,7 +23,6 @@ const meta: Meta = { title: 'Modules/ActionMenu/CommandMenuActionMenuDropdown', component: CommandMenuActionMenuDropdown, decorators: [ - I18nFrontDecorator, (Story) => ( { diff --git a/packages/twenty-front/src/modules/action-menu/components/__stories__/RecordIndexActionMenuDropdown.stories.tsx b/packages/twenty-front/src/modules/action-menu/components/__stories__/RecordIndexActionMenuDropdown.stories.tsx index 2b1eff13403..fce5a1e2fad 100644 --- a/packages/twenty-front/src/modules/action-menu/components/__stories__/RecordIndexActionMenuDropdown.stories.tsx +++ b/packages/twenty-front/src/modules/action-menu/components/__stories__/RecordIndexActionMenuDropdown.stories.tsx @@ -15,7 +15,6 @@ import { getCanvasElementForDropdownTesting, } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const deleteMock = test.fn(); const addToFavoritesMock = test.fn(); @@ -25,7 +24,6 @@ const meta: Meta = { title: 'Modules/ActionMenu/RecordIndexActionMenuDropdown', component: RecordIndexActionMenuDropdown, decorators: [ - I18nFrontDecorator, (Story) => ( { diff --git a/packages/twenty-front/src/modules/activities/calendar/components/__stories__/Calendar.stories.tsx b/packages/twenty-front/src/modules/activities/calendar/components/__stories__/Calendar.stories.tsx index 2689dde247c..1b25109cf5b 100644 --- a/packages/twenty-front/src/modules/activities/calendar/components/__stories__/Calendar.stories.tsx +++ b/packages/twenty-front/src/modules/activities/calendar/components/__stories__/Calendar.stories.tsx @@ -8,7 +8,6 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { LayoutRenderingProvider } from '@/ui/layout/contexts/LayoutRenderingContext'; import { ComponentDecorator } from 'twenty-ui/testing'; import { PageLayoutType } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; @@ -18,7 +17,6 @@ const meta: Meta = { title: 'Modules/Activities/Calendar/CalendarEventsCard', component: CalendarEventsCard, decorators: [ - I18nFrontDecorator, ComponentDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, diff --git a/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskGroups.stories.tsx b/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskGroups.stories.tsx index 209a6006eb1..3a56e3038eb 100644 --- a/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskGroups.stories.tsx +++ b/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskGroups.stories.tsx @@ -5,7 +5,6 @@ import { type ActivityTargetableObject } from '@/activities/types/ActivityTarget import { ObjectFilterDropdownComponentInstanceContext } from '@/object-record/object-filter-dropdown/states/contexts/ObjectFilterDropdownComponentInstanceContext'; import { TabListComponentInstanceContext } from '@/ui/layout/tab-list/states/contexts/TabListComponentInstanceContext'; import { ComponentWithRouterDecorator } from '~/testing/decorators/ComponentWithRouterDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; @@ -29,7 +28,6 @@ const meta: Meta = { ComponentWithRouterDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskList.stories.tsx b/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskList.stories.tsx index a6a6ae36ac9..41896561810 100644 --- a/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskList.stories.tsx +++ b/packages/twenty-front/src/modules/activities/tasks/components/__stories__/TaskList.stories.tsx @@ -3,7 +3,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { TaskList } from '@/activities/tasks/components/TaskList'; import { ComponentDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RightDrawerDecorator } from '~/testing/decorators/RightDrawerDecorator'; @@ -17,7 +16,6 @@ const meta: Meta = { decorators: [ ComponentDecorator, ContextStoreDecorator, - I18nFrontDecorator, MemoryRouterDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/__stories__/EventCardCalendarEvent.stories.tsx b/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/__stories__/EventCardCalendarEvent.stories.tsx index e2af0543372..732bf8be7fe 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/__stories__/EventCardCalendarEvent.stories.tsx +++ b/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/__stories__/EventCardCalendarEvent.stories.tsx @@ -3,7 +3,6 @@ import { HttpResponse, graphql } from 'msw'; import { EventCardCalendarEvent } from '@/activities/timeline-activities/rows/calendar/components/EventCardCalendarEvent'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -11,7 +10,6 @@ const meta: Meta = { title: 'Modules/TimelineActivities/Rows/CalendarEvent/EventCardCalendarEvent', component: EventCardCalendarEvent, decorators: [ - I18nFrontDecorator, ComponentDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/__stories__/EventRowMainObjectUpdated.stories.tsx b/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/__stories__/EventRowMainObjectUpdated.stories.tsx index 7d7c27a3489..9afefeb2fc5 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/__stories__/EventRowMainObjectUpdated.stories.tsx +++ b/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/__stories__/EventRowMainObjectUpdated.stories.tsx @@ -3,7 +3,6 @@ import { type TimelineActivity } from '@/activities/timeline-activities/types/Ti import { type Meta, type StoryObj } from '@storybook/react-vite'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; @@ -45,7 +44,6 @@ const meta: Meta = { ObjectMetadataItemsDecorator, SnackBarDecorator, RouterDecorator, - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/__stories__/EventCardMessage.stories.tsx b/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/__stories__/EventCardMessage.stories.tsx index bbedf330046..8fab6180fb0 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/__stories__/EventCardMessage.stories.tsx +++ b/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/__stories__/EventCardMessage.stories.tsx @@ -6,7 +6,6 @@ import { TimelineActivityContext } from '@/activities/timeline-activities/contex import { EventCardMessage } from '@/activities/timeline-activities/rows/message/components/EventCardMessage'; import { FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED } from 'twenty-shared/constants'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -14,7 +13,6 @@ const meta: Meta = { title: 'Modules/TimelineActivities/Rows/Message/EventCardMessage', component: EventCardMessage, decorators: [ - I18nFrontDecorator, ComponentDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, diff --git a/packages/twenty-front/src/modules/advanced-text-editor/components/__stories__/AdvancedTextEditor.stories.tsx b/packages/twenty-front/src/modules/advanced-text-editor/components/__stories__/AdvancedTextEditor.stories.tsx index 002c8127a71..c648432ad99 100644 --- a/packages/twenty-front/src/modules/advanced-text-editor/components/__stories__/AdvancedTextEditor.stories.tsx +++ b/packages/twenty-front/src/modules/advanced-text-editor/components/__stories__/AdvancedTextEditor.stories.tsx @@ -4,7 +4,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, waitFor } from 'storybook/test'; import { isDefined } from 'twenty-shared/utils'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { WorkflowStepActionDrawerDecorator } from '~/testing/decorators/WorkflowStepActionDrawerDecorator'; @@ -75,7 +74,6 @@ const meta: Meta = { SnackBarDecorator, RouterDecorator, WorkspaceDecorator, - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/ai/components/__stories__/AIChatMessage.stories.tsx b/packages/twenty-front/src/modules/ai/components/__stories__/AIChatMessage.stories.tsx index 080cb61a8ae..f5888188429 100644 --- a/packages/twenty-front/src/modules/ai/components/__stories__/AIChatMessage.stories.tsx +++ b/packages/twenty-front/src/modules/ai/components/__stories__/AIChatMessage.stories.tsx @@ -4,7 +4,6 @@ import { type ExtendedUIMessage } from 'twenty-shared/ai'; import { ComponentDecorator } from 'twenty-ui/testing'; import { AIChatMessage } from '@/ai/components/AIChatMessage'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { RootDecorator } from '~/testing/decorators/RootDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -176,12 +175,7 @@ print(df.head())`, const meta: Meta = { title: 'Modules/AI/AIChatMessage', component: AIChatMessage, - decorators: [ - ComponentDecorator, - RootDecorator, - I18nFrontDecorator, - SnackBarDecorator, - ], + decorators: [ComponentDecorator, RootDecorator, SnackBarDecorator], parameters: { container: { width: 700 }, }, diff --git a/packages/twenty-front/src/modules/ai/components/__stories__/CodeExecutionDisplay.stories.tsx b/packages/twenty-front/src/modules/ai/components/__stories__/CodeExecutionDisplay.stories.tsx index 50d4431bfd3..9fa676844d1 100644 --- a/packages/twenty-front/src/modules/ai/components/__stories__/CodeExecutionDisplay.stories.tsx +++ b/packages/twenty-front/src/modules/ai/components/__stories__/CodeExecutionDisplay.stories.tsx @@ -3,7 +3,6 @@ import { expect, userEvent, within } from 'storybook/test'; import { ComponentDecorator } from 'twenty-ui/testing'; import { CodeExecutionDisplay } from '@/ai/components/CodeExecutionDisplay'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; const samplePythonCode = `import pandas as pd @@ -31,7 +30,7 @@ plt.savefig('revenue_chart.png')`; const meta: Meta = { title: 'Modules/AI/CodeExecutionDisplay', component: CodeExecutionDisplay, - decorators: [I18nFrontDecorator, SnackBarDecorator, ComponentDecorator], + decorators: [SnackBarDecorator, ComponentDecorator], parameters: { container: { width: 600 }, }, diff --git a/packages/twenty-front/src/modules/ai/components/__stories__/TerminalOutput.stories.tsx b/packages/twenty-front/src/modules/ai/components/__stories__/TerminalOutput.stories.tsx index ff17aac22c7..564be2c7752 100644 --- a/packages/twenty-front/src/modules/ai/components/__stories__/TerminalOutput.stories.tsx +++ b/packages/twenty-front/src/modules/ai/components/__stories__/TerminalOutput.stories.tsx @@ -3,13 +3,12 @@ import { expect, userEvent, within } from 'storybook/test'; import { ComponentDecorator } from 'twenty-ui/testing'; import { TerminalOutput } from '@/ai/components/TerminalOutput'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; const meta: Meta = { title: 'Modules/AI/TerminalOutput', component: TerminalOutput, - decorators: [I18nFrontDecorator, SnackBarDecorator, ComponentDecorator], + decorators: [SnackBarDecorator, ComponentDecorator], parameters: { container: { width: 500 }, }, diff --git a/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts b/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts index e99d4280d14..1171f9842f5 100644 --- a/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts +++ b/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts @@ -20,7 +20,7 @@ import { isDefined } from 'twenty-shared/utils'; import { ApolloFactory, type Options } from '@/apollo/services/apollo.factory'; export const useApolloFactory = (options: Partial> = {}) => { - // eslint-disable-next-line @nx/workspace-no-state-useref + // eslint-disable-next-line twenty/no-state-useref const apolloRef = useRef | null>(null); const navigate = useNavigate(); diff --git a/packages/twenty-front/src/modules/apollo/utils/formatTitle.ts b/packages/twenty-front/src/modules/apollo/utils/formatTitle.ts index 56a01f765d7..d5a677ccb60 100644 --- a/packages/twenty-front/src/modules/apollo/utils/formatTitle.ts +++ b/packages/twenty-front/src/modules/apollo/utils/formatTitle.ts @@ -1,15 +1,15 @@ import { OperationType } from '@/apollo/types/operation-type'; const operationTypeColors = { - // eslint-disable-next-line @nx/workspace-no-hardcoded-colors + // eslint-disable-next-line twenty/no-hardcoded-colors query: '#03A9F4', - // eslint-disable-next-line @nx/workspace-no-hardcoded-colors + // eslint-disable-next-line twenty/no-hardcoded-colors mutation: '#61A600', - // eslint-disable-next-line @nx/workspace-no-hardcoded-colors + // eslint-disable-next-line twenty/no-hardcoded-colors subscription: '#61A600', - // eslint-disable-next-line @nx/workspace-no-hardcoded-colors + // eslint-disable-next-line twenty/no-hardcoded-colors error: '#F51818', - // eslint-disable-next-line @nx/workspace-no-hardcoded-colors + // eslint-disable-next-line twenty/no-hardcoded-colors default: '#61A600', }; diff --git a/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts b/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts index dc09d3bf530..6ac6364d3b2 100644 --- a/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts +++ b/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts @@ -70,7 +70,7 @@ export const loggerLink = (getSchemaName: (operation: Operation) => string) => errors.forEach((err: any) => { logDebug( `%c${err.message}`, - // eslint-disable-next-line @nx/workspace-no-hardcoded-colors + // eslint-disable-next-line twenty/no-hardcoded-colors 'color: #F51818; font-weight: lighter', ); }); diff --git a/packages/twenty-front/src/modules/auth/hooks/__mocks__/useAuth.ts b/packages/twenty-front/src/modules/auth/hooks/__mocks__/useAuth.ts index 8c2cef2810a..5f315f2604d 100644 --- a/packages/twenty-front/src/modules/auth/hooks/__mocks__/useAuth.ts +++ b/packages/twenty-front/src/modules/auth/hooks/__mocks__/useAuth.ts @@ -31,13 +31,13 @@ export const variables = { email, password, workspacePersonalInviteToken: null, - locale: '', + locale: 'en', }, signUpInWorkspace: { email, password, workspacePersonalInviteToken: null, - locale: '', + locale: 'en', }, getCurrentUser: {}, }; diff --git a/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx b/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx index b124c125904..09f6c480302 100644 --- a/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx @@ -35,7 +35,6 @@ import { RecordComponentInstanceContextsWrapper } from '@/object-record/componen import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext'; import { HttpResponse, graphql } from 'msw'; import { IconDotsVertical } from 'twenty-ui/display'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { JestContextStoreSetter } from '~/testing/jest/JestContextStoreSetter'; const openTimeout = 50; @@ -72,7 +71,6 @@ const meta: Meta = { title: 'Modules/CommandMenu/CommandMenu', component: CommandMenuRouter, decorators: [ - I18nFrontDecorator, (Story) => { const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState); const setCurrentUserWorkspace = useSetRecoilState( diff --git a/packages/twenty-front/src/modules/keyboard-shortcut-menu/components/__stories__/KeyboardShortcutMenu.stories.tsx b/packages/twenty-front/src/modules/keyboard-shortcut-menu/components/__stories__/KeyboardShortcutMenu.stories.tsx index 8e4f17dfb51..2f1720b209f 100644 --- a/packages/twenty-front/src/modules/keyboard-shortcut-menu/components/__stories__/KeyboardShortcutMenu.stories.tsx +++ b/packages/twenty-front/src/modules/keyboard-shortcut-menu/components/__stories__/KeyboardShortcutMenu.stories.tsx @@ -7,13 +7,11 @@ import { KeyboardShortcutMenu } from '@/keyboard-shortcut-menu/components/Keyboa import { useKeyboardShortcutMenu } from '@/keyboard-shortcut-menu/hooks/useKeyboardShortcutMenu'; import { useEffect } from 'react'; import { ComponentWithRouterDecorator } from '~/testing/decorators/ComponentWithRouterDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/KeyboardShortcutMenu/KeyboardShortcutMenu', component: KeyboardShortcutMenu, decorators: [ - I18nFrontDecorator, (Story) => { const { openKeyboardShortcutMenu } = useKeyboardShortcutMenu(); useEffect(() => { diff --git a/packages/twenty-front/src/modules/navigation/components/__stories__/AppNavigationDrawer.stories.tsx b/packages/twenty-front/src/modules/navigation/components/__stories__/AppNavigationDrawer.stories.tsx index 1454331c9cf..72d7821a44d 100644 --- a/packages/twenty-front/src/modules/navigation/components/__stories__/AppNavigationDrawer.stories.tsx +++ b/packages/twenty-front/src/modules/navigation/components/__stories__/AppNavigationDrawer.stories.tsx @@ -15,7 +15,6 @@ import { } from '@/navigation/components/AppNavigationDrawer'; import { isNavigationDrawerExpandedState } from '@/ui/navigation/states/isNavigationDrawerExpanded'; import { AppPath } from 'twenty-shared/types'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const MobileNavigationDrawerStateSetterEffect = ({ mobileNavigationDrawer = 'main', @@ -55,7 +54,6 @@ const meta: Meta = { decorators: [ IconsProviderDecorator, ObjectMetadataItemsDecorator, - I18nFrontDecorator, (Story, { args }) => ( diff --git a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/__stories__/ObjectOptionsDropdownContent.stories.tsx b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/__stories__/ObjectOptionsDropdownContent.stories.tsx index a00f625cabd..7d9bc8112f9 100644 --- a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/__stories__/ObjectOptionsDropdownContent.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/__stories__/ObjectOptionsDropdownContent.stories.tsx @@ -18,7 +18,6 @@ import { MemoryRouter } from 'react-router-dom'; import { useSetRecoilState } from 'recoil'; import { ComponentDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { IconsProviderDecorator } from '~/testing/decorators/IconsProviderDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -31,7 +30,6 @@ const meta: Meta = { 'Modules/ObjectRecord/ObjectOptionsDropdown/ObjectOptionsDropdownContent', component: ObjectOptionsDropdownContent, decorators: [ - I18nFrontDecorator, (Story) => { const setObjectMetadataItems = useSetRecoilState( objectMetadataItemsState, diff --git a/packages/twenty-front/src/modules/object-record/record-calendar/month/components/__stories__/RecordCalendarMonth.stories.tsx b/packages/twenty-front/src/modules/object-record/record-calendar/month/components/__stories__/RecordCalendarMonth.stories.tsx index e512903f365..e9473ef0719 100644 --- a/packages/twenty-front/src/modules/object-record/record-calendar/month/components/__stories__/RecordCalendarMonth.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-calendar/month/components/__stories__/RecordCalendarMonth.stories.tsx @@ -22,7 +22,6 @@ import { coreViewsState } from '@/views/states/coreViewState'; import { useSetRecoilState } from 'recoil'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { IconsProviderDecorator } from '~/testing/decorators/IconsProviderDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -141,7 +140,6 @@ const meta: Meta = { SnackBarDecorator, ComponentDecorator, IconsProviderDecorator, - I18nFrontDecorator, RouterDecorator, ], }; diff --git a/packages/twenty-front/src/modules/object-record/record-field-list/record-detail-section/relation/components/__stories__/RecordDetailRelationSection.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field-list/record-detail-section/relation/components/__stories__/RecordDetailRelationSection.stories.tsx index f4ddd0f7b00..d140077955a 100644 --- a/packages/twenty-front/src/modules/object-record/record-field-list/record-detail-section/relation/components/__stories__/RecordDetailRelationSection.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field-list/record-detail-section/relation/components/__stories__/RecordDetailRelationSection.stories.tsx @@ -15,7 +15,6 @@ import { RecordDetailRelationSection } from '@/object-record/record-field-list/r import { LayoutRenderingProvider } from '@/ui/layout/contexts/LayoutRenderingContext'; import { ComponentDecorator } from 'twenty-ui/testing'; import { PageLayoutType } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { RightDrawerDecorator } from '~/testing/decorators/RightDrawerDecorator'; import { allMockPersonRecords } from '~/testing/mock-data/people'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; @@ -78,7 +77,6 @@ const meta: Meta = { ObjectMetadataItemsDecorator, SnackBarDecorator, MemoryRouterDecorator, - I18nFrontDecorator, ], parameters: { msw: graphqlMocks, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAddressFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAddressFieldInput.stories.tsx index 743bf5377b6..2b1fd95e2fd 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAddressFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAddressFieldInput.stories.tsx @@ -1,7 +1,6 @@ import { FormAddressFieldInput } from '@/object-record/record-field/ui/form-types/components/FormAddressFieldInput'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; const meta: Meta = { @@ -9,7 +8,7 @@ const meta: Meta = { component: FormAddressFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAdvancedTextFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAdvancedTextFieldInput.stories.tsx index 5f51fbc1609..c8703c27928 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAdvancedTextFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormAdvancedTextFieldInput.stories.tsx @@ -4,7 +4,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { graphql, HttpResponse } from 'msw'; import { expect, fn, userEvent, within } from 'storybook/test'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { WorkflowStepActionDrawerDecorator } from '~/testing/decorators/WorkflowStepActionDrawerDecorator'; @@ -101,7 +100,6 @@ const meta: Meta = { SnackBarDecorator, RouterDecorator, WorkspaceDecorator, - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormArrayFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormArrayFieldInput.stories.tsx index da2e36c6e0d..2d946a6a0c7 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormArrayFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormArrayFieldInput.stories.tsx @@ -3,7 +3,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, waitFor, within } from 'storybook/test'; import { isDefined } from 'twenty-shared/utils'; import { getCanvasElementForDropdownTesting } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -12,7 +11,7 @@ const meta: Meta = { component: FormArrayFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormBooleanFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormBooleanFieldInput.stories.tsx index 6571c5c3d33..755bef11b04 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormBooleanFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormBooleanFieldInput.stories.tsx @@ -2,7 +2,6 @@ import { FormBooleanFieldInput } from '@/object-record/record-field/ui/form-type import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, waitFor, within } from 'storybook/test'; import { getCanvasElementForDropdownTesting } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -11,7 +10,7 @@ const meta: Meta = { component: FormBooleanFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormCurrencyFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormCurrencyFieldInput.stories.tsx index fd6a39458b2..94f547b6219 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormCurrencyFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormCurrencyFieldInput.stories.tsx @@ -3,7 +3,6 @@ import { type FieldCurrencyValue } from '@/object-record/record-field/ui/types/F import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, within } from 'storybook/test'; import { CurrencyCode } from 'twenty-shared/constants'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -12,7 +11,7 @@ const meta: Meta = { component: FormCurrencyFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormEmailsFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormEmailsFieldInput.stories.tsx index 5f0386beba7..18cd3c13bdd 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormEmailsFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormEmailsFieldInput.stories.tsx @@ -1,7 +1,6 @@ import { FormEmailsFieldInput } from '@/object-record/record-field/ui/form-types/components/FormEmailsFieldInput'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, waitFor, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -10,7 +9,7 @@ const meta: Meta = { component: FormEmailsFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormFullNameFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormFullNameFieldInput.stories.tsx index b5e1b1775bd..a2f740883ff 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormFullNameFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormFullNameFieldInput.stories.tsx @@ -1,7 +1,6 @@ import { FormFullNameFieldInput } from '@/object-record/record-field/ui/form-types/components/FormFullNameFieldInput'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -10,7 +9,7 @@ const meta: Meta = { component: FormFullNameFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormLinksFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormLinksFieldInput.stories.tsx index 88da461bb9a..876fd1308b5 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormLinksFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormLinksFieldInput.stories.tsx @@ -1,7 +1,6 @@ import { FormLinksFieldInput } from '@/object-record/record-field/ui/form-types/components/FormLinksFieldInput'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; const meta: Meta = { @@ -9,7 +8,7 @@ const meta: Meta = { component: FormLinksFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormMultiSelectFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormMultiSelectFieldInput.stories.tsx index 1a4e6148d84..98f17324edb 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormMultiSelectFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormMultiSelectFieldInput.stories.tsx @@ -1,7 +1,6 @@ import { FormMultiSelectFieldInput } from '@/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -10,7 +9,7 @@ const meta: Meta = { component: FormMultiSelectFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormPhoneFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormPhoneFieldInput.stories.tsx index 8297bf3db34..56922c5a855 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormPhoneFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormPhoneFieldInput.stories.tsx @@ -4,7 +4,6 @@ import { expect, fn, userEvent, waitFor, within } from 'storybook/test'; import { FormPhoneFieldInput } from '@/object-record/record-field/ui/form-types/components/FormPhoneFieldInput'; import { type FieldPhonesValue } from '@/object-record/record-field/ui/types/FieldMetadata'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -13,7 +12,7 @@ const meta: Meta = { component: FormPhoneFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRawJsonFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRawJsonFieldInput.stories.tsx index 9c3142072be..a3c46f337a9 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRawJsonFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRawJsonFieldInput.stories.tsx @@ -2,7 +2,6 @@ import { FormRawJsonFieldInput } from '@/object-record/record-field/ui/form-type import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, waitFor, within } from 'storybook/test'; import { getUserDevice } from 'twenty-ui/utilities'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -11,7 +10,7 @@ const meta: Meta = { component: FormRawJsonFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRichTextV2FieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRichTextV2FieldInput.stories.tsx index 00a4d733356..bb2676eb087 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRichTextV2FieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormRichTextV2FieldInput.stories.tsx @@ -9,7 +9,6 @@ import { within, } from 'storybook/test'; import { getUserDevice } from 'twenty-ui/utilities'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -18,7 +17,7 @@ const meta: Meta = { component: FormRichTextV2FieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSelectFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSelectFieldInput.stories.tsx index 4724ea91bd7..aa47dafa41e 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSelectFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSelectFieldInput.stories.tsx @@ -1,7 +1,6 @@ import { FormSelectFieldInput } from '@/object-record/record-field/ui/form-types/components/FormSelectFieldInput'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -10,7 +9,7 @@ const meta: Meta = { component: FormSelectFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSingleRecordPicker.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSingleRecordPicker.stories.tsx index c23720b5c28..d8cd8c8ef49 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSingleRecordPicker.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormSingleRecordPicker.stories.tsx @@ -3,7 +3,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, within } from 'storybook/test'; import { isDefined } from 'twenty-shared/utils'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; @@ -20,7 +19,6 @@ const meta: Meta = { args: {}, argTypes: {}, decorators: [ - I18nFrontDecorator, ObjectMetadataItemsDecorator, ComponentDecorator, WorkspaceDecorator, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormTextFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormTextFieldInput.stories.tsx index acf943c522c..444b97a22bc 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormTextFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormTextFieldInput.stories.tsx @@ -9,7 +9,6 @@ import { within, } from 'storybook/test'; import { getUserDevice } from 'twenty-ui/utilities'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -18,7 +17,7 @@ const meta: Meta = { component: FormTextFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormUuidFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormUuidFieldInput.stories.tsx index d8ee65df7bf..c1876ec1e3a 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormUuidFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/FormUuidFieldInput.stories.tsx @@ -1,7 +1,6 @@ import { FormUuidFieldInput } from '@/object-record/record-field/ui/form-types/components/FormUuidFieldInput'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, fn, userEvent, waitFor, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; @@ -10,7 +9,7 @@ const meta: Meta = { component: FormUuidFieldInput, args: {}, argTypes: {}, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/VariableChip.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/VariableChip.stories.tsx index 05bb43d5aaf..5ab603be0a3 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/VariableChip.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/form-types/components/__stories__/VariableChip.stories.tsx @@ -1,14 +1,13 @@ import { VariableChip } from '@/object-record/record-field/ui/form-types/components/VariableChip'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { expect, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorator'; import { MOCKED_STEP_ID } from '~/testing/mock-data/workflow'; const meta: Meta = { title: 'UI/Data/Field/Form/Input/VariableChip', component: VariableChip, - decorators: [WorkflowStepDecorator, I18nFrontDecorator], + decorators: [WorkflowStepDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/EmailsFieldDisplay.perf.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/EmailsFieldDisplay.perf.stories.tsx index 9d3aa43a802..b310815c344 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/EmailsFieldDisplay.perf.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/EmailsFieldDisplay.perf.stories.tsx @@ -2,7 +2,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { EmailsFieldDisplay } from '@/object-record/record-field/ui/meta-types/display/components/EmailsFieldDisplay'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { getFieldDecorator } from '~/testing/decorators/getFieldDecorator'; @@ -11,7 +10,6 @@ import { getProfilingStory } from '~/testing/profiling/utils/getProfilingStory'; const meta: Meta = { title: 'UI/Data/Field/Display/EmailsFieldDisplay', decorators: [ - I18nFrontDecorator, MemoryRouterDecorator, getFieldDecorator('person', 'emails', { primaryEmail: 'test@test.com', diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/LinksFieldDisplay.perf.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/LinksFieldDisplay.perf.stories.tsx index f3aacdd66ef..b15ff9addc4 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/LinksFieldDisplay.perf.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/LinksFieldDisplay.perf.stories.tsx @@ -5,7 +5,6 @@ import { FieldFocusContext } from '@/object-record/record-field/ui/contexts/Fiel import { FieldFocusContextProvider } from '@/object-record/record-field/ui/contexts/FieldFocusContextProvider'; import { LinksFieldDisplay } from '@/object-record/record-field/ui/meta-types/display/components/LinksFieldDisplay'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { getFieldDecorator } from '~/testing/decorators/getFieldDecorator'; @@ -24,7 +23,6 @@ const FieldFocusEffect = () => { const meta: Meta = { title: 'UI/Data/Field/Display/LinksFieldDisplay', decorators: [ - I18nFrontDecorator, MemoryRouterDecorator, getFieldDecorator('company', 'domainName', { primaryLinkUrl: 'https://www.google.com', diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/PhonesFieldDisplay.perf.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/PhonesFieldDisplay.perf.stories.tsx index 0de735260b9..401c554deff 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/PhonesFieldDisplay.perf.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/__stories__/perf/PhonesFieldDisplay.perf.stories.tsx @@ -2,7 +2,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { PhonesFieldDisplay } from '@/object-record/record-field/ui/meta-types/display/components/PhonesFieldDisplay'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { getFieldDecorator } from '~/testing/decorators/getFieldDecorator'; @@ -14,7 +13,6 @@ const meta: Meta = { MemoryRouterDecorator, getFieldDecorator('person', 'phones'), ComponentDecorator, - I18nFrontDecorator, SnackBarDecorator, ], component: PhonesFieldDisplay, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/ArrayFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/ArrayFieldInput.stories.tsx index 94836a9f615..f4d6d6acb69 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/ArrayFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/ArrayFieldInput.stories.tsx @@ -13,7 +13,6 @@ import { FocusComponentType } from '@/ui/utilities/focus/types/FocusComponentTyp import { ArrayFieldInput } from '@/object-record/record-field/ui/meta-types/input/components/ArrayFieldInput'; import { FieldMetadataType } from '~/generated-metadata/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const { FieldInputEventContextProviderWithJestMocks } = getFieldInputEventContextProviderWithJestMocks(); @@ -102,7 +101,7 @@ const ArrayInputWithContext = ({ const meta: Meta = { title: 'UI/Input/ArrayFieldInput', component: ArrayInputWithContext, - decorators: [I18nFrontDecorator], + decorators: [], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx index 5f992b186e9..c64960e54e9 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx @@ -12,7 +12,6 @@ import { BooleanFieldInput } from '@/object-record/record-field/ui/meta-types/in import { RecordFieldComponentInstanceContext } from '@/object-record/record-field/ui/states/contexts/RecordFieldComponentInstanceContext'; import { RECORD_TABLE_CELL_INPUT_ID_PREFIX } from '@/object-record/record-table/constants/RecordTableCellInputIdPrefix'; import { getRecordFieldInputInstanceId } from '@/object-record/utils/getRecordFieldInputId'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const { FieldInputEventContextProviderWithJestMocks, handleSubmitMocked } = getFieldInputEventContextProviderWithJestMocks(); @@ -85,7 +84,7 @@ const BooleanFieldInputWithContext = ({ const meta: Meta = { title: 'UI/Data/Field/Input/BooleanFieldInput', component: BooleanFieldInputWithContext, - decorators: [I18nFrontDecorator], + decorators: [], args: { value: true, recordId: 'id-1', diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/EmailsFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/EmailsFieldInput.stories.tsx index a7cdabb16be..375b618ea27 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/EmailsFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/EmailsFieldInput.stories.tsx @@ -14,7 +14,6 @@ import { getRecordFieldInputInstanceId } from '@/object-record/utils/getRecordFi import { usePushFocusItemToFocusStack } from '@/ui/utilities/focus/hooks/usePushFocusItemToFocusStack'; import { FocusComponentType } from '@/ui/utilities/focus/types/FocusComponentType'; import { FieldMetadataType } from '~/generated-metadata/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; const updateRecord = fn(); @@ -102,7 +101,7 @@ const EmailInputWithContext = ({ const meta: Meta = { title: 'UI/Input/EmailsFieldInput', component: EmailInputWithContext, - decorators: [SnackBarDecorator, I18nFrontDecorator], + decorators: [SnackBarDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/LinksFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/LinksFieldInput.stories.tsx index 447aa2da05e..b40619bc683 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/LinksFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/LinksFieldInput.stories.tsx @@ -13,7 +13,6 @@ import { usePushFocusItemToFocusStack } from '@/ui/utilities/focus/hooks/usePush import { FocusComponentType } from '@/ui/utilities/focus/types/FocusComponentType'; import { getCanvasElementForDropdownTesting } from 'twenty-ui/testing'; import { FieldMetadataType } from '~/generated-metadata/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const updateRecord = fn(); @@ -122,7 +121,7 @@ const getPrimaryLinkBookmarkIcon = (canvasElement: HTMLElement) => const meta: Meta = { title: 'UI/Data/Field/Input/LinksFieldInput', component: LinksInputWithContext, - decorators: [I18nFrontDecorator], + decorators: [], args: { value: { primaryLinkUrl: null, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/NumberFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/NumberFieldInput.stories.tsx index 0004289e6dd..06bd4cf39cc 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/NumberFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/NumberFieldInput.stories.tsx @@ -20,7 +20,6 @@ import { RECORD_TABLE_CELL_INPUT_ID_PREFIX } from '@/object-record/record-table/ import { getRecordFieldInputInstanceId } from '@/object-record/utils/getRecordFieldInputId'; import { FocusComponentType } from '@/ui/utilities/focus/types/FocusComponentType'; import { StorybookFieldInputDropdownFocusIdSetterEffect } from '~/testing/components/StorybookFieldInputDropdownFocusIdSetterEffect'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const { FieldInputEventContextProviderWithJestMocks, @@ -147,7 +146,7 @@ const meta: Meta = { onTab: { control: false }, onShiftTab: { control: false }, }, - decorators: [clearMocksDecorator, SnackBarDecorator, I18nFrontDecorator], + decorators: [clearMocksDecorator, SnackBarDecorator], parameters: { clearMocks: true, }, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/PhonesFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/PhonesFieldInput.stories.tsx index 19ac61357df..cb924deff6e 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/PhonesFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/PhonesFieldInput.stories.tsx @@ -14,7 +14,6 @@ import { getRecordFieldInputInstanceId } from '@/object-record/utils/getRecordFi import { usePushFocusItemToFocusStack } from '@/ui/utilities/focus/hooks/usePushFocusItemToFocusStack'; import { FocusComponentType } from '@/ui/utilities/focus/types/FocusComponentType'; import { FieldMetadataType } from '~/generated-metadata/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const { FieldInputEventContextProviderWithJestMocks } = getFieldInputEventContextProviderWithJestMocks(); @@ -99,7 +98,7 @@ const PhoneInputWithContext = ({ const meta: Meta = { title: 'UI/Input/PhonesFieldInput', component: PhoneInputWithContext, - decorators: [I18nFrontDecorator], + decorators: [], }; export default meta; diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx index 7cafc3175d6..e726a6fdd07 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx @@ -17,7 +17,6 @@ import { RECORD_TABLE_CELL_INPUT_ID_PREFIX } from '@/object-record/record-table/ import { getRecordFieldInputInstanceId } from '@/object-record/utils/getRecordFieldInputId'; import { FocusComponentType } from '@/ui/utilities/focus/types/FocusComponentType'; import { FieldMetadataType, type FieldRatingValue } from 'twenty-shared/types'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const { FieldInputEventContextProviderWithJestMocks, handleSubmitMocked } = getFieldInputEventContextProviderWithJestMocks(); @@ -112,7 +111,7 @@ const meta: Meta = { argTypes: { onSubmit: { control: false }, }, - decorators: [I18nFrontDecorator, clearMocksDecorator], + decorators: [clearMocksDecorator], parameters: { clearMocks: true, }, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationManyToOneFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationManyToOneFieldInput.stories.tsx index a3824bc2e7d..cea838fe837 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationManyToOneFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationManyToOneFieldInput.stories.tsx @@ -28,7 +28,6 @@ import { FieldMetadataType } from 'twenty-shared/types'; import { getCanvasElementForDropdownTesting } from 'twenty-ui/testing'; import { RelationManyToOneFieldInput } from '@/object-record/record-field/ui/meta-types/input/components/RelationManyToOneFieldInput'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { getFieldInputEventContextProviderWithJestMocks } from './utils/getFieldInputEventContextProviderWithJestMocks'; const RelationWorkspaceSetterEffect = () => { @@ -145,7 +144,6 @@ const meta: Meta = { clearMocksDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, - I18nFrontDecorator, ], parameters: { clearMocks: true, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationOneToManyFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationOneToManyFieldInput.stories.tsx index f4c0669defa..4c5814eb1fa 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationOneToManyFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RelationOneToManyFieldInput.stories.tsx @@ -22,7 +22,6 @@ import { recordStoreFamilySelector } from '@/object-record/record-store/states/s import { FocusComponentType } from '@/ui/utilities/focus/types/FocusComponentType'; import { FieldMetadataType } from 'twenty-shared/types'; import { RelationType } from '~/generated-metadata/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const RelationWorkspaceSetterEffect = () => { const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState); @@ -116,11 +115,7 @@ const meta: Meta = { title: 'UI/Data/Field/Input/RelationOneToManyFieldInput', component: RelationOneToManyFieldInputWithContext, args: {}, - decorators: [ - ObjectMetadataItemsDecorator, - SnackBarDecorator, - I18nFrontDecorator, - ], + decorators: [ObjectMetadataItemsDecorator, SnackBarDecorator], parameters: { clearMocks: true, msw: graphqlMocks, diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RichTextFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RichTextFieldInput.stories.tsx index 251d1436995..d1940f7f507 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RichTextFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/RichTextFieldInput.stories.tsx @@ -14,7 +14,6 @@ import { type StoryObj, } from '@storybook/react-vite'; import { FieldMetadataType } from '~/generated-metadata/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { getFieldInputEventContextProviderWithJestMocks } from './utils/getFieldInputEventContextProviderWithJestMocks'; @@ -101,7 +100,6 @@ const meta: Meta = { decorators: [ clearMocksDecorator, SnackBarDecorator, - I18nFrontDecorator, ObjectMetadataItemsDecorator, ], parameters: { diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/TextFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/TextFieldInput.stories.tsx index daa5ffbafd1..7dce8e6382f 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/TextFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/input/components/__stories__/TextFieldInput.stories.tsx @@ -17,7 +17,6 @@ import { type StoryObj, } from '@storybook/react-vite'; import { FieldMetadataType } from '~/generated-metadata/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; const TextFieldValueSetterEffect = ({ value }: { value: string }) => { @@ -135,7 +134,7 @@ const meta: Meta = { onTab: { control: false }, onShiftTab: { control: false }, }, - decorators: [clearMocksDecorator, SnackBarDecorator, I18nFrontDecorator], + decorators: [clearMocksDecorator, SnackBarDecorator], parameters: { clearMocks: true, }, diff --git a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/__stories__/SingleRecordPicker.stories.tsx b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/__stories__/SingleRecordPicker.stories.tsx index f31b4dfe03a..c1306726321 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/__stories__/SingleRecordPicker.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/__stories__/SingleRecordPicker.stories.tsx @@ -10,7 +10,6 @@ import { sleep } from '~/utils/sleep'; import { SingleRecordPicker } from '@/object-record/record-picker/single-record-picker/components/SingleRecordPicker'; import { IconUserCircle } from 'twenty-ui/display'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; // const records = allMockPersonRecords.map((person) => ({ // id: person.id, @@ -38,7 +37,6 @@ const meta: Meta = { ComponentDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, - I18nFrontDecorator, ], args: { objectNameSingulars: [CoreObjectNameSingular.WorkspaceMember], diff --git a/packages/twenty-front/src/modules/object-record/record-table/__stories__/RecordTable.stories.tsx b/packages/twenty-front/src/modules/object-record/record-table/__stories__/RecordTable.stories.tsx index c03645e8e08..1bd4d9fe594 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/__stories__/RecordTable.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/__stories__/RecordTable.stories.tsx @@ -5,7 +5,6 @@ import { type RecordTableEmptyStateNoGroupNoRecordAtAll } from '@/object-record/ import { fireEvent, userEvent, within } from 'storybook/test'; import { ComponentDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RecordTableDecorator } from '~/testing/decorators/RecordTableDecorator'; @@ -24,7 +23,6 @@ const meta: Meta = { ContextStoreDecorator, SnackBarDecorator, ObjectMetadataItemsDecorator, - I18nFrontDecorator, ], args: { recordTableId: `companies-${mockedViewsData[0].id}`, diff --git a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateRemote.tsx b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateRemote.tsx index 6ac0515f024..b9e14a482b9 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateRemote.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateRemote.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @nx/workspace-no-navigate-prefer-link */ +/* eslint-disable twenty/no-navigate-prefer-link */ import { RecordTableEmptyStateDisplay } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateDisplay'; import { t } from '@lingui/core/macro'; import { SettingsPath } from 'twenty-shared/types'; diff --git a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoGroupNoRecordAtAll.stories.tsx b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoGroupNoRecordAtAll.stories.tsx index fde4d71ab5b..55d609a27e1 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoGroupNoRecordAtAll.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoGroupNoRecordAtAll.stories.tsx @@ -4,7 +4,6 @@ import { RecordTableContextProvider } from '@/object-record/record-table/compone import { RecordTableEmptyStateNoGroupNoRecordAtAll } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateNoGroupNoRecordAtAll'; import { ComponentDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RecordTableDecorator } from '~/testing/decorators/RecordTableDecorator'; @@ -32,7 +31,6 @@ const meta: Meta = { ContextStoreDecorator, SnackBarDecorator, ObjectMetadataItemsDecorator, - I18nFrontDecorator, ScrollWrapperDecorator, ], parameters: { diff --git a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoRecordFoundForFilter.stories.tsx b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoRecordFoundForFilter.stories.tsx index 30fd029acf3..147960206f8 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoRecordFoundForFilter.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateNoRecordFoundForFilter.stories.tsx @@ -5,7 +5,6 @@ import { RecordTableContextProvider } from '@/object-record/record-table/compone import { RecordTableEmptyStateNoRecordFoundForFilter } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateNoRecordFoundForFilter'; import { ComponentDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RecordTableDecorator } from '~/testing/decorators/RecordTableDecorator'; @@ -32,7 +31,6 @@ const meta: Meta = { ContextStoreDecorator, SnackBarDecorator, ObjectMetadataItemsDecorator, - I18nFrontDecorator, ScrollWrapperDecorator, ], parameters: { diff --git a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateRemote.stories.tsx b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateRemote.stories.tsx index e3a01a59667..b5a728dfb8b 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateRemote.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateRemote.stories.tsx @@ -5,7 +5,6 @@ import { RecordTableContextProvider } from '@/object-record/record-table/compone import { RecordTableEmptyStateRemote } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateRemote'; import { ComponentDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RecordTableDecorator } from '~/testing/decorators/RecordTableDecorator'; @@ -31,7 +30,6 @@ const meta: Meta = { ContextStoreDecorator, SnackBarDecorator, ObjectMetadataItemsDecorator, - I18nFrontDecorator, ScrollWrapperDecorator, ], parameters: { diff --git a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateSoftDelete.stories.tsx b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateSoftDelete.stories.tsx index 9ac417fc71e..cb7ac8af335 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateSoftDelete.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/__stories__/RecordTableEmptyStateSoftDelete.stories.tsx @@ -3,7 +3,6 @@ import { RecordTableEmptyStateSoftDelete } from '@/object-record/record-table/em import { type Meta, type StoryObj } from '@storybook/react-vite'; import { ComponentDecorator } from 'twenty-ui/testing'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RecordTableDecorator } from '~/testing/decorators/RecordTableDecorator'; @@ -30,7 +29,6 @@ const meta: Meta = { ContextStoreDecorator, SnackBarDecorator, ObjectMetadataItemsDecorator, - I18nFrontDecorator, ScrollWrapperDecorator, ], parameters: { diff --git a/packages/twenty-front/src/modules/object-record/record-update-multiple/components/__stories__/UpdateMultipleRecordsContainer.stories.tsx b/packages/twenty-front/src/modules/object-record/record-update-multiple/components/__stories__/UpdateMultipleRecordsContainer.stories.tsx index 50e9ef64f76..0f36d4421b0 100644 --- a/packages/twenty-front/src/modules/object-record/record-update-multiple/components/__stories__/UpdateMultipleRecordsContainer.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-update-multiple/components/__stories__/UpdateMultipleRecordsContainer.stories.tsx @@ -8,7 +8,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import gql from 'graphql-tag'; import { expect, userEvent, within } from 'storybook/test'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RootDecorator } from '~/testing/decorators/RootDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -69,7 +68,6 @@ const meta: Meta = { ContextStoreDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, - I18nFrontDecorator, RootDecorator, ], args: { diff --git a/packages/twenty-front/src/modules/page-layout/components/__stories__/PageLayoutRenderer.stories.tsx b/packages/twenty-front/src/modules/page-layout/components/__stories__/PageLayoutRenderer.stories.tsx index 41c5a2d149b..3a65c1f86f6 100644 --- a/packages/twenty-front/src/modules/page-layout/components/__stories__/PageLayoutRenderer.stories.tsx +++ b/packages/twenty-front/src/modules/page-layout/components/__stories__/PageLayoutRenderer.stories.tsx @@ -24,7 +24,6 @@ import { type PageLayoutWidget, WidgetConfigurationType, } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper'; import { getMockFieldMetadataItemOrThrow } from '~/testing/utils/getMockFieldMetadataItemOrThrow'; import { getMockObjectMetadataItemOrThrow } from '~/testing/utils/getMockObjectMetadataItemOrThrow'; @@ -271,7 +270,6 @@ const meta: Meta = { title: 'Modules/PageLayout/PageLayoutRenderer', component: PageLayoutRenderer, decorators: [ - I18nFrontDecorator, (Story) => ( diff --git a/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/DashboardWidgetPlaceholder.stories.tsx b/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/DashboardWidgetPlaceholder.stories.tsx index a4265a97602..4dc28ad3250 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/DashboardWidgetPlaceholder.stories.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/DashboardWidgetPlaceholder.stories.tsx @@ -13,7 +13,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { type MutableSnapshot } from 'recoil'; import { ComponentDecorator } from 'twenty-ui/testing'; import { PageLayoutType } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; const mockPageLayout: PageLayout = { @@ -64,7 +63,6 @@ const meta: Meta = { ); }, ComponentDecorator, - I18nFrontDecorator, ], parameters: { layout: 'centered', diff --git a/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/WidgetRenderer.stories.tsx b/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/WidgetRenderer.stories.tsx index b723e4e549a..76b764ca65e 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/WidgetRenderer.stories.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/components/__stories__/WidgetRenderer.stories.tsx @@ -45,7 +45,6 @@ import { WidgetConfigurationType, } from '~/generated/graphql'; import { ChipGeneratorsDecorator } from '~/testing/decorators/ChipGeneratorsDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; import { getMockFieldMetadataItemOrThrow } from '~/testing/utils/getMockFieldMetadataItemOrThrow'; @@ -232,7 +231,6 @@ const meta: Meta = { title: 'Modules/PageLayout/Widgets/WidgetRenderer', component: WidgetRenderer, decorators: [ - I18nFrontDecorator, ChipGeneratorsDecorator, (Story) => ( diff --git a/packages/twenty-front/src/modules/page-layout/widgets/field/components/__stories__/FieldWidget.stories.tsx b/packages/twenty-front/src/modules/page-layout/widgets/field/components/__stories__/FieldWidget.stories.tsx index 925ca790ef2..f5b80cb1b74 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/field/components/__stories__/FieldWidget.stories.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/field/components/__stories__/FieldWidget.stories.tsx @@ -32,7 +32,6 @@ import { WidgetType, } from '~/generated-metadata/graphql'; import { ChipGeneratorsDecorator } from '~/testing/decorators/ChipGeneratorsDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; import { getMockFieldMetadataItemOrThrow } from '~/testing/utils/getMockFieldMetadataItemOrThrow'; @@ -306,7 +305,6 @@ const meta: Meta = { component: FieldWidget, decorators: [ ComponentDecorator, - I18nFrontDecorator, ChipGeneratorsDecorator, (Story) => ( diff --git a/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetBarChart.stories.tsx b/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetBarChart.stories.tsx index 7aea711c9e5..1880bd55acf 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetBarChart.stories.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetBarChart.stories.tsx @@ -4,13 +4,11 @@ import { GraphWidgetTestWrapper } from '@/page-layout/widgets/graph/__tests__/Gr import { GraphWidgetBarChart } from '@/page-layout/widgets/graph/graphWidgetBarChart/components/GraphWidgetBarChart'; import { CatalogDecorator, ComponentDecorator } from 'twenty-ui/testing'; import { BarChartLayout } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/PageLayout/Widgets/GraphWidgetBarChart', component: GraphWidgetBarChart, decorators: [ - I18nFrontDecorator, (Story) => ( diff --git a/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetLineChart.stories.tsx b/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetLineChart.stories.tsx index 57609bee2cd..74e8f2f1687 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetLineChart.stories.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetLineChart.stories.tsx @@ -4,13 +4,11 @@ import { type ComponentProps } from 'react'; import { GraphWidgetTestWrapper } from '@/page-layout/widgets/graph/__tests__/GraphWidgetTestWrapper'; import { GraphWidgetLineChart } from '@/page-layout/widgets/graph/graphWidgetLineChart/components/GraphWidgetLineChart'; import { CatalogDecorator, ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/PageLayout/Widgets/GraphWidgetLineChart', component: GraphWidgetLineChart, decorators: [ - I18nFrontDecorator, (Story) => ( diff --git a/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetPieChart.stories.tsx b/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetPieChart.stories.tsx index 233febe7403..94e845d6cf5 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetPieChart.stories.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/graph/components/__stories__/GraphWidgetPieChart.stories.tsx @@ -9,7 +9,6 @@ import { WidgetConfigurationType, type PieChartConfiguration, } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { getMockFieldMetadataItemOrThrow } from '~/testing/utils/getMockFieldMetadataItemOrThrow'; import { getMockObjectMetadataItemOrThrow } from '~/testing/utils/getMockObjectMetadataItemOrThrow'; @@ -34,7 +33,6 @@ const meta: Meta = { title: 'Modules/PageLayout/Widgets/GraphWidgetPieChart', component: GraphWidgetPieChart, decorators: [ - I18nFrontDecorator, ObjectMetadataItemsDecorator, (Story) => ( @@ -385,7 +383,6 @@ export const Storage: Story = { export const Catalog: Story = { decorators: [ - I18nFrontDecorator, ObjectMetadataItemsDecorator, (Story) => ( diff --git a/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardEditorSideMenu.tsx b/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardEditorSideMenu.tsx index 3334ddfd07b..793b6ed3ebf 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardEditorSideMenu.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardEditorSideMenu.tsx @@ -44,7 +44,8 @@ const StyledDragHandleContainer = styled.div` background: ${({ theme }) => theme.background.transparent.secondary}; backdrop-filter: ${({ theme }) => theme.blur.medium}; color: ${({ theme }) => theme.font.color.primary}; - box-shadow: ${({ theme }) => theme.boxShadow.light}, + box-shadow: + ${({ theme }) => theme.boxShadow.light}, ${({ theme }) => theme.boxShadow.strong}; } diff --git a/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardFormattingToolbar.tsx b/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardFormattingToolbar.tsx index 698309c3f30..72cde41844d 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardFormattingToolbar.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardFormattingToolbar.tsx @@ -51,7 +51,7 @@ type DashboardFormattingToolbarProps = { export const DashboardFormattingToolbar = ({ boundaryElement, }: DashboardFormattingToolbarProps) => { - // eslint-disable-next-line @nx/workspace-no-state-useref + // eslint-disable-next-line twenty/no-state-useref const toolbarContainerRef = useRef(null); const editor = useBlockNoteEditor(); const theme = useTheme(); diff --git a/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardsBlockEditor.tsx b/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardsBlockEditor.tsx index a65810fadc3..c3d72913418 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardsBlockEditor.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/standalone-rich-text/components/DashboardsBlockEditor.tsx @@ -27,7 +27,7 @@ interface DashboardsBlockEditorProps { // TODO: Refactor these BlockNote CSS overrides - some may be dead code now that we have custom components // (DashboardBlockDragHandleMenu, DashboardEditorSideMenu, DashboardColorSelectionMenu). // Test removing each selector and move necessary styles to appropriate components. -// eslint-disable-next-line @nx/workspace-no-hardcoded-colors +// eslint-disable-next-line twenty/no-hardcoded-colors const StyledEditor = styled.div` width: 100%; diff --git a/packages/twenty-front/src/modules/page-layout/widgets/widget-card/components/WidgetCard.tsx b/packages/twenty-front/src/modules/page-layout/widgets/widget-card/components/WidgetCard.tsx index 6ddf53aba25..1c732dbd5d4 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/widget-card/components/WidgetCard.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/widget-card/components/WidgetCard.tsx @@ -67,7 +67,8 @@ const StyledWidgetCard = styled.div<{ ${isDragging && css` - background: linear-gradient( + background: + linear-gradient( 0deg, ${theme.background.transparent.lighter} 0%, ${theme.background.transparent.lighter} 100% @@ -119,7 +120,8 @@ const StyledWidgetCard = styled.div<{ ${isDragging && css` - background: linear-gradient( + background: + linear-gradient( 0deg, ${theme.background.transparent.lighter} 0%, ${theme.background.transparent.lighter} 100% diff --git a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistInput.stories.tsx b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistInput.stories.tsx index cd58548ced5..1a40bb87140 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistInput.stories.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistInput.stories.tsx @@ -7,7 +7,6 @@ import { expect, fn, userEvent, within } from 'storybook/test'; import { SettingsAccountsBlocklistInput } from '@/settings/accounts/components/SettingsAccountsBlocklistInput'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const updateBlockedEmailListJestFn = fn(); @@ -21,7 +20,7 @@ const ClearMocksDecorator: Decorator = (Story, context) => { const meta: Meta = { title: 'Modules/Settings/Accounts/Blocklist/SettingsAccountsBlocklistInput', component: SettingsAccountsBlocklistInput, - decorators: [ComponentDecorator, ClearMocksDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator, ClearMocksDecorator], args: { updateBlockedEmailList: updateBlockedEmailListJestFn, blockedEmailOrDomainList: [], diff --git a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistSection.stories.tsx b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistSection.stories.tsx index 385ca7dbc25..47ab6da354b 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistSection.stories.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistSection.stories.tsx @@ -3,12 +3,11 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { SettingsAccountsBlocklistInput } from '@/settings/accounts/components/SettingsAccountsBlocklistInput'; import { type SettingsAccountsBlocklistSection } from '@/settings/accounts/components/SettingsAccountsBlocklistSection'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/Settings/Accounts/Blocklist/SettingsAccountsBlocklistSection', component: SettingsAccountsBlocklistInput, - decorators: [ComponentDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTable.stories.tsx b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTable.stories.tsx index e8bc72c3af0..066bb3ab816 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTable.stories.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTable.stories.tsx @@ -8,7 +8,6 @@ import { expect, fn, userEvent, within } from 'storybook/test'; import { mockedBlocklist } from '@/settings/accounts/components/__stories__/mockedBlocklist'; import { SettingsAccountsBlocklistTable } from '@/settings/accounts/components/SettingsAccountsBlocklistTable'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { formatToHumanReadableDate } from '~/utils/date-utils'; const handleBlockedEmailRemoveJestFn = fn(); @@ -23,7 +22,7 @@ const ClearMocksDecorator: Decorator = (Story, context) => { const meta: Meta = { title: 'Modules/Settings/Accounts/Blocklist/SettingsAccountsBlocklistTable', component: SettingsAccountsBlocklistTable, - decorators: [ComponentDecorator, ClearMocksDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator, ClearMocksDecorator], args: { blocklist: mockedBlocklist, handleBlockedEmailRemove: handleBlockedEmailRemoveJestFn, diff --git a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTableRow.stories.tsx b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTableRow.stories.tsx index 3aea3d6f049..c365796859c 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTableRow.stories.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsBlocklistTableRow.stories.tsx @@ -8,7 +8,6 @@ import { expect, fn, userEvent, within } from 'storybook/test'; import { SettingsAccountsBlocklistTableRow } from '@/settings/accounts/components/SettingsAccountsBlocklistTableRow'; import { mockedBlocklist } from '@/settings/accounts/components/__stories__/mockedBlocklist'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { formatToHumanReadableDate } from '~/utils/date-utils'; const onRemoveJestFn = fn(); @@ -24,7 +23,7 @@ const meta: Meta = { title: 'Modules/Settings/Accounts/Blocklist/SettingsAccountsBlocklistTableRow', component: SettingsAccountsBlocklistTableRow, - decorators: [ComponentDecorator, ClearMocksDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator, ClearMocksDecorator], args: { blocklistItem: mockedBlocklist[0], onRemove: onRemoveJestFn, diff --git a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelDetails.stories.tsx b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelDetails.stories.tsx index 2ab0b5fc4ab..c3440d1a8c6 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelDetails.stories.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelDetails.stories.tsx @@ -3,7 +3,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { SettingsAccountsCalendarChannelDetails } from '@/settings/accounts/components/SettingsAccountsCalendarChannelDetails'; import { ComponentDecorator } from 'twenty-ui/testing'; import { CalendarChannelVisibility } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -13,7 +12,6 @@ const meta: Meta = { component: SettingsAccountsCalendarChannelDetails, decorators: [ ComponentDecorator, - I18nFrontDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, ], diff --git a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelsGeneral.stories.tsx b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelsGeneral.stories.tsx index c1f6527fdb4..a181f3eb1e7 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelsGeneral.stories.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsCalendarChannelsGeneral.stories.tsx @@ -2,7 +2,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { SettingsAccountsCalendarChannelsGeneral } from '@/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -14,7 +13,6 @@ const meta: Meta = { ComponentDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsMessageChannelDetails.stories.tsx b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsMessageChannelDetails.stories.tsx index 655951b94d3..5eca969d471 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsMessageChannelDetails.stories.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsMessageChannelDetails.stories.tsx @@ -7,7 +7,6 @@ import { import { SettingsAccountsMessageChannelDetails } from '@/settings/accounts/components/SettingsAccountsMessageChannelDetails'; import { ComponentDecorator } from 'twenty-ui/testing'; import { MessageChannelVisibility } from '~/generated/graphql'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -17,7 +16,6 @@ const meta: Meta = { component: SettingsAccountsMessageChannelDetails, decorators: [ ComponentDecorator, - I18nFrontDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, ], diff --git a/packages/twenty-front/src/modules/settings/components/__stories__/CancelButton.stories.tsx b/packages/twenty-front/src/modules/settings/components/__stories__/CancelButton.stories.tsx index eab919e89e0..4b14330096a 100644 --- a/packages/twenty-front/src/modules/settings/components/__stories__/CancelButton.stories.tsx +++ b/packages/twenty-front/src/modules/settings/components/__stories__/CancelButton.stories.tsx @@ -1,12 +1,11 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { CancelButton } from '@/settings/components/SaveAndCancelButtons/CancelButton'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/Settings/CancelButton', component: CancelButton, - decorators: [I18nFrontDecorator], + decorators: [], }; export default meta; diff --git a/packages/twenty-front/src/modules/settings/constants/SettingsObjectModel.ts b/packages/twenty-front/src/modules/settings/constants/SettingsObjectModel.ts index ba4fc3e1284..99dcc156847 100644 --- a/packages/twenty-front/src/modules/settings/constants/SettingsObjectModel.ts +++ b/packages/twenty-front/src/modules/settings/constants/SettingsObjectModel.ts @@ -1,2 +1 @@ -export const SETTINGS_OBJECT_MODEL_IS_LABEL_SYNCED_WITH_NAME_LABEL_DEFAULT_VALUE = - true; +export const SETTINGS_OBJECT_MODEL_IS_LABEL_SYNCED_WITH_NAME_LABEL_DEFAULT_VALUE = true; diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldIconLabelForm.stories.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldIconLabelForm.stories.tsx index 7cbf7173d54..2bbab3988b3 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldIconLabelForm.stories.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldIconLabelForm.stories.tsx @@ -6,7 +6,6 @@ import { IconsProviderDecorator } from '~/testing/decorators/IconsProviderDecora import { SettingsDataModelFieldIconLabelForm } from '@/settings/data-model/fields/forms/components/SettingsDataModelFieldIconLabelForm'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; const StyledContainer = styled.div` @@ -25,7 +24,6 @@ const meta: Meta = { FormProviderDecorator, IconsProviderDecorator, ComponentDecorator, - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldSettingsFormCard.stories.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldSettingsFormCard.stories.tsx index 1e181486872..c32cd8135f6 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldSettingsFormCard.stories.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/__stories__/SettingsDataModelFieldSettingsFormCard.stories.tsx @@ -9,7 +9,6 @@ import { graphqlMocks } from '~/testing/graphqlMocks'; import { SettingsDataModelFieldSettingsFormCard } from '@/settings/data-model/fields/forms/components/SettingsDataModelFieldSettingsFormCard'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; const mockedCompanyObjectMetadataItem = generatedMockObjectMetadataItems.find( @@ -34,7 +33,6 @@ const meta: Meta = { ObjectMetadataItemsDecorator, SnackBarDecorator, FormProviderDecorator, - I18nFrontDecorator, ], args: { existingFieldMetadataId: fieldMetadataItem.id, diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/__stories__/SettingsDataModelFieldPreviewWidget.stories.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/__stories__/SettingsDataModelFieldPreviewWidget.stories.tsx index 1937687bcfe..3795d825766 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/__stories__/SettingsDataModelFieldPreviewWidget.stories.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/__stories__/SettingsDataModelFieldPreviewWidget.stories.tsx @@ -5,7 +5,6 @@ import { graphqlMocks } from '~/testing/graphqlMocks'; import { SettingsDataModelFieldPreviewWidget } from '@/settings/data-model/fields/preview/components/SettingsDataModelFieldPreviewWidget'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -26,11 +25,9 @@ const meta: Meta = { 'Modules/Settings/DataModel/Fields/Preview/SettingsDataModelFieldPreviewWidget', component: SettingsDataModelFieldPreviewWidget, decorators: [ - I18nFrontDecorator, MemoryRouterDecorator, ComponentDecorator, ObjectMetadataItemsDecorator, - I18nFrontDecorator, SnackBarDecorator, ], args: { diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx index 0c1ac997dcf..47de6464fe4 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx @@ -128,7 +128,7 @@ export const SettingsObjectFieldItemTableRow = ({ fieldName: fieldMetadataItem.name, }); - // eslint-disable-next-line @nx/workspace-no-navigate-prefer-link + // eslint-disable-next-line twenty/no-navigate-prefer-link const navigateToFieldEdit = () => navigate(SettingsPath.ObjectFieldEdit, { objectNamePlural: objectMetadataItem.namePlural, diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectRelationItemTableRow.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectRelationItemTableRow.tsx index b9f5cd0c4e0..a0075066d9d 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectRelationItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectRelationItemTableRow.tsx @@ -124,7 +124,7 @@ export const SettingsObjectRelationItemTableRow = ({ fieldName: fieldMetadataItem.name, }); - // eslint-disable-next-line @nx/workspace-no-navigate-prefer-link + // eslint-disable-next-line twenty/no-navigate-prefer-link const navigateToFieldEdit = () => navigate(SettingsPath.ObjectFieldEdit, { objectNamePlural: objectMetadataItem.namePlural, @@ -157,7 +157,7 @@ export const SettingsObjectRelationItemTableRow = ({ : fieldMetadataItem.label; return ( - // eslint-disable-next-line @nx/workspace-no-navigate-prefer-link + // eslint-disable-next-line twenty/no-navigate-prefer-link {!!Icon && ( diff --git a/packages/twenty-front/src/modules/settings/data-model/objects/components/__stories__/SettingsObjectInactiveMenuDropDown.stories.tsx b/packages/twenty-front/src/modules/settings/data-model/objects/components/__stories__/SettingsObjectInactiveMenuDropDown.stories.tsx index 408a14975ac..d0a9f53a70b 100644 --- a/packages/twenty-front/src/modules/settings/data-model/objects/components/__stories__/SettingsObjectInactiveMenuDropDown.stories.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/objects/components/__stories__/SettingsObjectInactiveMenuDropDown.stories.tsx @@ -7,7 +7,6 @@ import { expect, fn, userEvent, within } from 'storybook/test'; import { SettingsObjectInactiveMenuDropDown } from '@/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const handleActivateMockFunction = fn(); const handleDeleteMockFunction = fn(); @@ -28,7 +27,7 @@ const meta: Meta = { onActivate: handleActivateMockFunction, onDelete: handleDeleteMockFunction, }, - decorators: [I18nFrontDecorator, ComponentDecorator, ClearMocksDecorator], + decorators: [ComponentDecorator, ClearMocksDecorator], parameters: { clearMocks: true, }, diff --git a/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/__stories__/SettingsDataModelObjectAboutForm.stories.tsx b/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/__stories__/SettingsDataModelObjectAboutForm.stories.tsx index 4672fbc7756..79155a10d7d 100644 --- a/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/__stories__/SettingsDataModelObjectAboutForm.stories.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/__stories__/SettingsDataModelObjectAboutForm.stories.tsx @@ -6,7 +6,6 @@ import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorato import { SettingsDataModelObjectAboutForm } from '@/settings/data-model/objects/forms/components/SettingsDataModelObjectAboutForm'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { generatedMockObjectMetadataItems } from '~/testing/utils/generatedMockObjectMetadataItems'; const mockedCompanyObjectMetadataItem = generatedMockObjectMetadataItems.find( @@ -27,7 +26,6 @@ const meta: Meta = { ), - I18nFrontDecorator, FormProviderDecorator, IconsProviderDecorator, ComponentDecorator, diff --git a/packages/twenty-front/src/modules/settings/developers/components/__stories__/ApiKeyInput.stories.tsx b/packages/twenty-front/src/modules/settings/developers/components/__stories__/ApiKeyInput.stories.tsx index 14704cb0540..3c704b8e225 100644 --- a/packages/twenty-front/src/modules/settings/developers/components/__stories__/ApiKeyInput.stories.tsx +++ b/packages/twenty-front/src/modules/settings/developers/components/__stories__/ApiKeyInput.stories.tsx @@ -2,13 +2,12 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { ApiKeyInput } from '@/settings/developers/components/ApiKeyInput'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; const meta: Meta = { title: 'Modules/Settings/Developers/ApiKeys/ApiKeyInput', component: ApiKeyInput, - decorators: [ComponentDecorator, SnackBarDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator, SnackBarDecorator], args: { apiKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0d2VudHktN2VkOWQyMTItMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNjk4MTQyODgyLCJleHAiOjE2OTk0MDE1OTksImp0aSI6ImMyMmFiNjQxLTVhOGYtNGQwMC1iMDkzLTk3MzUwYTM2YzZkOSJ9.JIe2TX5IXrdNl3n-kRFp3jyfNUE7unzXZLAzm2Gxl98', diff --git a/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsApiKeysFieldItemTableRow.stories.tsx b/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsApiKeysFieldItemTableRow.stories.tsx index 3b95cf4d723..18f48d8e243 100644 --- a/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsApiKeysFieldItemTableRow.stories.tsx +++ b/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsApiKeysFieldItemTableRow.stories.tsx @@ -2,12 +2,11 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { SettingsApiKeysFieldItemTableRow } from '@/settings/developers/components/SettingsApiKeysFieldItemTableRow'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/Settings/Developers/ApiKeys/SettingsApiKeysFieldItemTableRow', component: SettingsApiKeysFieldItemTableRow, - decorators: [ComponentDecorator, RouterDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator, RouterDecorator], args: { apiKey: { id: '3f4a42e8-b81f-4f8c-9c20-1602e6b34791', diff --git a/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsDevelopersWebhookForm.stories.tsx b/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsDevelopersWebhookForm.stories.tsx index abca101d908..65d94239dd1 100644 --- a/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsDevelopersWebhookForm.stories.tsx +++ b/packages/twenty-front/src/modules/settings/developers/components/__stories__/SettingsDevelopersWebhookForm.stories.tsx @@ -4,7 +4,6 @@ import { expect, within } from 'storybook/test'; import { SettingsDevelopersWebhookForm } from '@/settings/developers/components/SettingsDevelopersWebhookForm'; import { WebhookFormMode } from '@/settings/developers/constants/WebhookFormMode'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -15,7 +14,6 @@ const meta: Meta = { component: SettingsDevelopersWebhookForm, decorators: [ ComponentDecorator, - I18nFrontDecorator, RouterDecorator, ObjectMetadataItemsDecorator, SnackBarDecorator, diff --git a/packages/twenty-front/src/modules/settings/playground/components/__stories__/GraphQLPlayground.stories.tsx b/packages/twenty-front/src/modules/settings/playground/components/__stories__/GraphQLPlayground.stories.tsx index bab1dc84a4c..d3c8a4ea9c9 100644 --- a/packages/twenty-front/src/modules/settings/playground/components/__stories__/GraphQLPlayground.stories.tsx +++ b/packages/twenty-front/src/modules/settings/playground/components/__stories__/GraphQLPlayground.stories.tsx @@ -8,7 +8,6 @@ import { ComponentDecorator, ComponentWithRouterDecorator, } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; const PlaygroundApiKeySetterEffect = () => { @@ -24,11 +23,7 @@ const PlaygroundApiKeySetterEffect = () => { const meta: Meta = { title: 'Modules/Settings/Playground/GraphQLPlayground', component: GraphQLPlayground, - decorators: [ - ComponentDecorator, - I18nFrontDecorator, - ComponentWithRouterDecorator, - ], + decorators: [ComponentDecorator, ComponentWithRouterDecorator], parameters: { docs: { description: { diff --git a/packages/twenty-front/src/modules/settings/playground/components/__stories__/PlaygroundSetupForm.stories.tsx b/packages/twenty-front/src/modules/settings/playground/components/__stories__/PlaygroundSetupForm.stories.tsx index 7db8880955b..48eaaa48feb 100644 --- a/packages/twenty-front/src/modules/settings/playground/components/__stories__/PlaygroundSetupForm.stories.tsx +++ b/packages/twenty-front/src/modules/settings/playground/components/__stories__/PlaygroundSetupForm.stories.tsx @@ -1,12 +1,11 @@ import { PlaygroundSetupForm } from '@/settings/playground/components/PlaygroundSetupForm'; import { type Meta, type StoryObj } from '@storybook/react-vite'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/Settings/Playground/PlaygroundSetupForm', component: PlaygroundSetupForm, - decorators: [ComponentDecorator, RouterDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator, RouterDecorator], parameters: { docs: { description: { diff --git a/packages/twenty-front/src/modules/settings/playground/components/__stories__/RestPlayground.stories.tsx b/packages/twenty-front/src/modules/settings/playground/components/__stories__/RestPlayground.stories.tsx index b512f445934..cdf153ca98a 100644 --- a/packages/twenty-front/src/modules/settings/playground/components/__stories__/RestPlayground.stories.tsx +++ b/packages/twenty-front/src/modules/settings/playground/components/__stories__/RestPlayground.stories.tsx @@ -7,7 +7,6 @@ import { useEffect } from 'react'; import { useSetRecoilState } from 'recoil'; import { action } from 'storybook/actions'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const PlaygroundApiKeySetterEffect = () => { const setPlaygroundApiKey = useSetRecoilState(playgroundApiKeyState); @@ -87,7 +86,7 @@ const openApiSpec = { const meta: Meta = { title: 'Modules/Settings/Playground/RestPlayground', component: RestPlayground, - decorators: [ComponentDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator], parameters: { docs: { description: { diff --git a/packages/twenty-front/src/modules/settings/roles/role-assignment/components/stories/SettingsRoleAssignment.stories.tsx b/packages/twenty-front/src/modules/settings/roles/role-assignment/components/stories/SettingsRoleAssignment.stories.tsx index f7f291a3cbb..3e5dae8d863 100644 --- a/packages/twenty-front/src/modules/settings/roles/role-assignment/components/stories/SettingsRoleAssignment.stories.tsx +++ b/packages/twenty-front/src/modules/settings/roles/role-assignment/components/stories/SettingsRoleAssignment.stories.tsx @@ -4,7 +4,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { useSetRecoilState } from 'recoil'; import { isDefined } from 'twenty-shared/utils'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { getRolesMock } from '~/testing/mock-data/roles'; const SettingsRoleAssignmentWrapper = ( @@ -26,7 +25,7 @@ const SettingsRoleAssignmentWrapper = ( const meta: Meta = { title: 'Modules/Settings/Roles/RoleAssignment/SettingsRoleAssignment', component: SettingsRoleAssignmentWrapper, - decorators: [RouterDecorator, ComponentDecorator, I18nFrontDecorator], + decorators: [RouterDecorator, ComponentDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/settings/roles/role-permissions/components/stories/SettingsRolePermissions.stories.tsx b/packages/twenty-front/src/modules/settings/roles/role-permissions/components/stories/SettingsRolePermissions.stories.tsx index 14ee3ebc13e..4a74bf8a85e 100644 --- a/packages/twenty-front/src/modules/settings/roles/role-permissions/components/stories/SettingsRolePermissions.stories.tsx +++ b/packages/twenty-front/src/modules/settings/roles/role-permissions/components/stories/SettingsRolePermissions.stories.tsx @@ -4,7 +4,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { useSetRecoilState } from 'recoil'; import { isDefined } from 'twenty-shared/utils'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { getRolesMock } from '~/testing/mock-data/roles'; const SettingsRolePermissionsWrapper = ( @@ -31,7 +30,7 @@ const SettingsRolePermissionsWrapper = ( const meta: Meta = { title: 'Modules/Settings/Roles/RolePermissions/SettingsRolePermissions', component: SettingsRolePermissionsWrapper, - decorators: [RouterDecorator, ComponentDecorator, I18nFrontDecorator], + decorators: [RouterDecorator, ComponentDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/components/SettingsRolePermissionsObjectLevelObjectPicker.tsx b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/components/SettingsRolePermissionsObjectLevelObjectPicker.tsx index 9364e266979..b21c20001c8 100644 --- a/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/components/SettingsRolePermissionsObjectLevelObjectPicker.tsx +++ b/packages/twenty-front/src/modules/settings/roles/role-permissions/object-level-permissions/components/SettingsRolePermissionsObjectLevelObjectPicker.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @nx/workspace-no-navigate-prefer-link */ +/* eslint-disable twenty/no-navigate-prefer-link */ import { SettingsCard } from '@/settings/components/SettingsCard'; import { useFilterObjectMetadataItemsWithPermissionOverride } from '@/settings/roles/role-permissions/object-level-permissions/hooks/useFilterObjectWithPermissionOverride'; import { useObjectMetadataItemsThatCanHavePermission } from '@/settings/roles/role-permissions/object-level-permissions/hooks/useObjectMetadataItemsThatCanHavePermission'; diff --git a/packages/twenty-front/src/modules/settings/roles/role-settings/components/stories/SettingsRoleSettings.stories.tsx b/packages/twenty-front/src/modules/settings/roles/role-settings/components/stories/SettingsRoleSettings.stories.tsx index 555f09cdda6..d4dbd6deecb 100644 --- a/packages/twenty-front/src/modules/settings/roles/role-settings/components/stories/SettingsRoleSettings.stories.tsx +++ b/packages/twenty-front/src/modules/settings/roles/role-settings/components/stories/SettingsRoleSettings.stories.tsx @@ -4,7 +4,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { useSetRecoilState } from 'recoil'; import { isDefined } from 'twenty-shared/utils'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { getRolesMock } from '~/testing/mock-data/roles'; const SettingsRoleSettingsWrapper = ( @@ -32,7 +31,7 @@ const SettingsRoleSettingsWrapper = ( const meta: Meta = { title: 'Modules/Settings/Roles/RoleSettings/SettingsRoleSettings', component: SettingsRoleSettingsWrapper, - decorators: [RouterDecorator, ComponentDecorator, I18nFrontDecorator], + decorators: [RouterDecorator, ComponentDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockColumnDefinitions.ts b/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockColumnDefinitions.ts index f1112f4526a..cc9f518919c 100644 --- a/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockColumnDefinitions.ts +++ b/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockColumnDefinitions.ts @@ -1,4 +1,4 @@ -/* eslint-disable @nx/workspace-max-consts-per-file */ +/* eslint-disable twenty/max-consts-per-file */ import { type FieldMetadata } from '@/object-record/record-field/ui/types/FieldMetadata'; import { type ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition'; import { filterAvailableTableColumns } from '@/object-record/utils/filterAvailableTableColumns'; diff --git a/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockCompanies.ts b/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockCompanies.ts index 20a3ac52e54..a17cc21ef38 100644 --- a/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockCompanies.ts +++ b/packages/twenty-front/src/modules/sign-in-background-mock/constants/SignInBackgroundMockCompanies.ts @@ -1365,7 +1365,7 @@ const baseMock = [ }, ]; -// eslint-disable-next-line @nx/workspace-max-consts-per-file, @typescript-eslint/naming-convention +// eslint-disable-next-line twenty/max-consts-per-file, @typescript-eslint/naming-convention const baseMockToRecordConnection = { edges: baseMock.map( (mockCompany) => @@ -1379,7 +1379,7 @@ const baseMockToRecordConnection = { __typename: 'CompanyConnection', } as RecordGqlConnectionEdgesRequired; -// eslint-disable-next-line @nx/workspace-max-consts-per-file +// eslint-disable-next-line twenty/max-consts-per-file export const SIGN_IN_BACKGROUND_MOCK_COMPANIES = getRecordsFromRecordConnection( { recordConnection: baseMockToRecordConnection }, ); diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/MatchColumns.stories.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/MatchColumns.stories.tsx index 8e195e72dd3..03c6c3870a2 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/MatchColumns.stories.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/MatchColumns.stories.tsx @@ -6,7 +6,6 @@ import { SpreadSheetImportModalWrapper } from '@/spreadsheet-import/components/S import { MatchColumnsStep } from '@/spreadsheet-import/steps/components/MatchColumnsStep/MatchColumnsStep'; import { type SpreadsheetImportStep } from '@/spreadsheet-import/steps/types/SpreadsheetImportStep'; import { DialogComponentInstanceContext } from '@/ui/feedback/dialog-manager/contexts/DialogComponentInstanceContext'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; const meta: Meta = { @@ -15,7 +14,7 @@ const meta: Meta = { parameters: { layout: 'fullscreen', }, - decorators: [SnackBarDecorator, I18nFrontDecorator], + decorators: [SnackBarDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectHeader.stories.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectHeader.stories.tsx index d31ffdcd434..b4c2665335a 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectHeader.stories.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectHeader.stories.tsx @@ -11,7 +11,6 @@ import { SpreadsheetImportStepType } from '@/spreadsheet-import/steps/types/Spre import { DialogComponentInstanceContext } from '@/ui/feedback/dialog-manager/contexts/DialogComponentInstanceContext'; import { isModalOpenedComponentState } from '@/ui/layout/modal/states/isModalOpenedComponentState'; import { RecoilRoot } from 'recoil'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/SpreadsheetImport/SelectHeaderStep', @@ -34,7 +33,6 @@ const meta: Meta = { ), - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectSheet.stories.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectSheet.stories.tsx index 5b0cc160c35..620702b69c1 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectSheet.stories.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/SelectSheet.stories.tsx @@ -8,7 +8,6 @@ import { SpreadsheetImportStepType } from '@/spreadsheet-import/steps/types/Spre import { DialogComponentInstanceContext } from '@/ui/feedback/dialog-manager/contexts/DialogComponentInstanceContext'; import { isModalOpenedComponentState } from '@/ui/layout/modal/states/isModalOpenedComponentState'; import { RecoilRoot } from 'recoil'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/SpreadsheetImport/SelectSheetStep', @@ -31,7 +30,6 @@ const meta: Meta = { ), - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Steps.stories.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Steps.stories.tsx index 0d19b4a06c9..5f3aa49dd02 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Steps.stories.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Steps.stories.tsx @@ -5,7 +5,6 @@ import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { SpreadsheetImportStepperContainer } from '@/spreadsheet-import/steps/components/SpreadsheetImportStepperContainer'; import { stepBarInternalState } from '@/ui/navigation/step-bar/states/stepBarInternalState'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; const meta: Meta = { @@ -13,7 +12,6 @@ const meta: Meta = { component: SpreadsheetImportStepperContainer, decorators: [ SnackBarDecorator, - I18nFrontDecorator, ObjectMetadataItemsDecorator, ContextStoreDecorator, ], diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Upload.stories.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Upload.stories.tsx index c7c91b9a286..921e6e95d68 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Upload.stories.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Upload.stories.tsx @@ -9,7 +9,6 @@ import { DialogComponentInstanceContext } from '@/ui/feedback/dialog-manager/con import { isModalOpenedComponentState } from '@/ui/layout/modal/states/isModalOpenedComponentState'; import { RecoilRoot } from 'recoil'; import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; @@ -37,7 +36,6 @@ const meta: Meta = { ), SnackBarDecorator, - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Validation.stories.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Validation.stories.tsx index 8b91c4f745b..da75cda2adb 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Validation.stories.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/__stories__/Validation.stories.tsx @@ -11,7 +11,6 @@ import { ValidationStep } from '@/spreadsheet-import/steps/components/Validation import { DialogComponentInstanceContext } from '@/ui/feedback/dialog-manager/contexts/DialogComponentInstanceContext'; import { isModalOpenedComponentState } from '@/ui/layout/modal/states/isModalOpenedComponentState'; import { RecoilRoot } from 'recoil'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'Modules/SpreadsheetImport/ValidationStep', @@ -34,7 +33,6 @@ const meta: Meta = { ), - I18nFrontDecorator, ], }; diff --git a/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/__stories__/SnackBar.stories.tsx b/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/__stories__/SnackBar.stories.tsx index ded939e98f7..fcbed022104 100644 --- a/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/__stories__/SnackBar.stories.tsx +++ b/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/__stories__/SnackBar.stories.tsx @@ -11,7 +11,6 @@ import { type CatalogStory, ComponentDecorator, } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'UI/Feedback/SnackBarManager/SnackBar', @@ -36,7 +35,7 @@ export default meta; type Story = StoryObj; export const Default: Story = { - decorators: [ComponentDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator], parameters: { chromatic: { disableSnapshot: true }, }, @@ -46,7 +45,7 @@ export const Catalog: CatalogStory = { args: { onCancel: fn(), }, - decorators: [CatalogDecorator, I18nFrontDecorator], + decorators: [CatalogDecorator], parameters: { catalog: { dimensions: [ diff --git a/packages/twenty-front/src/modules/ui/field/input/components/FieldInputContainer.tsx b/packages/twenty-front/src/modules/ui/field/input/components/FieldInputContainer.tsx index f01b1fa1524..9816b766a9f 100644 --- a/packages/twenty-front/src/modules/ui/field/input/components/FieldInputContainer.tsx +++ b/packages/twenty-front/src/modules/ui/field/input/components/FieldInputContainer.tsx @@ -1,6 +1,6 @@ import styled from '@emotion/styled'; -// eslint-disable-next-line @nx/workspace-styled-components-prefixed-with-styled +// eslint-disable-next-line twenty/styled-components-prefixed-with-styled export const FieldInputContainer = styled.div` align-items: center; display: flex; diff --git a/packages/twenty-front/src/modules/ui/field/input/components/__stories__/MultiSelectInput.stories.tsx b/packages/twenty-front/src/modules/ui/field/input/components/__stories__/MultiSelectInput.stories.tsx index d7cd0d659b7..6918021d4a7 100644 --- a/packages/twenty-front/src/modules/ui/field/input/components/__stories__/MultiSelectInput.stories.tsx +++ b/packages/twenty-front/src/modules/ui/field/input/components/__stories__/MultiSelectInput.stories.tsx @@ -18,7 +18,6 @@ import { } from 'twenty-ui/display'; import { type SelectOption } from 'twenty-ui/input'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; type RenderProps = { values: FieldMultiSelectValue; @@ -128,7 +127,7 @@ const Render = ({ const meta: Meta = { title: 'UI/Field/Input/MultiSelectInput', component: MultiSelectInput, - decorators: [ComponentDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator], args: { values: [], options: sampleOptions, diff --git a/packages/twenty-front/src/modules/ui/input/components/__stories__/IconPicker.stories.tsx b/packages/twenty-front/src/modules/ui/input/components/__stories__/IconPicker.stories.tsx index efb962abaee..b7ac32bf641 100644 --- a/packages/twenty-front/src/modules/ui/input/components/__stories__/IconPicker.stories.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/__stories__/IconPicker.stories.tsx @@ -2,7 +2,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; import { useArgs } from 'storybook/preview-api'; import { expect, userEvent, within } from 'storybook/test'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { IconsProviderDecorator } from '~/testing/decorators/IconsProviderDecorator'; import { sleep } from '~/utils/sleep'; @@ -31,7 +30,7 @@ const Render = (args: RenderProps) => { const meta: Meta = { title: 'UI/Input/IconPicker/IconPicker', component: IconPicker, - decorators: [I18nFrontDecorator, IconsProviderDecorator, ComponentDecorator], + decorators: [IconsProviderDecorator, ComponentDecorator], render: Render, }; diff --git a/packages/twenty-front/src/modules/ui/input/components/__stories__/ImageInput.stories.tsx b/packages/twenty-front/src/modules/ui/input/components/__stories__/ImageInput.stories.tsx index fd59fc322f2..2577a016531 100644 --- a/packages/twenty-front/src/modules/ui/input/components/__stories__/ImageInput.stories.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/__stories__/ImageInput.stories.tsx @@ -1,6 +1,5 @@ import { type Meta, type StoryObj } from '@storybook/react-vite'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { workspaceLogoUrl } from '~/testing/mock-data/users'; import { ImageInput } from '@/ui/input/components/ImageInput'; @@ -9,7 +8,7 @@ import { ComponentDecorator } from 'twenty-ui/testing'; const meta: Meta = { title: 'UI/Input/ImageInput/ImageInput', component: ImageInput, - decorators: [ComponentDecorator, I18nFrontDecorator], + decorators: [ComponentDecorator], }; export default meta; diff --git a/packages/twenty-front/src/modules/ui/input/editor/components/BlockEditor.tsx b/packages/twenty-front/src/modules/ui/input/editor/components/BlockEditor.tsx index 10a422f6121..075df001297 100644 --- a/packages/twenty-front/src/modules/ui/input/editor/components/BlockEditor.tsx +++ b/packages/twenty-front/src/modules/ui/input/editor/components/BlockEditor.tsx @@ -22,7 +22,7 @@ interface BlockEditorProps { readonly?: boolean; } -// eslint-disable-next-line @nx/workspace-no-hardcoded-colors +// eslint-disable-next-line twenty/no-hardcoded-colors const StyledEditor = styled.div` width: 100%; diff --git a/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/Dropdown.stories.tsx b/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/Dropdown.stories.tsx index ec959fba11e..6c490521a4f 100644 --- a/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/Dropdown.stories.tsx +++ b/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/Dropdown.stories.tsx @@ -34,12 +34,11 @@ import { import { Button } from 'twenty-ui/input'; import { MenuItem } from 'twenty-ui/navigation'; import { ComponentDecorator } from 'twenty-ui/testing'; -import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; const meta: Meta = { title: 'UI/Layout/Dropdown/Dropdown', component: Dropdown, - decorators: [I18nFrontDecorator, ComponentDecorator, (Story) => ], + decorators: [ComponentDecorator, (Story) => ], args: { clickableComponent: