Files
basiclean-webapp/hooks/useSupportsHover.ts
2026-05-02 10:41:00 +02:00

26 lines
584 B
TypeScript

"use client";
import { useEffect, useState } from "react";
export function useSupportsHover() {
const [supportsHover, setSupportsHover] = useState(false);
useEffect(() => {
const mql = window.matchMedia("(hover: hover) and (pointer: fine)");
const update = () => setSupportsHover(mql.matches);
update();
if (mql.addEventListener) {
mql.addEventListener("change", update);
return () => mql.removeEventListener("change", update);
}
mql.addListener(update);
return () => mql.removeListener(update);
}, []);
return supportsHover;
}