import React, { useState, useEffect } from "react"; import { View, ScrollView, Pressable, ActivityIndicator } from "react-native"; import { useSirouRouter } from "@sirou/react-native"; import { AppRoutes } from "@/lib/routes"; import { Text } from "@/components/ui/text"; import { Card, CardContent } from "@/components/ui/card"; import { FileText, ChevronRight, TrendingUp, TrendingDown, Clock, } from "@/lib/icons"; import { ScreenWrapper } from "@/components/ScreenWrapper"; import { ShadowWrapper } from "@/components/ShadowWrapper"; import { StandardHeader } from "@/components/StandardHeader"; import { EmptyState } from "@/components/EmptyState"; import { api } from "@/lib/api"; import { Stack } from "expo-router"; export default function HistoryScreen() { const nav = useSirouRouter(); const [loading, setLoading] = useState(true); const [stats, setStats] = useState({ totalRevenue: 0, pending: 0 }); const [invoices, setInvoices] = useState([]); useEffect(() => { fetchData(); }, []); const fetchData = async () => { try { setLoading(true); const [statsRes, invoicesRes] = await Promise.all([ api.invoices.stats(), api.invoices.getAll({ query: { limit: 100 } }), ]); setStats(statsRes); setInvoices(invoicesRes.data || []); } catch (error) { console.error("[HistoryScreen] Error fetching history:", error); } finally { setLoading(false); } }; return ( Total Inflow ${stats.totalRevenue.toLocaleString()} Pending ${stats.pending.toLocaleString()} All Activity {loading ? ( ) : ( {invoices.length > 0 ? ( invoices.map((inv) => ( nav.go("invoices/[id]", { id: inv.id })} > {inv.customerName} {new Date(inv.issueDate).toLocaleDateString()} ยท Proforma ${Number(inv.amount).toLocaleString()} {inv.status} )) ) : ( nav.go("proforma/create")} previewLines={4} /> )} )} ); }