diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx index 8bc95f320..f33bbf38d 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx @@ -19,6 +19,7 @@ import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectab import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useGetCurrentView } from '@/views/hooks/useGetCurrentView'; import { availableFilterDefinitionsComponentState } from '@/views/states/availableFilterDefinitionsComponentState'; +import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { useRecoilValue } from 'recoil'; import { isDefined } from 'twenty-ui'; @@ -139,10 +140,15 @@ export const ObjectFilterDropdownFilterSelect = ({ const { currentViewId, currentViewWithCombinedFiltersAndSorts } = useGetCurrentView(); + const isAdvancedFiltersEnabled = useIsFeatureEnabled( + 'IS_ADVANCED_FILTERS_ENABLED', + ); + const shouldShowAdvancedFilterButton = isDefined(currentViewId) && isDefined(currentViewWithCombinedFiltersAndSorts?.objectMetadataId) && - isAdvancedFilterButtonVisible; + isAdvancedFilterButtonVisible && + isAdvancedFiltersEnabled; return ( <> diff --git a/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts b/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts index 5573956fd..60c7579ac 100644 --- a/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts +++ b/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts @@ -15,4 +15,5 @@ export type FeatureFlagKey = | 'IS_ANALYTICS_V2_ENABLED' | 'IS_SSO_ENABLED' | 'IS_UNIQUE_INDEXES_ENABLED' - | 'IS_ARRAY_AND_JSON_FILTER_ENABLED'; + | 'IS_ARRAY_AND_JSON_FILTER_ENABLED' + | 'IS_ADVANCED_FILTERS_ENABLED'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts b/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts index b3d984156..0313ed5dc 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts @@ -75,6 +75,11 @@ export const seedFeatureFlags = async ( workspaceId: workspaceId, value: false, }, + { + key: FeatureFlagKey.IsAdvancedFiltersEnabled, + workspaceId: workspaceId, + value: false, + }, ]) .execute(); }; diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts index c78a1bf06..2b2130548 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts @@ -14,4 +14,5 @@ export enum FeatureFlagKey { IsGmailSendEmailScopeEnabled = 'IS_GMAIL_SEND_EMAIL_SCOPE_ENABLED', IsAnalyticsV2Enabled = 'IS_ANALYTICS_V2_ENABLED', IsUniqueIndexesEnabled = 'IS_UNIQUE_INDEXES_ENABLED', + IsAdvancedFiltersEnabled = 'IS_ADVANCED_FILTERS_ENABLED', }