/** * ========================================================================= * PLATEFORME ECO-PANNEAU.FR - VERSION 1.0.0 * Socle Éditeur (3/4) - Onglet Affichage et Personnalisation * ========================================================================= */ window.pano_PanneauEditorAffichage = ({ panneau, setPanneau, uiMode, settings }) => { // 1. RÉCUPÉRATION DES COMPOSANTS ET ICÔNES GLOBAUX const Toggle = window.pano_Toggle || (() => null); const { EyeIcon, PaletteIcon, UploadCloudIcon, Trash2Icon } = window.pano_getIcons(); // 2. LOGIQUE D'AFFICHAGE (Mode simplifié vs pro) const isAdvanced = uiMode === 'professionnel'; const showTheme = isAdvanced || settings?.simp_opt_theme === '1'; const showHideInter = isAdvanced || settings?.simp_opt_hide_intervenants === '1'; const showHideLots = isAdvanced || settings?.simp_opt_hide_lots === '1'; const showHideLegal = isAdvanced || settings?.simp_opt_hide_legal === '1'; const showVisibility = showHideInter || showHideLots || showHideLegal; const displayOptions = panneau.displayOptions || { hideLots: false, hideIntervenants: false, hideLegal: false, customColor: '#059669', phone: '', hours: '', link: '' }; // 3. HANDLERS SPÉCIFIQUES const updateDisplayOption = (key, value) => { setPanneau({ ...panneau, displayOptions: { ...displayOptions, [key]: value } }); }; const handleFileUpload = async (e, type) => { const file = e.target.files[0]; if (!file) return; if (type === 'logo') { const reader = new FileReader(); reader.onload = async (event) => { const base64Url = event.target.result; setPanneau(prev => ({ ...prev, maitreOuvrageLogoUrl: base64Url })); try { const fileId = await window.pano_uploadFile(file, 'image', null, false, false, panneau.client_uid, panneau.id); setPanneau(prev => ({ ...prev, maitreOuvrageLogoId: fileId })); } catch (err) { if (window.pano_showToast) window.pano_showToast(err, "error"); setPanneau(prev => ({ ...prev, maitreOuvrageLogoUrl: '' })); } }; reader.readAsDataURL(file); } }; // 4. RENDU return (
Contrôlez les éléments qui s'affichent publiquement sur le scan QR du panneau.
Cliquez sur le carré de couleur ci-dessous pour ouvrir le sélecteur, ou saisissez un code Hexadécimal.