1- import { CheckCircleOutlined , CloseOutlined , DownOutlined , WarningOutlined } from "@ant-design/icons " ;
1+ import { CircleCheck , ChevronDown , TriangleAlert , X } from "lucide-react " ;
22import { useQuery } from "@tanstack/react-query" ;
33import moment from "moment" ;
4- import { Button , Spin } from "antd" ;
54import React , { useState } from "react" ;
5+ import { Button } from "@/components/ui/button" ;
6+ import { UiLoadingSpinner } from "@/components/ui/ui-loading-spinner" ;
67import { uiSpendLogsCall } from "@/components/networking" ;
78import { LogDetailsDrawer } from "@/components/view_logs/LogDetailsDrawer" ;
89import type { LogEntry as ViewLogsLogEntry } from "@/components/view_logs/columns" ;
@@ -13,21 +14,21 @@ const actionConfig: Record<
1314 { icon : React . ElementType ; color : string ; bg : string ; border : string ; label : string }
1415> = {
1516 blocked : {
16- icon : CloseOutlined ,
17+ icon : X ,
1718 color : "text-red-600" ,
1819 bg : "bg-red-50" ,
1920 border : "border-red-200" ,
2021 label : "Blocked" ,
2122 } ,
2223 passed : {
23- icon : CheckCircleOutlined ,
24+ icon : CircleCheck ,
2425 color : "text-green-600" ,
2526 bg : "bg-green-50" ,
2627 border : "border-green-200" ,
2728 label : "Passed" ,
2829 } ,
2930 flagged : {
30- icon : WarningOutlined ,
31+ icon : TriangleAlert ,
3132 color : "text-amber-600" ,
3233 bg : "bg-amber-50" ,
3334 border : "border-amber-200" ,
@@ -125,8 +126,8 @@ export function LogViewer({
125126 { filters . map ( ( f ) => (
126127 < Button
127128 key = { f }
128- type = { activeFilter === f ? "primary " : "default " }
129- size = "small "
129+ variant = { activeFilter === f ? "default " : "outline " }
130+ size = "sm "
130131 onClick = { ( ) => setActiveFilter ( f ) }
131132 >
132133 { f . charAt ( 0 ) . toUpperCase ( ) + f . slice ( 1 ) }
@@ -139,8 +140,8 @@ export function LogViewer({
139140 { sampleSizes . map ( ( size ) => (
140141 < Button
141142 key = { size }
142- type = { sampleSize === size ? "primary " : "default " }
143- size = "small "
143+ variant = { sampleSize === size ? "default " : "outline " }
144+ size = "sm "
144145 onClick = { ( ) => setSampleSize ( size ) }
145146 >
146147 { size }
@@ -154,7 +155,7 @@ export function LogViewer({
154155
155156 { logsLoading && (
156157 < div className = "flex items-center justify-center py-12" >
157- < Spin />
158+ < UiLoadingSpinner className = "size-5" />
158159 </ div >
159160 ) }
160161 { ! logsLoading && displayLogs . length === 0 && (
@@ -182,11 +183,11 @@ export function LogViewer({
182183 </ span >
183184 < span className = "text-xs text-gray-400" > { log . timestamp } </ span >
184185 < span className = "text-xs text-gray-400" > ·</ span >
185- { log . model && < span className = "text-xs text-gray-500" > { log . model } </ span > }
186+ { log . model && < span className = "min-w-0 text-xs break-words text-gray-500" > { log . model } </ span > }
186187 </ div >
187188 < p className = "text-sm text-gray-800 truncate" > { log . input_snippet ?? log . input ?? "—" } </ p >
188189 </ div >
189- < DownOutlined className = "w-4 h-4 text-gray-400 shrink-0 mt-1" />
190+ < ChevronDown className = "w-4 h-4 text-gray-400 shrink-0 mt-1" />
190191 </ button >
191192 ) ;
192193 } ) }
0 commit comments