Skip to content

Commit 3dff61f

Browse files
committed
refactor: replace Popover component in AgentLatency
1 parent c27d03f commit 3dff61f

File tree

3 files changed

+21
-30
lines changed

3 files changed

+21
-30
lines changed

site/src/components/HelpTooltip/HelpTooltip.tsx

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@ import {
66
useTheme,
77
} from "@emotion/react";
88
import Link from "@mui/material/Link";
9+
import type {
10+
HoverCardContentProps,
11+
HoverCardProps,
12+
} from "@radix-ui/react-hover-card";
13+
import { usePopover } from "components/deprecated/Popover/Popover";
914
import {
10-
Popover,
11-
PopoverContent,
12-
type PopoverContentProps,
13-
type PopoverProps,
14-
PopoverTrigger,
15-
usePopover,
16-
} from "components/deprecated/Popover/Popover";
15+
HoverCard,
16+
HoverCardContent,
17+
HoverCardTrigger,
18+
} from "components/HoverCard/HoverCard";
1719
import { Stack } from "components/Stack/Stack";
1820
import { CircleHelpIcon, ExternalLinkIcon } from "lucide-react";
1921
import {
@@ -30,25 +32,13 @@ type Size = "small" | "medium";
3032

3133
export const HelpTooltipIcon = CircleHelpIcon;
3234

33-
export const HelpTooltip: FC<PopoverProps> = (props) => {
34-
return <Popover mode="hover" {...props} />;
35+
export const HelpTooltip: FC<HoverCardProps> = (props) => {
36+
return <HoverCard openDelay={0} closeDelay={0} {...props} />;
3537
};
3638

37-
export const HelpTooltipContent: FC<PopoverContentProps> = (props) => {
38-
const theme = useTheme();
39-
39+
export const HelpTooltipContent: FC<HoverCardContentProps> = (props) => {
4040
return (
41-
<PopoverContent
42-
{...props}
43-
css={{
44-
"& .MuiPaper-root": {
45-
fontSize: 14,
46-
width: 304,
47-
padding: 20,
48-
color: theme.palette.text.secondary,
49-
},
50-
}}
51-
/>
41+
<HoverCardContent align="start" {...props} className="p-5 w-[320px]" />
5242
);
5343
};
5444

@@ -76,7 +66,7 @@ export const HelpTooltipTrigger = forwardRef<
7666
});
7767

7868
return (
79-
<PopoverTrigger>
69+
<HoverCardTrigger>
8070
<button
8171
{...buttonProps}
8272
aria-label="More info"
@@ -102,7 +92,7 @@ export const HelpTooltipTrigger = forwardRef<
10292
>
10393
{children}
10494
</button>
105-
</PopoverTrigger>
95+
</HoverCardTrigger>
10696
);
10797
});
10898

@@ -155,6 +145,7 @@ export const HelpTooltipAction: FC<HelpTooltipActionProps> = ({
155145
onClick,
156146
ariaLabel,
157147
}) => {
148+
// TODO dismiss hovercard
158149
const popover = usePopover();
159150

160151
return (

site/src/components/HoverCard/HoverCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ const HoverCardTrigger = HoverCardPrimitive.Trigger;
1818
const HoverCardContent = forwardRef<
1919
ElementRef<typeof HoverCardPrimitive.Content>,
2020
ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>
21-
>(({ className, align = "center", sideOffset = 4, ...props }, ref) => (
21+
>(({ className, align = "center", sideOffset = 0, ...props }, ref) => (
2222
<HoverCardPrimitive.Content
2323
ref={ref}
2424
align={align}
2525
sideOffset={sideOffset}
2626
className={cn(
27-
"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
27+
"z-50 w-64 rounded-md border border-solid border-surface-quaternary bg-surface-secondary p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
2828
className,
2929
)}
3030
{...props}

site/src/modules/resources/AgentLatency.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { type Theme, useTheme } from "@emotion/react";
22
import type { DERPRegion, WorkspaceAgent } from "api/typesGenerated";
3-
import { PopoverTrigger } from "components/deprecated/Popover/Popover";
43
import {
54
HelpTooltip,
65
HelpTooltipContent,
76
HelpTooltipText,
87
HelpTooltipTitle,
98
} from "components/HelpTooltip/HelpTooltip";
9+
import { HoverCardTrigger } from "components/HoverCard/HoverCard";
1010
import { Stack } from "components/Stack/Stack";
1111
import type { FC } from "react";
1212
import { getLatencyColor } from "utils/latency";
@@ -44,15 +44,15 @@ export const AgentLatency: FC<AgentLatencyProps> = ({ agent }) => {
4444

4545
return (
4646
<HelpTooltip>
47-
<PopoverTrigger>
47+
<HoverCardTrigger asChild>
4848
<span
4949
role="presentation"
5050
aria-label="latency"
5151
css={{ cursor: "pointer", color: latency.color }}
5252
>
5353
{Math.round(latency.latency_ms)}ms
5454
</span>
55-
</PopoverTrigger>
55+
</HoverCardTrigger>
5656
<HelpTooltipContent>
5757
<HelpTooltipTitle>Latency</HelpTooltipTitle>
5858
<HelpTooltipText>

0 commit comments

Comments
 (0)