Skip to content

Commit de3e06a

Browse files
committed
fix: update tab layout to improve visual hierarchy
1 parent 8322078 commit de3e06a

File tree

1 file changed

+36
-15
lines changed

1 file changed

+36
-15
lines changed

components/Tabs.tsx

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,46 @@ export function Tabs({ children }: { children: ReactNode }) {
55
const [activeTab, setActiveTab] = useState(0);
66

77
return (
8-
<div className="mb-8">
9-
<div className="flex border-b mb-4">
10-
{tabList.map((child: any, idx) => (
11-
<button
12-
key={idx}
13-
className={`px-4 py-2 text-sm ${
14-
idx === activeTab ? 'border-b-2 border-blue-500 font-semibold' : 'text-gray-500'
15-
}`}
16-
onClick={() => setActiveTab(idx)}
17-
>
18-
{child.props.label}
19-
</button>
20-
))}
8+
<div className="mb-8 w-full py-4">
9+
{/* 탭 버튼 영역 */}
10+
<div className="flex">
11+
{tabList.map((child: any, idx) => {
12+
const isActive = idx === activeTab;
13+
14+
const borderClass = isActive
15+
? ''
16+
: '';
17+
18+
return (
19+
<div
20+
key={idx}
21+
onClick={() => setActiveTab(idx)}
22+
tabIndex={0}
23+
className={`px-4 py-2 text-mi cursor-pointer transition-all rounded-t border
24+
${borderClass}
25+
${
26+
isActive
27+
? 'bg-blue-10 border-b-2 border-b-blue-500 text-blue-600 font-semibold'
28+
: 'border-b border-gray-200 text-gray-500 hover:bg-gray-100 hover:text-black'
29+
}
30+
`}
31+
>
32+
{child.props.label ?? `Tab ${idx + 1}`}
33+
</div>
34+
);
35+
})}
36+
</div>
37+
38+
{/* 콘텐츠 영역 */}
39+
<div
40+
className="space-x-2 px-6 border-t shadow-sm border border-gray-200 bg-white rounded-t">
41+
{tabList[activeTab]}
2142
</div>
22-
<div className="mt-4">{tabList[activeTab]}</div>
2343
</div>
2444
);
2545
}
2646

27-
export function Tab({ children }: { children: ReactNode }) {
47+
export function Tab({children}: { children: ReactNode }) {
2848
return <div>{children}</div>;
2949
}
50+

0 commit comments

Comments
 (0)