You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wg-access-server/website/src/Platform.ts

31 lines
926 B
TypeScript

export enum Platform {
Unknown,
Mac,
Ios,
Windows,
Android,
Linux,
}
// adapted from
// https://stackoverflow.com/questions/38241480/detect-macos-ios-windows-android-and-linux-os-with-js
export function getPlatform() {
const userAgent = window.navigator.userAgent;
const platform = window.navigator.platform;
const macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'];
const windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];
const iosPlatforms = ['iPhone', 'iPad', 'iPod'];
if (macosPlatforms.indexOf(platform) !== -1) {
return Platform.Mac;
} else if (iosPlatforms.indexOf(platform) !== -1) {
return Platform.Ios;
} else if (windowsPlatforms.indexOf(platform) !== -1) {
return Platform.Windows;
} else if (/Android/.test(userAgent)) {
return Platform.Android;
} else if (/Linux/.test(platform)) {
return Platform.Linux;
}
return Platform.Unknown;
}