22 lines
475 B
TypeScript
22 lines
475 B
TypeScript
function isPortraitAndNarrow(): boolean {
|
|
return window.innerWidth < window.innerHeight && window.innerWidth < 768;
|
|
}
|
|
|
|
export function isMobileDevice(): boolean {
|
|
const toMatch = [
|
|
/Android/i,
|
|
/webOS/i,
|
|
/iPhone/i,
|
|
/iPad/i,
|
|
/iPod/i,
|
|
/BlackBerry/i,
|
|
/Windows Phone/i
|
|
];
|
|
|
|
const isMobileUserAgent = toMatch.some((toMatchItem) => {
|
|
return navigator.userAgent.match(toMatchItem);
|
|
});
|
|
|
|
return isMobileUserAgent || isPortraitAndNarrow();
|
|
}
|