debounce profile search from relays
This commit is contained in:
parent
cfb9c4adfd
commit
4b335faa36
@ -1,13 +1,29 @@
|
||||
import { socialGraphInstance } from "@snort/system";
|
||||
import { useMemo } from "react";
|
||||
import { useEffect, useMemo, useState } from "react";
|
||||
|
||||
import fuzzySearch from "@/Db/FuzzySearch";
|
||||
import useTimelineFeed from "@/Feed/TimelineFeed";
|
||||
import { debounce } from "@/Utils";
|
||||
|
||||
const options = { method: "LIMIT_UNTIL" };
|
||||
|
||||
export default function useProfileSearch(search: string) {
|
||||
const subject = useMemo(() => ({ type: "profile_keyword", items: [search], discriminator: search }), [search]);
|
||||
const [debouncedSearch, setDebouncedSearch] = useState(search);
|
||||
|
||||
useEffect(() => {
|
||||
return debounce(500, () => {
|
||||
setDebouncedSearch(search);
|
||||
});
|
||||
}, [search]);
|
||||
|
||||
const subject = useMemo(
|
||||
() => ({
|
||||
type: "profile_keyword",
|
||||
items: debouncedSearch ? [debouncedSearch] : [],
|
||||
discriminator: debouncedSearch,
|
||||
}),
|
||||
[debouncedSearch],
|
||||
);
|
||||
const feed = useTimelineFeed(subject, options);
|
||||
const results = useMemo(() => {
|
||||
return userSearch(search);
|
||||
|
Loading…
x
Reference in New Issue
Block a user