Skip to content

Commit b937cce

Browse files
committed
Allows variants and react nodes to be used as the modifier key
1 parent 3e27fe9 commit b937cce

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

apps/webapp/app/components/primitives/ShortcutKey.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export function ShortcutKey({ shortcut, variant, className }: ShortcutKeyProps)
4545
<span className={cn(variants[variant], className)}>
4646
{modifiers.map((k) => (
4747
<span key={k}>
48-
<span>{modifierString(k, isMac)}</span>
48+
<span>{modifierString(k, isMac, variant)}</span>
4949
</span>
5050
))}
5151
{character && <span>{character}</span>}
@@ -78,14 +78,20 @@ function keyString(key: String, isMac: boolean, variant: "small" | "medium" | "m
7878
}
7979
}
8080

81-
function modifierString(modifier: Modifier, isMac: boolean): string | JSX.Element {
81+
function modifierString(
82+
modifier: Modifier,
83+
isMac: boolean,
84+
variant: "small" | "medium" | "medium/bright"
85+
): string | JSX.Element {
86+
const className = variant === "small" ? "w-2.5 h-4" : "w-3.5 h-5";
87+
8288
switch (modifier) {
8389
case "alt":
8490
return isMac ? "⌥" : <span className="capitalize">Alt</span>;
8591
case "ctrl":
8692
return isMac ? "⌃" : <span className="capitalize">Ctrl</span>;
8793
case "meta":
88-
return isMac ? "⌘" : <KeyboardWindowsIcon />;
94+
return isMac ? "⌘" : <KeyboardWindowsIcon className={className} />;
8995
case "shift":
9096
return "⇧";
9197
case "mod":

0 commit comments

Comments
 (0)