Refactor Bonus, DisciplinaryReport, Gift, and Explanation schemas to enhance layout and organization. Introduce sections for better categorization of information, improve date picker functionality, and update localization for various fields across multiple languages.

This commit is contained in:
Mekan1206
2026-08-02 22:08:33 +05:00
parent a9f7dc1076
commit 9e623d2d29
10 changed files with 205 additions and 110 deletions

View File

@@ -1,9 +1,13 @@
<?php
declare(strict_types=1);
namespace App\Filament\Resources\Bonuses\Schemas;
use App\Enums\BonusType;
use App\Models\Bonus;
use Filament\Infolists\Components\TextEntry;
use Filament\Schemas\Components\Section;
use Filament\Schemas\Schema;
class BonusInfolist
@@ -12,33 +16,47 @@ class BonusInfolist
{
return $schema
->components([
TextEntry::make('employee.id')
->label(__('hr.fields.employee')),
TextEntry::make('bonus_date')
->label(__('hr.fields.bonus_date'))
->date(),
TextEntry::make('bonus_type')
->label(__('hr.fields.bonus_type'))
->badge(),
TextEntry::make('amount')
->label(__('hr.fields.amount'))
->numeric(),
TextEntry::make('reason')
->label(__('hr.fields.reason'))
->placeholder('-')
->columnSpanFull(),
TextEntry::make('created_at')
->label(__('hr.fields.created_at'))
->dateTime()
->placeholder('-'),
TextEntry::make('updated_at')
->label(__('hr.fields.updated_at'))
->dateTime()
->placeholder('-'),
TextEntry::make('deleted_at')
->label(__('hr.fields.deleted_at'))
->dateTime()
->visible(fn (Bonus $record): bool => $record->trashed()),
Section::make(__('hr.sections.basic_info'))
->schema([
TextEntry::make('employee.full_name')
->label(__('hr.fields.employee')),
TextEntry::make('bonus_date')
->label(__('hr.fields.bonus_date'))
->date('d.m.Y'),
TextEntry::make('bonus_type')
->label(__('hr.fields.bonus_type'))
->badge()
->color(fn (BonusType $state): string => $state->color())
->formatStateUsing(fn (BonusType $state): string => $state->label()),
])
->columns(3),
Section::make(__('hr.sections.bonus_details'))
->schema([
TextEntry::make('amount')
->label(__('hr.fields.amount'))
->money('TMT'),
TextEntry::make('reason')
->label(__('hr.fields.reason'))
->placeholder('—')
->columnSpanFull(),
])
->columns(2),
Section::make(__('hr.sections.metadata'))
->schema([
TextEntry::make('created_at')
->label(__('hr.fields.created_at'))
->dateTime('d.m.Y H:i')
->placeholder('—'),
TextEntry::make('updated_at')
->label(__('hr.fields.updated_at'))
->dateTime('d.m.Y H:i')
->placeholder('—'),
TextEntry::make('deleted_at')
->label(__('hr.fields.deleted_at'))
->dateTime('d.m.Y H:i')
->visible(fn (Bonus $record): bool => $record->trashed()),
])
->columns(2),
]);
}
}