'use client'; import { getSystemLog, restartSystem } from '@/services/admin/tool'; import { Icon } from '@iconify/react'; import { useQuery } from '@tanstack/react-query'; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from '@workspace/ui/components/accordion'; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from '@workspace/ui/components/alert-dialog'; import { Badge } from '@workspace/ui/components/badge'; import { Button } from '@workspace/ui/components/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '@workspace/ui/components/card'; import { ScrollArea } from '@workspace/ui/components/scroll-area'; import { useTranslations } from 'next-intl'; import { useState } from 'react'; const getLogLevelColor = (level: string) => { const colorMap: { [key: string]: string } = { INFO: 'bg-blue-100 text-blue-800 hover:bg-blue-200', WARN: 'bg-yellow-100 text-yellow-800 hover:bg-yellow-200', ERROR: 'bg-red-100 text-red-800 hover:bg-red-200', }; return colorMap[level] || 'bg-gray-100 text-gray-800 hover:bg-gray-200'; }; export default function Page() { const t = useTranslations('tool'); const { data: logs, refetch, isLoading, } = useQuery({ queryKey: ['getSystemLog'], queryFn: async () => { const { data } = await getSystemLog(); return data.data?.list || []; }, }); const [openRestart, setOpenRestart] = useState(false); const [isRestarting, setIsRestarting] = useState(false); return (
{t('systemServices')} {t('viewLogsAndManage')}
{t('confirmSystemUpgrade')} {t('upgradeDescription')} {t('cancel')} {t('confirmUpgrade')} {t('confirmSystemReboot')} {t('rebootDescription')} {t('cancel')}
{t('currentVersion')} V1.0.0
{t('lastUpdated')} 2024-12-16 12:00:00
{t('systemLogs')}
{isLoading ? (
) : ( {logs?.map((log: any, index: number) => (
{log.level} {log.time} {log.message}
{t('ip')}:
{log.ip}
{t('request')}:
{log.request}
{t('status')}:
{log.status}
{t('caller')}:
{log.caller}
{t('errors')}:
{log.errors || t('none')}
{t('query')}:
{log.query || t('none')}
{t('userAgent')}:
{log['user-agent']}
))}
)}
); }