diff --git a/clients/web/src/components/elements/ListToggle/ListToggle.tsx b/clients/web/src/components/elements/ListToggle/ListToggle.tsx
index 44085f66..cd7a0336 100644
--- a/clients/web/src/components/elements/ListToggle/ListToggle.tsx
+++ b/clients/web/src/components/elements/ListToggle/ListToggle.tsx
@@ -1,4 +1,4 @@
-import { ActionIcon, Button } from "@mantine/core";
+import { ActionIcon } from "@mantine/core";
import { RiExpandVerticalLine, RiCollapseVerticalLine } from "react-icons/ri";
export interface ListToggleProps {
@@ -29,9 +29,16 @@ export function ListToggle({
);
}
+ // `size={36}` matches the header's theme / client-settings ActionIcons so the
+ // toolbar's toggle reads as the same size icon button.
return (
-
+
);
}
diff --git a/clients/web/src/components/elements/PinColumnButton/PinColumnButton.tsx b/clients/web/src/components/elements/PinColumnButton/PinColumnButton.tsx
index d101d90a..33204590 100644
--- a/clients/web/src/components/elements/PinColumnButton/PinColumnButton.tsx
+++ b/clients/web/src/components/elements/PinColumnButton/PinColumnButton.tsx
@@ -1,4 +1,4 @@
-import { Button } from "@mantine/core";
+import { ActionIcon } from "@mantine/core";
import { TbLayoutSidebarRightExpand } from "react-icons/tb";
export interface PinColumnButtonProps {
@@ -14,15 +14,16 @@ export interface PinColumnButtonProps {
* that screen in as a column; on the server list it just opens the column (a
* different `label`). Distinct from `PinToggle` (which pins individual history
* entries) — this one opens a side column, so it uses a right-sidebar glyph.
- * Styled to match the panel's expand/collapse `ListToggle` (subtle icon button).
+ * `size={36}` matches the header's theme / client-settings ActionIcons and the
+ * toolbar's `ListToggle`, so all these icon buttons share one width.
*/
export function PinColumnButton({
onPin,
label = "Pin as column",
}: PinColumnButtonProps) {
return (
-
+
);
}
diff --git a/clients/web/src/components/groups/MonitoringControls/MonitoringControls.tsx b/clients/web/src/components/groups/MonitoringControls/MonitoringControls.tsx
index 97e9f3ee..23575337 100644
--- a/clients/web/src/components/groups/MonitoringControls/MonitoringControls.tsx
+++ b/clients/web/src/components/groups/MonitoringControls/MonitoringControls.tsx
@@ -1,4 +1,4 @@
-import { Button, Group, SegmentedControl, TextInput } from "@mantine/core";
+import { ActionIcon, Group, SegmentedControl, TextInput } from "@mantine/core";
import { TbLayoutSidebarRightCollapse } from "react-icons/tb";
import { ClearButton } from "../../elements/ClearButton/ClearButton";
@@ -69,14 +69,14 @@ export function MonitoringControls({
) : null
}
/>
-
+
);
}
diff --git a/clients/web/src/components/groups/ServerListControls/ServerListControls.tsx b/clients/web/src/components/groups/ServerListControls/ServerListControls.tsx
index 3c559a70..c64c2eaa 100644
--- a/clients/web/src/components/groups/ServerListControls/ServerListControls.tsx
+++ b/clients/web/src/components/groups/ServerListControls/ServerListControls.tsx
@@ -34,7 +34,9 @@ export function ServerListControls({
onOpenMonitor,
}: ServerListControlsProps) {
return (
-
+ // `gap="sm"` matches the header's control spacing (its RightSection group),
+ // so these buttons sit the same distance apart as the header icons.
+
diff --git a/clients/web/src/components/groups/TaskListPanel/TaskListPanel.test.tsx b/clients/web/src/components/groups/TaskListPanel/TaskListPanel.test.tsx
index 184bcec5..ff025541 100644
--- a/clients/web/src/components/groups/TaskListPanel/TaskListPanel.test.tsx
+++ b/clients/web/src/components/groups/TaskListPanel/TaskListPanel.test.tsx
@@ -169,13 +169,12 @@ describe("TaskListPanel", () => {
screen.getAllByRole("button", { name: "Collapse" }).length,
).toBeGreaterThan(0);
- const buttons = screen.getAllByRole("button");
- const toggle = buttons.find(
- (b) =>
- b.textContent === "" && b.classList.contains("mantine-Button-root"),
- );
- expect(toggle).toBeDefined();
- await user.click(toggle!);
+ // The ListToggle is labelled "Collapse all" / "Expand all" — distinct from
+ // the per-entry "Collapse" / "Expand" buttons.
+ const toggle = screen.getByRole("button", {
+ name: /Collapse all|Expand all/,
+ });
+ await user.click(toggle);
// After toggle, entries collapsed — they show Expand
expect(