import { ref } from 'vue' import api from '../axios.js' export function useStations() { const stations = ref([]) const meta = ref(null) const loading = ref(false) const error = ref(null) async function search({ postcode, lat, lng, fuelType = 'e10', radius = 10, sort = 'price' }) { loading.value = true error.value = null stations.value = [] meta.value = null const params = { fuel_type: fuelType, radius, sort } if (postcode) { params.postcode = postcode } else if (lat && lng) { params.lat = lat params.lng = lng } try { const response = await api.get('/stations', { params }) stations.value = response.data.data meta.value = response.data.meta } catch (err) { error.value = err.response?.data?.errors ?? { general: ['Unable to load stations. Please try again.'] } } finally { loading.value = false } } return { stations, meta, loading, error, search } }