fix(builder): restaurante libre y ordenado; otros rubros sin cambios

This commit is contained in:
komkida91
2026-03-01 14:40:33 +01:00
parent 40738cc65b
commit 02e32c9673

View File

@@ -3068,7 +3068,11 @@ const state = {
const keepRubro = normalizeRubro(state.settings.business_rubro || SERVER_RUBRO || "restaurante");
state.blocks = [];
state.settings = { ...defaultSettings, business_rubro: keepRubro };
state.settings.free_drag = false;
if (BUILDER_MODE === "ub24"){
state.settings.free_drag = false;
} else {
state.settings.free_drag = keepRubro === "restaurante";
}
selectedBlockId = null;
renderInspector();
renderPreview();
@@ -3096,9 +3100,15 @@ const state = {
state.blocks.forEach(b=>{ if (!b.page) b.page = "home"; });
state.settings.free_drag = false;
} else {
// Mantener layout tipo template estable por defecto en builder web.
// Evita superposiciones y bloqueos al agregar nuevos bloques.
state.settings.free_drag = false;
const isRestaurante = initialRubro === "restaurante";
// Solo restaurante mantiene modo libre por requerimiento del usuario.
state.settings.free_drag = isRestaurante;
if (isRestaurante){
if (!hasMeaningfulFreeDragPositions(state.blocks) || hasSevereFreeDragOverlap(state.blocks)){
applyStackedFreeDragLayout(state.blocks);
}
normalizeDuplicatedFreeDragPositions(state.blocks);
}
}
selectedBlockId = null;
wireSidebar();
@@ -3121,8 +3131,15 @@ const state = {
const t = templates[key];
state.settings = { ...state.settings, ...t.settings };
state.settings.business_rubro = normalizeRubro(key);
state.settings.free_drag = false;
if (BUILDER_MODE === "ub24"){
state.settings.free_drag = false;
} else {
state.settings.free_drag = state.settings.business_rubro === "restaurante";
}
state.blocks = t.blocks.map(b=>({ ...b, id: makeId(), page: (BUILDER_MODE==="ub24" ? "home" : b.page) }));
if (state.settings.free_drag){
applyStackedFreeDragLayout(state.blocks);
}
selectedBlockId = null;
renderInspector(); renderPreview();
wireSettings();