diff --git a/src/renderer/src/components/Popups/SelectModelPopup.tsx b/src/renderer/src/components/Popups/SelectModelPopup.tsx index 6f249692..7fbe9466 100644 --- a/src/renderer/src/components/Popups/SelectModelPopup.tsx +++ b/src/renderer/src/components/Popups/SelectModelPopup.tsx @@ -32,6 +32,7 @@ const PopupContainer: React.FC = ({ model, resolve }) => { const inputRef = useRef(null) const { providers } = useProviders() const [pinnedModels, setPinnedModels] = useState([]) + const scrollContainerRef = useRef(null) useEffect(() => { const loadPinnedModels = async () => { @@ -162,6 +163,17 @@ const PopupContainer: React.FC = ({ model, resolve }) => { open && setTimeout(() => inputRef.current?.focus(), 0) }, [open]) + useEffect(() => { + if (open && model) { + setTimeout(() => { + const selectedElement = document.querySelector('.ant-menu-item-selected') + if (selectedElement && scrollContainerRef.current) { + selectedElement.scrollIntoView({ block: 'center', behavior: 'auto' }) + } + }, 100) // Small delay to ensure menu is rendered + } + }, [open, model]) + return ( = ({ model, resolve }) => { /> - + {filteredItems.length > 0 ? (