Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e310c42bbf |
@@ -19,12 +19,7 @@ runs:
|
||||
shell: bash
|
||||
run: git fetch origin main --depth=1
|
||||
- name: Get last successful commit
|
||||
if: env.NX_BASE == ''
|
||||
uses: nrwl/nx-set-shas@v4
|
||||
- name: Fallback to origin/main if no base found
|
||||
if: env.NX_BASE == ''
|
||||
shell: bash
|
||||
run: echo "NX_BASE=$(git rev-parse origin/main)" >> $GITHUB_ENV
|
||||
- name: Run affected command
|
||||
shell: bash
|
||||
env:
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
steps:
|
||||
- name: Fetch custom Github Actions and base branch history
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -2,7 +2,6 @@ name: CI Front
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
merge_group:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -18,7 +17,6 @@ env:
|
||||
|
||||
jobs:
|
||||
changed-files-check:
|
||||
if: github.event_name != 'merge_group'
|
||||
uses: ./.github/workflows/changed-files.yaml
|
||||
with:
|
||||
files: |
|
||||
@@ -65,7 +63,7 @@ jobs:
|
||||
key: ${{ env.STORYBOOK_BUILD_CACHE_KEY_FOR_SAVE_ACTION }}
|
||||
front-sb-test:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
needs: front-sb-build
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -151,6 +149,32 @@ jobs:
|
||||
# npx nyc merge coverage-artifacts ${{ env.PATH_TO_COVERAGE }}/coverage-storybook.json
|
||||
# - name: Checking coverage
|
||||
# run: npx nx storybook:coverage twenty-front --checkCoverage=true --configuration=${{ matrix.storybook_scope }}
|
||||
front-chromatic-deployment:
|
||||
timeout-minutes: 30
|
||||
if: false
|
||||
needs: front-sb-build
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
env:
|
||||
REACT_APP_SERVER_BASE_URL: http://127.0.0.1:3000
|
||||
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 10
|
||||
- name: Install dependencies
|
||||
uses: ./.github/actions/yarn-install
|
||||
- name: Restore storybook build cache
|
||||
uses: ./.github/actions/restore-cache
|
||||
with:
|
||||
key: ${{ env.STORYBOOK_BUILD_CACHE_KEY_FOR_RESTORE_ACTION }}
|
||||
- name: Front / Write .env
|
||||
run: |
|
||||
cd packages/twenty-front
|
||||
touch .env
|
||||
echo "" >> .env
|
||||
echo "REACT_APP_SERVER_BASE_URL=$REACT_APP_SERVER_BASE_URL" >> .env
|
||||
- name: Publish to Chromatic
|
||||
run: npx nx run twenty-front:chromatic:ci
|
||||
front-task:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
|
||||
@@ -10,7 +10,7 @@ permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'merge_group' && github.event.merge_group.base_ref || github.ref }}
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
@@ -54,18 +54,6 @@ jobs:
|
||||
- name: Install dependencies
|
||||
uses: ./.github/actions/yarn-install
|
||||
|
||||
- name: Restore Nx build cache
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
key: v4-e2e-build-${{ github.ref_name }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
v4-e2e-build-${{ github.ref_name }}-
|
||||
v4-e2e-build-main-
|
||||
path: |
|
||||
.nx
|
||||
node_modules/.cache
|
||||
packages/*/node_modules/.cache
|
||||
|
||||
- name: Build twenty-shared
|
||||
run: npx nx build twenty-shared
|
||||
|
||||
@@ -83,16 +71,6 @@ jobs:
|
||||
- name: Build server
|
||||
run: npx nx build twenty-server
|
||||
|
||||
- name: Save Nx build cache
|
||||
if: always()
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
key: v4-e2e-build-${{ github.ref_name }}-${{ github.sha }}
|
||||
path: |
|
||||
.nx
|
||||
node_modules/.cache
|
||||
packages/*/node_modules/.cache
|
||||
|
||||
- name: Create and setup database
|
||||
run: |
|
||||
PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d postgres -c 'CREATE DATABASE "default";'
|
||||
|
||||
@@ -2,7 +2,6 @@ name: CI SDK
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
merge_group:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -13,12 +12,10 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
changed-files-check:
|
||||
if: github.event_name != 'merge_group'
|
||||
uses: ./.github/workflows/changed-files.yaml
|
||||
with:
|
||||
files: |
|
||||
packages/twenty-sdk/**
|
||||
packages/twenty-server/**
|
||||
!packages/twenty-sdk/package.json
|
||||
sdk-test:
|
||||
needs: changed-files-check
|
||||
@@ -51,7 +48,7 @@ jobs:
|
||||
tasks: ${{ matrix.task }}
|
||||
sdk-e2e-test:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
needs: [changed-files-check, sdk-test]
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
services:
|
||||
|
||||
@@ -2,7 +2,6 @@ name: CI Server
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
merge_group:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -16,7 +15,6 @@ env:
|
||||
|
||||
jobs:
|
||||
changed-files-check:
|
||||
if: github.event_name != 'merge_group'
|
||||
uses: ./.github/workflows/changed-files.yaml
|
||||
with:
|
||||
files: |
|
||||
@@ -32,7 +30,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
steps:
|
||||
- name: Fetch custom Github Actions and base branch history
|
||||
uses: actions/checkout@v4
|
||||
@@ -60,7 +58,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
steps:
|
||||
- name: Fetch custom Github Actions and base branch history
|
||||
uses: actions/checkout@v4
|
||||
@@ -79,7 +77,7 @@ jobs:
|
||||
server-validation:
|
||||
needs: server-build
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
services:
|
||||
postgres:
|
||||
image: twentycrm/twenty-postgres-spilo
|
||||
@@ -179,7 +177,7 @@ jobs:
|
||||
server-test:
|
||||
needs: server-build
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
steps:
|
||||
- name: Fetch custom Github Actions and base branch history
|
||||
uses: actions/checkout@v4
|
||||
@@ -201,7 +199,7 @@ jobs:
|
||||
|
||||
server-integration-test:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
needs: server-build
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
@@ -2,7 +2,6 @@ name: CI Shared
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
merge_group:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -13,7 +12,6 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
changed-files-check:
|
||||
if: github.event_name != 'merge_group'
|
||||
uses: ./.github/workflows/changed-files.yaml
|
||||
with:
|
||||
files: |
|
||||
|
||||
@@ -5,7 +5,6 @@ permissions:
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
merge_group:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -13,7 +12,6 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
changed-files-check:
|
||||
if: github.event_name != 'merge_group'
|
||||
uses: ./.github/workflows/changed-files.yaml
|
||||
with:
|
||||
files: |
|
||||
|
||||
@@ -5,7 +5,6 @@ permissions:
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
merge_group:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -13,7 +12,6 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
changed-files-check:
|
||||
if: github.event_name != 'merge_group'
|
||||
uses: ./.github/workflows/changed-files.yaml
|
||||
with:
|
||||
files: |
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-4-cores
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
services:
|
||||
postgres:
|
||||
image: twentycrm/twenty-postgres-spilo
|
||||
|
||||
@@ -66,10 +66,11 @@ yarn twenty app:uninstall
|
||||
|
||||
Control which example files are included when creating a new app:
|
||||
|
||||
| Flag | Behavior |
|
||||
| ------------------ | ----------------------------------------------------------------------- |
|
||||
| `-e, --exhaustive` | **(default)** Creates all example files |
|
||||
| `-m, --minimal` | Creates only core files (`application-config.ts` and `default-role.ts`) |
|
||||
| Flag | Behavior |
|
||||
| ------------------- | ----------------------------------------------------------------------- |
|
||||
| `-e, --exhaustive` | **(default)** Creates all example files without prompting |
|
||||
| `-m, --minimal` | Creates only core files (`application-config.ts` and `default-role.ts`) |
|
||||
| `-i, --interactive` | Prompts you to select which examples to include |
|
||||
|
||||
```bash
|
||||
# Default: all examples included
|
||||
@@ -77,8 +78,22 @@ npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files
|
||||
npx create-twenty-app@latest my-app -m
|
||||
|
||||
# Interactive: choose which examples to include
|
||||
npx create-twenty-app@latest my-app -i
|
||||
```
|
||||
|
||||
In interactive mode, you can pick from:
|
||||
|
||||
- **Example object** — a custom CRM object definition (`objects/example-object.ts`)
|
||||
- **Example field** — a custom field on the example object (`fields/example-field.ts`)
|
||||
- **Example logic function** — a server-side handler with HTTP trigger (`logic-functions/hello-world.ts`)
|
||||
- **Example front component** — a React UI component (`front-components/hello-world.tsx`)
|
||||
- **Example view** — a saved view for the example object (`views/example-view.ts`)
|
||||
- **Example navigation menu item** — a sidebar link (`navigation-menu-items/example-navigation-menu-item.ts`)
|
||||
- **Example skill** — an AI agent skill definition (`skills/example-skill.ts`)
|
||||
- **Integration test** — a vitest integration test verifying app installation (`__tests__/app-install.integration-test.ts`)
|
||||
|
||||
## What gets scaffolded
|
||||
|
||||
**Core files (always created):**
|
||||
|
||||
@@ -18,6 +18,10 @@ const program = new Command(packageJson.name)
|
||||
'-m, --minimal',
|
||||
'Create only core entities (application-config and default-role)',
|
||||
)
|
||||
.option(
|
||||
'-i, --interactive',
|
||||
'Interactively choose which entity examples to include',
|
||||
)
|
||||
.helpOption('-h, --help', 'Display this help message.')
|
||||
.action(
|
||||
async (
|
||||
@@ -25,14 +29,19 @@ const program = new Command(packageJson.name)
|
||||
options?: {
|
||||
exhaustive?: boolean;
|
||||
minimal?: boolean;
|
||||
interactive?: boolean;
|
||||
},
|
||||
) => {
|
||||
const modeFlags = [options?.exhaustive, options?.minimal].filter(Boolean);
|
||||
const modeFlags = [
|
||||
options?.exhaustive,
|
||||
options?.minimal,
|
||||
options?.interactive,
|
||||
].filter(Boolean);
|
||||
|
||||
if (modeFlags.length > 1) {
|
||||
console.error(
|
||||
chalk.red(
|
||||
'Error: --exhaustive and --minimal are mutually exclusive.',
|
||||
'Error: --exhaustive, --minimal, and --interactive are mutually exclusive.',
|
||||
),
|
||||
);
|
||||
process.exit(1);
|
||||
@@ -47,7 +56,11 @@ const program = new Command(packageJson.name)
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const mode: ScaffoldingMode = options?.minimal ? 'minimal' : 'exhaustive';
|
||||
const mode: ScaffoldingMode = options?.minimal
|
||||
? 'minimal'
|
||||
: options?.interactive
|
||||
? 'interactive'
|
||||
: 'exhaustive';
|
||||
|
||||
await new CreateAppCommand().execute(directory, mode);
|
||||
},
|
||||
|
||||
@@ -24,7 +24,7 @@ export class CreateAppCommand {
|
||||
const { appName, appDisplayName, appDirectory, appDescription } =
|
||||
await this.getAppInfos(directory);
|
||||
|
||||
const exampleOptions = this.resolveExampleOptions(mode);
|
||||
const exampleOptions = await this.resolveExampleOptions(mode);
|
||||
|
||||
await this.validateDirectory(appDirectory);
|
||||
|
||||
@@ -103,7 +103,9 @@ export class CreateAppCommand {
|
||||
return { appName, appDisplayName, appDirectory, appDescription };
|
||||
}
|
||||
|
||||
private resolveExampleOptions(mode: ScaffoldingMode): ExampleOptions {
|
||||
private async resolveExampleOptions(
|
||||
mode: ScaffoldingMode,
|
||||
): Promise<ExampleOptions> {
|
||||
if (mode === 'minimal') {
|
||||
return {
|
||||
includeExampleObject: false,
|
||||
@@ -117,15 +119,94 @@ export class CreateAppCommand {
|
||||
};
|
||||
}
|
||||
|
||||
if (mode === 'exhaustive') {
|
||||
return {
|
||||
includeExampleObject: true,
|
||||
includeExampleField: true,
|
||||
includeExampleLogicFunction: true,
|
||||
includeExampleFrontComponent: true,
|
||||
includeExampleView: true,
|
||||
includeExampleNavigationMenuItem: true,
|
||||
includeExampleSkill: true,
|
||||
includeExampleIntegrationTest: true,
|
||||
};
|
||||
}
|
||||
|
||||
const { selectedExamples } = await inquirer.prompt([
|
||||
{
|
||||
type: 'checkbox',
|
||||
name: 'selectedExamples',
|
||||
message: 'Select which example files to include:',
|
||||
choices: [
|
||||
{
|
||||
name: 'Example object (custom object definition)',
|
||||
value: 'object',
|
||||
checked: true,
|
||||
},
|
||||
{
|
||||
name: 'Example field (custom field on the example object)',
|
||||
value: 'field',
|
||||
checked: true,
|
||||
},
|
||||
{
|
||||
name: 'Example logic function (server-side handler)',
|
||||
value: 'logicFunction',
|
||||
checked: true,
|
||||
},
|
||||
{
|
||||
name: 'Example front component (React UI component)',
|
||||
value: 'frontComponent',
|
||||
checked: true,
|
||||
},
|
||||
{
|
||||
name: 'Example view (saved view for the example object)',
|
||||
value: 'view',
|
||||
checked: true,
|
||||
},
|
||||
{
|
||||
name: 'Example navigation menu item (sidebar link)',
|
||||
value: 'navigationMenuItem',
|
||||
checked: true,
|
||||
},
|
||||
{
|
||||
name: 'Example skill (AI agent skill definition)',
|
||||
value: 'skill',
|
||||
checked: true,
|
||||
},
|
||||
{
|
||||
name: 'Integration test (vitest test verifying app installation)',
|
||||
value: 'integrationTest',
|
||||
checked: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
|
||||
const includeField = selectedExamples.includes('field');
|
||||
const includeView = selectedExamples.includes('view');
|
||||
const includeExampleIntegrationTest =
|
||||
selectedExamples.includes('integrationTest');
|
||||
const includeObject =
|
||||
selectedExamples.includes('object') || includeField || includeView;
|
||||
|
||||
if ((includeField || includeView) && !selectedExamples.includes('object')) {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'Note: Example object auto-included because example field/view depends on it.',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return {
|
||||
includeExampleObject: true,
|
||||
includeExampleField: true,
|
||||
includeExampleLogicFunction: true,
|
||||
includeExampleFrontComponent: true,
|
||||
includeExampleView: true,
|
||||
includeExampleNavigationMenuItem: true,
|
||||
includeExampleSkill: true,
|
||||
includeExampleIntegrationTest: true,
|
||||
includeExampleObject: includeObject,
|
||||
includeExampleField: includeField,
|
||||
includeExampleLogicFunction: selectedExamples.includes('logicFunction'),
|
||||
includeExampleFrontComponent: selectedExamples.includes('frontComponent'),
|
||||
includeExampleView: includeView,
|
||||
includeExampleNavigationMenuItem:
|
||||
selectedExamples.includes('navigationMenuItem'),
|
||||
includeExampleSkill: selectedExamples.includes('skill'),
|
||||
includeExampleIntegrationTest,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export type ScaffoldingMode = 'exhaustive' | 'minimal';
|
||||
export type ScaffoldingMode = 'exhaustive' | 'minimal' | 'interactive';
|
||||
|
||||
export type ExampleOptions = {
|
||||
includeExampleObject: boolean;
|
||||
|
||||
@@ -673,24 +673,15 @@ describe('copyBaseApplicationProject', () => {
|
||||
|
||||
const content = await fs.readFile(viewPath, 'utf8');
|
||||
|
||||
expect(content).toContain("import { defineView } from 'twenty-sdk'");
|
||||
expect(content).toContain(
|
||||
"import { defineView, ViewKey } from 'twenty-sdk'",
|
||||
);
|
||||
expect(content).toContain(
|
||||
"import { EXAMPLE_OBJECT_UNIVERSAL_IDENTIFIER, NAME_FIELD_UNIVERSAL_IDENTIFIER } from 'src/objects/example-object'",
|
||||
"import { EXAMPLE_OBJECT_UNIVERSAL_IDENTIFIER } from 'src/objects/example-object'",
|
||||
);
|
||||
expect(content).toContain('export default defineView({');
|
||||
expect(content).toContain(
|
||||
'objectUniversalIdentifier: EXAMPLE_OBJECT_UNIVERSAL_IDENTIFIER',
|
||||
);
|
||||
expect(content).toContain("name: 'All example items'");
|
||||
expect(content).toContain('fields: [');
|
||||
expect(content).toContain(
|
||||
'fieldMetadataUniversalIdentifier: NAME_FIELD_UNIVERSAL_IDENTIFIER',
|
||||
);
|
||||
expect(content).toContain('isVisible: true');
|
||||
expect(content).toContain('key: ViewKey.INDEX');
|
||||
expect(content).toContain('size: 200');
|
||||
expect(content).toContain("name: 'example-view'");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -721,7 +712,6 @@ describe('copyBaseApplicationProject', () => {
|
||||
expect(content).toContain('export default defineNavigationMenuItem({');
|
||||
expect(content).toContain("name: 'example-navigation-menu-item'");
|
||||
expect(content).toContain("icon: 'IconList'");
|
||||
expect(content).toContain("color: 'blue'");
|
||||
expect(content).toContain('position: 0');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -431,29 +431,16 @@ const createExampleView = async ({
|
||||
fileName: string;
|
||||
}) => {
|
||||
const universalIdentifier = v4();
|
||||
const viewFieldUniversalIdentifier = v4();
|
||||
|
||||
const content = `import { defineView, ViewKey } from 'twenty-sdk';
|
||||
import { EXAMPLE_OBJECT_UNIVERSAL_IDENTIFIER, NAME_FIELD_UNIVERSAL_IDENTIFIER } from 'src/objects/example-object';
|
||||
|
||||
export const EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER = '${universalIdentifier}';
|
||||
const content = `import { defineView } from 'twenty-sdk';
|
||||
import { EXAMPLE_OBJECT_UNIVERSAL_IDENTIFIER } from 'src/objects/example-object';
|
||||
|
||||
export default defineView({
|
||||
universalIdentifier: EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER,
|
||||
name: 'All example items',
|
||||
universalIdentifier: '${universalIdentifier}',
|
||||
name: 'example-view',
|
||||
objectUniversalIdentifier: EXAMPLE_OBJECT_UNIVERSAL_IDENTIFIER,
|
||||
icon: 'IconList',
|
||||
key: ViewKey.INDEX,
|
||||
position: 0,
|
||||
fields: [
|
||||
{
|
||||
universalIdentifier: '${viewFieldUniversalIdentifier}',
|
||||
fieldMetadataUniversalIdentifier: NAME_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
position: 0,
|
||||
isVisible: true,
|
||||
size: 200,
|
||||
},
|
||||
],
|
||||
});
|
||||
`;
|
||||
|
||||
@@ -473,15 +460,18 @@ const createExampleNavigationMenuItem = async ({
|
||||
const universalIdentifier = v4();
|
||||
|
||||
const content = `import { defineNavigationMenuItem } from 'twenty-sdk';
|
||||
import { EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER } from 'src/views/example-view';
|
||||
|
||||
export default defineNavigationMenuItem({
|
||||
universalIdentifier: '${universalIdentifier}',
|
||||
name: 'example-navigation-menu-item',
|
||||
icon: 'IconList',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
viewUniversalIdentifier: EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER,
|
||||
// Link to a view:
|
||||
// viewUniversalIdentifier: '...',
|
||||
// Or link to an object:
|
||||
// targetObjectUniversalIdentifier: '...',
|
||||
// Or link to an external URL:
|
||||
// link: 'https://example.com',
|
||||
});
|
||||
`;
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
The scaffolder supports two modes for controlling which example files are included:
|
||||
The scaffolder supports three modes for controlling which example files are included:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
@@ -43,6 +43,9 @@ npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interactive: select which examples to include
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
From here you can:
|
||||
@@ -118,7 +121,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
```
|
||||
|
||||
With `--minimal`, only the core files are created (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts`, and `logic-functions/post-install.ts`).
|
||||
With `--minimal`, only the core files are created (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts`, and `logic-functions/post-install.ts`). With `--interactive`, you choose which example files to include.
|
||||
|
||||
At a high level:
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
يدعم المُنشئ وضعين للتحكم في ملفات الأمثلة التي سيتم تضمينها:
|
||||
يدعم المُنشئ ثلاثة أوضاع للتحكم في ملفات الأمثلة التي سيتم تضمينها:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# الافتراضي (شامل): جميع الأمثلة (كائن، حقل، دالة منطقية، مكوّن الواجهة الأمامية، عرض، عنصر قائمة التنقل، مهارة)
|
||||
@@ -44,6 +44,9 @@ npx create-twenty-app@latest my-app
|
||||
|
||||
# الأدنى: الملفات الأساسية فقط (application-config.ts و default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# التفاعلي: اختر الأمثلة التي تريد تضمينها
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
من هنا يمكنك:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # تعريف مهارة لوكيل الذكاء الاصطناعي — مثال},{
|
||||
```
|
||||
|
||||
مع `--minimal`، سيتم إنشاء الملفات الأساسية فقط (`application-config.ts`، `roles/default-role.ts`، `logic-functions/pre-install.ts`، و`logic-functions/post-install.ts`).
|
||||
مع `--minimal`، سيتم إنشاء الملفات الأساسية فقط (`application-config.ts`، `roles/default-role.ts`، `logic-functions/pre-install.ts`، و`logic-functions/post-install.ts`). مع `--interactive`، تختار ملفات الأمثلة التي تريد تضمينها.
|
||||
|
||||
بشكل عام:
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
Nástroj pro generování kostry podporuje dva režimy pro řízení toho, které ukázkové soubory jsou zahrnuty:
|
||||
Nástroj pro generování kostry podporuje tři režimy pro řízení toho, které ukázkové soubory jsou zahrnuty:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Výchozí (úplný): všechny příklady (objekt, pole, logická funkce, front-endová komponenta, zobrazení, položka navigační nabídky, dovednost)
|
||||
@@ -44,6 +44,9 @@ npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimální: pouze základní soubory (application-config.ts a default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interaktivní: vyberte, které příklady zahrnout
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
Odtud můžete:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Ukázková definice dovednosti agenta AI
|
||||
```
|
||||
|
||||
S volbou `--minimal` se vytvoří pouze základní soubory (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` a `logic-functions/post-install.ts`).
|
||||
S volbou `--minimal` se vytvoří pouze základní soubory (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` a `logic-functions/post-install.ts`). S volbou `--interactive` si vyberete, které ukázkové soubory chcete zahrnout.
|
||||
|
||||
V kostce:
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
Das Scaffolding-Tool unterstützt zwei Modi, um zu steuern, welche Beispieldateien enthalten sind:
|
||||
Das Scaffolding-Tool unterstützt drei Modi, um zu steuern, welche Beispieldateien enthalten sind:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Standard (umfassend): alle Beispiele (Objekt, Feld, Logikfunktion, Frontend-Komponente, View, Navigationsmenüeintrag, Skill)
|
||||
@@ -44,6 +44,9 @@ npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: nur Kerndateien (application-config.ts und default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interaktiv: wähle aus, welche Beispiele enthalten sein sollen
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
Von hier aus können Sie:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
```
|
||||
|
||||
Mit `--minimal` werden nur die Kerndateien erstellt (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` und `logic-functions/post-install.ts`).
|
||||
Mit `--minimal` werden nur die Kerndateien erstellt (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` und `logic-functions/post-install.ts`). Mit `--interactive` wählst du aus, welche Beispieldateien enthalten sein sollen.
|
||||
|
||||
Auf hoher Ebene:
|
||||
|
||||
|
||||
@@ -36,14 +36,17 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
Lo strumento di scaffolding supporta due modalità per controllare quali file di esempio vengono inclusi:
|
||||
Lo strumento di scaffolding supporta tre modalità per controllare quali file di esempio vengono inclusi:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Predefinita (esaustiva): tutti gli esempi (oggetto, campo, funzione logica, componente front-end, vista, voce del menu di navigazione, skill)
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimale: solo i file principali (application-config.ts e default-role.ts)
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interactive: select which examples to include
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
Da qui puoi:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
```
|
||||
|
||||
Con `--minimal`, vengono creati solo i file principali (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` e `logic-functions/post-install.ts`).
|
||||
Con `--minimal`, vengono creati solo i file principali (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` e `logic-functions/post-install.ts`). Con `--interactive`, scegli quali file di esempio includere.
|
||||
|
||||
A livello generale:
|
||||
|
||||
|
||||
@@ -36,14 +36,17 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
The scaffolder supports two modes for controlling which example files are included:
|
||||
O gerador de estrutura oferece suporte a três modos para controlar quais arquivos de exemplo são incluídos:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# Padrão (exhaustivo): todos os exemplos (objeto, campo, função de lógica, componente de front-end, visualização, item do menu de navegação, habilidade)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# Mínimo: apenas arquivos principais (application-config.ts e default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interativo: selecione quais exemplos incluir
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
A partir daqui você pode:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Exemplo de definição de habilidade de agente de IA
|
||||
```
|
||||
|
||||
With `--minimal`, only the core files are created (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts`, and `logic-functions/post-install.ts`).
|
||||
With `--minimal`, only the core files are created (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts`, and `logic-functions/post-install.ts`). Com `--interactive`, você escolhe quais arquivos de exemplo incluir.
|
||||
|
||||
Em alto nível:
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
Generatorul de schelet acceptă două moduri pentru a controla ce fișiere de exemplu sunt incluse:
|
||||
Generatorul de schelet acceptă trei moduri pentru a controla ce fișiere de exemplu sunt incluse:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Implicit (exhaustiv): toate exemplele (obiect, câmp, funcție logică, componentă de interfață, vizualizare, element de meniu de navigare, abilitate)
|
||||
@@ -44,6 +44,9 @@ npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: doar fișierele de bază (application-config.ts și default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interactiv: selectezi ce exemple să incluzi
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
De aici puteți:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
```
|
||||
|
||||
Cu `--minimal`, sunt create doar fișierele de bază (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` și `logic-functions/post-install.ts`).
|
||||
Cu `--minimal`, sunt create doar fișierele de bază (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` și `logic-functions/post-install.ts`). Cu `--interactive`, alegi ce fișiere de exemplu să incluzi.
|
||||
|
||||
Pe scurt:
|
||||
|
||||
|
||||
@@ -36,14 +36,17 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
The scaffolder supports two modes for controlling which example files are included:
|
||||
Генератор каркаса поддерживает три режима для управления тем, какие примерные файлы включаются:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# По умолчанию (полный набор): все примеры (объект, поле, логическая функция, фронтенд-компонент, представление, пункт меню навигации, навык)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# Минимальный: только основные файлы (application-config.ts и default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Интерактивный: выбрать, какие примеры включить
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
Отсюда вы можете:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
```
|
||||
|
||||
С `--minimal` создаются только основные файлы (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` и `logic-functions/post-install.ts`).
|
||||
С `--minimal` создаются только основные файлы (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` и `logic-functions/post-install.ts`). С `--interactive` вы выбираете, какие примерные файлы включить.
|
||||
|
||||
В общих чертах:
|
||||
|
||||
|
||||
@@ -36,14 +36,17 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
The scaffolder supports two modes for controlling which example files are included:
|
||||
İskelet oluşturucu, hangi örnek dosyaların dahil edileceğini kontrol etmek için üç modu destekler:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# Varsayılan (kapsamlı): tüm örnekler (nesne, alan, mantık fonksiyonu, ön bileşen, görünüm, gezinme menüsü öğesi, yetenek)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# Minimal: yalnızca çekirdek dosyalar (application-config.ts ve default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Etkileşimli: dahil edilecek örnekleri seçin
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
Buradan şunları yapabilirsiniz:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Örnek yapay zekâ ajanı yetenek tanımı
|
||||
```
|
||||
|
||||
`--minimal` ile yalnızca çekirdek dosyalar oluşturulur (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` ve `logic-functions/post-install.ts`).
|
||||
`--minimal` ile yalnızca çekirdek dosyalar oluşturulur (`application-config.ts`, `roles/default-role.ts`, `logic-functions/pre-install.ts` ve `logic-functions/post-install.ts`). `--interactive` ile hangi örnek dosyaların dahil edileceğini siz seçersiniz.
|
||||
|
||||
Genel hatlarıyla:
|
||||
|
||||
|
||||
@@ -36,14 +36,17 @@ cd my-twenty-app
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
The scaffolder supports two modes for controlling which example files are included:
|
||||
The scaffolder supports three modes for controlling which example files are included:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# 默认(完整):所有示例(对象、字段、逻辑函数、前端组件、视图、导航菜单项、技能)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# 最小化:仅核心文件(application-config.ts 和 default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# 交互式:选择要包含的示例
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
从这里您可以:
|
||||
@@ -119,7 +122,7 @@ my-twenty-app/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
```
|
||||
|
||||
使用 `--minimal` 时,只会创建核心文件(`application-config.ts`、`roles/default-role.ts`、`logic-functions/pre-install.ts` 和 `logic-functions/post-install.ts`)。
|
||||
使用 `--minimal` 时,只会创建核心文件(`application-config.ts`、`roles/default-role.ts`、`logic-functions/pre-install.ts` 和 `logic-functions/post-install.ts`)。 With `--interactive`, you choose which example files to include.
|
||||
|
||||
总体来说:
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ export class LoginPage {
|
||||
}
|
||||
|
||||
async typeEmail(email: string) {
|
||||
await this.emailField.fill(email, { timeout: 30000 });
|
||||
await this.emailField.fill(email, { timeout: 10000 });
|
||||
}
|
||||
|
||||
async typePassword(email: string) {
|
||||
|
||||
@@ -9,18 +9,18 @@ const test = base.extend<{ loginPage: LoginPage }>({
|
||||
});
|
||||
|
||||
const loginAndSelectWorkspace = async (loginPage: LoginPage, page: any) => {
|
||||
await page.waitForLoadState('domcontentloaded');
|
||||
await page.waitForLoadState('networkidle');
|
||||
await loginPage.clickLoginWithEmailIfVisible();
|
||||
await loginPage.typeEmail(process.env.DEFAULT_LOGIN!);
|
||||
await loginPage.clickContinueButton();
|
||||
await loginPage.typePassword(process.env.DEFAULT_PASSWORD!);
|
||||
await page.waitForLoadState('domcontentloaded');
|
||||
await page.waitForLoadState('networkidle');
|
||||
await loginPage.clickSignInButton();
|
||||
await page.waitForLoadState('domcontentloaded');
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
const workspaceButton = page.getByText('Apple', { exact: true });
|
||||
|
||||
await workspaceButton.waitFor({ state: 'visible', timeout: 30000 }).catch(
|
||||
await workspaceButton.waitFor({ state: 'visible', timeout: 15000 }).catch(
|
||||
() => {
|
||||
// Single workspace mode — no workspace selection
|
||||
},
|
||||
@@ -34,7 +34,7 @@ const loginAndSelectWorkspace = async (loginPage: LoginPage, page: any) => {
|
||||
() =>
|
||||
!window.location.href.includes('verify') &&
|
||||
!window.location.href.includes('welcome'),
|
||||
{ timeout: 30000 },
|
||||
{ timeout: 15000 },
|
||||
);
|
||||
};
|
||||
|
||||
@@ -82,13 +82,13 @@ test.describe('Return-to-path after login', () => {
|
||||
page,
|
||||
loginPage,
|
||||
}) => {
|
||||
const targetPath = '/settings/accounts';
|
||||
const targetPathWithParams = `${targetPath}?tab=emails&filter=unread`;
|
||||
const targetPath =
|
||||
'/authorize?clientId=test-client-id&redirectUrl=https%3A%2F%2Fexample.com%2Fcallback';
|
||||
|
||||
await test.step(
|
||||
'Navigate to path with query params while logged out',
|
||||
async () => {
|
||||
await page.goto(targetPathWithParams);
|
||||
await page.goto(targetPath);
|
||||
await page.waitForURL('**/welcome');
|
||||
await page.waitForLoadState('domcontentloaded');
|
||||
},
|
||||
@@ -101,15 +101,14 @@ test.describe('Return-to-path after login', () => {
|
||||
await test.step(
|
||||
'Verify redirected to original path with query params',
|
||||
async () => {
|
||||
await page.waitForURL(`**${targetPath}**`, {
|
||||
timeout: 30000,
|
||||
waitUntil: 'commit',
|
||||
});
|
||||
await page.waitForURL('**/authorize**', { timeout: 15000 });
|
||||
const url = new URL(page.url());
|
||||
|
||||
expect(url.pathname).toBe(targetPath);
|
||||
expect(url.searchParams.get('tab')).toBe('emails');
|
||||
expect(url.searchParams.get('filter')).toBe('unread');
|
||||
expect(url.pathname).toBe('/authorize');
|
||||
expect(url.searchParams.get('clientId')).toBe('test-client-id');
|
||||
expect(url.searchParams.get('redirectUrl')).toBe(
|
||||
'https://example.com/callback',
|
||||
);
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
"twenty/effect-components": "error",
|
||||
"twenty/no-hardcoded-colors": "error",
|
||||
"twenty/matching-state-variable": "error",
|
||||
"twenty/sort-css-properties-alphabetically": "error",
|
||||
"twenty/sort-css-properties-alphabetically": "off",
|
||||
"twenty/styled-components-prefixed-with-styled": "error",
|
||||
"twenty/no-state-useref": "error",
|
||||
"twenty/component-props-naming": "error",
|
||||
|
||||
@@ -89,11 +89,11 @@
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "{projectRoot}",
|
||||
"command": "FILES=$(git diff --name-only --relative --diff-filter=d main...HEAD -- src/ | grep -E '\\.(ts|tsx)$'); [ -z \"$FILES\" ] && echo 'No changed files.' || (npx oxlint --type-aware -c .oxlintrc.json $FILES && (prettier --check $FILES || (echo 'ERROR: Prettier formatting check failed! Fix with: npx nx lint:diff-with-main twenty-front --configuration=fix' && false)))"
|
||||
"command": "FILES=$(git diff --name-only --diff-filter=d main...HEAD -- src/ | grep -E '\\.(ts|tsx)$'); [ -z \"$FILES\" ] && echo 'No changed files.' || (npx oxlint --type-aware -c .oxlintrc.json $FILES && (prettier --check $FILES || (echo 'ERROR: Prettier formatting check failed! Fix with: npx nx lint:diff-with-main twenty-front --configuration=fix' && false)))"
|
||||
},
|
||||
"configurations": {
|
||||
"fix": {
|
||||
"command": "FILES=$(git diff --name-only --relative --diff-filter=d main...HEAD -- src/ | grep -E '\\.(ts|tsx)$'); [ -z \"$FILES\" ] && echo 'No changed files.' || (npx oxlint --type-aware --fix -c .oxlintrc.json $FILES && prettier --write $FILES)"
|
||||
"command": "FILES=$(git diff --name-only --diff-filter=d main...HEAD -- src/ | grep -E '\\.(ts|tsx)$'); [ -z \"$FILES\" ] && echo 'No changed files.' || (npx oxlint --type-aware --fix -c .oxlintrc.json $FILES && prettier --write $FILES)"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -35,12 +35,12 @@ const StyledSkeletonContainer = styled.div`
|
||||
`;
|
||||
|
||||
const StyledSkeletonTitleContainer = styled.div`
|
||||
align-items: flex-start;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
gap: 10px;
|
||||
height: 32px;
|
||||
justify-content: center;
|
||||
|
||||
max-width: 196px;
|
||||
min-width: 196px;
|
||||
|
||||
+1
-1
@@ -10,8 +10,8 @@ const StyledSkeletonContainer = styled.div`
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
max-width: 196px;
|
||||
min-width: 196px;
|
||||
max-width: 196px;
|
||||
`;
|
||||
|
||||
export const MainNavigationDrawerItemsSkeletonLoader = ({
|
||||
|
||||
@@ -44,11 +44,11 @@ const StyledRightPanelContainer = styled.div`
|
||||
`;
|
||||
|
||||
const StyledRightPanelFlexContainer = styled.div`
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
height: 32px;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
height: 32px;
|
||||
margin-bottom: 12px;
|
||||
`;
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ import { ThemeContext, themeCssVariables } from 'twenty-ui/theme-constants';
|
||||
const StyledSidePanelContainer = styled.div`
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: ${themeCssVariables.spacing[4]};
|
||||
width: 100%;
|
||||
padding: ${themeCssVariables.spacing[4]};
|
||||
`;
|
||||
|
||||
const StyledSkeletonLoader = () => {
|
||||
|
||||
@@ -16,9 +16,9 @@ const StyledContainer = styled.div`
|
||||
gap: 12px;
|
||||
height: 100dvh;
|
||||
min-width: ${NAVIGATION_DRAWER_CONSTRAINTS.default}px;
|
||||
overflow: hidden;
|
||||
padding: 12px 8px 12px 8px;
|
||||
width: 100%;
|
||||
padding: 12px 8px 12px 8px;
|
||||
overflow: hidden;
|
||||
|
||||
@media (max-width: ${MOBILE_VIEWPORT}px) {
|
||||
width: 100%;
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Verstek landkode"
|
||||
msgid "Default palette"
|
||||
msgstr "Verstekpalet"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nuwe E-posdomein"
|
||||
msgid "New Field"
|
||||
msgstr "Nuwe Veld"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "رمز البلد الافتراضي"
|
||||
msgid "Default palette"
|
||||
msgstr "لوحة الألوان الافتراضية"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "نطاق بريد إلكتروني جديد"
|
||||
msgid "New Field"
|
||||
msgstr "حقل جديد"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Codi de país predeterminat"
|
||||
msgid "Default palette"
|
||||
msgstr "Paleta predeterminada"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nou domini de correu"
|
||||
msgid "New Field"
|
||||
msgstr "Nou camp"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Výchozí číselný kód země"
|
||||
msgid "Default palette"
|
||||
msgstr "Výchozí paleta"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nová e-mailová doména"
|
||||
msgid "New Field"
|
||||
msgstr "Nové pole"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Standardlandekode"
|
||||
msgid "Default palette"
|
||||
msgstr "Standardfarvepalet"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nyt e-mail-domæne"
|
||||
msgid "New Field"
|
||||
msgstr "Nyt felt"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Standard-Ländercode"
|
||||
msgid "Default palette"
|
||||
msgstr "Standardpalette"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Neue E-Mail-Domäne"
|
||||
msgid "New Field"
|
||||
msgstr "Neues Feld"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Προεπιλεγμένος Κωδικός Χώρας"
|
||||
msgid "Default palette"
|
||||
msgstr "Προεπιλεγμένη παλέτα"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Νέα Περιοχή Email"
|
||||
msgid "New Field"
|
||||
msgstr "Νέο Πεδίο"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4152,12 +4152,6 @@ msgstr "Default Country Code"
|
||||
msgid "Default palette"
|
||||
msgstr "Default palette"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr "Default position/visibility for fields created in the future"
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8952,12 +8946,6 @@ msgstr "New Emailing Domain"
|
||||
msgid "New Field"
|
||||
msgstr "New Field"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr "New fields"
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Código de país predeterminado"
|
||||
msgid "Default palette"
|
||||
msgstr "Paleta predeterminada"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nuevo dominio de correo electrónico"
|
||||
msgid "New Field"
|
||||
msgstr "Nuevo Campo"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Oletusmaakoodi"
|
||||
msgid "Default palette"
|
||||
msgstr "Oletuspaletti"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Uusi sähköpostitoimialue"
|
||||
msgid "New Field"
|
||||
msgstr "Uusi kenttä"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Code du pays par défaut"
|
||||
msgid "Default palette"
|
||||
msgstr "Palette par défaut"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nouveau domaine d'envoi d'e-mail"
|
||||
msgid "New Field"
|
||||
msgstr "Nouveau champ"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -4157,12 +4157,6 @@ msgstr "קוד מדינה ברירת מחדל"
|
||||
msgid "Default palette"
|
||||
msgstr "פלטת ברירת המחדל"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "<span dir=\"rtl\">דומיין חדש לשליחת מיילים</span>"
|
||||
msgid "New Field"
|
||||
msgstr "שדה חדש"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Alapértelmezett országkód"
|
||||
msgid "Default palette"
|
||||
msgstr "Alapértelmezett paletta"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Új Emailküldési Tartomány"
|
||||
msgid "New Field"
|
||||
msgstr "Új mező"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Prefisso internazionale predefinito"
|
||||
msgid "Default palette"
|
||||
msgstr "Tavolozza predefinita"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nuovo dominio di email"
|
||||
msgid "New Field"
|
||||
msgstr "Nuovo Campo"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "デフォルトの国コード"
|
||||
msgid "Default palette"
|
||||
msgstr "デフォルトのパレット"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "新しいメール送信ドメイン"
|
||||
msgid "New Field"
|
||||
msgstr "新規フィールド"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "기본 국가 코드"
|
||||
msgid "Default palette"
|
||||
msgstr "기본 팔레트"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "새 이메일 도메인"
|
||||
msgid "New Field"
|
||||
msgstr "새 필드"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Standaard landcode"
|
||||
msgid "Default palette"
|
||||
msgstr "Standaardpalet"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nieuw e-maildomein"
|
||||
msgid "New Field"
|
||||
msgstr "Nieuw veld"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Standardlandkode"
|
||||
msgid "Default palette"
|
||||
msgstr "Standardpalett"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nytt e-postdomene"
|
||||
msgid "New Field"
|
||||
msgstr "Nytt felt"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Domyślny kod kraju"
|
||||
msgid "Default palette"
|
||||
msgstr "Domyślna paleta"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Nowa domena e-mailowa"
|
||||
msgid "New Field"
|
||||
msgstr "Nowe pole"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4152,12 +4152,6 @@ msgstr ""
|
||||
msgid "Default palette"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8952,12 +8946,6 @@ msgstr ""
|
||||
msgid "New Field"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Código do País Padrão"
|
||||
msgid "Default palette"
|
||||
msgstr "Paleta Padrão"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Novo Domínio de E-mail"
|
||||
msgid "New Field"
|
||||
msgstr "Novo campo"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Código de país padrão"
|
||||
msgid "Default palette"
|
||||
msgstr "Paleta padrão"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Novo Domínio de Email"
|
||||
msgid "New Field"
|
||||
msgstr "Novo Campo"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Codul de țară implicit"
|
||||
msgid "Default palette"
|
||||
msgstr "Paletă implicită"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Domeniu nou de email"
|
||||
msgid "New Field"
|
||||
msgstr "Câmp nou"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
Binary file not shown.
@@ -4157,12 +4157,6 @@ msgstr "Подразумевани код земље"
|
||||
msgid "Default palette"
|
||||
msgstr "Подразумевана палета"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Нови имејл домен"
|
||||
msgid "New Field"
|
||||
msgstr "Ново поље"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Standardlandskod"
|
||||
msgid "Default palette"
|
||||
msgstr "Standardpalett"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8959,12 +8953,6 @@ msgstr "Ny e-postdomän"
|
||||
msgid "New Field"
|
||||
msgstr "Nytt fält"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Varsayılan Ülke Kodu"
|
||||
msgid "Default palette"
|
||||
msgstr "Varsayılan palet"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Yeni E-posta Alan Adı"
|
||||
msgid "New Field"
|
||||
msgstr "Yeni Alan"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Код країни за замовчуванням"
|
||||
msgid "Default palette"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Новий домен для відправки електронної
|
||||
msgid "New Field"
|
||||
msgstr "Нове поле"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "Mã quốc gia mặc định"
|
||||
msgid "Default palette"
|
||||
msgstr "Bảng màu mặc định"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "Tên miền Email mới"
|
||||
msgid "New Field"
|
||||
msgstr "Trường mới"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "默认国家代码"
|
||||
msgid "Default palette"
|
||||
msgstr "默认调色板"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "新电子邮件发送域名"
|
||||
msgid "New Field"
|
||||
msgstr "新字段"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
@@ -4157,12 +4157,6 @@ msgstr "默認國際冠碼"
|
||||
msgid "Default palette"
|
||||
msgstr "預設調色盤"
|
||||
|
||||
#. js-lingui-id: U/uGBk
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "Default position/visibility for fields created in the future"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: v41VX6
|
||||
#: src/pages/settings/members/SettingsWorkspaceMembers.tsx
|
||||
#: src/modules/workspace/components/WorkspaceInviteTeam.tsx
|
||||
@@ -8957,12 +8951,6 @@ msgstr "新電子郵件域名"
|
||||
msgid "New Field"
|
||||
msgstr "新字段"
|
||||
|
||||
#. js-lingui-id: DNUCGO
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationUngroupedEditor.tsx
|
||||
#: src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupEditor.tsx
|
||||
msgid "New fields"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 96G6Re
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/hooks/useAddFolderToNavigationMenu.ts
|
||||
#: src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
|
||||
+1
-1
@@ -6,8 +6,8 @@ import { useContext } from 'react';
|
||||
import { ThemeContext } from 'twenty-ui/theme-constants';
|
||||
|
||||
const StyledActionContainer = styled(motion.div)`
|
||||
align-items: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
`;
|
||||
|
||||
|
||||
+6
-6
@@ -23,13 +23,13 @@ import { IconLayoutSidebarRightExpand } from 'twenty-ui/display';
|
||||
import { MenuItem } from 'twenty-ui/navigation';
|
||||
|
||||
const StyledDropdownMenuContainer = styled.div`
|
||||
align-items: center;
|
||||
display: flex;
|
||||
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
`;
|
||||
|
||||
export const RecordIndexActionMenuDropdown = () => {
|
||||
|
||||
+2
-2
@@ -42,15 +42,15 @@ type CalendarEventDetailsProps = {
|
||||
const INPUT_ID_PREFIX = 'calendar-event-details';
|
||||
|
||||
const StyledContainer = styled.div`
|
||||
align-items: flex-start;
|
||||
background: ${themeCssVariables.background.secondary};
|
||||
align-items: flex-start;
|
||||
border-bottom: 1px solid ${themeCssVariables.border.color.medium};
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: ${themeCssVariables.spacing[6]};
|
||||
padding: ${themeCssVariables.spacing[6]};
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
`;
|
||||
|
||||
const StyledEventChipWrapper = styled.span`
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user