umami/hooks/useApi.ts

23 lines
671 B
TypeScript
Raw Normal View History

2022-02-23 08:52:31 +01:00
import { useRouter } from 'next/router';
import * as reactQuery from '@tanstack/react-query';
import { useApi as nextUseApi } from 'next-basics';
import { getClientAuthToken } from 'lib/client';
import { SHARE_TOKEN_HEADER } from 'lib/constants';
import useStore from 'store/app';
const selector = state => state.shareToken;
2022-02-27 00:53:45 +01:00
2023-05-18 08:20:06 +02:00
export function useApi() {
2022-02-23 08:52:31 +01:00
const { basePath } = useRouter();
const shareToken = useStore(selector);
2022-02-23 08:52:31 +01:00
const { get, post, put, del } = nextUseApi(
{ authorization: `Bearer ${getClientAuthToken()}`, [SHARE_TOKEN_HEADER]: shareToken?.token },
basePath,
);
2022-02-23 08:52:31 +01:00
return { get, post, put, del, ...reactQuery };
2022-02-23 08:52:31 +01:00
}
2023-05-18 08:20:06 +02:00
export default useApi;