Skip to content

Commit 9c9a22f

Browse files
committed
Adds support for a single button to be shown on hover in a table cell
1 parent 54dd351 commit 9c9a22f

File tree

2 files changed

+10
-2
lines changed
  • apps/webapp/app
    • components/primitives
    • routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.queues

2 files changed

+10
-2
lines changed

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ChevronRightIcon } from "@heroicons/react/24/solid";
22
import { Link } from "@remix-run/react";
3-
import React, { ReactNode, forwardRef, useState, useContext, createContext } from "react";
3+
import React, { type ReactNode, forwardRef, useState, useContext, createContext } from "react";
44
import { cn } from "~/utils/cn";
55
import { Popover, PopoverContent, PopoverVerticalEllipseTrigger } from "./Popover";
66
import { InfoIconTooltip } from "./Tooltip";
@@ -302,6 +302,7 @@ export const TableCellMenu = forwardRef<
302302
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
303303
visibleButtons?: ReactNode;
304304
hiddenButtons?: ReactNode;
305+
hiddenSoloButton?: ReactNode;
305306
popoverContent?: ReactNode;
306307
children?: ReactNode;
307308
isSelected?: boolean;
@@ -314,6 +315,7 @@ export const TableCellMenu = forwardRef<
314315
onClick,
315316
visibleButtons,
316317
hiddenButtons,
318+
hiddenSoloButton,
317319
popoverContent,
318320
children,
319321
isSelected,
@@ -351,6 +353,10 @@ export const TableCellMenu = forwardRef<
351353
{hiddenButtons}
352354
</div>
353355
)}
356+
{/* Hidden solo button that shows on hover. To be used without the ellipsis popover content */}
357+
{hiddenSoloButton && (
358+
<div className={cn("hidden group-hover/table-row:block")}>{hiddenSoloButton}</div>
359+
)}
354360
{/* Always visible buttons */}
355361
{visibleButtons}
356362
{/* Always visible popover with ellipsis trigger */}

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.queues/route.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,9 @@ export default function Page() {
399399
<TableCellMenu
400400
isSticky
401401
visibleButtons={queue.paused && <QueuePauseResumeButton queue={queue} />}
402-
hiddenButtons={!queue.paused && <QueuePauseResumeButton queue={queue} />}
402+
hiddenSoloButton={
403+
!queue.paused && <QueuePauseResumeButton queue={queue} />
404+
}
403405
/>
404406
</TableRow>
405407
))

0 commit comments

Comments
 (0)