binwiederhier 3 лет назад
Родитель
Сommit
e5a33523d9
2 измененных файлов с 3 добавлено и 3 удалено
  1. 1 1
      web/src/components/SubscribeDialog.js
  2. 2 2
      web/src/components/SubscriptionPopup.js

+ 1 - 1
web/src/components/SubscribeDialog.js

@@ -74,7 +74,7 @@ const SubscribePage = (props) => {
     const existingBaseUrls = Array
         .from(new Set([publicBaseUrl, ...props.subscriptions.map(s => s.baseUrl)]))
         .filter(s => s !== config.base_url);
-    const showReserveTopicCheckbox = config.enable_reservations && session.exists() && !anotherServerVisible;
+    const showReserveTopicCheckbox = config.enable_reservations && !anotherServerVisible && (config.enable_payments || account);
     const reserveTopicEnabled = session.exists() && account?.role === Role.USER && (account?.stats.reservations_remaining || 0) > 0;
 
     const handleSubscribe = async () => {

+ 2 - 2
web/src/components/SubscriptionPopup.js

@@ -39,7 +39,7 @@ export const SubscriptionPopup = (props) => {
     const reservations = account?.reservations || [];
 
     const showReservationAdd = config.enable_reservations && !subscription?.reservation && account?.stats.reservations_remaining > 0;
-    const showReservationAddDisabled = config.enable_reservations && !subscription?.reservation && (config.enable_payments || account?.stats.reservations_remaining === 0);
+    const showReservationAddDisabled = !showReservationAdd && config.enable_reservations && !subscription?.reservation && (config.enable_payments || account?.stats.reservations_remaining === 0);
     const showReservationEdit = config.enable_reservations && !!subscription?.reservation;
     const showReservationDelete = config.enable_reservations && !!subscription?.reservation;
 
@@ -258,7 +258,7 @@ export const ReserveLimitChip = () => {
     if (account?.stats.reservations_remaining > 0) {
         return <></>;
     } else if (config.enable_payments) {
-        return <ProChip/>;
+        return (account?.limits.reservations > 0) ? <LimitReachedChip/> : <ProChip/>;
     } else if (account) {
         return <LimitReachedChip/>;
     }