File tree Expand file tree Collapse file tree 1 file changed +59
-0
lines changed
apps/webapp/app/components Expand file tree Collapse file tree 1 file changed +59
-0
lines changed Original file line number Diff line number Diff line change
1
+ import { WarmStartIcon } from "~/assets/icons/WarmStartIcon" ;
2
+ import { InfoIconTooltip , SimpleTooltip } from "./primitives/Tooltip" ;
3
+ import { cn } from "~/utils/cn" ;
4
+ import { Paragraph } from "./primitives/Paragraph" ;
5
+
6
+ export function WarmStartCombo ( {
7
+ isWarmStart,
8
+ showTooltip = false ,
9
+ className,
10
+ } : {
11
+ isWarmStart : boolean ;
12
+ showTooltip ?: boolean ;
13
+ className ?: string ;
14
+ } ) {
15
+ return (
16
+ < div className = { cn ( "flex items-center gap-1 text-sm text-text-dimmed" , className ) } >
17
+ < WarmStartIcon isWarmStart = { isWarmStart } className = "size-5" />
18
+ < span > { isWarmStart ? "Warm Start" : "Cold Start" } </ span >
19
+ { showTooltip && < InfoIconTooltip content = { < WarmStartTooltipContent /> } /> }
20
+ </ div >
21
+ ) ;
22
+ }
23
+
24
+ export function WarmStartIconWithTooltip ( {
25
+ isWarmStart,
26
+ className,
27
+ } : {
28
+ isWarmStart : boolean ;
29
+ className ?: string ;
30
+ } ) {
31
+ return (
32
+ < SimpleTooltip
33
+ className = "relative z-[9999]"
34
+ button = { < WarmStartIcon isWarmStart = { isWarmStart } className = { className } /> }
35
+ content = { < WarmStartTooltipContent /> }
36
+ />
37
+ ) ;
38
+ }
39
+
40
+ function WarmStartTooltipContent ( ) {
41
+ return (
42
+ < div className = "flex max-w-xs flex-col gap-4 p-1" >
43
+ < div >
44
+ < WarmStartCombo isWarmStart = { false } className = "mb-0.5 text-text-bright" />
45
+ < Paragraph variant = "small" className = "!text-wrap text-text-dimmed" >
46
+ A cold start happens when we need to boot up a new machine for your run to execute. This
47
+ takes longer than a warm start.
48
+ </ Paragraph >
49
+ </ div >
50
+ < div >
51
+ < WarmStartCombo isWarmStart = { true } className = "mb-0.5 text-text-bright" />
52
+ < Paragraph variant = "small" className = "!text-wrap text-text-dimmed" >
53
+ A warm start happens when we can reuse a machine from a run that recently finished. This
54
+ takes less time than a cold start.
55
+ </ Paragraph >
56
+ </ div >
57
+ </ div >
58
+ ) ;
59
+ }
You can’t perform that action at this time.
0 commit comments