fix: back buttons missing router instance mapping and fix array structure in supabase route stops fetch
This commit is contained in:
@ -42,17 +42,26 @@ export const routesService = {
|
||||
.eq('route_id', routeId)
|
||||
.order('stop_order', { ascending: true })
|
||||
|
||||
if (error) throw new Error(error.message)
|
||||
if (error) {
|
||||
console.error('getRouteStops Error:', error)
|
||||
throw new Error(error.message)
|
||||
}
|
||||
|
||||
console.log('getRouteStops raw data:', data)
|
||||
|
||||
// Map back to the expected plain array of BusStop with merged properties
|
||||
return (data || []).map((row: any) => ({
|
||||
...row.bus_stops,
|
||||
stop_order: row.stop_order,
|
||||
travel_time_minutes: row.travel_time_minutes,
|
||||
stop_delay_minutes: row.stop_delay_minutes,
|
||||
is_pickup_point: row.is_pickup_point,
|
||||
is_dropoff_point: row.is_dropoff_point
|
||||
})) as BusStop[]
|
||||
return (data || []).map((row: any) => {
|
||||
// Handle possibility of bus_stops being an array or object
|
||||
const busStopData = Array.isArray(row.bus_stops) ? row.bus_stops[0] : row.bus_stops;
|
||||
return {
|
||||
...(busStopData || {}),
|
||||
stop_order: row.stop_order,
|
||||
travel_time_minutes: row.travel_time_minutes,
|
||||
stop_delay_minutes: row.stop_delay_minutes,
|
||||
is_pickup_point: row.is_pickup_point,
|
||||
is_dropoff_point: row.is_dropoff_point
|
||||
}
|
||||
}) as BusStop[]
|
||||
},
|
||||
|
||||
/** Create a new route (Admin) */
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="admin-bus-stops">
|
||||
<div class="header">
|
||||
<button class="back-link" @click="$router.push('/admin')">← Volver al Panel</button>
|
||||
<button class="back-link" @click="router.push('/admin')">← Volver al Panel</button>
|
||||
<h1>Gestionar Paradas</h1>
|
||||
<button class="add-button" @click="openCreate">
|
||||
<span class="material-icons">add</span> Nueva Parada
|
||||
@ -48,10 +48,12 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { busStopsService } from '@/services/busStopsService'
|
||||
import type { BusStop } from '@/types'
|
||||
import BusStopEditor from '@/components/BusStopEditor.vue'
|
||||
|
||||
const router = useRouter()
|
||||
const stops = ref<BusStop[]>([])
|
||||
const isLoading = ref(true)
|
||||
const error = ref<string | null>(null)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="admin-drivers">
|
||||
<div class="header">
|
||||
<button class="back-link" @click="$router.push('/admin')">← Volver al Panel</button>
|
||||
<button class="back-link" @click="router.push('/admin')">← Volver al Panel</button>
|
||||
<h1>Gestión de Conductores y Taxis</h1>
|
||||
<div class="header-actions">
|
||||
<button class="btn-primary" @click="openRegisterModal">
|
||||
@ -336,8 +336,10 @@
|
||||
import { ref, onMounted, reactive, computed } from 'vue'
|
||||
import { usersService } from '@/services/usersService'
|
||||
import { authService } from '@/services/authService'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { supabase } from '@/supabase'
|
||||
|
||||
const router = useRouter()
|
||||
const activeTab = ref<'drivers' | 'taxis'>('drivers')
|
||||
const isLoading = ref(false)
|
||||
const activeDrivers = ref<any[]>([])
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="admin-taxis">
|
||||
<div class="header">
|
||||
<button class="back-link" @click="$router.push('/admin')">← Volver al Panel</button>
|
||||
<button class="back-link" @click="router.push('/admin')">← Volver al Panel</button>
|
||||
<h1>Directorio de Taxis</h1>
|
||||
<button class="btn-primary" @click="openModal()">
|
||||
<span class="material-icons">add</span>
|
||||
@ -167,8 +167,10 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { supabase } from '@/supabase'
|
||||
|
||||
const router = useRouter()
|
||||
const isLoading = ref(false)
|
||||
const taxis = ref<any[]>([])
|
||||
const showModal = ref(false)
|
||||
|
||||
Reference in New Issue
Block a user