diff --git a/packages/client/src/pages/PortalSettings/categories/storage-management/Quotas.js b/packages/client/src/pages/PortalSettings/categories/storage-management/Quotas.js index b0e230c5f8..bcaf010443 100644 --- a/packages/client/src/pages/PortalSettings/categories/storage-management/Quotas.js +++ b/packages/client/src/pages/PortalSettings/categories/storage-management/Quotas.js @@ -40,7 +40,7 @@ const QuotasComponent = (props) => { ) : ( <> - + )} diff --git a/packages/client/src/pages/PortalSettings/categories/storage-management/sub-components/QuotaPerUser.js b/packages/client/src/pages/PortalSettings/categories/storage-management/sub-components/QuotaPerUser.js index 74e5dce10a..ab260d8d94 100644 --- a/packages/client/src/pages/PortalSettings/categories/storage-management/sub-components/QuotaPerUser.js +++ b/packages/client/src/pages/PortalSettings/categories/storage-management/sub-components/QuotaPerUser.js @@ -1,5 +1,6 @@ -import React, { useState } from "react"; +import { useState } from "react"; import { useTranslation } from "react-i18next"; +import { inject, observer } from "mobx-react"; import Text from "@docspace/components/text"; import ToggleButton from "@docspace/components/toggle-button"; @@ -9,7 +10,7 @@ import QuotaForm from "../../../../../components/QuotaForm"; let timerId = null; const QuotaPerUserComponent = (props) => { - const { isDisabled } = props; + const { isDisabled, setUserQuota } = props; const { t } = useTranslation("Settings"); @@ -23,31 +24,16 @@ const QuotaPerUserComponent = (props) => { setIsToggleChecked(checked); }; - const startLoading = (name) => { - setTimeout(() => setIsLoading({ ...isLoading, [name]: true }), 200); - }; - const resetLoading = (name) => { - setIsLoading({ [name]: false }); - }; - const onSaveUserQuota = async (size) => { console.log("onSaveUserQuota", size); - const name = "user"; - timerId = startLoading(name); + timerId = setTimeout(() => setIsLoading(true), 200); - var promise = new Promise((resolve, reject) => { - setTimeout(() => { - //reject(new Error("timeout")); - resolve(); - }, [1000]); - }); - - await promise; + await setUserQuota(size); timerId && clearTimeout(timerId); timerId = null; - resetLoading(name); + setIsLoading(false); }; return ( @@ -55,7 +41,6 @@ const QuotaPerUserComponent = (props) => {
{ ); }; -export default QuotaPerUserComponent; +export default inject(({ auth }) => { + const { currentQuotaStore } = auth; + const { setUserQuota } = currentQuotaStore; + const { isItemQuotaAvailable } = currentQuotaStore; + + return { setUserQuota, isDisabled: !isItemQuotaAvailable }; +})(observer(QuotaPerUserComponent)); diff --git a/packages/common/api/settings/index.js b/packages/common/api/settings/index.js index e9fbe1f877..880d97bfd6 100644 --- a/packages/common/api/settings/index.js +++ b/packages/common/api/settings/index.js @@ -768,10 +768,10 @@ export function removeActiveSession(eventId) { }); } -export function baseUserQuota(enableUserQuota, defaultUserQuota) { +export function setDefaultUserQuota(enableQuota, defaultQuota) { const data = { - enableUserQuota, - defaultUserQuota, + enableQuota, + defaultQuota, }; const options = { method: "post", diff --git a/packages/common/store/CurrentQuotaStore.js b/packages/common/store/CurrentQuotaStore.js index f5b21703a3..844f18a9f8 100644 --- a/packages/common/store/CurrentQuotaStore.js +++ b/packages/common/store/CurrentQuotaStore.js @@ -4,7 +4,7 @@ import toastr from "@docspace/components/toast/toastr"; import api from "../api"; import { PortalFeaturesLimitations } from "../constants"; import authStore from "./AuthStore"; -import { baseUserQuota } from "../api/settings"; +import { setDefaultUserQuota } from "../api/settings"; const MANAGER = "manager"; const TOTAL_SIZE = "total_size"; @@ -144,7 +144,7 @@ class QuotasStore { (obj) => obj.id === "statistic" ); - return result?.value; + return true; } get isRestoreAndAutoBackupAvailable() { const result = this.currentPortalQuotaFeatures.find( @@ -252,7 +252,7 @@ class QuotasStore { const quotaSize = isEnable ? quota : -1; try { - await baseUserQuota(isEnable, quotaSize); + await setDefaultUserQuota(isEnable, quotaSize); toastr.success(t("Common:MemoryQuotaEnabled")); } catch (e) { toastr.error(e);