fix(builder): restaurante libre y ordenado; otros rubros sin cambios
This commit is contained in:
@@ -3068,7 +3068,11 @@ const state = {
|
|||||||
const keepRubro = normalizeRubro(state.settings.business_rubro || SERVER_RUBRO || "restaurante");
|
const keepRubro = normalizeRubro(state.settings.business_rubro || SERVER_RUBRO || "restaurante");
|
||||||
state.blocks = [];
|
state.blocks = [];
|
||||||
state.settings = { ...defaultSettings, business_rubro: keepRubro };
|
state.settings = { ...defaultSettings, business_rubro: keepRubro };
|
||||||
|
if (BUILDER_MODE === "ub24"){
|
||||||
state.settings.free_drag = false;
|
state.settings.free_drag = false;
|
||||||
|
} else {
|
||||||
|
state.settings.free_drag = keepRubro === "restaurante";
|
||||||
|
}
|
||||||
selectedBlockId = null;
|
selectedBlockId = null;
|
||||||
renderInspector();
|
renderInspector();
|
||||||
renderPreview();
|
renderPreview();
|
||||||
@@ -3096,9 +3100,15 @@ const state = {
|
|||||||
state.blocks.forEach(b=>{ if (!b.page) b.page = "home"; });
|
state.blocks.forEach(b=>{ if (!b.page) b.page = "home"; });
|
||||||
state.settings.free_drag = false;
|
state.settings.free_drag = false;
|
||||||
} else {
|
} else {
|
||||||
// Mantener layout tipo template estable por defecto en builder web.
|
const isRestaurante = initialRubro === "restaurante";
|
||||||
// Evita superposiciones y bloqueos al agregar nuevos bloques.
|
// Solo restaurante mantiene modo libre por requerimiento del usuario.
|
||||||
state.settings.free_drag = false;
|
state.settings.free_drag = isRestaurante;
|
||||||
|
if (isRestaurante){
|
||||||
|
if (!hasMeaningfulFreeDragPositions(state.blocks) || hasSevereFreeDragOverlap(state.blocks)){
|
||||||
|
applyStackedFreeDragLayout(state.blocks);
|
||||||
|
}
|
||||||
|
normalizeDuplicatedFreeDragPositions(state.blocks);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
selectedBlockId = null;
|
selectedBlockId = null;
|
||||||
wireSidebar();
|
wireSidebar();
|
||||||
@@ -3121,8 +3131,15 @@ const state = {
|
|||||||
const t = templates[key];
|
const t = templates[key];
|
||||||
state.settings = { ...state.settings, ...t.settings };
|
state.settings = { ...state.settings, ...t.settings };
|
||||||
state.settings.business_rubro = normalizeRubro(key);
|
state.settings.business_rubro = normalizeRubro(key);
|
||||||
|
if (BUILDER_MODE === "ub24"){
|
||||||
state.settings.free_drag = false;
|
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) }));
|
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;
|
selectedBlockId = null;
|
||||||
renderInspector(); renderPreview();
|
renderInspector(); renderPreview();
|
||||||
wireSettings();
|
wireSettings();
|
||||||
|
|||||||
Reference in New Issue
Block a user