arreglados problemas presupuesto, botones css etc

This commit is contained in:
2025-10-16 14:24:24 +02:00
parent f26f96a490
commit 060b435388
16 changed files with 278 additions and 169 deletions

View File

@ -1,21 +1,57 @@
<!-- templates/fragments/common.html -->
<div th:fragment="buttons(appMode)"
class="order-3 order-md-2 mx-md-auto d-flex">
<button th:if="${appMode == 'add' or appMode == 'edit'}" id="btn-guardar" type="button"
class="btn btn-secondary d-flex align-items-center mx-2 guardar-presupuesto">
<i class="ri-save-3-line me-2"></i>
<span th:text="#{presupuesto.guardar}">Guardar</span>
</button>
<div th:fragment="buttons(appMode, btnClass, showPrev, showNext, showActions, showCart)"
class="buttons-bar mt-2">
<button th:if="${appMode == 'add' or appMode == 'edit'}" id="btn-add-cart" type="button"
class="btn btn-secondary d-flex align-items-center mx-2 add-cart-btn">
<i class="ri-shopping-cart-line me-2"></i>
<span th:text="#{presupuesto.add-to-cart}">Añadir al carrito</span>
</button>
<!-- Fila 1: ACCIONES, centradas -->
<div class="buttons-row center" th:if="${showActions}">
<button th:if="${appMode == 'add' or appMode == 'edit'}"
type="button"
class="btn btn-secondary d-flex align-items-center mx-2 guardar-presupuesto">
<i class="ri-save-3-line me-2"></i>
<span th:text="#{presupuesto.guardar}">Guardar</span>
</button>
<button id="btn-imprimir" type="button"
class="btn btn-secondary d-flex align-items-center mx-2 imprimir-presupuesto">
<i class="ri-printer-line me-2"></i>
<span th:text="#{app.imprimir}">Imprimir</span>
</button>
<button th:if="${appMode == 'add' or appMode == 'edit'}"
type="button"
class="btn btn-secondary d-flex align-items-center mx-2 add-cart-btn">
<i class="ri-shopping-cart-line me-2"></i>
<span th:text="#{presupuesto.add-to-cart}">Añadir a la cesta</span>
</button>
<button type="button"
class="btn btn-secondary d-flex align-items-center mx-2 btn-imprimir">
<i class="ri-printer-line me-2"></i>
<span th:text="#{app.imprimir}">Imprimir</span>
</button>
<!-- Alternativa cuando no está autenticado -->
<button sec:authorize="!isAuthenticated()"
type="button"
class="btn btn-secondary d-flex align-items-center btn-login-required ms-2">
<i class="mdi mdi-login label-icon align-middle fs-16 me-2"></i>
<span th:text="#{presupuesto.resumen.inicie-sesion}">Inicie sesión para continuar</span>
</button>
</div>
<!-- Fila 2: PREV (izq) / NEXT o LOGIN (dcha) -->
<div class="buttons-row split">
<button th:if="${showPrev}"
th:id="|${btnClass}-prev|"
data-btn-action="previous"
th:class="'btn btn-light ' + ${btnClass}"
type="button">
<i class="ri-arrow-left-circle-line label-icon align-middle fs-16 me-2"></i>
<span th:text="#{app.acciones.anterior}">Anterior</span>
</button>
<div class="right-slot d-flex align-items-center">
<button th:if="${showNext}"
data-btn-action="next"
th:id="|${btnClass}-next|"
th:class="'btn btn-secondary d-flex align-items-center ' + ${btnClass}"
type="button">
<span th:text="#{app.acciones.siguiente}">Siguiente</span>
<i class="ri-arrow-right-circle-line fs-16 ms-2"></i>
</button>
</div>
</div>
</div>

View File

@ -408,18 +408,6 @@
<div class="d-flex justify-content-between align-items-center mt-4 w-100">
<button id="btn-prev-cubierta" type="button"
class="btn btn-light d-flex align-items-center btn-change-tab-cubierta order-1">
<i class=" ri-arrow-left-circle-line label-icon align-middle fs-16 me-2"></i>
<span th:text="#{presupuesto.volver-interior}">Volver a interior</span>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode})}"></div>
<button id="btn-next-cubierta" type="button"
class="btn btn-secondary d-flex align-items-center btn-change-tab-cubierta order-2 order-md-3">
<span th:text="#{presupuesto.continuar-seleccion-tirada}">Continuar a selección de tirada</span>
<i class="ri-arrow-right-circle-line fs-16 ms-2"></i>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode}, 'btn-change-tab-cubierta', true, true, true, false)}"></div>
</div>
</div>

View File

@ -270,7 +270,7 @@
<div
class="form-check form-switch form-switch-custom form-switch-presupuesto mb-3 d-flex align-items-center">
<input type="checkbox" class="form-check-input datos-generales-data me-2" id="iva-reducido"
name="iva-reducido" checked/>
name="iva-reducido" checked />
<label for="iva-reducido" class="form-label d-flex align-items-center mb-0">
<span th:text="#{presupuesto.iva-reducido}" class="me-2">I.V. reducido</span>
<button type="button" id="btn-iva-reducido-detail"
@ -282,7 +282,8 @@
</div>
<div class="row justify-content-center mb-2">
<div class="col-sm-3 justify-content-center">
<label for="entregaTipo" class="form-label mt-2" th:text="#{presupuesto.entrega}">Entrega</label>
<label for="entregaTipo" class="form-label mt-2"
th:text="#{presupuesto.entrega}">Entrega</label>
<select class="form-select select2 datos-generales-data" id="entregaTipo" name="entregaTipo">
<option selected value="peninsula" th:text="#{presupuesto.entrega.peninsula}">Península
y
@ -297,12 +298,9 @@
</div>
<div class="d-flex align-items-center justify-content-center gap-3 mt-3">
<button type="button" id="next-datos-generales"
class="btn btn-secondary d-flex align-items-center ms-auto order-2 order-md-3">
<span th:text="#{presupuesto.continuar-interior}">Continuar a diseño interior</span>
<i class="ri-arrow-right-circle-line fs-16 ms-2"></i>
</button>
<div
th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode}, 'btn-change-tab-datos-generales', false, true, false, false)}">
</div>
</div>

View File

@ -17,18 +17,6 @@
<!-- End Ribbon Shape -->
<div class="d-flex justify-content-between align-items-center mt-4 w-100">
<button id="btn-prev-extras" type="button"
class="btn btn-light d-flex align-items-center btn-change-tab-extras order-1">
<i class=" ri-arrow-left-circle-line label-icon align-middle fs-16 me-2"></i>
<span th:text="#{presupuesto.volver-seleccion-tirada}">Volver a selección de tirada</span>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode})}"></div>
<button id="btn-next-extras" type="button"
class="btn btn-secondary d-flex align-items-center btn-change-tab-extras order-2 order-md-3">
<span><b th:text="#{presupuesto.resumen}">Resumen</b></span>
<i class="ri-arrow-right-circle-line fs-16 ms-2"></i>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode}, 'btn-change-tab-extras', true, true, true, false)}"></div>
</div>
</div>

View File

@ -57,20 +57,9 @@
</div>
</div>
<div class="d-flex justify-content-between align-items-center mt-4 w-100">
<button id="btn-prev-interior" type="button"
class="btn btn-change-tab-interior btn-light d-flex align-items-center order-1">
<i class=" ri-arrow-left-circle-line label-icon align-middle fs-16 me-2"></i>
<span th:text="#{presupuesto.volver-datos-generales}">Volver a datos generales</span>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode})}"></div>
<button id="btn-next-interior" type="button"
class="btn btn-change-tab-interior btn-secondary d-flex align-items-center order-2 order-md-3">
<span th:text="#{presupuesto.continuar-cubierta}">Continuar a diseño cubierta</span>
<i class="ri-arrow-right-circle-line fs-16 ms-2"></i>
</button>
<div
th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode}, 'btn-change-tab-interior', true, true, true, false)}">
</div>
</div>

View File

@ -50,24 +50,8 @@
</div>
<div class="d-flex justify-content-between align-items-center mt-4 w-100">
<button id="btn-prev-resumen" type="button"
class="btn btn-light d-flex align-items-center btn-change-tab-resumen order-1">
<i class=" ri-arrow-left-circle-line label-icon align-middle fs-16 me-2"></i>
<span th:text="#{presupuesto.volver-extras}">Volver a extras</span>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode})}"></div>
<button th:unless="${#authorization.expression('isAuthenticated()')}" id="btn-add-cart" type="button"
class="btn btn-secondary d-flex align-items-center order-2 order-md-3">
<i class="mdi mdi-login label-icon align-middle fs-16 me-2"></i>
<span th:text="#{presupuesto.resumen.inicie-sesion}">Inicie sesión para continuar</span>
</button>
<button th:if="${#authorization.expression('isAuthenticated()')}" id="btn-add-cart" type="button"
class="btn btn-secondary d-flex align-items-center order-2 order-md-3">
<span th:text="#{presupuesto.resumen.agregar-cesta}">Agregar a la cesta</span>
<i class="ri-shopping-cart-2-line fs-16 ms-2"></i>
</button>
<div
th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode}, 'btn-change-tab-resumen', true, false, true, true)}">
</div>
</div>
</div>

View File

@ -16,7 +16,7 @@
</div>
<div id="div-tiradas"
class="row row-cols-1 row-cols-sm-2 row-cols-lg-4 g-4 justify-content-center align-items-stretch mx-auto mb-4"
class="row row-cols-auto justify-content-center g-4 mx-auto mb-4"
style="max-width:1120px" th:data-per-unit="#{presupuesto.precio-unidad}"
th:data-total="#{presupuesto.total}" th:data-select="#{presupuesto.seleccionar-tirada}"
th:data-selected="#{presupuesto.tirada-seleccionada}" th:data-units="#{presupuesto.unidades}">
@ -27,18 +27,6 @@
<!-- End Ribbon Shape -->
<div class="d-flex justify-content-between align-items-center mt-4 w-100">
<button id="btn-prev-seleccion-tirada" type="button"
class="btn btn-light d-flex align-items-center btn-change-tab-seleccion-tirada order-1">
<i class=" ri-arrow-left-circle-line label-icon align-middle fs-16 me-2"></i>
<span th:text="#{presupuesto.volver-cubierta}">Volver a diseño de cubierta</span>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode})}"></div>
<button id="btn-next-seleccion-tirada" type="button"
class="btn btn-secondary d-flex align-items-center btn-change-tab-seleccion-tirada order-2 order-md-3">
<span><b th:text="#{presupuesto.continuar-extras-libro}">Continuar a extras del libro</b></span>
<i class="ri-arrow-right-circle-line fs-16 ms-2"></i>
</button>
<div th:replace="~{imprimelibros/presupuestos/presupuestador-items/_buttons :: buttons(${appMode}, 'btn-change-tab-seleccion-tirada', true, true, true, false)}"></div>
</div>
</div>

View File

@ -32,8 +32,8 @@
data-bs-target="#pills-general-data" type="button" role="tab"
aria-controls="pills-general-data" aria-selected="true">
<i
class="ri-information-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.datos-generales}">Datos Generales</label>
class="ri-information-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label class="fs-13 my-2" th:text="#{presupuesto.datos-generales}">Datos Generales</label>
</button>
</li>
<li class="nav-item" role="presentation">
@ -41,8 +41,8 @@
data-bs-target="#pills-inside" type="button" role="tab"
aria-controls="pills-inside" aria-selected="false">
<i
class="ri-book-open-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.interior}">Interior</label>
class="ri-book-open-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label class="fs-13 my-2" th:text="#{presupuesto.interior}">Interior</label>
</button>
</li>
<li class="nav-item" role="presentation">
@ -50,8 +50,8 @@
data-bs-target="#pills-cover" type="button" role="tab"
aria-controls="pills-cover" aria-selected="false">
<i
class="ri-book-2-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.cubierta}">Cubierta</label>
class="ri-book-2-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label class="fs-13 my-2" th:text="#{presupuesto.cubierta}">Cubierta</label>
</button>
</li>
<li class="nav-item" role="presentation">
@ -59,8 +59,8 @@
data-bs-target="#pills-seleccion-tirada" type="button" role="tab"
aria-controls="pills-seleccion-tirada" aria-selected="false">
<i
class="ri-add-box-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.seleccion-tirada}">Seleccion de tirada</label>
class="ri-add-box-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label class="fs-13 my-2" th:text="#{presupuesto.seleccion-tirada}">Seleccion de tirada</label>
</button>
</li>
<li class="nav-item" role="presentation">
@ -68,8 +68,8 @@
data-bs-target="#pills-extras" type="button" role="tab"
aria-controls="pills-extras" aria-selected="false">
<i
class="ri-add-box-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.extras}">Extras</label>
class="ri-add-box-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label class="fs-13 my-2" th:text="#{presupuesto.extras}">Extras</label>
</button>
</li>
<li class="nav-item" role="presentation">
@ -77,8 +77,8 @@
data-bs-target="#pills-resumen" type="button" role="tab"
aria-controls="pills-resumen" aria-selected="false">
<i
class="ri-add-box-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.resumen}">Resumen</label>
class="ri-add-box-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label class="fs-13 my-2" th:text="#{presupuesto.resumen}">Resumen</label>
</button>
</li>
</ul>