@@ -6,6 +6,8 @@ import dayjs from "dayjs"
6
6
import { createContext , FC , useContext , useEffect , useState } from "react"
7
7
import Skeleton from "@mui/material/Skeleton"
8
8
import { MONOSPACE_FONT_FAMILY } from "theme/constants"
9
+ import { combineClasses } from "utils/combineClasses"
10
+ import Tooltip from "@mui/material/Tooltip"
9
11
10
12
type ItemStatus = "stale" | "valid" | "loading"
11
13
@@ -44,22 +46,33 @@ const MetadataItem: FC<{ item: WorkspaceAgentMetadata }> = ({ item }) => {
44
46
// users that what's shown is real. If times aren't correctly synced this
45
47
// could be buggy. But, how common is that anyways?
46
48
const value =
47
- status === "stale" || status === " loading" ? (
49
+ status === "loading" ? (
48
50
< Skeleton
49
51
width = { 65 }
50
52
height = { 12 }
51
53
variant = "text"
52
54
className = { styles . skeleton }
53
55
/>
56
+ ) : status === "stale" ? (
57
+ < Tooltip title = "This data is stale and no longer up to date" >
58
+ < div
59
+ className = { combineClasses ( [
60
+ styles . metadataValue ,
61
+ styles . metadataStale ,
62
+ ] ) }
63
+ >
64
+ { item . result . value }
65
+ </ div >
66
+ </ Tooltip >
54
67
) : (
55
68
< div
56
- className = {
57
- styles . metadataValue +
58
- " " +
59
- ( item . result . error . length === 0
69
+ className = { combineClasses ( [
70
+ styles . metadataValue ,
71
+
72
+ item . result . error . length === 0
60
73
? styles . metadataValueSuccess
61
- : styles . metadataValueError )
62
- }
74
+ : styles . metadataValueError ,
75
+ ] ) }
63
76
>
64
77
{ item . result . value }
65
78
</ div >
@@ -226,6 +239,11 @@ const useStyles = makeStyles((theme) => ({
226
239
color : theme . palette . error . main ,
227
240
} ,
228
241
242
+ metadataStale : {
243
+ color : theme . palette . text . disabled ,
244
+ cursor : "pointer" ,
245
+ } ,
246
+
229
247
skeleton : {
230
248
marginTop : theme . spacing ( 0.5 ) ,
231
249
} ,
0 commit comments