From 90ed7b607999d36d41e74d213f7338e36affea4c Mon Sep 17 00:00:00 2001 From: Jaanus Sellin Date: Thu, 31 Oct 2024 12:30:00 +0200 Subject: [PATCH] feat: archived row styling (#8608) 1. Added badge 2. Added archived row styling. Button not clickable and gray ![image](https://github.com/user-attachments/assets/a15a3b1d-4caa-448b-a9ed-b60de4115cb7) --- .../DependentFeaturesPreview.test.tsx | 2 + .../FeatureOverviewCell.test.tsx | 25 +++++++++++ .../FeatureOverviewCell.tsx | 43 ++++++++++++++++--- .../ProjectFeatureToggles.tsx | 1 + .../models/featureSearchResponseSchema.ts | 2 +- .../spec/feature-search-response-schema.ts | 1 + 6 files changed, 68 insertions(+), 6 deletions(-) diff --git a/frontend/src/component/common/Table/cells/FeatureOverviewCell/DependentFeaturesPreview.test.tsx b/frontend/src/component/common/Table/cells/FeatureOverviewCell/DependentFeaturesPreview.test.tsx index 282ad183aa..1a13e17373 100644 --- a/frontend/src/component/common/Table/cells/FeatureOverviewCell/DependentFeaturesPreview.test.tsx +++ b/frontend/src/component/common/Table/cells/FeatureOverviewCell/DependentFeaturesPreview.test.tsx @@ -17,6 +17,7 @@ test('Preview parent feature', async () => { feature='featureA' project='default' type='release' + archivedAt={null} searchQuery='' dependencyType='child' onTypeClick={() => {}} @@ -44,6 +45,7 @@ test('Preview child features', async () => { feature='featureA' project='default' type='release' + archivedAt={null} searchQuery='' dependencyType='parent' onTypeClick={() => {}} diff --git a/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.test.tsx b/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.test.tsx index 4746b3084a..a8f43e72dc 100644 --- a/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.test.tsx +++ b/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.test.tsx @@ -22,6 +22,7 @@ test('Display full overview information', () => { type: 'release', dependencyType: 'child', project: 'my_project', + archivedAt: null, }, }} />, @@ -54,6 +55,7 @@ test('Display minimal overview information', () => { type: '', dependencyType: null, project: 'my_project', + archivedAt: null, }, }} />, @@ -65,3 +67,26 @@ test('Display minimal overview information', () => { '/projects/my_project/features/my_feature', ); }); + +test('show archived information', () => { + const FeatureOverviewCell = makeFeatureOverviewCell(noOp, noOp); + + render( + , + ); + + expect(screen.getByText('archived_feature')).toBeInTheDocument(); + expect(screen.getByText('Archived')).toBeInTheDocument(); +}); diff --git a/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.tsx b/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.tsx index a8ab7f1716..74cf4fcd4a 100644 --- a/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.tsx +++ b/frontend/src/component/common/Table/cells/FeatureOverviewCell/FeatureOverviewCell.tsx @@ -22,6 +22,7 @@ interface IFeatureNameCellProps { | 'tags' | 'type' | 'dependencyType' + | 'archivedAt' >; }; } @@ -138,6 +139,22 @@ const FeatureName: FC<{ ); }; +const ArchivedFeatureName: FC<{ + feature: string; + searchQuery: string; +}> = ({ feature, searchQuery }) => { + return ( + ({ + fontWeight: theme.typography.fontWeightBold, + color: theme.palette.neutral.main, + })} + > + {feature} + + ); +}; + const RestTags: FC<{ tags: string[]; onClick: (tag: string) => void }> = ({ tags, onClick, @@ -236,6 +253,7 @@ const DependencyPreview: FC<{ feature: string; project: string }> = ({ export const PrimaryFeatureInfo: FC<{ project: string; feature: string; + archivedAt: string | null; searchQuery: string; type: string; dependencyType: string; @@ -244,6 +262,7 @@ export const PrimaryFeatureInfo: FC<{ }> = ({ project, feature, + archivedAt, type, searchQuery, dependencyType, @@ -275,11 +294,19 @@ export const PrimaryFeatureInfo: FC<{ return ( - + {archivedAt ? ( + + ) : ( + + )} + } /> + {archivedAt && ( + + Archived + + )} ); }; @@ -343,6 +375,7 @@ export const FeatureOverviewCell =