"use client"; import { ColumnDef } from "@tanstack/react-table"; import { FileInfoItem } from "../actions"; import { Button } from "@/components/ui/button"; import { Download } from "lucide-react"; interface FileListColumnsProps { onDownload: (file: FileInfoItem) => void; } export const createFileListColumns = ({ onDownload, }: FileListColumnsProps): ColumnDef[] => [ { accessorKey: "FileSeq", header: "순번", minSize: 80, cell: ({ row }) => { return
{row.getValue("FileSeq")}
; }, }, { accessorKey: "FileName", header: "파일명", minSize: 300, cell: ({ row }) => { return
{row.getValue("FileName")}
; }, }, { accessorKey: "FileSize", header: "파일크기", minSize: 100, cell: ({ row }) => { const size = parseInt(row.getValue("FileSize") as string); if (isNaN(size) || size === 0) return "-"; if (size < 1024) return `${size} B`; if (size < 1024 * 1024) return `${(size / 1024).toFixed(2)} KB`; return `${(size / (1024 * 1024)).toFixed(2)} MB`; }, }, { accessorKey: "CreateDt", header: "생성일시", minSize: 200, cell: ({ row }) => { return
{row.getValue("CreateDt")}
; }, }, { id: "actions", header: "다운로드", minSize: 120, cell: ({ row }) => { return ( ); }, }, ];