@@ -4,7 +4,7 @@ import { ArrowDown, Info } from 'lucide-react';
44import { useQuery } from 'urql' ;
55import { DataTable } from '@/components/base/data-table/data-table' ;
66import { PageLead } from '@/components/base/page-lead' ;
7- import { BadgeRounded } from '@/components/ui/badge' ;
7+ import { Badge , BadgeRounded } from '@/components/ui/badge' ;
88import { Spinner } from '@/components/ui/spinner' ;
99import { Tooltip , TooltipContent , TooltipProvider , TooltipTrigger } from '@/components/ui/tooltip' ;
1010import { Avatar } from '@/components/v2/avatar' ;
@@ -156,7 +156,12 @@ const columnHelper = createColumnHelper<RuleRow>();
156156const RULE_COLUMNS : ColumnDef < RuleRow , any > [ ] = [
157157 columnHelper . accessor ( 'name' , {
158158 header : ( { column } ) => < SortableHeader column = { column } label = "Name" /> ,
159- cell : info => < span className = "text-neutral-12 font-medium" > { info . getValue ( ) } </ span > ,
159+ cell : info => (
160+ < span className = "inline-flex items-center gap-2" >
161+ < span className = "text-neutral-12 font-medium" > { info . getValue ( ) } </ span >
162+ { ! info . row . original . enabled && < Badge variant = "outline" > Paused</ Badge > }
163+ </ span >
164+ ) ,
160165 } ) ,
161166 columnHelper . accessor ( 'type' , {
162167 header : 'Type' ,
@@ -198,7 +203,9 @@ const RULE_COLUMNS: ColumnDef<RuleRow, any>[] = [
198203 sortingFn : ( a , b ) =>
199204 new Date ( a . original . updatedAt ) . getTime ( ) - new Date ( b . original . updatedAt ) . getTime ( ) ,
200205 cell : info => (
201- < span className = "text-neutral-11 font-mono text-xs" > { relativeTime ( info . getValue ( ) ) } </ span >
206+ < span className = "text-neutral-11 inline-block min-w-[180px] whitespace-nowrap font-mono text-xs" >
207+ { relativeTime ( info . getValue ( ) ) }
208+ </ span >
202209 ) ,
203210 } ) ,
204211 columnHelper . display ( {
@@ -290,7 +297,8 @@ export function TargetAlertsRulesPage(props: {
290297 requestPolicy : 'cache-and-network' ,
291298 } ) ;
292299
293- const data = useKeepPreviousData ( result . data , result . fetching || result . stale ) ;
300+ const previousData = useKeepPreviousData ( result . data , result . fetching || result . stale ) ;
301+ const data = result . data ?? previousData ;
294302 const rules : RuleRow [ ] = useMemo (
295303 ( ) =>
296304 ( data ?. target ?. metricAlertRules ?? [ ] ) . map ( r => ( {
@@ -332,7 +340,11 @@ export function TargetAlertsRulesPage(props: {
332340 }
333341 />
334342
335- { result . fetching && ! data ? (
343+ { result . error && ! data ? (
344+ < div className = "flex justify-center py-12 text-sm text-red-500" >
345+ Failed to load alert rules: { result . error . message }
346+ </ div >
347+ ) : result . fetching && ! data ? (
336348 < div className = "flex justify-center py-12" >
337349 < Spinner />
338350 </ div >
0 commit comments