react-screenshot-blocker
Version:
[](https://www.npmjs.com/package/react-devtools-blocker) [](https://github.com/y
43 lines (41 loc) • 1.06 kB
JavaScript
"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
};