From c4cc4d20d450b6216339c37017933486c917efa2 Mon Sep 17 00:00:00 2001 From: Carlos Narro Date: Sun, 31 May 2026 00:53:40 +0200 Subject: [PATCH] =?UTF-8?q?Rehace=20la=20maquetaci=C3=B3n=20m=C3=B3vil=20d?= =?UTF-8?q?e=20la=20p=C3=A1gina=20de=20precios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Las filas del catálogo, la configuración general y el formulario de alta no estaban pensados para móvil (input de precio descolgado, etiquetas que desalineaban la cuadrícula, campos sueltos). Ahora las filas apilan nombre + metadatos + controles de forma limpia en móvil y mantienen la fila única en escritorio; la cuadrícula usa etiquetas legibles y alinea los inputs; el alta es una cuadrícula de 2 columnas en móvil. Co-Authored-By: Claude Opus 4.7 --- mvp/b2c/src/app/panel/precios/page.tsx | 126 +++++++++++++++++-------- 1 file changed, 87 insertions(+), 39 deletions(-) diff --git a/mvp/b2c/src/app/panel/precios/page.tsx b/mvp/b2c/src/app/panel/precios/page.tsx index e77b81e..d701943 100644 --- a/mvp/b2c/src/app/panel/precios/page.tsx +++ b/mvp/b2c/src/app/panel/precios/page.tsx @@ -82,26 +82,33 @@ export default async function PreciosPage() { {/* Config general */}

Configuración general

-
+ - {(['demolicion', 'fontaneria', 'electricidad', 'mano_de_obra'] as const).map((k) => ( + {( + [ + ['demolicion', 'Demolición'], + ['fontaneria', 'Fontanería'], + ['electricidad', 'Electricidad'], + ['mano_de_obra', 'Mano de obra'], + ] as const + ).map(([k, etiqueta]) => ( ))} @@ -120,53 +127,94 @@ export default async function PreciosPage() {
{items.length === 0 &&

Sin materiales.

} {items.map((item) => ( -
- {item.nombre} - {item.calidad} - {item.unidad} - {item.esDefault && ( - default - )} - - - - - - -
- - -
+
+
+
{item.nombre}
+
+ {item.calidad} + · + {item.unidad} + {item.esDefault && ( + default + )} +
+
+
+
+ +
+ + + € + +
+ +
+
+ + +
+
))}
-
+ - - + - - + - - -
);