diff --git a/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.css b/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.css index b4a330b154..69be0e646f 100644 --- a/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.css +++ b/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.css @@ -1,5 +1,27 @@ /* Styles for AddLlmProfile */ +/* The settings modal's content column (.conn-modal-col) is the real scroll + container. .settings-body-pad-top declares its own overflow-y: auto with no + bounded height, which does nothing except register a nested scroll context + that would stop the sticky footer below from pinning to .conn-modal-col. + Drop it back to visible for this form. */ +.settings-body-pad-top.add-llm-profile-scroll-root { + overflow: visible; +} + +/* Pin the submit button to the bottom of the scrollable panel so it stays + visible as the form grows (e.g. Advanced Settings expanded) instead of + flowing past the modal. Background is set inline from the antd theme token + so scrolling fields don't show through. */ +.add-llm-profile-footer { + position: sticky; + bottom: 0; + z-index: 1; + margin-bottom: 0; + padding-top: 12px; + border-top: 1px solid var(--ant-color-border-secondary, #f0f0f0); +} + .add-llm-profile-row { width: 100%; } diff --git a/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.jsx b/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.jsx index bac0e5325f..6740cf0cda 100644 --- a/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.jsx +++ b/frontend/src/components/custom-tools/add-llm-profile/AddLlmProfile.jsx @@ -453,7 +453,7 @@ function AddLlmProfile({ }; return ( -