♻️ Refactor updateHotkeyTip function (#16282)

This commit is contained in:
Jeffrey Chen 2025-11-07 10:47:17 +08:00 committed by GitHub
parent 0f055f1f7c
commit 0c4d67698a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -334,23 +334,26 @@ export const updateHotkeyAfterTip = (hotkey: string) => {
return "";
};
const KEY_MAP = new Map([
["⌘", "Ctrl"],
["⌃", "Ctrl"],
["⇧", "Shift"],
["⌥", "Alt"],
["⇥", "Tab"],
["⌫", "Backspace"],
["⌦", "Delete"],
["↩", "Enter"],
]);
// MacWindows 快捷键展示
export const updateHotkeyTip = (hotkey: string) => {
if (!hotkey) {
return "";
}
if (isMac()) {
return hotkey;
}
const KEY_MAP = new Map(Object.entries({
"⌘": "Ctrl",
"⌃": "Ctrl",
"⇧": "Shift",
"⌥": "Alt",
"⇥": "Tab",
"⌫": "Backspace",
"⌦": "Delete",
"↩": "Enter",
}));
const keys = [];
if ((hotkey.indexOf("⌘") > -1 || hotkey.indexOf("⌃") > -1)) keys.push(KEY_MAP.get("⌘"));
@ -358,7 +361,7 @@ export const updateHotkeyTip = (hotkey: string) => {
if (hotkey.indexOf("⌥") > -1) keys.push(KEY_MAP.get("⌥"));
// 不能去最后一个,需匹配 F2
const lastKey = hotkey.replace(/⌘|⇧|⌥|⌃/g, "");
const lastKey = hotkey.replace(/[⌘⇧⌥⌃]/g, "");
if (lastKey) {
keys.push(KEY_MAP.get(lastKey) || lastKey);
}