7 Commits

Author SHA1 Message Date
5656ad13ad fix: pintar reservas que cruzan el borde del mes visible
findIndex devolvía -1 si start_date o end_date caían fuera del rango
visible, descartando la reserva entera. Ahora se clampa al rango del
calendario conservando la clasificación single/multi-día por las fechas
reales.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 16:40:55 +01:00
4ce80b8fc0 feat: horarios opcionales en reservas, calendarios en lunes y emails filtrados
- Reservas: campos opcionales start_time/end_time (migración 011, schema natur_reservas)
  + toggle en el modal y detección de solapamiento por horario cuando ambas reservas
  los tienen definidos. Permite encajar varios eventos el mismo día.
- Calendario mensual y anual ahora empiezan en lunes; vista móvil incluida.
- Celdas con varios eventos el mismo día se dividen en franjas horizontales
  mostrando el horario; las reservas multi-día siguen ocupando la celda completa.
- Modal: reset de campos vacíos (client_name, fechas, factura) para evitar que el
  nombre de la última reserva se filtre al crear una nueva.
- Emails: las modificaciones solo disparan correo cuando cambian fechas u horas;
  el correo a Teneriffa pasa a formato reducido (solo fechas + propiedad) mientras
  que Natur sigue recibiendo el detalle completo. Mantenimiento sin cambios.
- CLAUDE.md con guía operativa (schema natur_reservas, stack, convenciones).
- Scripts de preview/envío de emails para pruebas.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 11:53:34 +01:00
f9a8d83e5e no message 2026-05-08 18:40:40 +01:00
b3c374251e feat: add reservation import script for Excel data and install xlsx dependency 2026-05-08 17:03:39 +01:00
adcedb7cfd Remove unused activePropBg in ChatbotContainer to satisfy noUnusedLocals 2026-04-30 11:18:14 +01:00
22e8cc893f Add Dockerfiles, .dockerignore and brand logo
- apps/api/Dockerfile: multi-stage pnpm build, runtime node:22-alpine, port 3001
- apps/web/Dockerfile: multi-stage pnpm + Vite, runtime nginx:alpine with SPA config
- .dockerignore: excludes node_modules, dist, .env, .git, IDE folders, design docs
- Brand logo (naturcalabacera.webp) integrated as favicon, sidebar icon, header logo
- index.html title updated to 'Naturcalabacera · Reservas'
2026-04-30 10:22:37 +01:00
a0ccb8ca64 Initial commit: monorepo Naturcalabacera reservas (apps/api + apps/web + packages/shared) 2026-04-30 10:09:44 +01:00