Hotkey labels

This commit is contained in:
Gregory Schier
2024-01-08 15:57:21 -08:00
parent 793bff9f27
commit d5855c45a6
5 changed files with 42 additions and 30 deletions

View File

@@ -0,0 +1,11 @@
import type { HotkeyAction } from '../../hooks/useHotkey';
import { useHotKeyLabel } from '../../hooks/useHotkey';
interface Props {
action: HotkeyAction | null;
}
export function HotKeyLabel({ action }: Props) {
const label = useHotKeyLabel(action);
return <span>{label}</span>;
}

View File

@@ -1,21 +1,20 @@
import React from 'react';
import type { HotkeyAction } from '../../hooks/useHotkey';
import { HotKey } from './HotKey';
import { HotKeyLabel } from './HotKeyLabel';
interface Props {
hotkeys: { action: HotkeyAction; label: string }[];
hotkeys: HotkeyAction[];
}
export const HotKeyList = ({ hotkeys }: Props) => {
return (
<div className="mx-auto h-full flex items-center text-gray-800 text-sm">
<div className="mx-auto h-full flex items-center text-gray-700 text-sm">
<div className="flex flex-col gap-1">
{hotkeys.map((hotkey) => (
<div key={hotkey.action} className="grid grid-cols-2">
<p>{hotkey.label}</p>
<div className="ml-auto">
<HotKey action={hotkey.action} />
</div>
<div key={hotkey} className="grid grid-cols-2">
<HotKeyLabel action={hotkey} />
<HotKey className="ml-auto" action={hotkey} />
</div>
))}
</div>