label('Tambah Penyesuaian') ->color('gray') ->button() ->outlined() ->modalWidth(Width::Large) ->extraAttributes([ 'class' => 'w-full flex justify-center', ]) ->schema([ Hidden::make('payroll_id'), Radio::make('type') ->label('Tipe') ->options(SalaryAdjustmentType::options()) ->required() ->inline(), TextInput::make('description') ->label('Keterangan') ->placeholder('Bonus lembur / Potongan kasbon') ->required() ->maxLength(100) ->autofocus() ->autocomplete(false), TextInput::make('amount') ->label('Nominal') ->placeholder('0') ->required() ->autocomplete(false) ->currencyMask(thousandSeparator: '.', decimalSeparator: ',', precision: 0) ->prefix('Rp') ->dehydrateStateUsing(fn ($state) => (int) str()->replace('.', '', (string) ($state ?? 0))), ]) ->action(function (array $data) { $payroll = Payroll::find($data['payroll_id']); if ($payroll) { $payroll->adjustments()->create([ 'type' => $data['type'], 'description' => $data['description'], 'amount' => $data['amount'], ]); } }) ->successNotification(SystemNotification::create()); } }