Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 1x 1x 1x 1x 1x 1x 1x 3x 3x 1x 3x 1x 1x 1x 1x 3x 3x 1x 7x 2x 7x 2x 4x 2x 2x 1x 1x 7x 1x 1x 1x | export interface NavigatorUAData {
platform: string
brands: { brand: string; version: string }[]
}
export const unknown = "Unknown"
const platforms = {
windows: /win32/,
mac: /darwin/,
linux: /linux/,
}
export const detectOS = (platform: string) => {
let detectedOs = unknown
if (platform.match(platforms.windows)) {
detectedOs = "windows"
} else if (platform.match(platforms.mac)) {
detectedOs = "mac"
} else if (platform.match(platforms.linux)) {
detectedOs = "linux"
}
return detectedOs
}
export const detectMetaKeyChar = (platform: string) => {
if (platform.match(platforms.mac)) {
return "CMD"
} else if (platform.match(platforms.windows)) {
return "Win"
} else if (platform.match(platforms.linux)) {
return "Alt"
} else {
return "CMD"
}
}
const userAgent = navigator?.userAgent || ""
export const isChrome = userAgent.indexOf("Chrome") >= 0
export const isSafari = !isChrome && userAgent.indexOf("Safari") >= 0
|