diff --git a/src/components/ServiceDetails/AboutService/ServiceDemo/Purchase/ActiveSession/index.js b/src/components/ServiceDetails/AboutService/ServiceDemo/Purchase/ActiveSession/index.js
index b9dbf79e..e5884173 100644
--- a/src/components/ServiceDetails/AboutService/ServiceDemo/Purchase/ActiveSession/index.js
+++ b/src/components/ServiceDetails/AboutService/ServiceDemo/Purchase/ActiveSession/index.js
@@ -1,6 +1,7 @@
import React, { useState } from "react";
import { withStyles } from "@mui/styles";
import Tooltip from "@mui/material/Tooltip";
+import CircularProgress from "@mui/material/CircularProgress";
import AlertBox from "../../../../../common/AlertBox";
import StyledButton from "../../../../../common/StyledButton";
@@ -13,7 +14,14 @@ import { currentServiceDetails } from "../../../../../../Redux/reducers/ServiceD
import { isUndefined } from "lodash";
import { updateMetamaskWallet } from "../../../../../../Redux/actionCreators/UserActions";
-const ActiveSession = ({ classes, freeCallsRemaining, handleComplete, freeCallsAllowed, isServiceAvailable }) => {
+const ActiveSession = ({
+ classes,
+ isFreecallLoading,
+ freeCallsRemaining,
+ handleComplete,
+ freeCallsAllowed,
+ isServiceAvailable,
+}) => {
const dispatch = useDispatch();
const { detailsTraining } = useSelector((state) => state.serviceDetailsReducer);
const { org_id, service_id } = useSelector((state) => currentServiceDetails(state));
@@ -50,7 +58,9 @@ const ActiveSession = ({ classes, freeCallsRemaining, handleComplete, freeCallsA
/>
Free API Calls
- {freeCallsRemaining}
+
+ {isFreecallLoading ? : freeCallsRemaining}
+
{
const [purchaseCompleted, setPurchaseCompleted] = useState(false);
const [isServiceExecutionComplete, setIsServiceExecutionComplete] = useState(false);
const [alert, setAlert] = useState({});
+ const [isFreecallLoading, setIsFreecallLoading] = useState(false);
+
+ const fetchFreeCallsUsage = async () => {
+ try {
+ setIsFreecallLoading(true);
+ return await dispatch(
+ serviceDetailsActions.fetchMeteringData({
+ orgId: service.org_id,
+ serviceId: service.service_id,
+ groupId: groupInfo.group_id,
+ username: email,
+ })
+ );
+ } catch (error) {
+ console.log(error);
+ } finally {
+ setIsFreecallLoading(false);
+ }
+ };
useEffect(() => {
if (process.env.REACT_APP_SANDBOX) {
return;
}
+ fetchFreeCallsUsage();
try {
dispatch(loaderActions.startAppLoader(LoaderContent.INIT_SERVICE_DEMO));
@@ -84,17 +104,6 @@ const ServiceDemo = ({ classes, service }) => {
}
};
- const fetchFreeCallsUsage = () => {
- return dispatch(
- serviceDetailsActions.fetchMeteringData({
- orgId: service.org_id,
- serviceId: service.service_id,
- groupId: groupInfo.group_id,
- username: email,
- })
- );
- };
-
// const pollWalletDetails = async () => {
// const {
// service: { org_id: orgId },
@@ -177,6 +186,7 @@ const ServiceDemo = ({ classes, service }) => {
handleComplete: handlePurchaseComplete,
freeCallsRemaining: freeCalls.remaining,
freeCallsAllowed: freeCalls.allowed,
+ isFreecallLoading,
wallet,
handlePurchaseError,
isServiceAvailable: Boolean(service.is_available),