diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx index ffce3a6f89..0a2d8479a9 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx @@ -6,6 +6,7 @@ import { type IFilterItem, } from 'component/filter/Filters/Filters'; import { useProjectFlagCreators } from 'hooks/api/getters/useProjectFlagCreators/useProjectFlagCreators'; +import { useUiFlag } from 'hooks/useUiFlag'; interface IProjectOverviewFilters { state: FilterItemParamHolder; @@ -21,6 +22,7 @@ export const ProjectOverviewFilters: VFC = ({ const { tags } = useAllTags(); const { flagCreators } = useProjectFlagCreators(project); const [availableFilters, setAvailableFilters] = useState([]); + const simplifyProjectOverview = useUiFlag('simplifyProjectOverview'); useEffect(() => { const tagsOptions = (tags || []).map((tag) => ({ @@ -95,14 +97,18 @@ export const ProjectOverviewFilters: VFC = ({ singularOperators: ['IS', 'IS_NOT'], pluralOperators: ['IS_ANY_OF', 'IS_NONE_OF'], }, - { - label: 'Show only archived', - icon: 'inventory', - options: [{ label: 'True', value: 'true' }], - filterKey: 'archived', - singularOperators: ['IS'], - pluralOperators: ['IS_ANY_OF'], - }, + ...(simplifyProjectOverview + ? ([ + { + label: 'Show only archived', + icon: 'inventory', + options: [{ label: 'True', value: 'true' }], + filterKey: 'archived', + singularOperators: ['IS'], + pluralOperators: ['IS_ANY_OF'], + }, + ] as IFilterItem[]) + : []), ]; setAvailableFilters(availableFilters); diff --git a/frontend/src/interfaces/uiConfig.ts b/frontend/src/interfaces/uiConfig.ts index 71479206df..202cbceed3 100644 --- a/frontend/src/interfaces/uiConfig.ts +++ b/frontend/src/interfaces/uiConfig.ts @@ -91,6 +91,7 @@ export type UiFlags = { purchaseAdditionalEnvironments?: boolean; unleashAI?: boolean; releasePlans?: boolean; + simplifyProjectOverview?: boolean; }; export interface IVersionInfo { diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index 1df825499f..fc38028490 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -61,7 +61,8 @@ export type IFlagKey = | 'addonUsageMetrics' | 'releasePlans' | 'navigationSidebar' - | 'productivityReportEmail'; + | 'productivityReportEmail' + | 'simplifyProjectOverview'; export type IFlags = Partial<{ [key in IFlagKey]: boolean | Variant }>; @@ -306,6 +307,10 @@ const flags: IFlags = { process.env.UNLEASH_EXPERIMENTAL_PRODUCTIVITY_REPORT_EMAIL, false, ), + simplifyProjectOverview: parseEnvVarBoolean( + process.env.UNLEASH_EXPERIMENTAL_SIMPLIFY_PROJECT_OVERVIEW, + false, + ), }; export const defaultExperimentalOptions: IExperimentalOptions = { diff --git a/src/server-dev.ts b/src/server-dev.ts index 91c2bfc4c7..fef0e66415 100644 --- a/src/server-dev.ts +++ b/src/server-dev.ts @@ -57,6 +57,7 @@ process.nextTick(async () => { webhookDomainLogging: true, addonUsageMetrics: true, releasePlans: false, + simplifyProjectOverview: true, }, }, authentication: {