feat(monitors): integrate bulk actions into uptime and infrastructure tables

- Mounts selection checkboxes in UptimeMonitorsTable and MonitorsTable
- Enhances global Table.tsx to cleanly render checkboxes on mobile cards via mobileLabel
- Injects BulkActionsBar into main list views

Fixes #3602
This commit is contained in:
Retr01-sudo committed 2026-05-01 19:44:07 +05:30
1 parent 6b9759e455
commit 4e284c1468
5 files changed
+208 -59

No files matched your search

@@ -35,6 +35,7 @@ import useMediaQuery from "@mui/material/useMediaQuery";
export type Header<T> = {
id: number | string;
content: React.ReactNode;
mobileLabel?: React.ReactNode;
onClick?: (event: React.MouseEvent<HTMLTableCellElement | null>, row: T) => void;
render: (row: T) => React.ReactNode;
};
@@ -109,6 +110,24 @@ export function DataTable<
key={key}
>
{headers.map((header) => {
if (header.mobileLabel === null) {
return (
<Grid2
container
key={header.id}
>
<Grid2
size={12}
display="flex"
alignItems="center"
justifyContent="flex-end"
>
{header.render(row)}
</Grid2>
</Grid2>
);
}
return (
<Grid2
container
@@ -123,7 +142,9 @@ export function DataTable<
component="div"
color={theme.palette.text.primary}
>
{header.content}
{header.mobileLabel !== undefined
? header.mobileLabel
: header.content}
</Typography>
</Grid2>
<Grid2