import { adminApiClient } from './client' export interface DashboardStats { users: number cards: number packs: number enabledPacks: number payments: number } export interface RecentUser { id: number name?: string email?: string createdAt?: string } export interface TopPack { id: number title: string cards: number enabled: boolean } export interface ChartDataPoint { date: string registrations?: number revenue?: number } export interface DashboardData { stats: DashboardStats recentUsers: RecentUser[] topPacks: TopPack[] } export const analyticsApi = { // Get dashboard analytics getDashboard: async (): Promise => { const response = await adminApiClient.get('/api/v2/admin/analytics/dashboard') return response.data }, // Get user registration chart data getUsersChart: async (): Promise<{ data: ChartDataPoint[]; period: string }> => { const response = await adminApiClient.get('/api/v2/admin/analytics/users/chart') return response.data }, // Get revenue chart data getRevenueChart: async (): Promise<{ data: ChartDataPoint[]; period: string; currency: string }> => { const response = await adminApiClient.get('/api/v2/admin/analytics/revenue/chart') return response.data }, }