diff --git a/app/Filament/Pages/AdminVerification.php b/app/Filament/Pages/AdminVerification.php
deleted file mode 100644
index 82ae95a..0000000
--- a/app/Filament/Pages/AdminVerification.php
+++ /dev/null
@@ -1,340 +0,0 @@
-pending()->count();
- }
-
- public function getVerifications(): LengthAwarePaginator
- {
- $query = VerificationRequest::with([
- 'company.user',
- 'company.partnerMedia',
- 'company.partnerMedia.journalists',
- 'submittedBy',
- 'reviews.reviewer',
- ])
- ->latest('updated_at');
-
- // Apply status filter
- if ($this->filterStatus !== 'all') {
- $query->where('status', $this->filterStatus);
- }
-
- return $query->paginate(12);
- }
-
- public function setFilter(string $status): void
- {
- $this->filterStatus = $status;
- }
-
- public function getStatusCounts(): array
- {
- return [
- 'all' => VerificationRequest::count(),
- 'pending' => VerificationRequest::pending()->count(),
- 'revision' => VerificationRequest::needRevision()->count(),
- 'approved' => VerificationRequest::approved()->count(),
- 'rejected' => VerificationRequest::rejected()->count(),
- ];
- }
-
- /**
- * Get company name from verification request
- */
- public function getCompanyName(VerificationRequest $request): string
- {
- return $request->company?->name ?? 'Data tidak ditemukan';
- }
-
- /**
- * Get detail URL for the company
- */
- public function getDetailUrl(VerificationRequest $request): ?string
- {
- if (! $request->company || ! $request->company->user_id) {
- return null;
- }
-
- return ViewPartner::getUrl(['record' => $request->company->user_id]);
- }
-
- /**
- * Get verification summary data
- */
- public function getVerificationSummary(VerificationRequest $request): array
- {
- $company = $request->company;
- $media = $company?->partnerMedia;
- $journalists = $media?->journalists ?? collect();
-
- return [
- 'company' => [
- 'name' => $company?->name ?? 'Belum diisi',
- 'email' => $company?->email ?? '-',
- 'exists' => $company !== null,
- ],
- 'media' => [
- 'name' => $media?->name ?? 'Belum diisi',
- 'type' => $media?->type?->getLabel() ?? '-',
- 'exists' => $media !== null,
- ],
- 'journalists' => [
- 'count' => $journalists->count(),
- 'names' => $journalists->pluck('name')->take(3)->toArray(),
- 'exists' => $journalists->count() > 0,
- ],
- ];
- }
-
- /**
- * Get card data for verification request
- */
- public function getCardData(VerificationRequest $verification): array
- {
- $latestReview = $verification->reviews->first();
- $summary = $this->getVerificationSummary($verification);
- $status = $verification->status;
-
- return [
- 'companyName' => $this->getCompanyName($verification),
- 'detailUrl' => $this->getDetailUrl($verification),
- 'status' => $status,
- 'statusLabel' => $status->getLabel(),
- 'statusColor' => $status->getColor(),
- 'summary' => $summary,
- 'latestReview' => $latestReview,
- 'latestReviewNote' => $latestReview?->note,
- 'latestReviewDecision' => $latestReview?->decision,
- 'latestReviewDecisionLabel' => $latestReview?->decision?->getLabel(),
- 'latestReviewDecisionColor' => $latestReview?->decision?->getColor(),
- 'latestReviewReviewer' => $latestReview?->reviewer?->name ?? 'Admin',
- 'latestReviewCreatedAt' => $latestReview?->created_at,
- 'submittedBy' => $verification->submittedBy?->name ?? 'Unknown',
- 'reviewsCount' => $verification->reviews->count(),
- 'canApprove' => $status === VerificationStatus::PENDING,
- 'isPending' => $status === VerificationStatus::PENDING,
- 'isRevision' => $status === VerificationStatus::NEED_REVISION,
- 'isApproved' => $status === VerificationStatus::APPROVED,
- 'isRejected' => $status === VerificationStatus::REJECTED,
- ];
- }
-
- /**
- * Approve verification action
- */
- public function approveAction(): Action
- {
- return Action::make('approve')
- ->label('Setujui')
- ->color('success')
- ->icon('heroicon-o-check')
- ->size('sm')
- ->requiresConfirmation()
- ->modalHeading('Setujui Verifikasi')
- ->modalDescription('Apakah Anda yakin ingin menyetujui verifikasi ini? Pastikan data sudah benar dan lengkap.')
- ->modalSubmitActionLabel('Ya, Setujui')
- ->action(function (array $arguments, array $data): void {
- $this->processReview($arguments['id'], DecisionAdmin::APPROVED, $data['note'] ?? null);
- });
- }
-
- /**
- * Revision verification action
- */
- public function revisionAction(): Action
- {
- return Action::make('revision')
- ->label('Minta Revisi')
- ->color('warning')
- ->icon('heroicon-o-pencil-square')
- ->size('sm')
- ->modalHeading('Minta Revisi')
- ->modalDescription('Pengguna akan diminta untuk memperbaiki data sesuai catatan yang diberikan.')
- ->schema([
- Textarea::make('note')
- ->label('Catatan Revisi')
- ->required()
- ->placeholder('Jelaskan bagian yang perlu diperbaiki...')
- ->autocomplete(false)
- ->autofocus(),
- ])
- ->action(function (array $arguments, array $data): void {
- $this->processReview($arguments['id'], DecisionAdmin::NEED_REVISION, $data['note']);
- })
- ->modalWidth(Width::Large);
- }
-
- /**
- * Reject verification action
- */
- public function rejectAction(): Action
- {
- return Action::make('reject')
- ->label('Tolak')
- ->color('danger')
- ->icon('heroicon-o-x-mark')
- ->size('sm')
- ->requiresConfirmation()
- ->modalHeading('Tolak Verifikasi')
- ->modalDescription('Pengajuan akan ditolak secara permanen. Pengguna tidak dapat mengajukan ulang untuk data ini.')
- ->modalSubmitActionLabel('Ya, Tolak')
- ->schema([
- Textarea::make('note')
- ->label('Alasan Penolakan')
- ->required()
- ->placeholder('Jelaskan alasan pengajuan ditolak...')
- ->autocomplete(false)
- ->autofocus(),
- ])
- ->action(function (array $arguments, array $data): void {
- $this->processReview($arguments['id'], DecisionAdmin::REJECTED, $data['note']);
- });
- }
-
- /**
- * Process review decision
- */
- protected function processReview(int $requestId, DecisionAdmin $decision, ?string $note): void
- {
- $verificationRequest = VerificationRequest::with(['company.partnerMedia.journalists'])->find($requestId);
-
- if (! $verificationRequest) {
- CheerfulNotification::danger(
- 'Belum ketemu nih 🙌',
- 'Data verifikasi belum kami temukan. Coba sebentar lagi, ya.',
- )
- ->send();
-
- return;
- }
-
- try {
- DB::beginTransaction();
-
- // Create review record
- VerificationReview::create([
- 'verification_request_id' => $verificationRequest->id,
- 'reviewer_id' => auth()->id(),
- 'decision' => $decision,
- 'note' => $note,
- ]);
-
- // Update verification request status
- $newStatus = match ($decision) {
- DecisionAdmin::APPROVED => VerificationStatus::APPROVED,
- DecisionAdmin::NEED_REVISION => VerificationStatus::NEED_REVISION,
- DecisionAdmin::REJECTED => VerificationStatus::REJECTED,
- };
-
- $verificationRequest->update([
- 'status' => $newStatus,
- ]);
-
- DB::commit();
-
- $actionLabel = match ($decision) {
- DecisionAdmin::APPROVED => 'disetujui',
- DecisionAdmin::NEED_REVISION => 'diminta revisi',
- DecisionAdmin::REJECTED => 'ditolak',
- };
-
- CheerfulNotification::success(
- 'Berhasil Diproses! ✨',
- "Mantap! Verifikasi telah {$actionLabel} dan notifikasi sudah dikirim ke pengguna. Kerja bagus, Admin! 💪"
- )
- ->send();
-
- // Notify User
- $partnerUser = $verificationRequest->company?->user;
- if ($partnerUser) {
- $statusTitle = match ($decision) {
- DecisionAdmin::APPROVED => 'Horee! Verifikasi Disetujui 🎉',
- DecisionAdmin::NEED_REVISION => 'Yah, Ada Yang Perlu Direvisi nih 📝',
- DecisionAdmin::REJECTED => 'Maaf, Verifikasi Ditolak 😔',
- };
-
- $body = match ($decision) {
- DecisionAdmin::APPROVED => 'Yeay! Pengajuan verifikasi perusahaan Anda telah disetujui. Sekarang Anda sudah resmi terverifikasi dan bekerja sama dengan kami! 🎊',
- DecisionAdmin::NEED_REVISION => 'Ayo sedikit lagi! Admin meminta beberapa perbaikan pada pengajuan Anda agar bisa segera disetujui. 💪',
- DecisionAdmin::REJECTED => 'Yah, maaf banget... pengajuan verifikasi perusahaan Anda belum bisa kami terima saat ini. 💔',
- };
-
- if ($note) {
- $body .= "\n\nCatatan Admin: {$note}";
- }
-
- $partnerUser->notify(new BroadcastNotification([
- 'title' => $statusTitle,
- 'body' => $body,
- 'action' => [
- Action::make('view')
- ->label('Lihat')
- ->url(Verification::getUrl()),
- ],
- ]));
- }
- } catch (\Throwable $e) {
- DB::rollBack();
- Log::error('Verification processing failed', [
- 'error' => $e->getMessage(),
- 'trace' => $e->getTraceAsString(),
- 'request_id' => $requestId,
- 'decision' => $decision->value,
- ]);
-
- CheerfulNotification::danger(
- 'Terjadi Kesalahan ⚠️',
- 'Proses verifikasi gagal karena kesalahan sistem. Tim kami sudah mencatat masalah ini. Silakan coba lagi nanti.',
- )
- ->send();
- }
- }
-}
diff --git a/app/Filament/Pages/AdminVerification/Actions/ApproveAction.php b/app/Filament/Pages/AdminVerification/Actions/ApproveAction.php
new file mode 100644
index 0000000..9e20308
--- /dev/null
+++ b/app/Filament/Pages/AdminVerification/Actions/ApproveAction.php
@@ -0,0 +1,34 @@
+label('Setujui')
+ ->color('success')
+ ->icon('heroicon-o-check')
+ ->size('sm')
+ ->requiresConfirmation()
+ ->modalHeading('Setujui Verifikasi')
+ ->modalDescription('Apakah Anda yakin ingin menyetujui verifikasi ini? Pastikan data sudah benar dan lengkap.')
+ ->modalSubmitActionLabel('Ya, Setujui')
+ ->action(function (array $arguments): void {
+ $this->processReview($arguments['id'], DecisionAdmin::APPROVED, null);
+ });
+ }
+}
diff --git a/app/Filament/Pages/AdminVerification/Actions/Concerns/CanProcessReview.php b/app/Filament/Pages/AdminVerification/Actions/Concerns/CanProcessReview.php
new file mode 100644
index 0000000..2ef5f55
--- /dev/null
+++ b/app/Filament/Pages/AdminVerification/Actions/Concerns/CanProcessReview.php
@@ -0,0 +1,113 @@
+find($requestId);
+
+ if (! $verificationRequest) {
+ CheerfulNotification::danger(
+ 'Belum ketemu nih 🙌',
+ 'Data verifikasi belum kami temukan. Coba sebentar lagi, ya.',
+ )
+ ->send();
+
+ return;
+ }
+
+ try {
+ DB::beginTransaction();
+
+ // Create review record
+ VerificationReview::create([
+ 'verification_request_id' => $verificationRequest->id,
+ 'reviewer_id' => auth()->id(),
+ 'decision' => $decision,
+ 'note' => $note,
+ ]);
+
+ // Update verification request status
+ $newStatus = match ($decision) {
+ DecisionAdmin::APPROVED => VerificationStatus::APPROVED,
+ DecisionAdmin::NEED_REVISION => VerificationStatus::NEED_REVISION,
+ DecisionAdmin::REJECTED => VerificationStatus::REJECTED,
+ };
+
+ $verificationRequest->update([
+ 'status' => $newStatus,
+ ]);
+
+ DB::commit();
+
+ $actionLabel = match ($decision) {
+ DecisionAdmin::APPROVED => 'disetujui',
+ DecisionAdmin::NEED_REVISION => 'diminta revisi',
+ DecisionAdmin::REJECTED => 'ditolak',
+ };
+
+ CheerfulNotification::success(
+ 'Berhasil Diproses! ✨',
+ "Mantap! Verifikasi telah {$actionLabel} dan notifikasi sudah dikirim ke pengguna. Kerja bagus, Admin! 💪"
+ )
+ ->send();
+
+ // Notify User
+ $partnerUser = $verificationRequest->company?->user;
+ if ($partnerUser) {
+ $statusTitle = match ($decision) {
+ DecisionAdmin::APPROVED => 'Horee! Verifikasi Disetujui 🎉',
+ DecisionAdmin::NEED_REVISION => 'Yah, Ada Yang Perlu Direvisi nih 📝',
+ DecisionAdmin::REJECTED => 'Maaf, Verifikasi Ditolak 😔',
+ };
+
+ $body = match ($decision) {
+ DecisionAdmin::APPROVED => 'Yeay! Pengajuan verifikasi perusahaan Anda telah disetujui. Sekarang Anda sudah resmi terverifikasi dan bekerja sama dengan kami! 🎊',
+ DecisionAdmin::NEED_REVISION => 'Ayo sedikit lagi! Admin meminta beberapa perbaikan pada pengajuan Anda agar bisa segera disetujui. 💪',
+ DecisionAdmin::REJECTED => 'Yah, maaf banget... pengajuan verifikasi perusahaan Anda belum bisa kami terima saat ini. 💔',
+ };
+
+ if ($note) {
+ $body .= "\n\nCatatan Admin: {$note}";
+ }
+
+ $partnerUser->notify(new BroadcastNotification([
+ 'title' => $statusTitle,
+ 'body' => $body,
+ 'action' => [
+ Action::make('view')
+ ->label('Lihat')
+ ->url(Verification::getUrl()),
+ ],
+ ]));
+ }
+ } catch (\Throwable $e) {
+ DB::rollBack();
+ Log::error('Verification processing failed', [
+ 'error' => $e->getMessage(),
+ 'trace' => $e->getTraceAsString(),
+ 'request_id' => $requestId,
+ 'decision' => $decision->value,
+ ]);
+
+ CheerfulNotification::danger(
+ 'Terjadi Kesalahan ⚠️',
+ 'Proses verifikasi gagal karena kesalahan sistem. Tim kami sudah mencatat masalah ini. Silakan coba lagi nanti.',
+ )
+ ->send();
+ }
+ }
+}
diff --git a/app/Filament/Pages/AdminVerification/Actions/RejectAction.php b/app/Filament/Pages/AdminVerification/Actions/RejectAction.php
new file mode 100644
index 0000000..891e714
--- /dev/null
+++ b/app/Filament/Pages/AdminVerification/Actions/RejectAction.php
@@ -0,0 +1,43 @@
+label('Tolak')
+ ->color('danger')
+ ->icon('heroicon-o-x-mark')
+ ->size('sm')
+ ->requiresConfirmation()
+ ->modalHeading('Tolak Verifikasi')
+ ->modalDescription('Pengajuan akan ditolak secara permanen. Pengguna tidak dapat mengajukan ulang untuk data ini.')
+ ->modalSubmitActionLabel('Ya, Tolak')
+ ->schema([
+ Textarea::make('note')
+ ->label('Alasan Penolakan')
+ ->required()
+ ->placeholder('Jelaskan alasan pengajuan ditolak...')
+ ->autocomplete(false)
+ ->autofocus(),
+ ])
+ ->action(function (array $arguments, array $data): void {
+ $this->processReview($arguments['id'], DecisionAdmin::REJECTED, $data['note']);
+ });
+ }
+}
diff --git a/app/Filament/Pages/AdminVerification/Actions/RevisionAction.php b/app/Filament/Pages/AdminVerification/Actions/RevisionAction.php
new file mode 100644
index 0000000..b6e5140
--- /dev/null
+++ b/app/Filament/Pages/AdminVerification/Actions/RevisionAction.php
@@ -0,0 +1,43 @@
+label('Minta Revisi')
+ ->color('warning')
+ ->icon('heroicon-o-pencil-square')
+ ->size('sm')
+ ->modalHeading('Minta Revisi')
+ ->modalDescription('Pengguna akan diminta untuk memperbaiki data sesuai catatan yang diberikan.')
+ ->schema([
+ Textarea::make('note')
+ ->label('Catatan Revisi')
+ ->required()
+ ->placeholder('Jelaskan bagian yang perlu diperbaiki...')
+ ->autocomplete(false)
+ ->autofocus(),
+ ])
+ ->action(function (array $arguments, array $data): void {
+ $this->processReview($arguments['id'], DecisionAdmin::NEED_REVISION, $data['note']);
+ })
+ ->modalWidth(Width::Large);
+ }
+}
diff --git a/app/Filament/Pages/AdminVerification/Index.php b/app/Filament/Pages/AdminVerification/Index.php
new file mode 100644
index 0000000..9e2b0cd
--- /dev/null
+++ b/app/Filament/Pages/AdminVerification/Index.php
@@ -0,0 +1,239 @@
+user()->can('View:AdminVerification');
+ }
+
+ public static function getNavigationBadge(): ?string
+ {
+ return VerificationRequest::query()->pending()->count();
+ }
+
+ #[Computed]
+ public function verifications(): LengthAwarePaginator
+ {
+ $query = VerificationRequest::with([
+ 'company.user',
+ 'company.partnerMedia',
+ 'company.partnerMedia.journalists',
+ 'submittedBy',
+ 'reviews.reviewer',
+ ])
+ ->latest('updated_at');
+
+ // Apply status filter
+ if ($this->filterStatus !== 'all') {
+ $query->where('status', $this->filterStatus);
+ }
+
+ return $query->paginate($this->rowsToDisplay)
+ ->through(function (VerificationRequest $verification) {
+ $latestReview = $verification->reviews->first();
+ $status = $verification->status;
+ $company = $verification->company;
+ $media = $company?->partnerMedia;
+ $journalists = $media?->journalists ?? collect();
+
+ // Prepare Review classes
+ $reviewColor = $latestReview?->decision?->getColor() ?? 'gray';
+ $reviewClasses = match ($reviewColor) {
+ 'success' => 'bg-success-50 dark:bg-success-500/10 border-success-200 dark:border-success-500/20',
+ 'warning' => 'bg-warning-50 dark:bg-warning-500/10 border-warning-200 dark:border-warning-500/20',
+ 'danger' => 'bg-danger-50 dark:bg-danger-500/10 border-danger-200 dark:border-danger-500/20',
+ 'info' => 'bg-info-50 dark:bg-info-500/10 border-info-200 dark:border-info-500/20',
+ default => 'bg-gray-50 dark:bg-gray-500/10 border-gray-200 dark:border-gray-500/20',
+ };
+
+ $reviewTitleClasses = match ($reviewColor) {
+ 'success' => 'text-success-700 dark:text-success-400',
+ 'warning' => 'text-warning-700 dark:text-warning-400',
+ 'danger' => 'text-danger-700 dark:text-danger-400',
+ 'info' => 'text-info-700 dark:text-info-400',
+ default => 'text-gray-700 dark:text-gray-400',
+ };
+
+ return [
+ 'id' => $verification->id,
+ 'company' => [
+ 'name' => $company?->name ?? 'Data tidak ditemukan',
+ 'detailUrl' => ($company && $company->user_id) ? ViewPartner::getUrl(['record' => $company->user_id]) : null,
+ ],
+ 'submittedBy' => $verification->submittedBy?->name ?? 'Unknown',
+
+ 'status' => [
+ 'value' => $status,
+ 'label' => $status->getLabel(),
+ 'color' => $status->getColor(),
+ 'isPending' => $status === VerificationStatus::PENDING,
+ 'isRevision' => $status === VerificationStatus::NEED_REVISION,
+ 'isApproved' => $status === VerificationStatus::APPROVED,
+ 'isRejected' => $status === VerificationStatus::REJECTED,
+ ],
+
+ 'timestamps' => [
+ 'submittedAt' => $verification->created_at->translatedFormat('l, d M Y H:i'),
+ 'submittedAtHuman' => $verification->created_at->diffForHumans(),
+ 'updatedAt' => $verification->updated_at->translatedFormat('l, d M Y H:i'),
+ 'updatedAtHuman' => $verification->updated_at->diffForHumans(),
+ ],
+
+ 'summary' => [
+ 'company' => [
+ 'name' => $company?->name ?? 'Belum diisi',
+ 'email' => $company?->email ?? '-',
+ 'exists' => $company !== null,
+ ],
+ 'media' => [
+ 'name' => $media?->name ?? 'Belum diisi',
+ 'type' => $media?->type?->getLabel() ?? '-',
+ 'exists' => $media !== null,
+ ],
+ 'journalists' => [
+ 'count' => $journalists->count(),
+ 'names' => $journalists->pluck('name')->take(3)->toArray(),
+ 'exists' => $journalists->count() > 0,
+ ],
+ ],
+
+ 'reviews' => [
+ 'count' => $verification->reviews->count(),
+ 'latest' => [
+ 'note' => $latestReview?->note,
+ 'reviewer' => $latestReview?->reviewer?->name ?? 'Admin',
+ 'createdAtHuman' => $latestReview?->created_at?->diffForHumans(),
+ 'classes' => $reviewClasses,
+ 'titleClasses' => $reviewTitleClasses,
+ ],
+ 'history' => $verification->reviews->map(fn ($review) => [
+ 'decisionLabel' => $review->decision->getLabel(),
+ 'decisionColor' => $review->decision->getColor(),
+ 'reviewerName' => $review->reviewer?->name ?? 'Admin',
+ 'note' => $review->note,
+ 'createdAt' => $review->created_at->translatedFormat('l, d M Y H:i'),
+ ]),
+ ],
+ ];
+ });
+ }
+
+ public function loadMore(): void
+ {
+ $this->rowsToDisplay += 12;
+ }
+
+ public function setFilter(string $status): void
+ {
+ $this->filterStatus = $status;
+ $this->rowsToDisplay = 12;
+ }
+
+ #[Computed]
+ public function getFilters(): array
+ {
+ return [
+ [
+ 'id' => 'all',
+ 'label' => 'Semua',
+ 'icon' => null,
+ 'color' => 'primary',
+ 'count' => VerificationRequest::count(),
+ ],
+ [
+ 'id' => (string) VerificationStatus::PENDING->value,
+ 'label' => 'Menunggu',
+ 'icon' => 'heroicon-s-clock',
+ 'color' => 'warning',
+ 'count' => VerificationRequest::pending()->count(),
+ ],
+ [
+ 'id' => (string) VerificationStatus::NEED_REVISION->value,
+ 'label' => 'Revisi',
+ 'icon' => 'heroicon-s-pencil-square',
+ 'color' => 'info',
+ 'count' => VerificationRequest::needRevision()->count(),
+ ],
+ [
+ 'id' => (string) VerificationStatus::APPROVED->value,
+ 'label' => 'Disetujui',
+ 'icon' => 'heroicon-s-check-circle',
+ 'color' => 'success',
+ 'count' => VerificationRequest::approved()->count(),
+ ],
+ [
+ 'id' => (string) VerificationStatus::REJECTED->value,
+ 'label' => 'Ditolak',
+ 'icon' => 'heroicon-s-x-circle',
+ 'color' => 'danger',
+ 'count' => VerificationRequest::rejected()->count(),
+ ],
+ ];
+ }
+
+ /**
+ * Approve verification action
+ */
+ public function approveAction(): Action
+ {
+ return ApproveAction::make();
+ }
+
+ /**
+ * Revision verification action
+ */
+ public function revisionAction(): Action
+ {
+ return RevisionAction::make();
+ }
+
+ /**
+ * Reject verification action
+ */
+ public function rejectAction(): Action
+ {
+ return RejectAction::make();
+ }
+}
diff --git a/resources/views/filament/pages/admin-verification.blade.php b/resources/views/filament/pages/admin-verification.blade.php
index ca2be95..9180ddf 100644
--- a/resources/views/filament/pages/admin-verification.blade.php
+++ b/resources/views/filament/pages/admin-verification.blade.php
@@ -1,123 +1,43 @@
Diajukan oleh
- {{ $card['submittedBy'] }}
+ {{ $verification['submittedBy'] }}
- {{ $card['companyName'] }}
+ title="{{ $verification['company']['name'] }}">
+ {{ $verification['company']['name'] }}
- {{ $card['summary']['company']['name'] }} + {{ $verification['summary']['company']['name'] }}
-Media
- {{ $card['summary']['media']['name'] }} + {{ $verification['summary']['media']['name'] }}
-Jurnalis
- {{ $card['summary']['journalists']['count'] }} jurnalis + {{ $verification['summary']['journalists']['count'] }} jurnalis
-Diajukan
- {{ $verification->created_at->translatedFormat('l, d M Y H:i') }} + {{ $verification['timestamps']['submittedAt'] }}
- {{ $verification->created_at->diffForHumans() }} + {{ $verification['timestamps']['submittedAtHuman'] }}
- {{ $verification->updated_at->translatedFormat('l, d M Y H:i') }} + {{ $verification['timestamps']['updatedAt'] }}
- {{ $verification->updated_at->diffForHumans() }} + {{ $verification['timestamps']['updatedAtHuman'] }}
+ @if ($verification['reviews']['latest']['note']) +
Catatan Terakhir
- {{ $card['latestReviewNote'] }} + {{ $verification['reviews']['latest']['note'] }}
- oleh {{ $card['latestReviewReviewer'] }} • - {{ $card['latestReviewCreatedAt']->diffForHumans() }} + oleh {{ $verification['reviews']['latest']['reviewer'] }} • + {{ $verification['reviews']['latest']['createdAtHuman'] }}
- {{ $review->note }} + {{ $review['note'] }}
@endif