<?php

declare(strict_types=1);


namespace App\Filament\Widgets;

use App\Models\Comment;
use App\Models\Post;
use App\Models\User;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;

class BlogStats extends BaseWidget
{
    protected static ?int $sort = 1;

    protected function getStats(): array
    {
        return [
            Stat::make('文章', Post::published()->count())
                ->description('总浏览量 '.number_format((float) Post::sum('views')))
                ->icon('heroicon-o-document-text'),
            Stat::make('评论', Comment::query()->where('status', 'published')->count())
                ->description('待审核 '.Comment::query()->where('status', 'pending')->count())
                ->icon('heroicon-o-chat-bubble-left-right'),
            Stat::make('用户', User::count())
                ->icon('heroicon-o-users'),
        ];
    }
}
