feat: added keyboard shortcut indication

This commit is contained in:
2025-11-09 19:19:22 +05:30
parent 1dba1bdb8c
commit a2c29e87fd
14 changed files with 786 additions and 1804 deletions

39
utils.ts Normal file
View File

@@ -0,0 +1,39 @@
import { OS } from "@/types/os";
export function getOS(): OS {
const userAgent = window.navigator.userAgent;
const platform = (window.navigator as any)?.userAgentData?.platform || window.navigator.platform;
const macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K', 'macOS'];
const windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];
const iosPlatforms = ['iPhone', 'iPad', 'iPod'];
if (macosPlatforms.includes(platform)) {
return 'macos';
} else if (iosPlatforms.includes(platform)) {
return 'ios';
} else if (windowsPlatforms.includes(platform)) {
return 'windows';
} else if (/Android/.test(userAgent)) {
return 'android';
} else if (/Linux/.test(platform)) {
return 'linux';
} else {
return 'unknown';
}
}
export function formatKeySymbol(key: string): string {
switch (key.toLowerCase()) {
case 'option':
return '⌥';
case 'shift':
return '⇧';
case 'command':
return '⌘';
case 'macctrl':
return '⌃';
default:
return key.toUpperCase();
}
}