Skip to content

Commit c06255e

Browse files
committed
Adds a tooltip to the help and feedback button
1 parent 03e808b commit c06255e

File tree

2 files changed

+49
-19
lines changed

2 files changed

+49
-19
lines changed

apps/webapp/app/components/navigation/HelpAndFeedbackPopover.tsx

Lines changed: 48 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { cn } from "~/utils/cn";
1212
import { DiscordIcon, SlackIcon } from "@trigger.dev/companyicons";
1313
import { Fragment, useState } from "react";
1414
import { useCurrentPlan } from "~/routes/_app.orgs.$organizationSlug/route";
15+
import { useShortcutKeys } from "~/hooks/useShortcutKeys";
1516
import { Feedback } from "../Feedback";
1617
import { Shortcuts } from "../Shortcuts";
1718
import { StepContentContainer } from "../StepContentContainer";
@@ -20,7 +21,9 @@ import { ClipboardField } from "../primitives/ClipboardField";
2021
import { Dialog, DialogContent, DialogHeader, DialogTrigger } from "../primitives/Dialog";
2122
import { Icon } from "../primitives/Icon";
2223
import { Paragraph } from "../primitives/Paragraph";
23-
import { Popover, PopoverContent, PopoverSideMenuTrigger } from "../primitives/Popover";
24+
import { Popover, PopoverContent, PopoverTrigger } from "../primitives/Popover";
25+
import { SimpleTooltip } from "../primitives/Tooltip";
26+
import { ShortcutKey } from "../primitives/ShortcutKey";
2427
import { StepNumber } from "../primitives/StepNumber";
2528
import { SideMenuItem } from "./SideMenuItem";
2629
import { Badge } from "../primitives/Badge";
@@ -35,27 +38,54 @@ export function HelpAndFeedback({
3538
const [isHelpMenuOpen, setHelpMenuOpen] = useState(false);
3639
const currentPlan = useCurrentPlan();
3740

41+
useShortcutKeys({
42+
shortcut: disableShortcut ? undefined : { key: "h", enabledOnInputElements: false },
43+
action: (e) => {
44+
e.preventDefault();
45+
e.stopPropagation();
46+
setHelpMenuOpen(true);
47+
},
48+
});
49+
3850
return (
39-
<Popover onOpenChange={(open) => setHelpMenuOpen(open)}>
40-
<PopoverSideMenuTrigger
41-
isOpen={isHelpMenuOpen}
42-
shortcut={{ key: "h", enabledOnInputElements: false }}
43-
className={isCollapsed ? "w-full" : "flex-1"}
44-
disabled={disableShortcut}
45-
hideShortcutKey={isCollapsed}
46-
>
47-
<div className="flex items-center gap-1.5 overflow-hidden">
48-
<QuestionMarkCircleIcon className="size-4.5 shrink-0 text-success" />
49-
<span
51+
<Popover open={isHelpMenuOpen} onOpenChange={setHelpMenuOpen}>
52+
<SimpleTooltip
53+
button={
54+
<PopoverTrigger
5055
className={cn(
51-
"overflow-hidden whitespace-nowrap transition-all duration-150",
52-
isCollapsed ? "max-w-0 opacity-0" : "max-w-[150px] opacity-100"
56+
"group flex h-8 items-center gap-1.5 rounded pl-[0.4375rem] pr-2 transition-colors hover:bg-charcoal-750",
57+
isCollapsed ? "w-full" : "flex-1 justify-between"
5358
)}
5459
>
55-
Help & Feedback
56-
</span>
57-
</div>
58-
</PopoverSideMenuTrigger>
60+
<span className="flex items-center gap-1.5 overflow-hidden">
61+
<QuestionMarkCircleIcon className="size-5 shrink-0 text-success" />
62+
<span
63+
className={cn(
64+
"overflow-hidden whitespace-nowrap text-2sm text-text-bright transition-all duration-150",
65+
isCollapsed ? "max-w-0 opacity-0" : "max-w-[150px] opacity-100"
66+
)}
67+
>
68+
Help & Feedback
69+
</span>
70+
</span>
71+
<ShortcutKey
72+
className={cn(
73+
"size-4 flex-none transition-all duration-150",
74+
isCollapsed ? "hidden" : ""
75+
)}
76+
shortcut={{ key: "h" }}
77+
variant="small"
78+
/>
79+
</PopoverTrigger>
80+
}
81+
content="Help & Feedback"
82+
side="right"
83+
sideOffset={8}
84+
hidden={!isCollapsed}
85+
buttonClassName={isCollapsed ? "!h-8 w-full" : "!h-8 flex-1"}
86+
asChild
87+
disableHoverableContent
88+
/>
5989
<PopoverContent
6090
className="min-w-[14rem] divide-y divide-grid-bright overflow-y-auto p-0 scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600"
6191
side={isCollapsed ? "right" : "top"}

apps/webapp/app/components/primitives/Popover.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ function PopoverSideMenuTrigger({
178178
{...props}
179179
ref={ref}
180180
className={cn(
181-
"flex h-[1.8rem] shrink-0 select-none items-center rounded-sm bg-transparent px-[0.4rem] text-center font-sans text-2sm font-normal text-text-bright transition duration-150 focus-custom hover:bg-charcoal-750",
181+
"flex h-[1.8rem] shrink-0 select-none items-center rounded-sm bg-transparent pl-[0.4rem] pr-2.5 text-center font-sans text-2sm font-normal text-text-bright transition duration-150 focus-custom hover:bg-charcoal-750",
182182
shortcut && !hideShortcutKey ? "justify-between gap-x-1.5" : "",
183183
className
184184
)}

0 commit comments

Comments
 (0)