32 lines
938 B
PHP
32 lines
938 B
PHP
<?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'),
|
|
];
|
|
}
|
|
}
|