diff options
| author | Anwarul Islam <anwaarulislaam@gmail.com> | 2025-07-18 05:53:19 +0600 |
|---|---|---|
| committer | Anwarul Islam <anwaarulislaam@gmail.com> | 2025-07-18 05:53:19 +0600 |
| commit | c34b402297c0e06d0208571250357b2ea6acf2a9 (patch) | |
| tree | 7b828b267c02c61228c66b6d266a0d600301d16c /apps/web/src/lib/utils.ts | |
| parent | 480e83fa79155a83b9d6ae23fadea35e229f25a1 (diff) | |
| download | opencut-c34b402297c0e06d0208571250357b2ea6acf2a9.tar.gz | |
Add utils for platform detection
Diffstat (limited to 'apps/web/src/lib/utils.ts')
| -rw-r--r-- | apps/web/src/lib/utils.ts | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/apps/web/src/lib/utils.ts b/apps/web/src/lib/utils.ts index dd73059f..fd47cc13 100644 --- a/apps/web/src/lib/utils.ts +++ b/apps/web/src/lib/utils.ts @@ -13,7 +13,10 @@ export function cn(...inputs: ClassValue[]) { */ export function generateUUID(): string { // Use the native crypto.randomUUID if available - if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') { + if ( + typeof crypto !== "undefined" && + typeof crypto.randomUUID === "function" + ) { return crypto.randomUUID(); } @@ -26,13 +29,29 @@ export function generateUUID(): string { // Set variant 10xxxxxx bytes[8] = (bytes[8] & 0x3f) | 0x80; - const hex = [...bytes].map(b => b.toString(16).padStart(2, '0')); + const hex = [...bytes].map((b) => b.toString(16).padStart(2, "0")); return ( - hex.slice(0, 4).join('') + '-' + - hex.slice(4, 6).join('') + '-' + - hex.slice(6, 8).join('') + '-' + - hex.slice(8, 10).join('') + '-' + - hex.slice(10, 16).join('') + hex.slice(0, 4).join("") + + "-" + + hex.slice(4, 6).join("") + + "-" + + hex.slice(6, 8).join("") + + "-" + + hex.slice(8, 10).join("") + + "-" + + hex.slice(10, 16).join("") ); -}
\ No newline at end of file +} + +export function isAppleDevice() { + return /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform); +} + +export function getPlatformSpecialKey() { + return isAppleDevice() ? "⌘" : "Ctrl"; +} + +export function getPlatformAlternateKey() { + return isAppleDevice() ? "⌥" : "Alt"; +} |
