Files
mercadodevida/work/current.md

2.1 KiB

Feature actual

Feature activa: F-071 — Editable emoji and color for categories

Backlog: 139 features (139 done). Últimas features cerradas: F-069 — Shipping method descriptions editable in admin, F-070 — Show product attributes on frontend product detail page, F-071 — Editable emoji and color for categories.

Problema

Las categorías usan maps hardcoded de emoji/color en el frontend (CategoriesGrid, categories/page) que no se pueden personalizar desde el admin. Además, las nuevas categorías parent muestran 📁 en lugar de su emoji identificativo.

Solución

Añadir campos emoji y color a la tabla categories_categories + tipos + formulario admin + usar los valores almacenados en el frontend en lugar de maps hardcoded.

Archivos clave

  • project/migrations/030_category_emoji_color.js (nueva)
  • project/src/modules/categories/domain/category.ts
  • project/src/modules/categories/infrastructure/pg-category-repository.ts
  • project/src/modules/categories/api/categories.routes.ts
  • project/frontend/src/types/api.ts
  • project/frontend/src/components/home/CategoriesGrid.tsx
  • project/frontend/src/app/categories/page.tsx
  • project/apps/admin/src/types/index.ts
  • project/apps/admin/src/app/(dashboard)/categories/page.tsx
  • project/storefront/src/lib/api.ts
  • project/storefront/src/app/categoria/[slug]/page.tsx

Servicios productivos

SERVICE     PID     HTTP  URL
backend     76603   200   http://192.168.18.93:3000
frontend    76631   200   http://192.168.18.93:3003/
admin       76658   200   http://192.168.18.93:3004/
storefront  76693   200   http://192.168.18.93:3005/

Gestión: ./project/scripts/monolith.sh prod status|start|restart|stop|logs

Credenciales backoffice

  • admin@mercadodevida.com / Admin1234
  • info@rikrdo.es (hash histórico)

Diagnóstico rápido

F-055 (done): Image thumbnails

  • 40px para listas, 200px para previews
  • Pre-generados con ./project/scripts/generate-thumbnails.sh
  • URLs estáticas: /uploads/40/<file> y /uploads/200/<file>
  • CSS max-height en fichas de producto