diff --git a/ui/litellm-dashboard/src/components/templates/key_info_view.test.tsx b/ui/litellm-dashboard/src/components/templates/key_info_view.test.tsx index c762e1ac14b..5fbcf3daafe 100644 --- a/ui/litellm-dashboard/src/components/templates/key_info_view.test.tsx +++ b/ui/litellm-dashboard/src/components/templates/key_info_view.test.tsx @@ -163,6 +163,24 @@ describe("KeyInfoView", () => { }); }); + it("bounds the detail panel scroll container to the viewport so edit form actions stay reachable", async () => { + vi.mocked(useAuthorized).mockReturnValue(baseUseAuthorizedMock); + + const { container } = renderWithProviders( + {}} + keyId={"test-key-id"} + onKeyDataUpdate={() => {}} + teams={[]} + />, + ); + + const scrollContainer = container.querySelector(".overflow-y-auto"); + expect(scrollContainer).not.toBeNull(); + expect(scrollContainer!.className).toContain("max-h-[85vh]"); + }); + it("should not render tags in metadata textarea", async () => { vi.mocked(useAuthorized).mockReturnValue(baseUseAuthorizedMock); diff --git a/ui/litellm-dashboard/src/components/templates/key_info_view.tsx b/ui/litellm-dashboard/src/components/templates/key_info_view.tsx index 018880b70aa..9fe91cb164b 100644 --- a/ui/litellm-dashboard/src/components/templates/key_info_view.tsx +++ b/ui/litellm-dashboard/src/components/templates/key_info_view.tsx @@ -412,7 +412,7 @@ export default function KeyInfoView({ }; return ( -
+