|
|
@@ -7,6 +7,8 @@ import { HasObjectId } from '~/interfaces/has-object-id';
|
|
|
import { IPage } from '~/interfaces/page';
|
|
|
import { IPagingResult } from '~/interfaces/paging-result';
|
|
|
|
|
|
+import { useIsGuestUser } from './context';
|
|
|
+
|
|
|
|
|
|
export const useSWRxPageByPath = (path: string, initialData?: IPage): SWRResponse<IPage & HasObjectId, Error> => {
|
|
|
return useSWR(
|
|
|
@@ -46,12 +48,13 @@ export const useSWRxPageList = (
|
|
|
};
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
-export const useSWRxSubscribeButton = <Data, Error>(
|
|
|
- pageId: Types.ObjectId,
|
|
|
+export const useSWRxSubscribeButton = <Data, Error>(pageId: Types.ObjectId): SWRResponse<{status: boolean | null}, Error> => {
|
|
|
+ const { data: isGuestUser } = useIsGuestUser();
|
|
|
+
|
|
|
+ const key = isGuestUser === false ? ['/page/subscribe', pageId] : null;
|
|
|
|
|
|
-): SWRResponse<{status: boolean | null}, Error> => {
|
|
|
return useSWR(
|
|
|
- ['/page/subscribe', pageId],
|
|
|
+ key,
|
|
|
(endpoint, pageId) => apiv3Get(endpoint, { pageId }).then((response) => {
|
|
|
return {
|
|
|
status: response.data.subscribing,
|