Files
supabase/studio/components/to-be-cleaned/KeyMap.tsx
T
2021-12-02 15:34:31 +08:00

33 lines
726 B
TypeScript

import { FC } from 'react'
/**
* Render keyMap
*
* @param {String} keyMap ex: Command+Enter ; separate key using +
*/
const customKeyChars: any = {
command: '⌘',
control: '⌃',
option: '⌥',
enter: '↵',
}
const KeyMap: FC<any> = ({ keyMap }) => {
if (!keyMap) return null
const keys = keyMap.split('+')
const keymapRender = keys.map((key: any) => {
let keyChar = key
if (key.toLowerCase() in customKeyChars) keyChar = customKeyChars[key.toLowerCase()]
return (
<span key={key} className={`btn-keymap ${keyChar.length > 1 ? 'px-2' : ''}`}>
{keyChar}
</span>
)
})
return <p className="inline-flex space-x-1.5">{keymapRender}</p>
}
export default KeyMap