🐛 fix(logs): Update log display to render key-value pairs and remove badge

This commit is contained in:
web@ppanel 2025-04-24 05:08:03 -04:00
parent 674a01c813
commit 5ea64893e8

View File

@ -18,7 +18,6 @@ import {
AlertDialogTitle, AlertDialogTitle,
AlertDialogTrigger, AlertDialogTrigger,
} from '@workspace/ui/components/alert-dialog'; } from '@workspace/ui/components/alert-dialog';
import { Badge } from '@workspace/ui/components/badge';
import { Button } from '@workspace/ui/components/button'; import { Button } from '@workspace/ui/components/button';
import { import {
Card, Card,
@ -145,20 +144,24 @@ export default function Page() {
<AccordionItem key={index} value={`item-${index}`} className='px-4'> <AccordionItem key={index} value={`item-${index}`} className='px-4'>
<AccordionTrigger className='hover:no-underline'> <AccordionTrigger className='hover:no-underline'>
<div className='flex w-full flex-col items-start space-y-2 sm:flex-row sm:items-center sm:space-x-4 sm:space-y-0'> <div className='flex w-full flex-col items-start space-y-2 sm:flex-row sm:items-center sm:space-x-4 sm:space-y-0'>
<Badge <span className='text-xs font-medium sm:text-sm'>{log.timestamp}</span>
variant='outline'
className={`${getLogLevelColor(log.level)} mb-2 sm:mb-0`}
>
{log.level}
</Badge>
<span className='text-xs font-medium sm:text-sm'>{log.time}</span>
<span className='text-muted-foreground flex-1 truncate text-xs sm:text-sm'>
{log.message}
</span>
</div> </div>
</AccordionTrigger> </AccordionTrigger>
<AccordionContent className='px-2'> <AccordionContent className='px-2'>
<div className='grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm'> {
// 直接渲染 key: value
Object.entries(log).map(([key, value]) => (
<div
key={key}
className='grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm'
>
<span className='font-medium'>{key}:</span>
<span className='break-all'>{value as string}</span>
</div>
))
}
{/* <div className='grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm'>
<div className='font-medium'>{t('ip')}:</div> <div className='font-medium'>{t('ip')}:</div>
<div>{log.ip}</div> <div>{log.ip}</div>
<div className='font-medium'>{t('request')}:</div> <div className='font-medium'>{t('request')}:</div>
@ -173,7 +176,7 @@ export default function Page() {
<div className='break-all'>{log.query || t('none')}</div> <div className='break-all'>{log.query || t('none')}</div>
<div className='font-medium'>{t('userAgent')}:</div> <div className='font-medium'>{t('userAgent')}:</div>
<div className='break-all'>{log['user-agent']}</div> <div className='break-all'>{log['user-agent']}</div>
</div> </div> */}
</AccordionContent> </AccordionContent>
</AccordionItem> </AccordionItem>
))} ))}