import type { JSX } from 'react' import { useFieldActions } from '../../stores/form/useFieldActions.js' import { NavigationTab, NavigationTabs } from '../Tabs/NavigationTabs.js' interface HeaderTab { key: K label: string } interface HeaderTabsProps { tabs: HeaderTab[] value: K onChange: (key: K) => void } /** * Presentational header tabs bar shared by split mode and configured * navigation tabs. * Clears the form fields on switch; the caller supplies the labelled tabs, the * active key, and what selecting a key means for its store. */ export const HeaderTabs = ({ tabs, value, onChange, }: HeaderTabsProps): JSX.Element => { const { setFieldValue } = useFieldActions() const handleChange = (_: React.SyntheticEvent, key: K) => { setFieldValue('fromAmount', '') setFieldValue('fromToken', '') setFieldValue('toToken', '') onChange(key) } return ( {tabs.map((tab) => ( ))} ) }