From 08f223899a415b5d95b53a0c1d003401778f0dc2 Mon Sep 17 00:00:00 2001
From: Philipinho <16838612+Philipinho@users.noreply.github.com>
Date: Wed, 23 Apr 2025 16:07:58 +0100
Subject: [PATCH] cloud trial refactor
---
apps/client/src/ee/billing/components/billing-trial.tsx | 5 +++--
apps/client/src/ee/hooks/use-trial-end-action.tsx | 4 ++--
apps/client/src/lib/config.ts | 4 ++++
apps/client/vite.config.ts | 2 ++
apps/server/src/ee | 2 +-
apps/server/src/integrations/static/static.module.ts | 3 +++
6 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/apps/client/src/ee/billing/components/billing-trial.tsx b/apps/client/src/ee/billing/components/billing-trial.tsx
index 82dcbb03..38acc17c 100644
--- a/apps/client/src/ee/billing/components/billing-trial.tsx
+++ b/apps/client/src/ee/billing/components/billing-trial.tsx
@@ -1,6 +1,7 @@
import { Alert } from "@mantine/core";
import { useBillingQuery } from "@/ee/billing/queries/billing-query.ts";
import useTrial from "@/ee/hooks/use-trial.tsx";
+import { getBillingTrialDays } from '@/lib/config.ts';
export default function BillingTrial() {
const { data: billing, isLoading } = useBillingQuery();
@@ -15,14 +16,14 @@ export default function BillingTrial() {
{trialDaysLeft > 0 && !billing && (
You have {trialDaysLeft} {trialDaysLeft === 1 ? "day" : "days"} left
- in your 7-day trial. Please subscribe to a plan before your trial
+ in your {getBillingTrialDays()}-day free trial. Please subscribe to a paid plan before your trial
ends.
)}
{trialDaysLeft === 0 && (
- Your 7-day trial has come to an end. Please subscribe to a plan to
+ Your {getBillingTrialDays()}-day free trial has come to an end. Please subscribe to a paid plan to
continue using this service.
)}
diff --git a/apps/client/src/ee/hooks/use-trial-end-action.tsx b/apps/client/src/ee/hooks/use-trial-end-action.tsx
index 931fd6a8..09248c6a 100644
--- a/apps/client/src/ee/hooks/use-trial-end-action.tsx
+++ b/apps/client/src/ee/hooks/use-trial-end-action.tsx
@@ -1,6 +1,6 @@
import { useEffect } from "react";
import { useLocation, useNavigate } from "react-router-dom";
-import { isCloud } from "@/lib/config.ts";
+import { getBillingTrialDays, isCloud } from "@/lib/config.ts";
import APP_ROUTE from "@/lib/app-route.ts";
import useUserRole from "@/hooks/use-user-role.tsx";
import { notifications } from "@mantine/notifications";
@@ -18,7 +18,7 @@ export const useTrialEndAction = () => {
notifications.show({
position: "top-right",
color: "red",
- title: "Your 7-day trial has ended",
+ title: `Your ${getBillingTrialDays()}-day trial has ended`,
message:
"Please upgrade to a paid plan or contact your workspace admin.",
autoClose: false,
diff --git a/apps/client/src/lib/config.ts b/apps/client/src/lib/config.ts
index 9e1efc30..2f621b91 100644
--- a/apps/client/src/lib/config.ts
+++ b/apps/client/src/lib/config.ts
@@ -74,6 +74,10 @@ export function getDrawioUrl() {
return getConfigValue("DRAWIO_URL", "https://embed.diagrams.net");
}
+export function getBillingTrialDays() {
+ return getConfigValue("BILLING_TRIAL_DAYS");
+}
+
function getConfigValue(key: string, defaultValue: string = undefined): string {
const rawValue = import.meta.env.DEV
? process?.env?.[key]
diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts
index 2e557fe5..a6efc4bc 100644
--- a/apps/client/vite.config.ts
+++ b/apps/client/vite.config.ts
@@ -12,6 +12,7 @@ export default defineConfig(({ mode }) => {
CLOUD,
SUBDOMAIN_HOST,
COLLAB_URL,
+ BILLING_TRIAL_DAYS,
} = loadEnv(mode, envPath, "");
return {
@@ -23,6 +24,7 @@ export default defineConfig(({ mode }) => {
CLOUD,
SUBDOMAIN_HOST,
COLLAB_URL,
+ BILLING_TRIAL_DAYS,
},
APP_VERSION: JSON.stringify(process.env.npm_package_version),
},
diff --git a/apps/server/src/ee b/apps/server/src/ee
index d3095f2d..4e7319ab 160000
--- a/apps/server/src/ee
+++ b/apps/server/src/ee
@@ -1 +1 @@
-Subproject commit d3095f2d8bd2870da7f3b534c83c84e8fb3099bc
+Subproject commit 4e7319ab01f0ea535bb4dd6b98ea996fcd1c3ffc
diff --git a/apps/server/src/integrations/static/static.module.ts b/apps/server/src/integrations/static/static.module.ts
index e5152ef8..15db42b0 100644
--- a/apps/server/src/integrations/static/static.module.ts
+++ b/apps/server/src/integrations/static/static.module.ts
@@ -42,6 +42,9 @@ export class StaticModule implements OnModuleInit {
? this.environmentService.getSubdomainHost()
: undefined,
COLLAB_URL: this.environmentService.getCollabUrl(),
+ BILLING_TRIAL_DAYS: this.environmentService.isCloud()
+ ? this.environmentService.getBillingTrialDays()
+ : undefined,
};
const windowScriptContent = ``;