Actualizar configuracion.html

This commit is contained in:
2026-05-17 19:47:54 +00:00
parent c393adcba3
commit 43b2d13b37

View File

@@ -772,6 +772,23 @@
</div> </div>
</div> </div>
</div> </div>
<div>
<label class="block text-xs font-black text-slate-600 uppercase tracking-widest mb-2">Imagen de Publicidad</label>
<div class="flex items-center gap-4">
<div id="adPreview" class="w-20 h-20 bg-slate-50 border-2 border-dashed border-slate-300 rounded-xl flex items-center justify-center overflow-hidden shrink-0">
<i data-lucide="image" class="text-slate-300 w-8 h-8"></i>
</div>
<div class="flex-1">
<input type="file" id="confAdInput" accept="image/png, image/jpeg, image/webp" class="hidden" onchange="encodeAd(this)">
<button onclick="document.getElementById('confAdInput').click()" class="bg-white border border-slate-200 text-slate-700 hover:bg-slate-50 font-bold py-2 px-4 rounded-lg text-sm transition-all shadow-sm">
Subir Publicidad
</button>
<p class="text-[10px] text-slate-400 mt-1">Banner o Promoción que verá el cliente (Máx. 1MB).</p>
<input type="hidden" id="confAdBase64">
</div>
</div>
</div>
</div> </div>
<div class="space-y-5 bg-slate-50 p-6 rounded-2xl border border-slate-100"> <div class="space-y-5 bg-slate-50 p-6 rounded-2xl border border-slate-100">
@@ -1376,6 +1393,10 @@
document.getElementById('confLogoBase64').value = data.config.company_logo; document.getElementById('confLogoBase64').value = data.config.company_logo;
document.getElementById('logoPreview').innerHTML = `<img src="${data.config.company_logo}" class="w-full h-full object-contain">`; document.getElementById('logoPreview').innerHTML = `<img src="${data.config.company_logo}" class="w-full h-full object-contain">`;
} }
if (data.config.company_ad) {
document.getElementById('confAdBase64').value = data.config.company_ad;
document.getElementById('adPreview').innerHTML = `<img src="${data.config.company_ad}" class="w-full h-full object-contain">`;
}
const s = data.config.portal_settings || {}; const s = data.config.portal_settings || {};
if(s.m_start) document.getElementById('mStart').value = s.m_start; if(s.m_start) document.getElementById('mStart').value = s.m_start;
@@ -1417,6 +1438,17 @@
reader.readAsDataURL(file); reader.readAsDataURL(file);
} }
function encodeAd(input) {
const file = input.files[0];
if (!file || file.size > 1024 * 1024) { alert("Máximo 1MB"); return; }
const reader = new FileReader();
reader.onload = (e) => {
document.getElementById('confAdBase64').value = e.target.result;
document.getElementById('adPreview').innerHTML = `<img src="${e.target.result}" class="w-full h-full object-contain">`;
};
reader.readAsDataURL(file);
}
async function savePortalConfig() { async function savePortalConfig() {
const btn = document.getElementById('btnSavePortal'), original = btn.innerHTML; const btn = document.getElementById('btnSavePortal'), original = btn.innerHTML;
btn.innerHTML = '<i data-lucide="loader-2" class="w-4 h-4 animate-spin"></i> Guardando...'; btn.innerHTML = '<i data-lucide="loader-2" class="w-4 h-4 animate-spin"></i> Guardando...';
@@ -1428,6 +1460,7 @@
const payload = { const payload = {
company_name: document.getElementById('confCompanyName').value, company_name: document.getElementById('confCompanyName').value,
company_logo: document.getElementById('confLogoBase64').value, company_logo: document.getElementById('confLogoBase64').value,
company_ad: document.getElementById('confAdBase64').value,
portal_settings: { portal_settings: {
m_start: document.getElementById('mStart').value, m_start: document.getElementById('mStart').value,
m_end: document.getElementById('mEnd').value, m_end: document.getElementById('mEnd').value,