Просмотр исходного кода

fetch subscribe status only when isGuestUser is false

Yuki Takei 4 лет назад
Родитель
Сommit
85a6cc14e2
1 измененных файлов с 7 добавлено и 4 удалено
  1. 7 4
      packages/app/src/stores/page.tsx

+ 7 - 4
packages/app/src/stores/page.tsx

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