Files
metabuilder/frontends/codegen/src/hooks/ui/use-tabs.ts
T
2026-03-09 22:30:41 +00:00

22 lines
412 B
TypeScript

import { useState, useCallback } from 'react'
export function useTabs<T extends string>(defaultTab: T) {
const [activeTab, setActiveTab] = useState<T>(defaultTab)
const switchTab = useCallback((tab: T) => {
setActiveTab(tab)
}, [])
const isActive = useCallback(
(tab: T) => activeTab === tab,
[activeTab]
)
return {
activeTab,
setActiveTab,
switchTab,
isActive,
}
}