label(function (): string { $progress = $this->getLivewire()->getVerificationProgress(); $verification = $progress['verification']; return $verification && $verification->status === VerificationStatus::NEED_REVISION ? 'Kirim Ulang' : 'Ajukan Verifikasi'; }) ->icon('heroicon-o-paper-airplane') ->color('primary') ->requiresConfirmation() ->modalHeading(fn () => CheerfulNotification::getByKey('verification.submit.title')) ->modalDescription(function (): string { $progress = $this->getLivewire()->getVerificationProgress(); if (! $progress['isDataComplete']) { return CheerfulNotification::getByKey( 'verification.submit.description.incomplete', ['missing' => implode(', ', $progress['missingData'])] ); } $verification = $progress['verification']; if ($verification && $verification->status === VerificationStatus::NEED_REVISION) { return CheerfulNotification::getByKey('verification.submit.description.revision'); } return CheerfulNotification::getByKey('verification.submit.description.default'); }) ->modalSubmitActionLabel('Ya, Ajukan') ->visible(function (): bool { return $this->getLivewire()->getVerificationProgress()['canSubmit']; }) ->disabled(function (): bool { return ! $this->getLivewire()->getVerificationProgress()['isDataComplete']; }) ->action(function (array $data = []): void { $this->getLivewire()->handleVerificationSubmit($data); }); } }