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
This commit is contained in:
2025-12-26 23:10:02 +01:00
parent 9e2abb0aa3
commit 37634c26c8

View File

@@ -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',
});