diff --git a/resources/js/pages/admin/services/letter-requests/columns.tsx b/resources/js/pages/admin/services/letter-requests/columns.tsx
index cdcf2a7..03a6cf9 100644
--- a/resources/js/pages/admin/services/letter-requests/columns.tsx
+++ b/resources/js/pages/admin/services/letter-requests/columns.tsx
@@ -1,6 +1,7 @@
import type { ColumnDef } from '@tanstack/react-table';
import { format } from 'date-fns';
-import { Paperclip, Pencil, Trash2 } from 'lucide-react';
+import { Pencil, Trash2, Upload } from 'lucide-react';
+import { AttachmentPreviewDialog } from '@/components/attachment-preview-dialog';
import { RowActions } from '@/components/row-actions';
import { StatusBadge } from '@/components/status-badge';
import type { LetterRequest } from '@/types/letter-request';
@@ -27,6 +28,7 @@ type CreateColumnsParams = {
handleEdit: (letterRequest: LetterRequest) => void;
handleDeleteClick: (letterRequest: LetterRequest) => void;
handleStatusChange: (letterRequest: LetterRequest, status: string) => void;
+ handleUploadClick: (letterRequest: LetterRequest) => void;
canUpdate: boolean;
canDelete: boolean;
canProcess: boolean;
@@ -39,6 +41,7 @@ export function createLetterRequestColumns(
handleEdit,
handleDeleteClick,
handleStatusChange,
+ handleUploadClick,
canUpdate,
canDelete,
canProcess,
@@ -128,26 +131,21 @@ export function createLetterRequestColumns(
cell: ({ row }) => {
const letterRequest = row.original;
- if (!letterRequest.result_url) {
+ if (!letterRequest.result_url || !letterRequest.result_name) {
return -;
}
return (
-
-
- {letterRequest.result_name}
-
+
);
},
},
];
- if (canUpdate || canDelete) {
+ if (canUpdate || canDelete || canProcess) {
columns.push({
id: 'actions',
header: () => Aksi,
@@ -161,6 +159,14 @@ export function createLetterRequestColumns(
return (
,
+ show:
+ canProcess &&
+ row.original.status === 'in_process',
+ onClick: () => handleUploadClick(row.original),
+ },
{
label: 'Edit',
icon: ,
diff --git a/resources/js/pages/admin/services/letter-requests/index.tsx b/resources/js/pages/admin/services/letter-requests/index.tsx
index e7a0968..660353b 100644
--- a/resources/js/pages/admin/services/letter-requests/index.tsx
+++ b/resources/js/pages/admin/services/letter-requests/index.tsx
@@ -115,6 +115,7 @@ export default function LetterRequestIndex({
handleEdit: (letterRequest) => setEditing(letterRequest),
handleDeleteClick: (letterRequest) => setDeleting(letterRequest),
handleStatusChange,
+ handleUploadClick: (letterRequest) => setProcessing(letterRequest),
canUpdate,
canDelete,
canProcess,