import { Button } from '@ui/components/shadcn/ui/button'
import { useMemo } from 'react'
import {
CommandMenu,
CommandMenuInput,
CommandMenuList,
CommandMenuTrigger as CommandMenuTriggerPrimitive,
CommandProvider,
PageType,
useRegisterCommands,
useRegisterPage,
useSetPage,
} from 'ui-patterns/CommandMenu'
function Commands() {
const setPage = useSetPage()
const commands = useMemo(
() => [
{
id: 'subcommand',
name: 'Subcommand',
action: () => alert('Triggered from subpage'),
},
],
[]
)
useRegisterPage(
'Subpage',
{
type: PageType.Commands,
sections: [
{
id: 'subpage',
name: 'Subpage',
commands,
},
],
},
{ deps: [commands] }
)
useRegisterCommands('Commands', [
{
id: 'subpage',
name: 'Go to subpage',
action: () => setPage('Subpage'),
},
])
return null
}
function CommandMenuTrigger() {
return (
)
}
export default function CommandMenuDemo() {
return (
}>
)
}