From e98b511bb21127bc71fa7d73fadb18ac7fdd8bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20G=C3=B3is?= Date: Wed, 24 Sep 2025 12:29:37 +0100 Subject: [PATCH] chore: add quick filter for custom strategies (#10686) https://linear.app/unleash/issue/2-3896/add-quick-filter-for-custom-strategies Adds a quick filter for custom strategies in the new "add strategy" modal. image --- .../FeatureStrategyMenuCards.tsx | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx index 3128d45256..ca7e54dc64 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx @@ -33,6 +33,7 @@ const FILTERS = [ { label: 'Standard strategies', value: 'standard' }, { label: 'Release templates', value: 'releaseTemplates' }, { label: 'Advanced strategies', value: 'advanced' }, + { label: 'Custom strategies', value: 'custom' }, ] as const; export type StrategyFilterValue = (typeof FILTERS)[number]['value']; @@ -121,11 +122,8 @@ export const FeatureStrategyMenuCards = ({ () => FILTERS.filter(({ value }) => { if (value === 'releaseTemplates') return isEnterprise(); - if (value === 'advanced') - return ( - advancedStrategies.length > 0 || - customStrategies.length > 0 - ); + if (value === 'advanced') return advancedStrategies.length > 0; + if (value === 'custom') return customStrategies.length > 0; return true; }), [isEnterprise, advancedStrategies.length, customStrategies.length], @@ -277,19 +275,15 @@ export const FeatureStrategyMenuCards = ({ setFilter={setFilter} /> )} - {shouldRender('advanced') && ( - <> - {advancedStrategies.length > 0 && ( - - {advancedStrategies.map(renderStrategy)} - - )} - {customStrategies.length > 0 && ( - - {customStrategies.map(renderStrategy)} - - )} - + {shouldRender('advanced') && advancedStrategies.length > 0 && ( + + {advancedStrategies.map(renderStrategy)} + + )} + {shouldRender('custom') && customStrategies.length > 0 && ( + + {customStrategies.map(renderStrategy)} + )}