import { Client, type Token } from "@versia/client"; import { toast } from "vue-sonner"; export const useClient = ( origin?: MaybeRef, customToken: MaybeRef = null, ): Ref => { const apiHost = window.location.origin; const domain = identity.value?.instance.domain; return ref( new Client( toValue(origin) ?? (domain ? new URL(`https://${domain}`) : new URL(apiHost)), toValue(customToken)?.access_token ?? identity.value?.tokens.access_token ?? undefined, (error) => { toast.error( error.response.data.error ?? "No error message provided", ); }, ), ) as Ref; }; export const client = useClient();