Require only single query for search

This commit is contained in:
jeffvli 2023-06-09 04:08:33 -07:00 committed by Jeff
parent e56350c1c2
commit 255a131f3b
5 changed files with 22 additions and 9 deletions

View file

@ -74,8 +74,7 @@ export const LyricsSearchForm = ({ artist, name, onSearchOverride }: LyricSearch
const [debouncedArtist] = useDebouncedValue(form.values.artist, 500);
const [debouncedName] = useDebouncedValue(form.values.name, 500);
const { data, isLoading } = useLyricSearch({
options: { enabled: Boolean(form.values.artist && form.values.name) },
const { data, isInitialLoading } = useLyricSearch({
query: { artist: debouncedArtist, name: debouncedName },
});
@ -91,7 +90,7 @@ export const LyricsSearchForm = ({ artist, name, onSearchOverride }: LyricSearch
}, [data]);
return (
<Stack>
<Stack h={400}>
<form>
<Group grow>
<TextInput
@ -108,12 +107,11 @@ export const LyricsSearchForm = ({ artist, name, onSearchOverride }: LyricSearch
</Group>
</form>
<Divider />
{isLoading ? (
{isInitialLoading ? (
<Spinner container />
) : (
<ScrollArea
offsetScrollbars
h={350}
pr="1rem"
>
<Stack spacing="md">

View file

@ -15,6 +15,7 @@ export const useLyricSearch = (args: Omit<QueryHookArgs<LyricSearchQuery>, 'serv
return useQuery<Record<LyricSource, InternetProviderLyricSearchResponse[]>>({
cacheTime: 1000 * 60 * 1,
enabled: !!query.artist || !!query.name,
queryFn: () => lyricsIpc?.searchRemoteLyrics(query),
queryKey: queryKeys.songs.lyricsSearch(query),
staleTime: 1000 * 60 * 1,