diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx
index 0053896ca7..62a1c8bae0 100644
--- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx
+++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx
@@ -1,11 +1,17 @@
import type { FC, ReactNode } from 'react';
-import { styled, Typography } from '@mui/material';
+import { Box, styled, Typography } from '@mui/material';
import type {
IChangeRequestAddDependency,
IChangeRequestDeleteDependency,
} from 'component/changeRequest/changeRequest.types';
import { Link } from 'react-router-dom';
-import { ChangeItemInfo, ChangeItemWrapper } from './Change.styles';
+import {
+ Added,
+ ChangeItemInfo,
+ ChangeItemWrapper,
+ Deleted,
+} from './Change.styles';
+import { ChangeItemWrapper as LegacyChangeItemWrapper } from './LegacyStrategyChange.tsx';
const StyledLink = styled(Link)(({ theme }) => ({
maxWidth: '100%',
@@ -20,14 +26,62 @@ export const DependencyChange: FC<{
change: IChangeRequestAddDependency | IChangeRequestDeleteDependency;
projectId: string;
onNavigate?: () => void;
+}> = ({ actions, change, projectId, onNavigate }) => {
+ if (change.action === 'addDependency') {
+ return (
+
+
+ Adding dependency
+
+ {change.payload.feature}
+
+ {!change.payload.enabled ? ' (disabled)' : null}
+ {change.payload.variants?.length
+ ? `(${change.payload.variants?.join(', ')})`
+ : null}
+ {actions}
+
+
+ );
+ }
+
+ if (change.action === 'deleteDependency') {
+ return (
+
+
+ Deleting dependencies
+ {actions}
+
+
+ );
+ }
+};
+
+const AddDependencyWrapper = styled(Box)(({ theme }) => ({
+ display: 'flex',
+ alignItems: 'center',
+ gap: theme.spacing(1),
+}));
+
+/**
+ * @deprecated use DependencyChange instead; remove with flag crDiffView
+ */
+export const LegacyDependencyChange: FC<{
+ actions?: ReactNode;
+ change: IChangeRequestAddDependency | IChangeRequestDeleteDependency;
+ projectId: string;
+ onNavigate?: () => void;
}> = ({ actions, change, projectId, onNavigate }) => {
return (
<>
{change.action === 'addDependency' && (
<>
-
-
-
+
+
+
+ Adding dependency
-
+
+ {actions}
+
>
)}
{change.action === 'deleteDependency' && (
-
+
({
color: theme.palette.error.main,
})}
- component='span'
- display='inline'
>
- Deleting dependencies
- {actions}
-
+
+ {actions}
)}
>
diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx
index a896a92360..0a78a7252d 100644
--- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx
+++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx
@@ -15,7 +15,10 @@ import {
ArchiveFeatureChange,
LegacyArchiveFeatureChange,
} from './ArchiveFeatureChange.tsx';
-import { DependencyChange } from './DependencyChange.tsx';
+import {
+ DependencyChange,
+ LegacyDependencyChange,
+} from './DependencyChange.tsx';
import { Link } from 'react-router-dom';
import { LegacyReleasePlanChange } from './LegacyReleasePlanChange.tsx';
import { ReleasePlanChange } from './ReleasePlanChange.tsx';
@@ -107,6 +110,10 @@ export const FeatureChange: FC<{
? ArchiveFeatureChange
: LegacyArchiveFeatureChange;
+ const DependencyChangeComponent = useDiffableChangeComponent
+ ? DependencyChange
+ : LegacyDependencyChange;
+
return (
{(change.action === 'addDependency' ||
change.action === 'deleteDependency') && (
-