MCPcopy Create free account
hub / github.com/winfunc/opcode / loadUsageStats

Function loadUsageStats

src/components/UsageDashboard.original.tsx:40–83  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

38 }, [selectedDateRange]);
39
40 const loadUsageStats = async () => {
41 try {
42 setLoading(true);
43 setError(null);
44
45 let statsData: UsageStats;
46 let sessionData: ProjectUsage[];
47
48 if (selectedDateRange === "all") {
49 statsData = await api.getUsageStats();
50 sessionData = await api.getSessionStats();
51 } else {
52 const endDate = new Date();
53 const startDate = new Date();
54 const days = selectedDateRange === "7d" ? 7 : 30;
55 startDate.setDate(startDate.getDate() - days);
56
57 const formatDateForApi = (date: Date) => {
58 const year = date.getFullYear();
59 const month = String(date.getMonth() + 1).padStart(2, '0');
60 const day = String(date.getDate()).padStart(2, '0');
61 return `${year}${month}${day}`;
62 }
63
64 statsData = await api.getUsageByDateRange(
65 startDate.toISOString(),
66 endDate.toISOString()
67 );
68 sessionData = await api.getSessionStats(
69 formatDateForApi(startDate),
70 formatDateForApi(endDate),
71 'desc'
72 );
73 }
74
75 setStats(statsData);
76 setSessionStats(sessionData);
77 } catch (err) {
78 console.error("Failed to load usage stats:", err);
79 setError("Failed to load usage statistics. Please try again.");
80 } finally {
81 setLoading(false);
82 }
83 };
84
85 const formatCurrency = (amount: number): string => {
86 return new Intl.NumberFormat('en-US', {

Callers 2

UsageDashboardFunction · 0.85
UsageDashboardFunction · 0.85

Calls 1

formatDateForApiFunction · 0.70

Tested by

no test coverage detected