feat: tambah role editor, workflow post, leaderboard, rekap kehadiran, kategori kas dengan type, seeder lengkap

This commit is contained in:
2026-04-05 06:21:16 +07:00
parent cde63da358
commit 6c23cc8660
40 changed files with 2432 additions and 129 deletions
@@ -0,0 +1,34 @@
<?php
namespace App\Filament\Resources\Users\RelationManagers;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class AttendanceRelationManager extends RelationManager
{
protected static string $relationship = 'activities';
protected static ?string $title = 'Rekap Kehadiran';
public function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('title')->label('Kegiatan'),
TextColumn::make('start_date')->label('Tanggal')->date('d M Y')->sortable(),
TextColumn::make('pivot.status')->label('Status')
->badge()
->color(fn ($state) => match ($state) {
'hadir' => 'success',
'izin' => 'warning',
'alpha' => 'danger',
default => 'gray',
})
->formatStateUsing(fn ($state) => ucfirst($state ?? '-')),
TextColumn::make('pivot.notes')->label('Catatan')->placeholder('-'),
])
->defaultSort('activities.start_date', 'desc')
->paginated([10, 25]);
}
}
@@ -5,6 +5,7 @@ namespace App\Filament\Resources\Users;
use App\Filament\Resources\Users\Pages\CreateUser;
use App\Filament\Resources\Users\Pages\EditUser;
use App\Filament\Resources\Users\Pages\ListUsers;
use App\Filament\Resources\Users\RelationManagers\AttendanceRelationManager;
use App\Filament\Resources\Users\Schemas\UserForm;
use App\Filament\Resources\Users\Tables\UsersTable;
use App\Models\User;
@@ -30,6 +31,13 @@ class UserResource extends Resource
return UsersTable::configure($table);
}
public static function getRelations(): array
{
return [
AttendanceRelationManager::class,
];
}
public static function getPages(): array
{
return [