import { show } from '@/actions/App/Http/Controllers/AccountController';
import { UpdateBalanceDialog } from '@/components/accounts/update-balance-dialog';
import { EncryptedText } from '@/components/encrypted-text';
import { AmountDisplay } from '@/components/ui/amount-display';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { AccountWithMetrics } from '@/hooks/use-dashboard-data';
import { __ } from '@/utils/i18n';
import { Link } from '@inertiajs/react';
import { useState } from 'react';
import { Line, LineChart, ResponsiveContainer, Tooltip } from 'recharts';
import { AccountTypeIcon } from './account-type-icon';
import { AmountTrendIndicator } from './amount-trend-indicator';
interface AccountBalanceCardProps {
account: AccountWithMetrics;
loading?: boolean;
onBalanceUpdated?: () => void;
}
export function AccountBalanceCard({
account,
loading,
onBalanceUpdated,
}: AccountBalanceCardProps) {
const [updateBalanceOpen, setUpdateBalanceOpen] = useState(false);
if (loading) {
return (
{__('Loading...')}
);
}
const isPositive = account.diff >= 0;
return (
{account.bank.logo && (
)}
{
if (!active || !payload?.length)
return null;
const data = payload[0].payload as {
date: string;
value: number;
};
return (
);
}}
/>
);
}