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 = ``;