diff --git a/apps/client/pages/settings.tsx b/apps/client/pages/settings.tsx
index 581a937b..b0380f6b 100644
--- a/apps/client/pages/settings.tsx
+++ b/apps/client/pages/settings.tsx
@@ -35,7 +35,7 @@ export default function SettingsPage() {
Details
Security
- Billing
+ {process.env.STRIPE_API_KEY && Billing}
@@ -46,9 +46,11 @@ export default function SettingsPage() {
-
-
-
+ {process.env.STRIPE_API_KEY && (
+
+
+
+ )}
diff --git a/apps/workers/src/env.ts b/apps/workers/src/env.ts
index ba2464b9..3bfcfb45 100644
--- a/apps/workers/src/env.ts
+++ b/apps/workers/src/env.ts
@@ -33,6 +33,8 @@ const envSchema = z.object({
NX_CDN_PRIVATE_BUCKET: z.string().default('REPLACE_THIS'),
NX_CDN_PUBLIC_BUCKET: z.string().default('REPLACE_THIS'),
+
+ STRIPE_API_KEY: z.string().optional(),
})
const env = envSchema.parse(process.env)
diff --git a/apps/workers/src/main.ts b/apps/workers/src/main.ts
index f6795dc6..70cdffd6 100644
--- a/apps/workers/src/main.ts
+++ b/apps/workers/src/main.ts
@@ -154,11 +154,13 @@ syncInstitutionQueue.add(
*/
sendEmailQueue.process('send-email', async (job) => await emailProcessor.send(job.data))
-sendEmailQueue.add(
- 'send-email',
- { type: 'trial-reminders' },
- { repeat: { cron: '0 */12 * * *' } } // Run every 12 hours
-)
+if (env.STRIPE_API_KEY) {
+ sendEmailQueue.add(
+ 'send-email',
+ { type: 'trial-reminders' },
+ { repeat: { cron: '0 */12 * * *' } } // Run every 12 hours
+ )
+}
// Fallback - usually triggered by errors not handled (or thrown) within the Bull event handlers (see above)
process.on(
diff --git a/libs/client/features/src/layout/DesktopLayout.tsx b/libs/client/features/src/layout/DesktopLayout.tsx
index 21023d6b..55eaf49a 100644
--- a/libs/client/features/src/layout/DesktopLayout.tsx
+++ b/libs/client/features/src/layout/DesktopLayout.tsx
@@ -313,7 +313,6 @@ function DefaultContent({
email,
}: PropsWithChildren<{ onboarding?: ReactNode; name?: string; email?: string }>) {
const { addAccount } = useAccountContext()
-
return (
<>
@@ -338,7 +337,7 @@ function DefaultContent({
{onboarding && onboarding}
-
+ {process.env.STRIPE_API_KEY &&
}
diff --git a/libs/client/features/src/layout/MobileLayout.tsx b/libs/client/features/src/layout/MobileLayout.tsx
index 585af1dd..960b929e 100644
--- a/libs/client/features/src/layout/MobileLayout.tsx
+++ b/libs/client/features/src/layout/MobileLayout.tsx
@@ -174,7 +174,7 @@ export function MobileLayout({ children, sidebar }: MobileLayoutProps) {
-
+ {process.env.STRIPE_API_KEY && }
diff --git a/libs/client/features/src/user-billing/BillingPreferences.tsx b/libs/client/features/src/user-billing/BillingPreferences.tsx
index 022a03d8..66064d1f 100644
--- a/libs/client/features/src/user-billing/BillingPreferences.tsx
+++ b/libs/client/features/src/user-billing/BillingPreferences.tsx
@@ -78,7 +78,9 @@ export function BillingPreferences() {
)}
- setTakeoverOpen(false)} />
+ {process.env.STRIPE_API_KEY && (
+ setTakeoverOpen(false)} />
+ )}
>
)
}