DocSpace-client/packages/common/components/Article/sub-components/article-alerts.js

84 lines
2.1 KiB
JavaScript

import React from "react";
import { inject, observer } from "mobx-react";
import { withRouter } from "react-router";
import ArticleTeamTrainingAlert from "./article-team-training";
import ArticlePaymentAlert from "./article-payment-alert";
import ArticleEnterpriseAlert from "./article-enterprise-alert";
import { StyledArticleAlertsComponent } from "../styled-article";
const ArticleAlerts = ({
showText,
isNonProfit,
isGracePeriod,
isFreeTariff,
isPaymentPageAvailable,
isTeamTrainingAlertAvailable,
isLicenseExpiring,
isLicenseDateExpired,
isEnterprise,
isTrial,
standalone,
}) => {
const paymentsAlertsComponent = () => {
if (!standalone) {
return (
isPaymentPageAvailable &&
!isNonProfit &&
(isFreeTariff || isGracePeriod) &&
showText && <ArticlePaymentAlert isFreeTariff={isFreeTariff} />
);
}
const isVisibleStandaloneAlert =
isTrial || isLicenseExpiring || isLicenseDateExpired;
return (
isPaymentPageAvailable &&
isEnterprise &&
isVisibleStandaloneAlert &&
showText && <ArticleEnterpriseAlert />
);
};
return (
<StyledArticleAlertsComponent>
{paymentsAlertsComponent()}
{isTeamTrainingAlertAvailable && showText && <ArticleTeamTrainingAlert />}
</StyledArticleAlertsComponent>
);
};
export default withRouter(
inject(({ auth }) => {
const {
currentQuotaStore,
settingsStore,
isPaymentPageAvailable,
isTeamTrainingAlertAvailable,
currentTariffStatusStore,
isEnterprise,
} = auth;
const { isFreeTariff, isNonProfit, isTrial } = currentQuotaStore;
const {
isGracePeriod,
isLicenseExpiring,
isLicenseDateExpired,
} = currentTariffStatusStore;
const { showText, standalone } = settingsStore;
return {
isEnterprise,
showText,
isNonProfit,
isGracePeriod,
isFreeTariff,
isPaymentPageAvailable,
isTeamTrainingAlertAvailable,
isLicenseExpiring,
isLicenseDateExpired,
isTrial,
standalone,
};
})(observer(ArticleAlerts))
);