diff --git a/components/TopBar.tsx b/components/TopBar.tsx index b69c22f..bad30ac 100644 --- a/components/TopBar.tsx +++ b/components/TopBar.tsx @@ -126,17 +126,19 @@ export default function TopBar({ onOpenOptions }: { onOpenOptions: () => void }) setSelectedIndex((prev) => (prev > 0 ? prev - 1 : prev)); } else if (e.key === 'Enter') { e.preventDefault(); - if (selectedIndex >= 0) { + if (selectedIndex >= 0 && selectedIndex < totalItems) { if (searchQuery.trim()) { handleSelectFeature(searchResults[selectedIndex]); } else { const selectedQuery = displayedHistory[selectedIndex]; - setSearchQuery(selectedQuery); - setSelectedIndex(-1); - const matched = FEATURES.find( - (f) => f.key !== 'dashboard' && t(f.labelKey) === selectedQuery, - ); - if (matched) handleSelectFeature(matched); + if (selectedQuery) { + setSearchQuery(selectedQuery); + setSelectedIndex(-1); + const matched = FEATURES.find( + (f) => f.key !== 'dashboard' && t(f.labelKey) === selectedQuery, + ); + if (matched) handleSelectFeature(matched); + } } } else if (searchQuery.trim() && searchResults.length > 0) { handleSelectFeature(searchResults[0]);