import { useEffect } from 'react'; import { Link } from 'react-router-dom'; import PageMeta from '../../components/common/PageMeta'; import { Card } from '../../components/ui/card'; import Badge from '../../components/ui/badge/Badge'; import Button from '../../components/ui/button/Button'; import { DollarLineIcon } from '../../icons'; import { useBillingStore } from '../../store/billingStore'; export default function BillingBalancePanel() { const { balance, loading, error, loadBalance } = useBillingStore(); useEffect(() => { loadBalance(); }, [loadBalance]); if (loading && !balance) { return (
Loading credit balance...
); } return (

Credit Balance

Manage your AI credits and subscription status

{error && !balance && (
Balance unavailable. {error}
)} {balance && (

Current Balance

{(balance?.credits ?? 0).toLocaleString()}

Available credits

Subscription Plan

{(balance as any)?.subscription_plan || 'None'}

{(balance?.plan_credits_per_month ?? 0) ? `${(balance?.plan_credits_per_month ?? 0).toLocaleString()} credits/month` : 'No subscription'}

Status

{(balance as any)?.subscription_status || 'No subscription'}

Subscription status

)} {error && balance && (
Latest balance may be stale: {error}
)}
); }