From 37634c26c8a12b923810c118f8aeda67c484f090 Mon Sep 17 00:00:00 2001 From: robin Date: Fri, 26 Dec 2025 23:10:02 +0100 Subject: [PATCH] fix: Show plan monthly_credits when user has no credits entry yet UserStatusBadge now falls back to plan's monthly_credits (e.g., 10 for Starter) instead of showing 0 when user_credits entry doesn't exist --- src/components/UserStatusBadge.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/components/UserStatusBadge.tsx b/src/components/UserStatusBadge.tsx index 6bb4bad..822e2b5 100644 --- a/src/components/UserStatusBadge.tsx +++ b/src/components/UserStatusBadge.tsx @@ -42,14 +42,15 @@ export default function UserStatusBadge() { .eq('user_id', user.id) .single(); - // Get subscription plan + // Get subscription plan with monthly credits const { data: subscription } = await supabase .from('user_subscriptions') .select(` plan_id, subscription_plans ( name, - display_name + display_name, + monthly_credits ) `) .eq('user_id', user.id) @@ -59,8 +60,11 @@ export default function UserStatusBadge() { const planData = subscription?.subscription_plans; const plan = Array.isArray(planData) ? planData[0] : planData; + // If no credits entry yet, show plan's monthly credits as expected amount + const displayCredits = credits?.balance ?? plan?.monthly_credits ?? 10; + setStatus({ - credits: credits?.balance ?? 0, + credits: displayCredits, planName: plan?.name ?? 'starter', planDisplayName: plan?.display_name ?? 'Starter', });