From 10cb37c866c7415a037f58b45746e250df2bc95d Mon Sep 17 00:00:00 2001 From: Hanzo_dev <2002samudiojohan@gmail.com> Date: Thu, 26 Feb 2026 15:36:32 -0500 Subject: [PATCH] fix(coupons): remove duplicate business cols from coupons in PromoterDashboard and CouponsView --- frontend/src/services/couponsService.ts | 4 ++-- frontend/src/types/index.ts | 3 --- frontend/src/views/CouponsView.vue | 12 ++++++------ frontend/src/views/MapView.vue | 4 ++-- frontend/src/views/ProfileView.vue | 2 +- frontend/src/views/PromoterDashboard.vue | 18 ++++-------------- 6 files changed, 15 insertions(+), 28 deletions(-) diff --git a/frontend/src/services/couponsService.ts b/frontend/src/services/couponsService.ts index 0912edb..eea6b32 100644 --- a/frontend/src/services/couponsService.ts +++ b/frontend/src/services/couponsService.ts @@ -34,7 +34,7 @@ export const couponsService = { /** Create a new coupon */ async createCoupon(coupon: Omit): Promise { // Prevent sending nested business properties over insert - const { business, ...payload } = coupon as any + const { business, business_name, business_address, business_phone, created_at, updated_at, id, ...payload } = coupon as any const { data, error } = await supabase.from('coupons').insert([payload]).select().single() if (error) throw new Error(error.message) return data as Coupon @@ -42,7 +42,7 @@ export const couponsService = { /** Update an existing coupon */ async updateCoupon(id: string, coupon: Partial): Promise { - const { business, ...payload } = coupon as any + const { business, business_name, business_address, business_phone, created_at, updated_at, id: _id, ...payload } = coupon as any const { data, error } = await supabase.from('coupons').update(payload).eq('id', id).select().single() if (error) throw new Error(error.message) return data as Coupon diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index 8d12955..1c502ce 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -72,9 +72,6 @@ export interface Coupon { business_id?: string | null title: string description?: string | null - business_name?: string | null - business_address?: string | null - business_phone?: string | null image_url?: string | null social_media?: string | null terms?: string | null diff --git a/frontend/src/views/CouponsView.vue b/frontend/src/views/CouponsView.vue index f2ec0f6..9130c68 100644 --- a/frontend/src/views/CouponsView.vue +++ b/frontend/src/views/CouponsView.vue @@ -24,7 +24,7 @@ onMounted(() => { const filteredCoupons = computed(() => { return couponStore.coupons.filter(c => { const matchesSearch = c.title.toLowerCase().includes(searchQuery.value.toLowerCase()) || - c.business_name?.toLowerCase().includes(searchQuery.value.toLowerCase()) + c.business?.name?.toLowerCase().includes(searchQuery.value.toLowerCase()) const matchesCategory = selectedCategory.value === 'Todas' || c.category === selectedCategory.value return matchesSearch && matchesCategory }) @@ -43,7 +43,7 @@ function openCoupon(coupon: Coupon) { analyticsService.logEvent({ event_name: 'promo_view', item_id: coupon.title, - properties: { coupon_id: coupon.id, business: coupon.business_name } + properties: { coupon_id: coupon.id, business: coupon.business?.name } }) } @@ -51,13 +51,13 @@ function handleDirections() { if (!selectedCoupon.value) return analyticsService.logEvent({ event_name: 'promo_click', - item_id: 'directions_' + selectedCoupon.value.business_name, + item_id: 'directions_' + selectedCoupon.value.business?.name, properties: { coupon_id: selectedCoupon.value.id, action: 'get_directions' } }) - window.open(`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(selectedCoupon.value.business_address || selectedCoupon.value.business_name || '')}`, '_blank') + window.open(`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(selectedCoupon.value.business?.address || selectedCoupon.value.business?.name || '')}`, '_blank') } function getCategoryIcon(category?: string | null) { @@ -142,7 +142,7 @@ function getCategoryIcon(category?: string | null) {
-

{{ coupon.business_name || 'Restaurante' }}

+

{{ coupon.business?.name || 'Restaurante' }}

{{ coupon.title }}

@@ -186,7 +186,7 @@ function getCategoryIcon(category?: string | null) {