<?php

namespace App\Filament\Widgets;

use App\Models\Visitor;
use Filament\Widgets\ChartWidget;

class VisitorChart extends ChartWidget
{
    protected static ?int $sort = 2; // কার্ডগুলোর নিচে দেখানোর জন্য

    // এখানে protected এর জায়গায় public দেওয়া হয়েছে
    public function getHeading(): string
    {
        return 'Page Visit Statistics (Last 7 Days)';
    }

    protected function getData(): array
    {
        $days = [];
        $counts = [];

        // গত ৭ দিনের ডেটা বের করার লুপ
        for ($i = 6; $i >= 0; $i--) {
            $date = now()->subDays($i);
            $days[] = $date->format('M d');
            $counts[] = Visitor::whereDate('created_at', $date->format('Y-m-d'))
                ->distinct('ip_address')
                ->count('ip_address');
        }

        return [
            'datasets' => [
                [
                    'label' => 'Unique Visitors',
                    'data' => $counts,
                    'borderColor' => '#ffcc00', 
                    'backgroundColor' => 'rgba(255, 204, 0, 0.1)', 
                    'fill' => true,
                    'tension' => 0.4, // লাইনটি একটু রাউন্ডেড করার জন্য
                ],
            ],
            'labels' => $days,
        ];
    }

    protected function getType(): string
    {
        return 'line';
    }
}