diff --git a/src/components/FlagsTab/ExpandableRow.tsx b/src/components/FlagsTab/ExpandableRow.tsx index 4e27a78..b371bfd 100644 --- a/src/components/FlagsTab/ExpandableRow.tsx +++ b/src/components/FlagsTab/ExpandableRow.tsx @@ -22,7 +22,6 @@ import { FlagsmithLink } from '../shared'; import { buildFlagUrl } from '../../theme/flagsmithTheme'; import { EnvironmentTable } from './EnvironmentTable'; import { FeatureDetailsGrid } from './FeatureDetailsGrid'; -import { SegmentOverridesSection } from './SegmentOverridesSection'; const useStyles = makeStyles(theme => ({ flagName: { @@ -81,8 +80,6 @@ export const ExpandableRow = ({ }; const liveVersion = details?.liveVersion || feature.live_version; - const segmentOverrides = - details?.segmentOverrides ?? feature.num_segment_overrides ?? 0; const flagUrl = buildFlagUrl( projectId, primaryEnvId?.toString() || '', @@ -152,7 +149,6 @@ export const ExpandableRow = ({ @@ -161,14 +157,6 @@ export const ExpandableRow = ({ environments={environments} /> - - - - )} diff --git a/src/components/FlagsTab/FeatureDetailsGrid.tsx b/src/components/FlagsTab/FeatureDetailsGrid.tsx index 9cd71f4..4baf29e 100644 --- a/src/components/FlagsTab/FeatureDetailsGrid.tsx +++ b/src/components/FlagsTab/FeatureDetailsGrid.tsx @@ -17,13 +17,11 @@ type LiveVersionInfo = FlagsmithFeature['live_version']; interface FeatureDetailsGridProps { feature: FlagsmithFeature; liveVersion: LiveVersionInfo; - segmentOverrides: number; } export const FeatureDetailsGrid = ({ feature, liveVersion, - segmentOverrides, }: FeatureDetailsGridProps) => { const classes = useStyles(); @@ -47,23 +45,6 @@ export const FeatureDetailsGrid = ({ )} - - - - Targeting - - - Segment overrides: {segmentOverrides} - - {feature.num_identity_overrides !== null && - feature.num_identity_overrides !== undefined && ( - - Identity overrides: {feature.num_identity_overrides} - - )} - - - diff --git a/src/components/FlagsTab/SegmentOverridesSection.tsx b/src/components/FlagsTab/SegmentOverridesSection.tsx deleted file mode 100644 index 7897e9c..0000000 --- a/src/components/FlagsTab/SegmentOverridesSection.tsx +++ /dev/null @@ -1,163 +0,0 @@ -import { useState } from 'react'; -import { Box, Chip, Collapse, Typography } from '@material-ui/core'; -import { makeStyles } from '@material-ui/core/styles'; -import KeyboardArrowDown from '@material-ui/icons/KeyboardArrowDown'; -import KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight'; -import { - FlagsmithFeature, - FlagsmithFeatureDetails, -} from '../../api/FlagsmithClient'; -import { FlagStatusIndicator } from '../shared'; -import { flagsmithColors } from '../../theme/flagsmithTheme'; - -const useStyles = makeStyles(theme => ({ - showMoreButton: { - display: 'flex', - alignItems: 'center', - gap: theme.spacing(0.5), - cursor: 'pointer', - color: theme.palette.primary.main, - fontSize: '0.875rem', - marginTop: theme.spacing(1), - '&:hover': { - textDecoration: 'underline', - }, - }, - showMoreContent: { - marginTop: theme.spacing(1.5), - padding: theme.spacing(1.5), - backgroundColor: - theme.palette.type === 'dark' - ? 'rgba(255, 255, 255, 0.05)' - : 'rgba(0, 0, 0, 0.02)', - borderRadius: theme.shape.borderRadius, - border: `1px solid ${theme.palette.divider}`, - }, - featureStateItem: { - padding: theme.spacing(1), - marginBottom: theme.spacing(0.5), - backgroundColor: theme.palette.background.paper, - borderRadius: theme.shape.borderRadius, - border: `1px solid ${theme.palette.divider}`, - }, - segmentBadge: { - backgroundColor: flagsmithColors.warning, - color: 'white', - fontSize: '0.7rem', - height: 20, - marginLeft: theme.spacing(1), - }, -})); - -type LiveVersionInfo = FlagsmithFeature['live_version']; - -interface SegmentOverridesSectionProps { - feature: FlagsmithFeature; - details: FlagsmithFeatureDetails | null; - liveVersion: LiveVersionInfo; -} - -export const SegmentOverridesSection = ({ - feature, - details, - liveVersion, -}: SegmentOverridesSectionProps) => { - const classes = useStyles(); - const [showMoreOpen, setShowMoreOpen] = useState(false); - - const segmentOverrides = - details?.featureState?.filter(state => state.feature_segment !== null) ?? - []; - - return ( - <> - setShowMoreOpen(!showMoreOpen)} - > - {showMoreOpen ? ( - - ) : ( - - )} - - {showMoreOpen ? 'Hide additional details' : 'Show additional details'} - - - - - - - - Published: {liveVersion?.published ? 'Yes' : 'No'} - {liveVersion?.published_by && ` (by ${liveVersion.published_by})`} - - - Archived: {feature.is_archived ? 'Yes' : 'No'} - - - - {details?.featureState && details.featureState.length > 0 && ( - - - Segment Overrides - - {segmentOverrides.length === 0 ? ( - - No segment overrides configured. - - ) : ( - segmentOverrides.map((state, index) => ( - - - - - {state.enabled ? 'Enabled' : 'Disabled'} - - {state.feature_segment && ( - - )} - - {state.feature_state_value && ( - - {state.feature_state_value.string_value !== null && - state.feature_state_value.string_value !== - undefined && ( - - Value: "{state.feature_state_value.string_value}" - - )} - {state.feature_state_value.integer_value !== null && - state.feature_state_value.integer_value !== - undefined && ( - - Value: {state.feature_state_value.integer_value} - - )} - {state.feature_state_value.boolean_value !== null && - state.feature_state_value.boolean_value !== - undefined && ( - - Value:{' '} - {String(state.feature_state_value.boolean_value)} - - )} - - )} - - )) - )} - - )} - - - - ); -}; diff --git a/src/components/FlagsmithOverviewCard/FlagStatsRow.tsx b/src/components/FlagsmithOverviewCard/FlagStatsRow.tsx deleted file mode 100644 index d147d6b..0000000 --- a/src/components/FlagsmithOverviewCard/FlagStatsRow.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { Box, Typography } from '@material-ui/core'; -import { makeStyles } from '@material-ui/core/styles'; -import { FlagStatusIndicator } from '../shared'; - -const useStyles = makeStyles(theme => ({ - statsRow: { - display: 'flex', - alignItems: 'center', - gap: theme.spacing(2), - marginBottom: theme.spacing(1), - fontSize: '0.75rem', - }, - statItem: { - display: 'flex', - alignItems: 'center', - gap: theme.spacing(0.5), - }, -})); - -interface FlagStatsRowProps { - enabledCount: number; - disabledCount: number; -} - -export const FlagStatsRow = ({ enabledCount, disabledCount }: FlagStatsRowProps) => { - const classes = useStyles(); - - return ( - - - - - {enabledCount} Enabled - - - - {disabledCount} Disabled - - - - ); -}; diff --git a/src/components/FlagsmithOverviewCard/index.tsx b/src/components/FlagsmithOverviewCard/index.tsx index d9e6ca8..4ad5b51 100644 --- a/src/components/FlagsmithOverviewCard/index.tsx +++ b/src/components/FlagsmithOverviewCard/index.tsx @@ -17,8 +17,7 @@ import { useEntity } from '@backstage/plugin-catalog-react'; import { FlagsmithLink, MiniPagination, LoadingState } from '../shared'; import { buildProjectUrl } from '../../theme/flagsmithTheme'; import { useFlagsmithProject } from '../../hooks'; -import { calculateFeatureStats, paginate } from '../../utils'; -import { FlagStatsRow } from './FlagStatsRow'; +import { paginate } from '../../utils'; import { FeatureFlagRow } from './FeatureFlagRow'; const useStyles = makeStyles(theme => ({ @@ -62,7 +61,6 @@ export const FlagsmithOverviewCard = () => { page, PAGE_SIZE, ); - const { enabledCount, disabledCount } = calculateFeatureStats(features); const dashboardUrl = buildProjectUrl( projectId || '', environments[0]?.id?.toString(), @@ -78,8 +76,6 @@ export const FlagsmithOverviewCard = () => { } > - - diff --git a/src/utils/flagHelpers.ts b/src/utils/flagHelpers.ts index 6a30d0d..5455c73 100644 --- a/src/utils/flagHelpers.ts +++ b/src/utils/flagHelpers.ts @@ -27,20 +27,6 @@ export function buildEnvStatusTooltip( .join(' • '); } -/** - * Calculate enabled/disabled feature counts. - */ -export function calculateFeatureStats(features: FlagsmithFeature[]): { - enabledCount: number; - disabledCount: number; -} { - const enabledCount = features.filter(f => f.default_enabled).length; - return { - enabledCount, - disabledCount: features.length - enabledCount, - }; -} - /** * Paginate an array of items. */ diff --git a/src/utils/index.ts b/src/utils/index.ts index 54cc31d..545df36 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,6 +1,5 @@ export { getFeatureEnvStatus, buildEnvStatusTooltip, - calculateFeatureStats, paginate, } from './flagHelpers';