diff --git a/frontend/src/services/taxisService.ts b/frontend/src/services/taxisService.ts index c41063d..3afc6b7 100644 --- a/frontend/src/services/taxisService.ts +++ b/frontend/src/services/taxisService.ts @@ -4,8 +4,9 @@ import type { Taxi } from '@/types' export interface TaxiFilters { corregimiento?: string - shift?: string + shifts?: string[] // Soporte para múltiples turnos english_speaking?: boolean + is_accessible?: boolean // Filtro de accesibilidad is_active?: boolean } @@ -15,7 +16,10 @@ export const taxisService = { let query = supabase.from('taxis').select('*') if (filters?.corregimiento) query = query.eq('corregimiento', filters.corregimiento) - if (filters?.shift) query = query.eq('shift', filters.shift) + if (filters?.shifts && filters.shifts.length > 0) { + query = query.overlaps('shifts', filters.shifts) // Busca si hay solapamiento de turnos + } + if (filters?.is_accessible !== undefined) query = query.eq('is_accessible', filters.is_accessible) if (filters?.english_speaking !== undefined) query = query.eq('english_speaking', filters.english_speaking) if (filters?.is_active !== undefined) query = query.eq('is_active', filters.is_active) diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index db93063..4ddf2e6 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -118,9 +118,11 @@ export interface Taxi { license_plate: string cooperative?: string corregimiento: string - shift: string + vehicle_type?: string + shifts: string[] // Cambiado de 'shift: string' a 'shifts: string[]' para múltiples jornadas rating?: number english_speaking?: boolean + is_accessible?: boolean // Facilidad para personas con discapacidad image_url?: string is_active: boolean created_at?: string diff --git a/frontend/src/views/AdminTaxis.vue b/frontend/src/views/AdminTaxis.vue index 4023b67..c5bced2 100644 --- a/frontend/src/views/AdminTaxis.vue +++ b/frontend/src/views/AdminTaxis.vue @@ -42,8 +42,19 @@ {{ taxi.corregimiento }}
- Horario: - {{ getShiftLabel(taxi.shift) }} + Horarios: + {{ getShiftsLabel(taxi.shifts) }} +
+
+ Vehículo: + {{ taxi.vehicle_type }} +
+
+ Accesible: + + {{ taxi.is_accessible ? 'Sí' : 'No' }} + accessible +
Cooperativa: @@ -109,14 +120,27 @@
-
- - +
+ + +
+ +
+ +
+ + + +
@@ -135,6 +159,13 @@ Habla Inglés
+ +
+ +
-
+
-

{{ taxi.owner_name }}

+
+

{{ taxi.owner_name }}

+ accessible +
star {{ (taxi.rating || 5).toFixed(1) }}
· - {{ getShiftLabel(taxi.shift || '') }} + {{ getShiftsDisplay(taxi) }}
@@ -147,6 +161,10 @@ function getShiftLabel(shift: string) { location_on {{ taxi.corregimiento }}
+
+ local_taxi + {{ taxi.vehicle_type }} +
g_translate {{ t('taxi.englishLabel') }} diff --git a/frontend/src/views/transporte/ViajesTuristicos.vue b/frontend/src/views/transporte/ViajesTuristicos.vue index 15dccee..45d97dd 100644 --- a/frontend/src/views/transporte/ViajesTuristicos.vue +++ b/frontend/src/views/transporte/ViajesTuristicos.vue @@ -50,7 +50,7 @@ onMounted(async () => {