started implementation of commands

This commit is contained in:
Chris Kruining 2024-10-01 17:08:26 +02:00
parent 4b3d91d6cd
commit 99509c9ba1
4 changed files with 197 additions and 65 deletions

View file

@ -1,20 +1,37 @@
import { Menu } from "~/features/menu";
import { createCommand, Menu, Modifier } from "~/features/menu";
export default function Index() {
const commands = {
open: createCommand(() => {
console.log('Open a file');
}, { key: 'o', modifier: Modifier.Control}),
save: createCommand(() => {
console.log('save');
}, { key: 's', modifier: Modifier.Control }),
saveAll: createCommand(() => {
console.log('save all');
}, { key: 's', modifier: Modifier.Control|Modifier.Shift }),
edit: createCommand(() => {}),
selection: createCommand(() => {}),
view: createCommand(() => {}),
} as const;
return (
<>
<Menu.Root>
<Menu.Item label="file">
<Menu.Item label="open" />
<Menu.Item label="open" command={commands.open} />
<Menu.Item label="save" />
<Menu.Item label="save" command={commands.save} />
<Menu.Item label="save all" command={commands.saveAll} />
</Menu.Item>
<Menu.Item label="edit" />
<Menu.Item label="edit" command={commands.edit} />
<Menu.Item label="selection" />
<Menu.Item label="selection" command={commands.selection} />
<Menu.Item label="view" />
<Menu.Item label="view" command={commands.view} />
</Menu.Root>
</>
);