@@ -557,12 +557,16 @@ const SearchPageLight = ({ darkMode = true }) => {
557557 // Return a mock suggestions array for the multi-select component
558558 return Promise . resolve ( filtered ) ;
559559 } }
560- suggestions = { publicationTypes . filter ( pt =>
561- ! selectedPublicationTypes . some ( selected => selected . id === pt . id )
562- ) }
560+ suggestions = { publicationTypes }
563561 selectedItems = { selectedPublicationTypes }
564562 onSelect = { ( publicationType ) => {
565- setSelectedPublicationTypes ( prev => [ ...prev , publicationType ] ) ;
563+ setSelectedPublicationTypes ( prev => {
564+ // Prevent duplicate selection
565+ if ( prev . some ( pt => pt . id === publicationType . id ) ) {
566+ return prev ;
567+ }
568+ return [ ...prev , publicationType ] ;
569+ } ) ;
566570 } }
567571 onDeselect = { ( publicationType ) => {
568572 setSelectedPublicationTypes ( prev =>
@@ -580,12 +584,16 @@ const SearchPageLight = ({ darkMode = true }) => {
580584 title = "Select Journals"
581585 placeholder = "Type to search journals..."
582586 onSearchChange = { searchJournals }
583- suggestions = { journalSuggestions . filter ( journal =>
584- ! selectedJournals . some ( selected => selected . id === journal . id )
585- ) }
587+ suggestions = { journalSuggestions }
586588 selectedItems = { selectedJournals }
587589 onSelect = { ( journal ) => {
588- setSelectedJournals ( prev => [ ...prev , journal ] ) ;
590+ setSelectedJournals ( prev => {
591+ // Prevent duplicate selection
592+ if ( prev . some ( j => j . id === journal . id ) ) {
593+ return prev ;
594+ }
595+ return [ ...prev , journal ] ;
596+ } ) ;
589597 } }
590598 onDeselect = { ( journal ) => {
591599 setSelectedJournals ( prev =>
0 commit comments