"use client"; import { useQuery } from "@tanstack/react-query"; import Link from "next/link"; import { useTenantId } from "@/hooks/useTenantId"; import { sportsCenterApi } from "@/modules/sports-center/services/sports-center-api"; import { SportsCenterPageLoader, SportsCenterPageError } from "@/modules/sports-center/pages/shared"; import { PageHeader, StatCard, Card, CardContent, Button } from "@/components/ds"; import { SportsCenterBreadcrumbs } from "@/modules/sports-center/components/SportsCenterBreadcrumbs"; export function AnalyticsPage() { const { tenantId } = useTenantId(); const q = useQuery({ queryKey: ["sports-center", tenantId, "analytics"], queryFn: async () => { const [members, memberships, coaches] = await Promise.all([ sportsCenterApi.members.list(tenantId!, { page: 1, page_size: 500 }), sportsCenterApi.memberships.list(tenantId!, { page: 1, page_size: 500 }), sportsCenterApi.coaches.list(tenantId!, { page: 1, page_size: 500 }), ]); return { members: members.length, memberships: memberships.length, coaches: coaches.length }; }, enabled: !!tenantId, }); if (!tenantId || q.isLoading) return ; if (q.error) return q.refetch()} />; return ( ); } export function ReportsPage() { const { tenantId } = useTenantId(); const q = useQuery({ queryKey: ["sports-center", tenantId, "reports"], queryFn: () => sportsCenterApi.members.list(tenantId!, { page: 1, page_size: 500 }), enabled: !!tenantId, }); if (!tenantId || q.isLoading) return ; if (q.error) return q.refetch()} />; return ( {q.data!.length} عضو ثبتشده — گزارشهای تفصیلی از دادههای live. ); } export function NotificationsPage() { return ( ارسال اعلان از طریق سرویس Communication — بدون mock. تنظیمات یکپارچهسازی ); } export default AnalyticsPage;
ارسال اعلان از طریق سرویس Communication — بدون mock.