From ccd40e7633ea91bb56cb590bcdc8f7bc0411a29d Mon Sep 17 00:00:00 2001 From: Baptiste Devessier Date: Tue, 3 Feb 2026 18:03:37 +0100 Subject: [PATCH] feat: make feature flag image optional (#17679) Prevent layout shift when no image is provided for a feature flag ## Before https://github.com/user-attachments/assets/b1a98da9-1208-46f7-9fc6-9c34a9012c02 ## After https://github.com/user-attachments/assets/ed12df0c-1651-4fc9-a0e7-60f5fb1533a4 --- packages/twenty-front/src/generated-metadata/graphql.ts | 2 +- packages/twenty-front/src/generated/graphql.ts | 2 +- .../engine/core-modules/client-config/client-config.entity.ts | 4 ++-- .../feature-flag/constants/public-feature-flag.const.ts | 3 +-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/twenty-front/src/generated-metadata/graphql.ts b/packages/twenty-front/src/generated-metadata/graphql.ts index 0b7080642fc..08c89134fa7 100644 --- a/packages/twenty-front/src/generated-metadata/graphql.ts +++ b/packages/twenty-front/src/generated-metadata/graphql.ts @@ -3564,7 +3564,7 @@ export type PublicFeatureFlag = { export type PublicFeatureFlagMetadata = { __typename?: 'PublicFeatureFlagMetadata'; description: Scalars['String']; - imagePath: Scalars['String']; + imagePath?: Maybe; label: Scalars['String']; }; diff --git a/packages/twenty-front/src/generated/graphql.ts b/packages/twenty-front/src/generated/graphql.ts index 74edf7979ab..020185d027d 100644 --- a/packages/twenty-front/src/generated/graphql.ts +++ b/packages/twenty-front/src/generated/graphql.ts @@ -3469,7 +3469,7 @@ export type PublicFeatureFlag = { export type PublicFeatureFlagMetadata = { __typename?: 'PublicFeatureFlagMetadata'; description: Scalars['String']; - imagePath: Scalars['String']; + imagePath?: Maybe; label: Scalars['String']; }; diff --git a/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts b/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts index 39ab0114dde..b94609ef2af 100644 --- a/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts @@ -108,8 +108,8 @@ export class PublicFeatureFlagMetadata { @Field(() => String) description: string; - @Field(() => String, { nullable: false, defaultValue: '' }) - imagePath: string; + @Field(() => String, { nullable: true }) + imagePath?: string; } @ObjectType() diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts index 8e5427f9ed2..e1e0eb8d0b5 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts @@ -3,7 +3,7 @@ import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/featu type FeatureFlagMetadata = { label: string; description: string; - imagePath: string; + imagePath?: string; }; export type PublicFeatureFlag = { @@ -18,7 +18,6 @@ export const PUBLIC_FEATURE_FLAGS: PublicFeatureFlag[] = [ label: 'Junction Relations', description: 'Enable many-to-many relations through junction tables configuration', - imagePath: 'https://twenty.com/images/lab/is-junction-relations.png', }, }, {