Limpiar legacy delivery_* + arreglar carga del mapa en shadow DOM
Backend cleanup (todo el delivery vive ahora en delivery_zones.zones[]):
- Migration drop columns delivery_enabled / delivery_days / delivery_hours_start /
delivery_hours_end / delivery_min_order y limpieza de schedule.delivery JSONB.
- settingsRepo: SELECT/INSERT/UPDATE sólo con campos vigentes, formatScheduleHours
trabaja sobre pickup.
- handlers/settings: defaults sin legacy, validateSchedule sólo para pickup,
validateDeliveryZones nuevo (estructura GeoJSON + días).
- seed_piaf_settings_and_replies + tenant_settings migrations alineadas: schedule
sólo tiene pickup, delivery_zones queda en {} para reconfigurar via UI.
Frontend cleanup:
- settings-crud: borrado el panel "Delivery (Envío a domicilio)" + minOrder,
toggle deliveryEnabled, y el grid schedule.delivery. collectScheduleFromInputs
ahora sólo procesa pickup. save() ya no envía delivery_enabled/min_order.
Fix mapa (no cargaba):
- zone-map-editor: los <link> a leaflet.css/leaflet-geoman.css se inyectaban en
document.head, que NO cruza el shadow DOM de settings-crud, por lo que las
reglas de Leaflet no aplicaban al div del mapa. Ahora los <link> se anclan
como hijos del propio web component; al estar en light DOM dentro del shadow
root del padre, sí aplican.
- Espera explícita a que el stylesheet cargue antes de instanciar L.map.
- ResizeObserver + invalidateSize() para cuando el contenedor cambia tamaño
(router muestra/oculta panel, tabs, etc).
Smoke E2E sin regresión: 1kg vacío + envío → location en Centro → "martes 12hs"
→ orden confirmada con $28.000 (producto + envío). 157/157 tests verde.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
-- migrate:up
|
||||
-- Borrar columnas obsoletas de tenant_settings: ahora cada zona de delivery
|
||||
-- tiene su propio costo, días y rango horario. Schedule.delivery también queda
|
||||
-- obsoleto (sólo pickup hace sentido como horario único de la tienda física).
|
||||
ALTER TABLE tenant_settings
|
||||
DROP COLUMN IF EXISTS delivery_enabled,
|
||||
DROP COLUMN IF EXISTS delivery_days,
|
||||
DROP COLUMN IF EXISTS delivery_hours_start,
|
||||
DROP COLUMN IF EXISTS delivery_hours_end,
|
||||
DROP COLUMN IF EXISTS delivery_min_order;
|
||||
|
||||
UPDATE tenant_settings
|
||||
SET schedule = (schedule - 'delivery')
|
||||
WHERE schedule ? 'delivery';
|
||||
|
||||
-- migrate:down
|
||||
-- noop: no preservamos los campos legacy.
|
||||
SELECT 1;
|
||||
Reference in New Issue
Block a user