From db1ec7ffa61b6dd53d859f369608826919842e91 Mon Sep 17 00:00:00 2001 From: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com> Date: Fri, 28 Mar 2025 12:48:24 +0100 Subject: [PATCH] fix: feedback button (#9644) Fix alignment of "add strategy" & "add template" buttons --------- Co-authored-by: Simon Hornby --- .../FeatureStrategyMenu.tsx | 69 +++++-------------- .../ReleaseTemplatesFeedback.tsx | 26 +++++++ .../FeatureOverviewEnvironment.tsx | 23 ++++--- 3 files changed, 57 insertions(+), 61 deletions(-) create mode 100644 frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/ReleaseTemplatesFeedback/ReleaseTemplatesFeedback.tsx diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx index 450fd1c70e..1ff5c49f6d 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx @@ -5,7 +5,7 @@ import PermissionButton, { type IPermissionButtonProps, } from 'component/common/PermissionButton/PermissionButton'; import { CREATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; -import { Popover, styled, Link } from '@mui/material'; +import { Popover, styled } from '@mui/material'; import { FeatureStrategyMenuCards } from './FeatureStrategyMenuCards/FeatureStrategyMenuCards'; import { formatCreateStrategyPath } from '../FeatureStrategyCreate/FeatureStrategyCreate'; import MoreVert from '@mui/icons-material/MoreVert'; @@ -20,9 +20,7 @@ import { useReleasePlans } from 'hooks/api/getters/useReleasePlans/useReleasePla import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled'; import { formatUnknownError } from 'utils/formatUnknownError'; import { useUiFlag } from 'hooks/useUiFlag'; -import type { Link as RouterLink } from 'react-router-dom'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { RELEASE_TEMPLATE_FEEDBACK } from 'constants/links'; interface IFeatureStrategyMenuProps { label: string; @@ -33,14 +31,11 @@ interface IFeatureStrategyMenuProps { matchWidth?: boolean; size?: IPermissionButtonProps['size']; disableReason?: string; - allowReleasePlanFeedback?: boolean; } const StyledStrategyMenu = styled('div')(({ theme }) => ({ - flexShrink: 0, display: 'flex', flexFlow: 'row', - flex: 1, justifyContent: 'flex-end', gap: theme.spacing(1), })); @@ -52,19 +47,6 @@ const StyledAdditionalMenuButton = styled(PermissionButton)(({ theme }) => ({ paddingBlock: 0, })); -const StyledLink = styled(Link)(({ theme }) => ({ - display: 'flex', - alignItems: 'center', - gap: theme.spacing(1), - color: theme.palette.links, - fontWeight: theme.typography.fontWeightMedium, - textDecoration: 'none', -})); - -const Spacer = styled('div')(({ theme }) => ({ - flex: 1, -})); - export const FeatureStrategyMenu = ({ label, projectId, @@ -74,7 +56,6 @@ export const FeatureStrategyMenu = ({ size, matchWidth, disableReason, - allowReleasePlanFeedback = false, }: IFeatureStrategyMenuProps) => { const [anchor, setAnchor] = useState(); const [onlyReleasePlans, setOnlyReleasePlans] = useState(false); @@ -180,38 +161,22 @@ export const FeatureStrategyMenu = ({ return ( event.stopPropagation()}> {displayReleasePlanButton ? ( - <> - {allowReleasePlanFeedback ? ( - <> - - Give feedback to release templates - - - - ) : null} - - Use template - - + + Use template + ) : null} )(({ theme }) => ({ + display: 'flex', + alignItems: 'center', + gap: theme.spacing(1), + color: theme.palette.links, + fontWeight: theme.typography.fontWeightMedium, + textDecoration: 'none', + marginRight: 'auto', +})); + +export const ReleaseTemplatesFeedback: FC = () => ( + + Give feedback to release templates + +); diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx index fff5713b6c..dec4ec9e91 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx @@ -14,6 +14,8 @@ import { FeatureOverviewEnvironmentToggle } from './EnvironmentHeader/FeatureOve import { useState } from 'react'; import type { IReleasePlan } from 'interfaces/releasePlans'; import { EnvironmentAccordionBody as NewEnvironmentAccordionBody } from './EnvironmentAccordionBody/EnvironmentAccordionBody'; +import { Box } from '@mui/material'; +import { ReleaseTemplatesFeedback } from 'component/feature/FeatureStrategy/FeatureStrategyMenu/ReleaseTemplatesFeedback/ReleaseTemplatesFeedback'; const StyledFeatureOverviewEnvironment = styled('div')(({ theme }) => ({ borderRadius: theme.shape.borderRadiusLarge, @@ -43,8 +45,7 @@ const NewStyledAccordionDetails = styled(AccordionDetails)(({ theme }) => ({ const StyledAccordionFooter = styled('footer')(({ theme }) => ({ padding: theme.spacing(2, 3, 3), display: 'flex', - flexDirection: 'row', - justifyContent: 'end', + flexDirection: 'column', gap: theme.spacing(2), })); @@ -126,13 +127,17 @@ export const FeatureOverviewEnvironment = ({ /> - + + + + + + {isOss() && environment?.type === 'production' ? ( ) : null}