@mingoo/amotify
Version:
UI FW for React
37 lines (36 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deviceIdentifier = exports.browserType = exports.deviceType = exports.userAgent = void 0;
exports.userAgent = window.navigator.userAgent.toLowerCase();
exports.deviceType = exports.userAgent.indexOf("windows nt") !== -1 ? 'windows'
: exports.userAgent.indexOf("android") !== -1 ? 'android'
: exports.userAgent.indexOf("iphone") !== -1 ? 'iPhone'
: exports.userAgent.indexOf("ipad") > -1 || (exports.userAgent.indexOf("macintosh") > -1 && "ontouchend" in document) ? 'iPad'
: exports.userAgent.indexOf("mac os x") !== -1 ? 'macOSX'
: 'undefined';
exports.browserType = exports.userAgent.indexOf("msie") !== -1 || exports.userAgent.indexOf("trident") !== -1 ? 'ie'
: exports.userAgent.indexOf("edge") !== -1 ? 'edge'
: exports.userAgent.indexOf("chrome") !== -1 ? 'chrome'
: exports.userAgent.indexOf("safari") !== -1 ? 'safari'
: exports.userAgent.indexOf("firefox") !== -1 ? 'firefox'
: exports.userAgent.indexOf("opera") !== -1 || exports.userAgent.indexOf("opr") !== -1 ? 'opera'
: 'undefined';
const deviceIdentifier = () => {
let info = {
deviceIs: exports.deviceType,
browserIs: exports.browserType,
isTouchDevice: window.ontouchstart !== undefined && 0 < navigator.maxTouchPoints,
isPhone: ['Android', 'iPhone'].includes(exports.deviceType),
isIOS: ['iPhone', 'iPad'].includes(exports.deviceType),
isSystemDarkmode: () => {
return window.matchMedia('(prefers-color-scheme: dark)').matches == true;
},
isBreakpoint: () => {
// if (getInstance().config.)
return window.innerWidth <= 834;
},
isPhonepoint: () => window.innerWidth <= 690
};
return info;
};
exports.deviceIdentifier = deviceIdentifier;