'use client'; import Link from 'next/link'; import {Pencil, Trash2} from 'lucide-react'; import {Button} from '@/components/ui/button'; import {Table, TableBody, TableCell, TableHead, TableHeader, TableRow,} from '@/components/ui/table'; import {formatDateTime} from '@/lib/utils'; import type {NodeItem} from '@/lib/services/openflare'; import {NodeStatusBadge} from './node-status-badge'; import { formatRelativeTime, getApplyLabel, getApplyTone, getNodeStatusLabel, getNodeStatusTone, getNodeTypeLabel, getOpenrestyStatusLabel, getOpenrestyStatusTone, getRelayStatusLabel, getRelayStatusTone, isMeaningfulTime, isWSConnectedLastSeen, } from './node-utils'; export function NodesTable({ nodes, deletingId, onEdit, onDelete, }: { nodes: NodeItem[]; deletingId: number | null; onEdit: (node: NodeItem) => void; onDelete: (node: NodeItem) => void; }) { return (