From a4885c45a3ccf0e9e604c89d6fd1af5b41dae9cc Mon Sep 17 00:00:00 2001 From: David Leek Date: Wed, 5 Nov 2025 13:11:58 +0100 Subject: [PATCH] chore(frontend): remove unused legacy featureoverview component (#10921) --- .../LegacyFeatureOverviewEnvironment.tsx | 147 ------------------ 1 file changed, 147 deletions(-) delete mode 100644 frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment.tsx diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment.tsx deleted file mode 100644 index b94ed52111..0000000000 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment/LegacyFeatureOverviewEnvironment.tsx +++ /dev/null @@ -1,147 +0,0 @@ -import { Accordion, AccordionDetails, styled } from '@mui/material'; -import type { - IFeatureEnvironment, - IFeatureEnvironmentMetrics, -} from 'interfaces/featureToggle'; -import { FeatureStrategyMenu } from 'component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu'; -import { FEATURE_ENVIRONMENT_ACCORDION } from 'utils/testIds'; -import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { UpgradeChangeRequests } from '../UpgradeChangeRequests/UpgradeChangeRequests.tsx'; -import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { - environmentAccordionSummaryClassName, - LegacyEnvironmentHeader, -} from '../EnvironmentHeader/LegacyEnvironmentHeader/LegacyEnvironmentHeader.tsx'; -import FeatureOverviewEnvironmentMetrics from '../EnvironmentHeader/FeatureOverviewEnvironmentMetrics/FeatureOverviewEnvironmentMetrics.tsx'; -import { FeatureOverviewEnvironmentToggle } from '../EnvironmentHeader/FeatureOverviewEnvironmentToggle/FeatureOverviewEnvironmentToggle.tsx'; -import { useState } from 'react'; -import type { IReleasePlan } from 'interfaces/releasePlans'; -import { EnvironmentAccordionBody } from '../EnvironmentAccordionBody/EnvironmentAccordionBody.tsx'; -import { Box } from '@mui/material'; -import { ReleaseTemplatesFeedback } from 'component/feature/FeatureStrategy/FeatureStrategyMenu/ReleaseTemplatesFeedback/ReleaseTemplatesFeedback'; - -const StyledFeatureOverviewEnvironment = styled('div')(({ theme }) => ({ - borderRadius: theme.shape.borderRadiusLarge, - backgroundColor: theme.palette.background.paper, - border: `1px solid ${theme.palette.divider}`, -})); - -const StyledAccordion = styled(Accordion)(({ theme }) => ({ - boxShadow: 'none', - background: 'none', - [`&:has(.${environmentAccordionSummaryClassName}:focus-visible)`]: { - background: theme.palette.table.headerHover, - }, -})); - -const NewStyledAccordionDetails = styled(AccordionDetails)(({ theme }) => ({ - padding: 0, - background: theme.palette.background.elevation1, - borderBottomLeftRadius: theme.shape.borderRadiusLarge, - borderBottomRightRadius: theme.shape.borderRadiusLarge, - boxShadow: theme.boxShadows.accordionFooter, -})); - -const StyledAccordionFooter = styled('footer')(({ theme }) => ({ - padding: theme.spacing(2, 3, 3), - display: 'flex', - flexDirection: 'column', - gap: theme.spacing(2), -})); - -const StyledEnvironmentAccordionContainer = styled('div')(({ theme }) => ({ - width: '100%', - position: 'relative', -})); - -type FeatureOverviewEnvironmentProps = { - environment: IFeatureEnvironment & { - releasePlans?: IReleasePlan[]; - }; - metrics?: Pick; - otherEnvironments?: string[]; - onToggleEnvOpen?: (isOpen: boolean) => void; -}; - -export const LegacyFeatureOverviewEnvironment = ({ - environment, - metrics = { yes: 0, no: 0 }, - otherEnvironments = [], - onToggleEnvOpen = () => {}, -}: FeatureOverviewEnvironmentProps) => { - const [isOpen, setIsOpen] = useState(false); - const projectId = useRequiredPathParam('projectId'); - const featureId = useRequiredPathParam('featureId'); - const { isOss } = useUiConfig(); - const hasActivations = Boolean( - environment?.enabled || - (environment?.strategies && environment?.strategies.length > 0) || - (environment?.releasePlans && environment?.releasePlans.length > 0), - ); - - return ( - - { - const state = isOpen ? !isOpen : hasActivations; - onToggleEnvOpen(state); - setIsOpen(state); - }} - > - - - {!hasActivations ? ( - - ) : ( - - )} - - - - - - - - - - - - - {isOss() && environment?.type === 'production' ? ( - - ) : null} - - - - - ); -};