19 lines
836 B
Markdown
19 lines
836 B
Markdown
# Implementer — F-039 Product Detail Page
|
|
|
|
## Summary
|
|
Página de detalle de producto + listado de productos.
|
|
|
|
## Files
|
|
- `frontend/src/app/products/page.tsx` — listado de todos los productos
|
|
- `frontend/src/app/products/[slug]/page.tsx` — detalle con price/stock/add-to-cart
|
|
- `frontend/src/lib/api.ts` — añadidas funciones: fetchProductBySlug, fetchProductVariants, fetchVariantPrice, fetchStockAvailability, formatPrice, calcGrossPrice
|
|
- `frontend/src/types/api.ts` — añadidos seoTitle/seoDescription a Product
|
|
|
|
## Routes
|
|
- `ƒ /products` — listado SSR
|
|
- `ƒ /products/[slug]` — detalle SSR
|
|
|
|
## Verification
|
|
- `/products` → productos listados ✓
|
|
- `/products/almendras-crudas-ecologicas` → nombre, €10.83 (gross), €8.95 (net), stock, botón carrito ✓
|
|
- `/products/no-existe` → "Producto no encontrado" ✓ |