Skip to content
Source
Sign inSign up

useSelectWorkspaceTab.ts

16 lines651 Bytes

1import { Keyboard } from "react-native";
2​
3import { useAdaptiveWorkspaceLayout } from "../adaptive-workspace-context";
4import { useWorkspaceTabs } from "./WorkspaceTabsContext";
5import type { WorkspaceTab } from "./workspace-tabs-state";
6​
7/** Opens a workspace tab, Settings included, from a tab bar, rail, toolbar or command. */
8export function useSelectWorkspaceTab() {
9 const dispatch = useWorkspaceTabs()?.dispatch;
10 const { openWorkspaceTab } = useAdaptiveWorkspaceLayout();
11 return (tab: WorkspaceTab | "settings") => {
12 Keyboard.dismiss();
13 openWorkspaceTab(tab);
14 if (tab !== "settings") dispatch?.({ type: "select", tab });
15 };