Skip to content

Commit 6134bad

Browse files
committed
fix: add TooltipProvider to WorkspaceOurdatedTooltip
1 parent d397fff commit 6134bad

File tree

1 file changed

+21
-12
lines changed

1 file changed

+21
-12
lines changed

site/src/modules/workspaces/WorkspaceOutdatedTooltip/WorkspaceOutdatedTooltip.tsx

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import Skeleton from "@mui/material/Skeleton";
44
import { getErrorDetail, getErrorMessage } from "api/errors";
55
import { templateVersion } from "api/queries/templates";
66
import type { Workspace } from "api/typesGenerated";
7-
import { usePopover } from "components/deprecated/Popover/Popover";
87
import { displayError } from "components/GlobalSnackbar/utils";
98
import {
109
HelpTooltip,
@@ -17,36 +16,46 @@ import {
1716
} from "components/HelpTooltip/HelpTooltip";
1817
import { InfoIcon, RotateCcwIcon } from "lucide-react";
1918
import { linkToTemplate, useLinks } from "modules/navigation";
20-
import type { FC } from "react";
19+
import { useState, type FC } from "react";
2120
import { useQuery } from "react-query";
2221
import {
2322
useWorkspaceUpdate,
2423
WorkspaceUpdateDialogs,
2524
} from "../WorkspaceUpdateDialogs";
25+
import { TooltipProvider } from "components/Tooltip/Tooltip";
2626

2727
interface TooltipProps {
2828
workspace: Workspace;
2929
}
3030

3131
export const WorkspaceOutdatedTooltip: FC<TooltipProps> = (props) => {
32+
const [isOpen, setIsOpen] = useState(false);
33+
3234
return (
33-
<HelpTooltip>
34-
<HelpTooltipTrigger size="small" hoverEffect={false}>
35-
<InfoIcon css={styles.icon} />
36-
<span className="sr-only">Outdated info</span>
37-
</HelpTooltipTrigger>
38-
<WorkspaceOutdatedTooltipContent {...props} />
39-
</HelpTooltip>
35+
<TooltipProvider>
36+
<HelpTooltip open={isOpen} onOpenChange={setIsOpen}>
37+
<HelpTooltipTrigger size="small" hoverEffect={false}>
38+
<InfoIcon css={styles.icon} />
39+
<span className="sr-only">Outdated info</span>
40+
</HelpTooltipTrigger>
41+
<WorkspaceOutdatedTooltipContent isOpen={isOpen} {...props} />
42+
</HelpTooltip>
43+
</TooltipProvider>
4044
);
4145
};
4246

43-
const WorkspaceOutdatedTooltipContent: FC<TooltipProps> = ({ workspace }) => {
47+
type TooltipContentProps = TooltipProps & { isOpen: boolean };
48+
49+
const WorkspaceOutdatedTooltipContent: FC<TooltipContentProps> = ({
50+
workspace,
51+
isOpen,
52+
}) => {
4453
const getLink = useLinks();
4554
const theme = useTheme();
46-
const popover = usePopover();
4755
const { data: activeVersion } = useQuery({
4856
...templateVersion(workspace.template_active_version_id),
49-
enabled: popover.open,
57+
// TODO is making the parent HelpTooltip a controlled component the only way to track whether the tooltip is open?
58+
enabled: isOpen,
5059
});
5160
const updateWorkspace = useWorkspaceUpdate({
5261
workspace,

0 commit comments

Comments
 (0)