Skip to content

Commit 92dfeaf

Browse files
committed
refactor: simplify AppStatusModal components by removing unnecessary useMemo hooks and enhancing layout with improved styling
1 parent 43c4cc1 commit 92dfeaf

File tree

4 files changed

+36
-39
lines changed

4 files changed

+36
-39
lines changed

src/Shared/Components/AppStatusModal/AppStatusBody.tsx

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ComponentProps, ReactNode, useMemo } from 'react'
1+
import { ComponentProps, ReactNode } from 'react'
22

33
import { Tooltip } from '@Common/Tooltip'
44

@@ -28,7 +28,7 @@ const InfoCardItem = ({ heading, value, isLast = false }: { heading: string; val
2828

2929
export const AppStatusBody = ({ appDetails, type, handleShowConfigDriftModal }: AppStatusBodyProps) => {
3030
const appStatus = appDetails.resourceTree?.status?.toUpperCase() || appDetails.appStatus
31-
const message = useMemo(() => getAppStatusMessageFromAppDetails(appDetails), [appDetails])
31+
const message = getAppStatusMessageFromAppDetails(appDetails)
3232
const customMessage =
3333
type === 'stack-manager'
3434
? 'The installation will complete when status for all the below resources become HEALTHY.'
@@ -61,17 +61,19 @@ export const AppStatusBody = ({ appDetails, type, handleShowConfigDriftModal }:
6161
]
6262

6363
return (
64-
<div className="flexbox-col dc__gap-16 p-20 dc__overflow-auto">
64+
<div className="flexbox-col px-20 dc__gap-16 dc__overflow-auto">
6565
{/* Info card */}
66-
<div className="flexbox-col br-8 border__primary bg__primary shadow__card--secondary">
67-
{infoCardItems.map((item, index) => (
68-
<InfoCardItem
69-
key={item.id}
70-
heading={item.heading}
71-
value={item.value}
72-
isLast={index === infoCardItems.length - 1}
73-
/>
74-
))}
66+
<div className="flexbox-col pt-20">
67+
<div className="flexbox-col br-8 border__primary bg__primary shadow__card--secondary">
68+
{infoCardItems.map((item, index) => (
69+
<InfoCardItem
70+
key={item.id}
71+
heading={item.heading}
72+
value={item.value}
73+
isLast={index === infoCardItems.length - 1}
74+
/>
75+
))}
76+
</div>
7577
</div>
7678

7779
<ErrorBar appDetails={appDetails} useParentMargin={false} />

src/Shared/Components/AppStatusModal/AppStatusContent.tsx

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useMemo, useState } from 'react'
1+
import { useState } from 'react'
22

33
import { SortableTableHeaderCell } from '@Common/SortableTableHeaderCell'
44
import { Tooltip } from '@Common/Tooltip'
@@ -8,6 +8,7 @@ import { Node } from '@Shared/types'
88
import { Button, ButtonStyleType, ButtonVariantType } from '../Button'
99
import { NodeFilters, StatusFilterButtonComponent } from '../CICDHistory'
1010
import { Icon } from '../Icon'
11+
import { ShowMoreText } from '../ShowMoreText'
1112
import { AppStatusContentProps } from './types'
1213
import { getFlattenedNodesFromAppDetails, getResourceKey } from './utils'
1314

@@ -24,24 +25,16 @@ const AppStatusContent = ({
2425
const [currentFilter, setCurrentFilter] = useState<string>(ALL_RESOURCE_KIND_FILTER)
2526
const { appId, environmentId: envId } = appDetails
2627

27-
const flattenedNodes = useMemo(
28-
() =>
29-
getFlattenedNodesFromAppDetails({
30-
appDetails,
31-
filterHealthyNodes,
32-
}),
33-
[appDetails, filterHealthyNodes],
34-
)
28+
const flattenedNodes = getFlattenedNodesFromAppDetails({
29+
appDetails,
30+
filterHealthyNodes,
31+
})
3532

36-
const filteredFlattenedNodes = useMemo(
37-
() =>
38-
flattenedNodes.filter(
39-
(nodeDetails) =>
40-
currentFilter === ALL_RESOURCE_KIND_FILTER ||
41-
(currentFilter === NodeFilters.drifted && nodeDetails.hasDrift) ||
42-
nodeDetails.health.status?.toLowerCase() === currentFilter,
43-
),
44-
[flattenedNodes, currentFilter],
33+
const filteredFlattenedNodes = flattenedNodes.filter(
34+
(nodeDetails) =>
35+
currentFilter === ALL_RESOURCE_KIND_FILTER ||
36+
(currentFilter === NodeFilters.drifted && nodeDetails.hasDrift) ||
37+
nodeDetails.health.status?.toLowerCase() === currentFilter,
4538
)
4639

4740
const handleFilterClick = (selectedFilter: string) => {
@@ -90,11 +83,13 @@ const AppStatusContent = ({
9083

9184
<span className="dc__word-break">{nodeDetails.name}</span>
9285

93-
<div
94-
className={`app-summary__status-name f-${getNodeStatus(nodeDetails)?.toLowerCase() || ''} dc__first-letter-capitalize--imp fs-13 fw-4 lh-20 dc__word-break`}
95-
>
96-
{getNodeStatus(nodeDetails)}
97-
</div>
86+
<Tooltip content={getNodeStatus(nodeDetails)}>
87+
<span
88+
className={`app-summary__status-name f-${getNodeStatus(nodeDetails)?.toLowerCase() || ''} dc__first-letter-capitalize--imp fs-13 fw-4 lh-20 dc__ellipsis-right`}
89+
>
90+
{getNodeStatus(nodeDetails)}
91+
</span>
92+
</Tooltip>
9893

9994
<div className="flexbox-col dc__gap-4">
10095
{handleShowConfigDriftModal && nodeDetails.hasDrift && (
@@ -112,7 +107,7 @@ const AppStatusContent = ({
112107
)}
113108
</div>
114109
)}
115-
<div className="dc__word-break">{getNodeMessage(nodeDetails)}</div>
110+
<ShowMoreText key={getNodeMessage(nodeDetails)} text={getNodeMessage(nodeDetails)} />
116111
</div>
117112
</div>
118113
))}

src/Shared/Components/CICDHistory/StatusFilterButtonComponent.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ export const StatusFilterButtonComponent = ({
3434
const [overflowFilterIndex, setOverflowFilterIndex] = useState(0)
3535

3636
// STATUS FILTERS
37-
const { allResourceKindFilter, statusFilters } = useMemo(() => getStatusFilters(getNodesCount(nodes)), [nodes])
37+
const { allResourceKindFilter, statusFilters } = getStatusFilters(getNodesCount(nodes))
3838

3939
useEffect(() => {
4040
const filterIndex = statusFilters.findIndex(({ status }) => status === selectedTab)
4141
setOverflowFilterIndex(Math.max(filterIndex, 0))
42-
}, [statusFilters])
42+
}, [JSON.stringify(statusFilters)])
4343

4444
const showOverflowFilters = maxInlineFiltersCount > 0 && statusFilters.length > maxInlineFiltersCount
4545

src/Shared/Components/Error/ErrorBar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const ErrorBar = ({ appDetails, useParentMargin = true }: ErrorBarType) => {
3838
return (
3939
isImagePullBackOff && (
4040
<div className={`er-2 bw-1 br-4 ${useParentMargin ? 'm-20' : ''} fs-13`}>
41-
<div className="bcr-1 pl-12 pr-12 pt-8 pb-8 dc__border-bottom-r2 flex left">
41+
<div className="bcr-1 pl-12 pr-12 pt-8 pb-8 dc__border-bottom-r2 flex left dc__top-radius-4">
4242
<ErrorInfo className="icon-dim-24 mr-8" /> <span className="mr-8">IMAGEPULLBACKOFF:</span>
4343
{renderErrorHeaderMessage(appDetails, 'error-bar')}
4444
</div>

0 commit comments

Comments
 (0)