@@ -24,9 +24,7 @@ function PinnedSearchBar({
2424 const [ searchText , setSearchText ] = useState ( "" ) ;
2525 const [ suggestions , setSuggestions ] = useState < string [ ] > ( [ ] ) ;
2626 const suggestionsRef = useRef < HTMLUListElement | null > ( null ) ;
27- const floatingContainerRef = useRef < HTMLDivElement > ( null ) ;
2827 const [ pinned , setPinned ] = useState < boolean > ( false ) ;
29- const [ open , setOpen ] = useState ( false ) ;
3028 const [ showControls , setShowControls ] = useState ( false ) ;
3129 const searchRef = useRef < HTMLInputElement > ( null ) ;
3230
@@ -69,19 +67,6 @@ function PinnedSearchBar({
6967 filtersNotPulled ?.( ) ;
7068 } ;
7169
72- const handleClickOutside = ( event : MouseEvent ) => {
73- const target = event . target as Node ;
74- if (
75- floatingContainerRef . current &&
76- ! floatingContainerRef . current . contains ( target )
77- ) {
78- setOpen ( false ) ;
79- }
80-
81- if ( suggestionsRef . current && ! suggestionsRef . current . contains ( target ) ) {
82- setSuggestions ( [ ] ) ;
83- }
84- } ;
8570
8671 useEffect ( ( ) => {
8772 const handleAddClicked = ( ) => {
@@ -146,7 +131,6 @@ function PinnedSearchBar({
146131 const handleRemoveAll = ( ) => {
147132 localStorage . setItem ( "userSubjects" , JSON . stringify ( [ ] ) ) ;
148133 window . dispatchEvent ( new Event ( "userSubjectsChanged" ) ) ;
149- setOpen ( false ) ;
150134 } ;
151135
152136 useEffect ( ( ) => {
@@ -157,23 +141,16 @@ function PinnedSearchBar({
157141 if ( storedSubjects . length > 0 ) {
158142 setShowControls ( true ) ;
159143 }
160-
161- document . addEventListener ( "mousedown" , handleClickOutside ) ;
162- return ( ) => {
163- document . removeEventListener ( "mousedown" , handleClickOutside ) ;
164- } ;
165144 } , [ ] ) ;
166145
167146 return (
168147 < div className = "w-full font-play" >
169148 < div className = "flex justify-center" >
170- < div className = "w-full max-w-xl " >
149+ < div className = "w-full max-w-2xl " >
171150 < form
172151 onSubmit = { ( e ) => {
173152 e . preventDefault ( ) ;
174153 handlePinToggle ( ) ;
175- if ( searchText . trim ( ) !== "" )
176- setOpen ( false ) ;
177154 } }
178155 >
179156 < div className = "flex items-center gap-2" >
@@ -211,66 +188,31 @@ function PinnedSearchBar({
211188 </ ul >
212189 ) }
213190 </ div >
214-
215- < div className = "hidden md:block" >
216- < PinButton
217- isPinned = { pinned }
218- onToggle = { handlePinToggle }
219- disabled = { ! showControls || searchText . trim ( ) === "" }
220- />
221- </ div >
222-
223- < div
224- ref = { floatingContainerRef }
225- className = { `md:hidden ${ showControls ? "block" : "hidden" } ` }
191+ < PinButton
192+ isPinned = { pinned }
193+ onToggle = { handlePinToggle }
194+ disabled = { ! showControls || searchText . trim ( ) === "" }
195+ />
196+ < button
197+ onClick = { ( ) => {
198+ handleRemoveAll ( ) ;
199+ } }
200+ className = "items-center gap-2 rounded-full border border-[#3A3745] bg-[#e8e9ff] px-3 py-1.5 text-sm font-semibold text-gray-700 transition hover:bg-slate-50 dark:bg-black dark:text-white dark:hover:bg-[#1A1823] hidden sm:flex"
226201 >
227- < NavDropdownButton
228- isOpen = { open }
229- onClick = { ( ) => setOpen ( ( prev ) => ! prev ) }
230- variant = "pinned"
231- />
232-
233- < div className = { `${ open ? "block" : "hidden" } ` } >
234- < FloatingControls >
235- < PinButton
236- isPinned = { pinned }
237- onToggle = { ( ) => {
238- handlePinToggle ( ) ;
239- setOpen ( false ) ;
240- } }
241- disabled = { ! showControls || searchText . trim ( ) === "" }
242- />
243- { displayPapers &&
244- < button
245- onClick = { ( ) => {
246- handleRemoveAll ( ) ;
247- setOpen ( false ) ;
248- } }
249- className = "flex items-center gap-2 rounded-full border border-[#3A3745] bg-[#e8e9ff] px-3 py-1.5 text-sm font-semibold text-gray-700 transition hover:bg-slate-50 dark:bg-black dark:text-white dark:hover:bg-[#1A1823]"
250- >
251- Remove All < X className = "h-4 w-4" />
252- </ button > }
253- </ FloatingControls >
254- </ div >
255- </ div >
202+ Remove All < X className = "h-4 w-4" />
203+ </ button >
256204 </ div >
257205 </ form >
258206 </ div >
259207 </ div >
260- { displayPapers &&
261- < div className = "mt-2 hidden w-full md:block" >
262- < div className = "ml-auto w-fit" >
263- < button
264- onClick = { ( ) => {
265- handleRemoveAll ( ) ;
266- setOpen ( false ) ;
267- } }
268- className = "flex items-center gap-2 rounded-full border border-[#3A3745] bg-[#e8e9ff] px-3 py-1.5 text-sm font-semibold text-gray-700 transition hover:bg-slate-50 dark:bg-black dark:text-white dark:hover:bg-[#1A1823]"
269- >
270- Remove All < X className = "h-4 w-4" />
271- </ button >
272- </ div >
273- </ div > }
208+ < button
209+ onClick = { ( ) => {
210+ handleRemoveAll ( ) ;
211+ } }
212+ className = "sm:hidden mt-4 flex items-center gap-2 rounded-full border border-[#3A3745] bg-[#e8e9ff] px-3 py-1.5 text-sm font-semibold text-gray-700 transition hover:bg-slate dark:bg-black dark:text-white dark:hover:bg-[#1A1823]"
213+ >
214+ Remove All < X className = "h-4 w-4" />
215+ </ button >
274216 </ div >
275217 ) ;
276218}
0 commit comments