CommandMenu.tsx68 lines · main
1import { IS_PLATFORM } from 'common'
2import {
3 CommandHeader,
4 CommandMenu,
5 CommandMenuInput,
6 CommandMenuList,
7} from 'ui-patterns/CommandMenu'
8import { useChangelogCommand } from 'ui-patterns/CommandMenu/prepackaged/Changelog'
9import { useDocsAiCommands } from 'ui-patterns/CommandMenu/prepackaged/DocsAi'
10import { useDocsSearchCommands } from 'ui-patterns/CommandMenu/prepackaged/DocsSearch'
11import { useThemeSwitcherCommands } from 'ui-patterns/CommandMenu/prepackaged/ThemeSwitcher'
12
13import { useApiKeysCommands } from './ApiKeys'
14import { useApiUrlCommand } from './ApiUrl'
15import { useContextSearchCommands } from './ContextSearchCommands'
16import { useCreateCommands } from './CreateCommands'
17import { orderCommandSectionsByPriority } from './ordering'
18import { useConfigureOrganizationCommand, useProjectSwitchCommand } from './OrgProjectSwitcher'
19import { useSupportCommands } from './Support'
20import { useBranchCommands } from '@/components/interfaces/BranchManagement/Branch.Commands'
21import { useConnectCommands } from '@/components/interfaces/ConnectButton/Connect.Commands'
22import {
23 useQueryTableCommands,
24 useSnippetCommands,
25} from '@/components/layouts/SQLEditorLayout/SqlEditor.Commands'
26import { useProjectLevelTableEditorCommands } from '@/components/layouts/TableEditorLayout/TableEditor.Commands'
27import { useLayoutNavCommands } from '@/components/layouts/useLayoutNavCommands'
28
29export function CommandMenuInnerContent() {
30 return (
31 <>
32 <CommandHeader>
33 <CommandMenuInput />
34 </CommandHeader>
35 <CommandMenuList />
36 </>
37 )
38}
39
40export default function StudioCommandMenu() {
41 useCreateCommands()
42 useApiKeysCommands()
43 useApiUrlCommand()
44 useConnectCommands()
45 useProjectLevelTableEditorCommands()
46 useProjectSwitchCommand()
47 useConfigureOrganizationCommand()
48 useQueryTableCommands()
49 useBranchCommands()
50 useSnippetCommands()
51 useLayoutNavCommands()
52 useDocsSearchCommands({
53 options: { orderSection: orderCommandSectionsByPriority, sectionMeta: { priority: 3 } },
54 })
55 useDocsAiCommands({
56 options: { orderSection: orderCommandSectionsByPriority, sectionMeta: { priority: 3 } },
57 })
58 useSupportCommands()
59 useChangelogCommand({ enabled: IS_PLATFORM })
60 useThemeSwitcherCommands()
61 useContextSearchCommands()
62
63 return (
64 <CommandMenu>
65 <CommandMenuInnerContent />
66 </CommandMenu>
67 )
68}