'use client'; import { ReactNode, CSSProperties } from 'react'; interface ProtectedImageProps { src: string; alt: string; className?: string; style?: CSSProperties; width?: number; height?: number; showWatermark?: boolean; priority?: boolean; children?: ReactNode; } /** * Protected Image Component * Wraps images with protection against downloading and copying */ export default function ProtectedImage({ src, alt, className = '', style = {}, width, height, showWatermark = false, children }: ProtectedImageProps) { const wrapperClass = `protected-image-wrapper ${showWatermark ? 'watermarked-image' : ''} ${className}`; return (
{/* eslint-disable-next-line @next/next/no-img-element */} {alt} e.preventDefault()} onDragStart={(e) => e.preventDefault()} style={{ WebkitUserSelect: 'none', MozUserSelect: 'none', msUserSelect: 'none', userSelect: 'none', pointerEvents: 'none' }} /> {children}
); }