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 };
16}