(
- "tbody button.sticky",
- );
- expect(loadMoreButton).not.toBeNull();
- fireEvent.click(loadMoreButton!);
-
await screen.findByText("Second cursor row");
expect(listIssueTableRows).toHaveBeenCalledWith(
expect.objectContaining({ page: { limit: 50, cursor: "cursor-2" } }),
diff --git a/packages/views/issues/surface/issue-surface.tsx b/packages/views/issues/surface/issue-surface.tsx
index 7133ab015e..6f4ad9c077 100644
--- a/packages/views/issues/surface/issue-surface.tsx
+++ b/packages/views/issues/surface/issue-surface.tsx
@@ -327,19 +327,16 @@ function IssueSurfaceContent({
);
}
+// Table is deliberately absent. It owns its own placeholders, drawn as rows
+// inside its real grid so the header, column widths and toolbar are up before
+// any data is — a surface-level stand-in would replace all of that with bars
+// of a different shape and then jump when the rows arrived.
function IssueSurfaceSkeleton({ mode }: { mode: string }) {
- if (mode === "list" || mode === "table") {
+ if (mode === "list") {
return (
- {mode === "table" && }
- {Array.from({ length: mode === "table" ? 8 : 4 }).map((_, i) => (
-
+ {Array.from({ length: 4 }).map((_, i) => (
+
))}
);