"use client"; import React, { useState } from 'react'; import { useAuth } from '@/contexts/AuthContext'; import { BuyCreditsModal } from './BuyCreditsModal'; interface CreditsDisplayProps { className?: string; variant?: 'simple' | 'full'; } export const CreditsDisplay: React.FC = ({ className, variant = 'simple' }) => { const { user, isLoading } = useAuth(); const [isModalOpen, setIsModalOpen] = useState(false); if (isLoading || !user || user.thread_count === undefined || user.max_thread_count === undefined) { return null; // Or a skeleton loader } const percentage = Math.min(100, Math.max(0, (user.thread_count / user.max_thread_count) * 100)); const isLow = user.max_thread_count - user.thread_count < 10 || percentage > 90; const isCritical = user.thread_count >= user.max_thread_count; return ( <>
setIsModalOpen(true)} title="Click to buy more threads" >
{variant === 'full' ? (
Threads Used {user.thread_count} / {user.max_thread_count}
) : ( <> Threads: {user.thread_count} / {user.max_thread_count} + )}
setIsModalOpen(false)} /> ); };