import type { UseFetchOptions } from 'nuxt/app'; export const useApi = () => { const config = useRuntimeConfig(); const baseURL = config.public.apiBaseUrl as string; const apiFetch = (url: string, options?: UseFetchOptions) => { return $fetch(url, { baseURL, ...options, headers: { ...options?.headers, }, onRequest({ options }) { // Add auth token if available const token = localStorage.getItem('token'); if (token) { options.headers = { ...options.headers, Authorization: `Bearer ${token}` }; } }, onResponseError({ response }) { // Handle errors globally console.error('API Error:', response.status, response._data); } }); }; return { apiFetch }; };