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

62 lines (60 loc) 2 kB
"use client"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.tsx var index_exports = {}; __export(index_exports, { default: () => index_default }); module.exports = __toCommonJS(index_exports); var import_react = require("react"); var import_jsx_runtime = require("react/jsx-runtime"); var ReactScreenshotBlocker = () => { const [block, setBlock] = (0, import_react.useState)(false); (0, import_react.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__ */ (0, import_jsx_runtime.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;