/**
* =========================================================================
* PLATEFORME ECO-PANNEAU.FR - VERSION 1.0.0
* Composant Socle : Modale d'aperçu interactif (Mobile et A1)
* =========================================================================
*/
const { useState } = React;
window.pano_PreviewModal = ({ panneau, interactions = [], onClose, showToast, refreshData, isAdmin = false, onValidate, onContactClient, onSuspend, onDelete, onReactivate }) => {
const [previewMode, setPreviewMode] = useState('mobile');
const [showAdminMenu, setShowAdminMenu] = useState(false);
const { XIcon, CheckCircleIcon, MessageSquareIcon, PowerIcon, Trash2Icon } = window.pano_getIcons();
const Button = window.pano_Button || (() => null);
const ModalOverlay = window.pano_ModalOverlay || (({ children }) =>
{children}
);
return (
e.stopPropagation()}
>
setPreviewMode('mobile')}
className={`px-4 py-2 sm:py-2.5 rounded-xl text-xs sm:text-sm font-bold transition-all duration-200 cursor-pointer ${previewMode === 'mobile' ? 'bg-white text-slate-900 shadow-sm' : 'text-slate-400 hover:text-white hover:bg-white/10'}`}
>
Mode Smartphone
setPreviewMode('a1')}
className={`px-4 py-2 sm:py-2.5 rounded-xl text-xs sm:text-sm font-bold transition-all duration-200 cursor-pointer ${previewMode === 'a1' ? 'bg-white text-slate-900 shadow-sm' : 'text-slate-400 hover:text-white hover:bg-white/10'}`}
>
Panneau Physique (A1)
{
if (e.target === e.currentTarget) {
onClose();
}
}}
>
{previewMode === 'mobile' ? (
e.stopPropagation()}>
{ e.stopPropagation(); if (isAdmin) setShowAdminMenu(true); }}
>
{isAdmin && previewMode === 'mobile' && (
)}
{showAdminMenu && (
{ e.stopPropagation(); setShowAdminMenu(false); }}>
e.stopPropagation()}>
Actions modérateur
{!panneau.admin_seen && panneau.status === 'Actif' && (
)}
{panneau.status === 'Actif' && (
)}
{panneau.status === 'Suspendu' && (
)}
)}
{window.pano_RiverainView ? (
) : (
Le module d'aperçu n'a pas pu être chargé.
)}
) : (
e.stopPropagation()}>
{window.pano_PrintA1View ? (
) : (
Le module de rendu A1 n'a pas pu être chargé.
)}
)}
);
};
/* EOF ========== [_react/_socle_modals_preview.jsx] */