Actualizar configuracion.html
This commit is contained in:
@@ -772,6 +772,23 @@
|
||||
</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 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('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 || {};
|
||||
if(s.m_start) document.getElementById('mStart').value = s.m_start;
|
||||
@@ -1417,6 +1438,17 @@
|
||||
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() {
|
||||
const btn = document.getElementById('btnSavePortal'), original = btn.innerHTML;
|
||||
btn.innerHTML = '<i data-lucide="loader-2" class="w-4 h-4 animate-spin"></i> Guardando...';
|
||||
@@ -1428,6 +1460,7 @@
|
||||
const payload = {
|
||||
company_name: document.getElementById('confCompanyName').value,
|
||||
company_logo: document.getElementById('confLogoBase64').value,
|
||||
company_ad: document.getElementById('confAdBase64').value,
|
||||
portal_settings: {
|
||||
m_start: document.getElementById('mStart').value,
|
||||
m_end: document.getElementById('mEnd').value,
|
||||
|
||||
Reference in New Issue
Block a user