Skip to content

Commit b0003b8

Browse files
committed
fix: DeploymentConfigDiffNavigation - replace custom tab with StyledRadioGroup
1 parent 6ad7488 commit b0003b8

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.scss

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@
3838
}
3939

4040
&__tab-list {
41-
list-style: none;
41+
label {
42+
flex-grow: 1
43+
}
44+
45+
.radio__item-label {
46+
justify-content: center;
47+
}
4248
}
4349
}

src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiffNavigation.tsx

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { useEffect, useState } from 'react'
1+
import { ChangeEvent, useEffect, useState } from 'react'
22
import { Link, NavLink } from 'react-router-dom'
33
import Tippy from '@tippyjs/react'
44

55
import { ReactComponent as ICClose } from '@Icons/ic-close.svg'
66
import { ReactComponent as ICInfoOutlined } from '@Icons/ic-info-outlined.svg'
77
import { ReactComponent as ICDiffFileUpdated } from '@Icons/ic-diff-file-updated.svg'
8+
import { StyledRadioGroup } from '@Common/index'
89

910
import { CollapsibleList } from '../CollapsibleList'
1011
import { DeploymentConfigDiffNavigationProps } from './DeploymentConfigDiff.types'
@@ -57,7 +58,12 @@ export const DeploymentConfigDiffNavigation = ({
5758
}
5859

5960
/** Handles tab click. */
60-
const onTabClick = (tab: string) => () => tabConfig?.onClick?.(tab)
61+
const onTabClick = (e: ChangeEvent<HTMLInputElement>) => {
62+
const { value } = e.target
63+
if (tabConfig?.activeTab !== value) {
64+
tabConfig?.onClick?.(value)
65+
}
66+
}
6167

6268
// RENDERERS
6369
const renderTopContent = () => (
@@ -78,21 +84,19 @@ export const DeploymentConfigDiffNavigation = ({
7884

7985
return (
8086
<div className="p-12">
81-
<ul className="deployment-config-diff__tab-list p-0 m-0 flexbox dc__align-items-center dc__border br-4 dc__text-center dc__overflow-hidden">
82-
{tabs.map((tab, index) => (
83-
<li className={`flex-1 ${index !== tabs.length - 1 ? 'dc__border-right' : ''}`}>
84-
<button
85-
key={tab}
86-
type="button"
87-
className={`dc__transparent w-100 dc__no-decor px-8 py-1 fs-12 lh-20 fw-6 ${activeTab === tab ? 'bcn-1 cn-9' : 'bcn-0 cn-7'} ${isLoading ? 'dc__opacity-0_5 cursor-not-allowed' : ''}`}
88-
onClick={onTabClick(tab)}
89-
disabled={isLoading}
90-
>
91-
{tab}
92-
</button>
93-
</li>
87+
<StyledRadioGroup
88+
name="deployment-config-diff-tab-list"
89+
initialTab={activeTab}
90+
onChange={onTabClick}
91+
disabled={isLoading}
92+
className="gui-yaml-switch deployment-config-diff__tab-list"
93+
>
94+
{tabs.map((tab) => (
95+
<StyledRadioGroup.Radio key={tab} value={tab} className="fs-12 lh-20 cn-7 fw-6">
96+
{tab}
97+
</StyledRadioGroup.Radio>
9498
))}
95-
</ul>
99+
</StyledRadioGroup>
96100
</div>
97101
)
98102
}

0 commit comments

Comments
 (0)