UNPKG

react-screenshot-blocker

Version:

[![npm version](https://img.shields.io/npm/v/react-devtools-blocker.svg?style=flat-square)](https://www.npmjs.com/package/react-devtools-blocker) [![license](https://img.shields.io/npm/l/react-devtools-blocker.svg?style=flat-square)](https://github.com/y

43 lines (41 loc) 1.06 kB
"use client"; // src/index.tsx import { useEffect, useState } from "react"; import { jsx } from "react/jsx-runtime"; var ReactScreenshotBlocker = () => { const [block, setBlock] = useState(false); useEffect(() => { const handleKeyDown = (e) => { if (e.key === "PrintScreen") { setBlock(true); setTimeout(() => setBlock(false), 2e3); } }; window.addEventListener("keydown", handleKeyDown); return () => window.removeEventListener("keydown", handleKeyDown); }, []); return block ? /* @__PURE__ */ jsx( "div", { style: { position: "fixed", inset: 0, background: "#000", opacity: 0.95, zIndex: 99999, color: "#fff", display: "flex", alignItems: "center", justifyContent: "center", fontSize: "2rem", fontWeight: "bold", pointerEvents: "none" }, children: "Screenshots are not allowed!" } ) : null; }; var index_default = ReactScreenshotBlocker; export { index_default as default };