debounce profile search from relays
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Martti Malmi 2024-02-02 09:21:26 +02:00
parent cfb9c4adfd
commit 4b335faa36
1 changed files with 18 additions and 2 deletions

View File

@ -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);