'use client'; import { useState } from 'react'; import { Eye } from 'lucide-react'; import { EmptyStateWithBorder } from '@/components/layout/empty'; import { ErrorInline } from '@/components/layout/error'; import { LoadingStateWithBorder } from '@/components/layout/loading'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table'; import { Tooltip, TooltipContent, TooltipTrigger, } from '@/components/ui/tooltip'; import type { AccessLogItem, AccessLogList } from '@/lib/services/openflare'; import { formatDateTime } from '@/lib/utils'; import { AccessLogDetailDialog } from './access-log-detail-dialog'; import { DETAIL_SORT_OPTIONS } from './access-log-utils'; function PaginationBar({ page, hasMore, loading, onPrev, onNext, }: { page: number; hasMore: boolean; loading: boolean; onPrev: () => void; onNext: () => void; }) { return (
当前第 {page + 1} 页
日志明细