Web: Added min count users from store.

This commit is contained in:
Tatiana Lopaeva 2022-08-31 17:46:00 +03:00
parent da0d096753
commit e11d566ee6
3 changed files with 23 additions and 20 deletions

View File

@ -41,7 +41,7 @@ const PriceCalculation = ({
setIsLoading,
setTotalPrice,
pricePerManager,
minManagersCount,
minAvailableManagersCount,
setManagersCount,
maxAvailableManagersCount,
isFreeTariff,
@ -50,7 +50,9 @@ const PriceCalculation = ({
const isAlreadyPaid = !isFreeTariff;
const initialUsersCount = isAlreadyPaid ? countAdmin : minManagersCount;
const initialUsersCount = isAlreadyPaid
? countAdmin
: minAvailableManagersCount;
const setStartLink = async () => {
if (isAlreadyPaid) return;
@ -60,7 +62,9 @@ const PriceCalculation = ({
useEffect(() => {
setStartLink();
setTotalPrice(isAlreadyPaid ? price : minManagersCount * pricePerManager);
setTotalPrice(
isAlreadyPaid ? price : minAvailableManagersCount * pricePerManager
);
setManagersCount(initialUsersCount);
return () => {
timeout && clearTimeout(timeout);
@ -142,7 +146,7 @@ export default inject(({ auth, payments }) => {
setIsLoading,
setTotalPrice,
maxManagersCount,
minManagersCount,
minAvailableManagersCount,
setManagersCount,
maxAvailableManagersCount,
} = payments;
@ -163,7 +167,7 @@ export default inject(({ auth, payments }) => {
pricePerManager,
setTotalPrice,
maxManagersCount,
minManagersCount,
minAvailableManagersCount,
maxAvailableManagersCount,
};
})(observer(PriceCalculation));

View File

@ -105,27 +105,27 @@ const SelectUsersCountContainer = ({
theme,
isDisabled,
isLoading,
minManagersCount,
minAvailableManagersCount,
isAlreadyPaid,
maxAvailableManagersCount,
setManagersCount,
setTotalPrice,
pricePerManager,
minAvailableManagersCount,
isLessCountThanAcceptable,
}) => {
const { t } = useTranslation("Payments");
const onSliderChange = (e) => {
const count = parseFloat(e.target.value);
if (count > minManagersCount) {
if (count > minAvailableManagersCount) {
setShoppingLink(count);
setManagersCount(count);
setTotalPrice(count * pricePerManager);
} else {
setShoppingLink(minManagersCount);
setManagersCount(minManagersCount);
setTotalPrice(minManagersCount * pricePerManager);
setShoppingLink(minAvailableManagersCount);
setManagersCount(minAvailableManagersCount);
setTotalPrice(minAvailableManagersCount * pricePerManager);
}
};
@ -143,7 +143,7 @@ const SelectUsersCountContainer = ({
if (managersCount >= maxManagersCount) {
value = maxAvailableManagersCount;
} else {
if (managersCount > minManagersCount) {
if (managersCount > minAvailableManagersCount) {
value -= step;
}
}
@ -168,7 +168,7 @@ const SelectUsersCountContainer = ({
if (isNaN(numberValue)) return;
if (numberValue === 0) {
setManagersCount(minManagersCount);
setManagersCount(minAvailableManagersCount);
return;
}
@ -229,10 +229,10 @@ const SelectUsersCountContainer = ({
{...onChangeSlideProp}
/>
<div className="slider-track">
<Text className="slider-track-value_min">
<Text className="slider-track-value_min" noSelect>
{minAvailableManagersCount}
</Text>
<Text className="slider-track-value_max">
<Text className="slider-track-value_max" noSelect>
{maxAvailableManagersCount + "+"}
</Text>
</div>
@ -245,27 +245,27 @@ export default inject(({ auth, payments }) => {
const { theme } = auth.settingsStore;
const {
isLoading,
minManagersCount,
minAvailableManagersCount,
managersCount,
maxManagersCount,
maxAvailableManagersCount,
setManagersCount,
setTotalPrice,
minAvailableManagersCount,
isLessCountThanAcceptable,
} = payments;
return {
theme,
isLoading,
minManagersCount,
minAvailableManagersCount,
managersCount,
maxManagersCount,
maxAvailableManagersCount,
setManagersCount,
setTotalPrice,
pricePerManager,
minAvailableManagersCount,
isLessCountThanAcceptable,
};
})(observer(SelectUsersCountContainer));

View File

@ -26,7 +26,6 @@ class PaymentStore {
maxManagersCount = 1000;
maxAvailableManagersCount = 999;
minAvailableManagersCount = 1;
minManagersCount = 1;
paymentTariff = [];
constructor() {