import type { FetchResponse } from "ofetch" import { AxiosError, type AxiosResponse } from "axios" export function useAPI(route: string = "/") { return `https://api.door.svitan.dev${route}` } export async function handleRequestError(error: unknown) { const toast = useToast() let message = undefined if (error instanceof Error) { message = error.message } toast.add({ title: "Error occurred", description: message, color: "error", }) } export function handleResponse( response: AxiosResponse, success: (response: AxiosResponse) => void = () => {} ) { const token = useToken() const toast = useToast() if (response.status === 200) { success(response) } else if (response.status === 401) { toast.add({ title: "Token not valid", color: "error" }) token.value = "" navigateTo("/token") } else { toast.add({ title: "Error occurred", description: response.data.toString(), color: "error", }) } }