fix: simplify isSubscriptionOverdue method and improve formatting in MasterPage component

This commit is contained in:
Simon Larsen
2025-06-02 14:18:26 +01:00
parent acf11e25fe
commit f5d326c086
3 changed files with 21 additions and 16 deletions

View File

@@ -33,17 +33,15 @@ export class SubscriptionStatusUtil {
public static isSubscriptionOverdue(
status?: SubscriptionStatus | undefined,
): boolean {
): boolean {
if (!status) {
return false;
}
return (
status === SubscriptionStatus.PastDue
);
return status === SubscriptionStatus.PastDue;
}
// is subscription canclled.
// is subscription canclled.
public static isSubscriptionCancelled(
status?: SubscriptionStatus | undefined,
): boolean {

View File

@@ -52,7 +52,7 @@ export default class ProjectUtil {
data.paymentProviderSubscriptionStatus,
);
const isSubscriptionOverdue: boolean =
const isSubscriptionOverdue: boolean =
SubscriptionStatusUtil.isSubscriptionOverdue(
data.paymentProviderMeteredSubscriptionStatus,
) ||

View File

@@ -4,7 +4,9 @@ import Footer from "../Footer/Footer";
import Header from "../Header/Header";
import NavBar from "../NavBar/NavBar";
import Route from "Common/Types/API/Route";
import SubscriptionStatus, { SubscriptionStatusUtil } from "Common/Types/Billing/SubscriptionStatus";
import SubscriptionStatus, {
SubscriptionStatusUtil,
} from "Common/Types/Billing/SubscriptionStatus";
import SSOAuthorizationException from "Common/Types/Exception/SsoAuthorizationException";
import AppLink from "../AppLink/AppLink";
import MasterPage from "Common/UI/Components/MasterPage/MasterPage";
@@ -53,14 +55,15 @@ const DashboardMasterPage: FunctionComponent<ComponentProps> = (
let isSubscriptionOverdue: boolean = false;
if (props.selectedProject) {
isSubscriptionInactiveOrOverdue = ProjectUtil.setIsSubscriptionInactiveOrOverdue({
paymentProviderMeteredSubscriptionStatus:
props.selectedProject?.paymentProviderMeteredSubscriptionStatus ||
SubscriptionStatus.Active,
paymentProviderSubscriptionStatus:
props.selectedProject?.paymentProviderSubscriptionStatus ||
SubscriptionStatus.Active,
});
isSubscriptionInactiveOrOverdue =
ProjectUtil.setIsSubscriptionInactiveOrOverdue({
paymentProviderMeteredSubscriptionStatus:
props.selectedProject?.paymentProviderMeteredSubscriptionStatus ||
SubscriptionStatus.Active,
paymentProviderSubscriptionStatus:
props.selectedProject?.paymentProviderSubscriptionStatus ||
SubscriptionStatus.Active,
});
isSubscriptionOverdue =
SubscriptionStatusUtil.isSubscriptionOverdue(
@@ -78,7 +81,11 @@ const DashboardMasterPage: FunctionComponent<ComponentProps> = (
{BILLING_ENABLED && isSubscriptionInactiveOrOverdue && (
<TopAlert
alertType={TopAlertType.DANGER}
title={isSubscriptionOverdue ? "Your project will become inactive soon because some of the invoices are unpaid" : "Your project is not active because some invoices are unpaid. If left unpaid, your project will be deleted."}
title={
isSubscriptionOverdue
? "Your project will become inactive soon because some of the invoices are unpaid"
: "Your project is not active because some invoices are unpaid. If left unpaid, your project will be deleted."
}
description={
<AppLink
className="underline"