react-hooks-bank
Version:
A collection of **powerful, reusable custom React hooks** for complex, non-trivial interactions that go beyond React’s native features.
20 lines (19 loc) • 718 B
JavaScript
import { useEffect, useState } from "react";
export function useDeviceInfo() {
var _a = useState({
isMobile: false,
isTablet: false,
isDesktop: false,
userAgent: "",
platform: "",
}), deviceInfo = _a[0], setDeviceInfo = _a[1];
useEffect(function () {
var userAgent = navigator.userAgent;
var platform = navigator.platform;
var isMobile = /Mobi|Android/i.test(userAgent);
var isTablet = /Tablet|iPad/i.test(userAgent);
var isDesktop = !isMobile && !isTablet;
setDeviceInfo({ isMobile: isMobile, isTablet: isTablet, isDesktop: isDesktop, userAgent: userAgent, platform: platform });
}, []);
return deviceInfo;
}