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

switch isSubscribing status bool and null

kaori 4 лет назад
Родитель
Сommit
44390021db
2 измененных файлов с 12 добавлено и 5 удалено
  1. 11 4
      packages/app/src/components/SubscribeButton.tsx
  2. 1 1
      packages/app/src/stores/page.tsx

+ 11 - 4
packages/app/src/components/SubscribeButton.tsx

@@ -36,10 +36,17 @@ const SubscribeButton: FC<Props> = (props: Props) => {
     );
   }
 
-  let isSubscribing = false;
-
-  if (subscriptionData.status) {
-    isSubscribing = true;
+  let isSubscribing;
+
+  switch (subscriptionData.status) {
+    case true:
+      isSubscribing = true;
+      break;
+    case false:
+      isSubscribing = false;
+      break;
+    default:
+      isSubscribing = null;
   }
 
   const buttonClass = `${isSubscribing ? 'active' : ''} ${appContainer.isGuestUser ? 'disabled' : ''}`;

+ 1 - 1
packages/app/src/stores/page.tsx

@@ -39,7 +39,7 @@ export const useSWRxPageList = (
 export const useSWRxSubscribeButton = <Data, Error>(
   pageId: Types.ObjectId,
 
-): SWRResponse<{status: SubscribeStatuses}, Error> => {
+): SWRResponse<{status: boolean | null}, Error> => {
   return useSWR(
     'page/subscribe',
     endpoint => apiv3Get(endpoint, { pageId }).then((response) => {