fix(menu): add glass preset and save logging
This commit is contained in:
@@ -176,14 +176,14 @@
|
||||
.contact-send{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px 14px;background:var(--site-primary);color:#0b0f16;font-weight:700;cursor:pointer}
|
||||
.contact-send i{font-size:12px}
|
||||
@media (max-width:860px){.contact-pro{grid-template-columns:1fr}}
|
||||
.site-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 12px;border:1px solid var(--site-nav-border,#dde4ef);border-radius:var(--site-nav-radius,var(--radius-md));background:var(--site-nav-bg,#ffffff)}
|
||||
.site-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 12px;border:1px solid var(--site-nav-border,#dde4ef);border-radius:var(--site-nav-radius,var(--radius-md));background:var(--site-nav-bg,#ffffff);backdrop-filter:var(--site-nav-blur,none);box-shadow:var(--site-nav-shadow,none)}
|
||||
.site-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px;min-width:120px;max-width:320px;flex:0 1 auto}
|
||||
.site-brand img{height:28px;width:auto;border-radius:8px;border:1px solid #dbe3ee}
|
||||
.site-brand-badge{height:28px;min-width:28px;padding:0 8px;border-radius:8px;background:var(--site-primary);display:inline-flex;align-items:center;justify-content:center;color:#0b0f16;font-weight:800;font-size:12px}
|
||||
.site-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.site-nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:1 1 auto}
|
||||
.site-nav-link{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-size:13px;color:var(--site-text);transition:background .2s ease,border-color .2s ease,transform .2s ease}
|
||||
.site-nav-link:hover{background:#f1f5f9;border-color:#dbe3ee;transform:translateY(-1px)}
|
||||
.site-nav-link:hover{background:var(--site-nav-hover,#f1f5f9);border-color:var(--site-nav-border,#dbe3ee);transform:translateY(-1px)}
|
||||
.site-nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:999px;background:var(--site-primary);color:#0b0f16;text-decoration:none;font-weight:700;white-space:nowrap}
|
||||
.menu-empty{font-size:12px;color:var(--site-muted)}
|
||||
.menu-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
|
||||
@@ -574,6 +574,7 @@
|
||||
registered_brand: "",
|
||||
developer_brand: "GKACHELE™",
|
||||
business_rubro: "restaurante",
|
||||
global_preset: "default",
|
||||
global_block_preset: "clean-landing",
|
||||
global_block_motion: "flow",
|
||||
global_block_motion_speed: "normal"
|
||||
@@ -662,7 +663,7 @@
|
||||
educacion: {
|
||||
settings: { primary_color: '#0a4dcf', bg_color: '#f4f7ff', text_color: '#0b1733', muted_color: '#4f6286', font_body: 'IBM Plex Sans', font_heading: 'Space Grotesk', bg_gradient: true, bg_color2: '#dbe8ff' },
|
||||
blocks: [
|
||||
{ id: makeId(), type: 'menu', data: { title: 'Academia', items: ['Inicio','Programas','Admisiones','Campus','Contacto'], menu_mode: 'both', menu_mobile_style: 'accordion', width: 100 } },
|
||||
{ id: makeId(), type: 'menu', data: { title: 'Academia', items: ['Inicio','Programas','Admisiones','Campus','Contacto'], menu_mode: 'both', menu_mobile_style: 'accordion', menu_preset: 'default', width: 100 } },
|
||||
{ id: makeId(), type: 'hero', data: { title: 'Formacion academica con enfoque profesional', subtitle: 'Desarrolla competencias reales con docentes expertos, laboratorios modernos y acompanamiento continuo.', button_text: 'Iniciar admision', button_url: '#contacto', image_url: '' } },
|
||||
{ id: makeId(), type: 'cards', data: { title: 'Programas destacados', items: ['Pregrado|Carreras con plan curricular actualizado y enfoque en empleabilidad.','Diplomados|Especializacion intensiva para perfiles tecnicos y profesionales.','Educacion continua|Trayectos cortos para actualizar habilidades de alto impacto.'] } },
|
||||
{ id: makeId(), type: 'iconlist', data: { title: 'Ruta de admision', items: ['Postula online|Completa tu solicitud y adjunta documentos en minutos.','Entrevista academica|Recibe orientacion personalizada segun tu perfil.','Matricula guiada|Formaliza tu ingreso con soporte del equipo academico.'] } },
|
||||
@@ -768,7 +769,7 @@ const state = {
|
||||
}
|
||||
function defaultData(type){
|
||||
switch(type){
|
||||
case "menu": return { title:"Menu", items:["Inicio","Productos","Blog","La Empresa","Contacto"], menu_mode:"both", menu_mobile_style:"accordion", width:100 };
|
||||
case "menu": return { title:"Menu", items:["Inicio","Productos","Blog","La Empresa","Contacto"], menu_mode:"both", menu_mobile_style:"accordion", menu_preset:"default", width:100 };
|
||||
case "hero": return { title:"Tu propuesta de valor", subtitle:"Explica en una frase por que elegirte.", kicker:"", button_text:"Contactar", button_url:"#contacto", button_secondary_text:"Ver mas", button_secondary_url:"#", image_url:"", align:"left", layout:"media-right", width:60, visual_preset:"inherit", bg_motion_style:"inherit", bg_motion_speed:"inherit" };
|
||||
case "text": return { text:"Describe tu negocio aqui.", width:60, visual_preset:"inherit", bg_motion_style:"inherit", bg_motion_speed:"inherit" };
|
||||
case "image": return { url:"", alt:"", caption:"", fit:"cover", overlay_text:"", width:60, visual_preset:"inherit", bg_motion_style:"inherit", bg_motion_speed:"inherit" };
|
||||
@@ -1185,7 +1186,15 @@ const state = {
|
||||
const showDrawer = showAccordion && mobileStyle === "drawer";
|
||||
const menuDrawerId = `drawer_${block.id}`;
|
||||
const menuOverlayId = `drawer_overlay_${block.id}`;
|
||||
return `<div class="site-nav">
|
||||
const menuPreset = String(block.data?.menu_preset || "default").toLowerCase();
|
||||
const menuThemes = {
|
||||
"glass": { bg:"rgba(255,255,255,0.75)", border:"rgba(255,255,255,0.9)", shadow:"0 18px 32px rgba(15,23,42,0.18)", blur:"14px", text:"#0f172a", hover:"#e2e8f0" },
|
||||
"dark": { bg:"rgba(15,23,42,0.82)", border:"rgba(226,232,240,0.18)", shadow:"0 14px 26px rgba(0,0,0,0.32)", blur:"8px", text:"#e2e8f0", hover:"rgba(255,255,255,0.08)" },
|
||||
"default": { bg:"var(--site-nav-bg,#ffffff)", border:"var(--site-nav-border,#dde4ef)", shadow:"none", blur:"none", text:"var(--site-text,#0f172a)", hover:"#f1f5f9" }
|
||||
};
|
||||
const theme = menuThemes[menuPreset] || menuThemes.default;
|
||||
const navStyle = `--site-nav-bg:${theme.bg};--site-nav-border:${theme.border};--site-nav-shadow:${theme.shadow};--site-nav-blur:${theme.blur};--site-text:${theme.text};--site-nav-hover:${theme.hover};`;
|
||||
return `<div class="site-nav" style="${navStyle}">
|
||||
<div class="site-brand">${logo}<span>${escapeHtml(siteName)}</span></div>
|
||||
<div class="menu-inline site-nav-links" style="${showInline ? "" : "display:none"}">${links}</div>
|
||||
<button class="menu-drawer-toggle" type="button" data-drawer-toggle="${menuDrawerId}" style="${showDrawer ? "" : "display:none"}"><i class="fa-solid fa-bars"></i></button>
|
||||
@@ -2030,6 +2039,8 @@ const state = {
|
||||
html+=`<div class="row"><label>Modo menu</label><select id="menuMode"><option value="both" ${mm==="both"?"selected":""}>Ambos</option><option value="inline" ${mm==="inline"?"selected":""}>Horizontal</option><option value="accordion" ${mm==="accordion"?"selected":""}>Acordeon</option></select></div>`;
|
||||
const mms = escapeHtml((data.menu_mobile_style || "accordion").toLowerCase() === "drawer" ? "drawer" : "accordion");
|
||||
html+=`<div class="row"><label>Movil</label><select id="menuMobileStyle"><option value="accordion" ${mms==="accordion"?"selected":""}>Acordeon</option><option value="drawer" ${mms==="drawer"?"selected":""}>Drawer Pro</option></select></div>`;
|
||||
const mp = escapeHtml((data.menu_preset || "default").toLowerCase());
|
||||
html+=`<div class="row"><label>Preset menu</label><select id="menuPreset"><option value="default" ${mp==="default"?"selected":""}>Base</option><option value="glass" ${mp==="glass"?"selected":""}>Glass</option><option value="dark" ${mp==="dark"?"selected":""}>Dark</option></select></div>`;
|
||||
html+=`<div class="row"><label>Items menu (una linea)</label><textarea id="menuItems">${escapeHtml((data.items||[]).join("\n"))}</textarea></div>`;
|
||||
} else if (block.type==="hero"){
|
||||
html+=input("Kicker","heroKicker",data.kicker);
|
||||
@@ -2202,6 +2213,8 @@ const state = {
|
||||
if (mm){ block.data.menu_mode = normalizeMenuMode(mm.value || "both"); }
|
||||
const mms = document.getElementById("menuMobileStyle");
|
||||
if (mms){ block.data.menu_mobile_style = (mms.value || "accordion") === "drawer" ? "drawer" : "accordion"; }
|
||||
const mp = document.getElementById("menuPreset");
|
||||
if (mp){ block.data.menu_preset = (mp.value || "default").toLowerCase(); }
|
||||
const mi = document.getElementById("menuItems");
|
||||
if (mi){ block.data.items = mi.value.split("\n").map((x)=>x.trim()).filter(Boolean); }
|
||||
}
|
||||
@@ -2969,6 +2982,7 @@ const state = {
|
||||
if (b.type === "menu"){
|
||||
data.menu_mode = normalizeMenuMode(data.menu_mode || "both");
|
||||
data.menu_mobile_style = (data.menu_mobile_style || "accordion") === "drawer" ? "drawer" : "accordion";
|
||||
data.menu_preset = (data.menu_preset || "default").toLowerCase();
|
||||
if (!Array.isArray(data.items) || data.items.length < 3){
|
||||
data.items = ["Inicio","Productos","Blog","La Empresa","Contacto"];
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user