'use client'; import { getCreditBalanceAction } from '@/actions/get-credit-balance'; import { Button } from '@/components/ui/button'; import { useLocaleRouter } from '@/i18n/navigation'; import { Routes } from '@/routes'; import { useTransactionStore } from '@/stores/transaction-store'; import { CoinsIcon, Loader2Icon } from 'lucide-react'; import { useEffect, useState } from 'react'; export function CreditsBalanceButton() { const router = useLocaleRouter(); const { refreshTrigger } = useTransactionStore(); const [credits, setCredits] = useState(0); const [loading, setLoading] = useState(true); useEffect(() => { const fetchCredits = async () => { try { const result = await getCreditBalanceAction(); if (result?.data?.success && result.data.credits !== undefined) { setCredits(result.data.credits); } } catch (error) { console.error('CreditsBalanceButton, fetch credits error:', error); } finally { setLoading(false); } }; fetchCredits(); }, [refreshTrigger]); const handleClick = () => { router.push(Routes.SettingsCredits); }; return ( ); }