diff --git a/package.components.json b/package.components.json index e1679f20..8dda2588 100644 --- a/package.components.json +++ b/package.components.json @@ -1,6 +1,6 @@ { "name": "@umami/components", - "version": "0.122.0", + "version": "0.123.0", "description": "Umami React components.", "author": "Mike Cao ", "license": "MIT", diff --git a/src/components/hooks/useApi.ts b/src/components/hooks/useApi.ts index 8a456054..994163ad 100644 --- a/src/components/hooks/useApi.ts +++ b/src/components/hooks/useApi.ts @@ -2,14 +2,16 @@ import { useCallback } from 'react'; import { useQuery, useMutation } from '@tanstack/react-query'; import { getClientAuthToken } from '@/lib/client'; import { SHARE_TOKEN_HEADER } from '@/lib/constants'; -import { httpGet, httpPost, httpPut, httpDelete, FetchResponse, ErrorResponse } from '@/lib/fetch'; +import { httpGet, httpPost, httpPut, httpDelete, FetchResponse } from '@/lib/fetch'; import { useApp } from '@/store/app'; const selector = (state: { shareToken: { token?: string } }) => state.shareToken; async function handleResponse(res: FetchResponse): Promise { if (!res.ok) { - return Promise.reject(res.data?.error as ErrorResponse); + const { message, code, status } = res?.data?.error || {}; + + return Promise.reject(Object.assign(new Error(message), { code, status })); } return Promise.resolve(res.data); }