"use client"; import { useRouter, usePathname, useSearchParams } from "next/navigation"; import { Card, CardContent } from "poyraz-ui/atoms"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "poyraz-ui/molecules"; import { Bar, BarChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis, PieChart, Pie, Cell, Legend } from "recharts"; import { BarChart3, Filter } from "lucide-react"; export type AnalyticsData = { metrics: { projectIncomeData: { name: string; value: number }[]; completedTasks: number; activeTasks: number; }; range: string; }; type AnalyticsClientProps = { data: AnalyticsData; }; const COLORS = ["var(--poyraz-primary)", "var(--poyraz-destructive)", "#eab308", "#3b82f6", "#8b5cf6"]; export function AnalyticsClient({ data }: AnalyticsClientProps) { const router = useRouter(); const pathname = usePathname(); const searchParams = useSearchParams(); const handleRangeChange = (newRange: string) => { const params = new URLSearchParams(searchParams.toString()); params.set("range", newRange); router.push(`${pathname}?${params.toString()}`); }; const { projectIncomeData, completedTasks, activeTasks } = data.metrics; const taskStatusData = [ { name: "Tamamlanan", value: completedTasks }, { name: "Devam Eden", value: activeTasks } ]; return (
Analizler

Performans ve Finans Analizi

Müşteri bazlı gelirler, görev tamamlama oranları ve proje ilerleme grafikleri.

Proje Bazlı Gelir Dağılımı

{projectIncomeData.length > 0 ? ( {projectIncomeData.map((entry, index) => ( ))} `₺${Number(value ?? 0)}`} contentStyle={{ backgroundColor: 'var(--poyraz-background)', borderColor: 'var(--poyraz-border)', borderRadius: '0.375rem', }} /> ) : (
Veri bulunamadı.
)}

Görev Durumu Analizi

{ if (active && payload && payload.length) { return (

{label}

{payload.map((entry: any, index: number) => (
Görev Sayısı
{entry.value}
))}
); } return null; }} />
); }