mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
* first version of the pack * single entry point * add custom components to the package * move form components to toolkit * add more utils and hooks to the package * minor fixes * add CI workflow * update readme and package.json * fix ts * fix build of env-validator * fix docker build * fix icons size * test fixes * more test fixes
23 lines
575 B
TypeScript
23 lines
575 B
TypeScript
import { useRouter } from 'next/router';
|
|
|
|
import type { TabItem } from '../AdaptiveTabs/types';
|
|
|
|
import { castToString } from '../../utils/guards';
|
|
|
|
export default function useActiveTabFromQuery(tabs: Array<TabItem>) {
|
|
const router = useRouter();
|
|
const tabFromQuery = castToString(router.query.tab);
|
|
|
|
if (!tabFromQuery) {
|
|
return;
|
|
}
|
|
|
|
return tabs.find((tab) => {
|
|
if (Array.isArray(tab.id)) {
|
|
return tab.id.includes(tabFromQuery);
|
|
}
|
|
|
|
return tab.id === tabFromQuery || ('subTabs' in tab && tab.subTabs?.some((id) => id === tabFromQuery));
|
|
});
|
|
}
|