56 lines
1.6 KiB
PHP
56 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Clusters\User\Resources\UserActivities;
|
|
|
|
use App\Filament\Clusters\User\Resources\UserActivities\Pages\ListUserActivities;
|
|
use App\Filament\Clusters\User\Resources\UserActivities\Schemas\UserActivityForm;
|
|
use App\Filament\Clusters\User\Resources\UserActivities\Tables\UserActivitiesTable;
|
|
use App\Filament\Clusters\User\UserCluster;
|
|
use App\Models\UserActivity;
|
|
use Filament\Resources\Resource;
|
|
use Filament\Schemas\Schema;
|
|
use Filament\Tables\Table;
|
|
|
|
class UserActivityResource extends Resource
|
|
{
|
|
protected static ?string $model = UserActivity::class;
|
|
|
|
protected static ?string $cluster = UserCluster::class;
|
|
|
|
protected static ?int $navigationSort = 20;
|
|
|
|
protected static string|\UnitEnum|null $navigationGroup = 'User';
|
|
|
|
protected static ?string $navigationLabel = 'Connected';
|
|
|
|
protected static ?string $modelLabel = '';
|
|
|
|
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-users';
|
|
|
|
public static function form(Schema $schema): Schema
|
|
{
|
|
return UserActivityForm::configure($schema);
|
|
}
|
|
|
|
public static function table(Table $table): Table
|
|
{
|
|
return UserActivitiesTable::configure($table);
|
|
}
|
|
|
|
public static function getPages(): array
|
|
{
|
|
return [
|
|
'index' => ListUserActivities::route('/'),
|
|
];
|
|
}
|
|
|
|
public static function getNavigationBadge(): ?string
|
|
{
|
|
return (string) UserActivity::query()
|
|
->select('user_id', \DB::raw('count(*) as total'))
|
|
->groupBy('user_id')
|
|
->pluck('user_id')
|
|
->first() ?? 0;
|
|
}
|
|
}
|