in projects/deliberation_at_scale/packages/frontend/hooks/useIsMobile.ts [10:35]
export function isMobile(opts: any = {}) {
let ua = opts.ua;
if (!ua && typeof navigator !== 'undefined') ua = navigator.userAgent;
if (ua && ua.headers && typeof ua.headers['user-agent'] === 'string') {
ua = ua.headers['user-agent'];
}
if (typeof ua !== 'string') return false;
let result =
(mobileRE.test(ua) && !notMobileRE.test(ua)) ||
(!!opts.tablet && tabletRE.test(ua));
if (
!result &&
opts.tablet &&
opts.featureDetect &&
navigator &&
navigator.maxTouchPoints > 1 &&
ua.indexOf('Macintosh') !== -1 &&
ua.indexOf('Safari') !== -1
) {
result = true;
}
return result;
}