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