fix: 🐛
This commit is contained in:
@@ -168,18 +168,18 @@ const SearchBar = forwardRef<
|
|||||||
}, [input, debouncedInput, profiles])
|
}, [input, debouncedInput, profiles])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (list) {
|
setDisplayList(searching && !!input)
|
||||||
|
}, [searching, input])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (displayList && list) {
|
||||||
modalManager.register(id, () => {
|
modalManager.register(id, () => {
|
||||||
setDisplayList(false)
|
setDisplayList(false)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
modalManager.unregister(id)
|
modalManager.unregister(id)
|
||||||
}
|
}
|
||||||
}, [list])
|
}, [displayList, list])
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setDisplayList(searching && !!input)
|
|
||||||
}, [searching, input])
|
|
||||||
|
|
||||||
const handleKeyDown = useCallback(
|
const handleKeyDown = useCallback(
|
||||||
(e: React.KeyboardEvent) => {
|
(e: React.KeyboardEvent) => {
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ class ModalManagerService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
register(id: string, cb: () => void) {
|
register(id: string, cb: () => void) {
|
||||||
|
const modal = this.modals.find((m) => m.id === id)
|
||||||
|
if (modal) {
|
||||||
|
// already registered, update callback
|
||||||
|
modal.cb = cb
|
||||||
|
return
|
||||||
|
}
|
||||||
this.modals.push({ id, cb })
|
this.modals.push({ id, cb })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user