import { ColumnDef, Row } from '@tanstack/react-table'; import { Button } from '@/components/ui/button'; import { EyeIcon } from 'lucide-react'; import type { ServerLog } from '@/types/server-log'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog'; import { useState } from 'react'; import axios from 'axios'; import DateTime from '@/components/date-time'; import LogOutput from '@/components/log-output'; import { useQuery } from '@tanstack/react-query'; const LogActionCell = ({ row }: { row: Row }) => { const [open, setOpen] = useState(false); const query = useQuery({ queryKey: ['server-log', row.original.id], queryFn: async () => { const response = await axios.get(route('logs.show', { server: row.original.server_id, log: row.original.id })); return response.data; }, enabled: open, refetchInterval: 2500, }); return (
View Log This is all content of the log {query.isLoading ? 'Loading...' : query.data}
); }; export const columns: ColumnDef[] = [ { accessorKey: 'name', header: 'Event', enableColumnFilter: true, }, { accessorKey: 'created_at', header: 'Created At', enableSorting: true, cell: ({ row }) => { return ; }, }, { id: 'actions', enableColumnFilter: false, enableSorting: false, cell: ({ row }) => , }, ];