Create cancelNudges, to remove the query result when sending a message

This commit is contained in:
Lucas Oliveira 2025-09-05 17:00:52 -03:00
parent 9e78798a04
commit 01b10d403a
2 changed files with 10 additions and 6 deletions

View file

@ -17,7 +17,11 @@ export const useGetNudgesQuery = (
options?: Omit<UseQueryOptions, "queryKey" | "queryFn">, options?: Omit<UseQueryOptions, "queryKey" | "queryFn">,
) => { ) => {
const queryClient = useQueryClient(); const queryClient = useQueryClient();
console.log(chatId);
function cancel() {
queryClient.removeQueries({ queryKey: ["nudges", chatId] });
}
async function getNudges(): Promise<Nudge[]> { async function getNudges(): Promise<Nudge[]> {
try { try {
const response = await fetch(`/api/nudges${chatId ? `/${chatId}` : ""}`); const response = await fetch(`/api/nudges${chatId ? `/${chatId}` : ""}`);
@ -38,5 +42,5 @@ export const useGetNudgesQuery = (
queryClient, queryClient,
); );
return queryResult; return { ...queryResult, cancel };
}; };

View file

@ -619,7 +619,7 @@ function ChatPage() {
}; };
}, [isFilterDropdownOpen]); }, [isFilterDropdownOpen]);
const { data: nudges = [], refetch: refetchNudges } = useGetNudgesQuery( const { data: nudges = [], cancel: cancelNudges } = useGetNudgesQuery(
previousResponseIds[endpoint], previousResponseIds[endpoint],
); );
@ -1275,7 +1275,7 @@ function ChatPage() {
setMessages((prev) => [...prev, finalMessage]); setMessages((prev) => [...prev, finalMessage]);
setStreamingMessage(null); setStreamingMessage(null);
if (previousResponseIds[endpoint]) { if (previousResponseIds[endpoint]) {
refetchNudges(); cancelNudges();
} }
} }
@ -1394,7 +1394,7 @@ function ChatPage() {
}; };
setMessages((prev) => [...prev, assistantMessage]); setMessages((prev) => [...prev, assistantMessage]);
if (result.response_id) { if (result.response_id) {
refetchNudges(); cancelNudges();
} }
// Store the response ID if present for this endpoint // Store the response ID if present for this endpoint
@ -1968,7 +1968,7 @@ function ChatPage() {
{/* Suggestion chips - always show unless streaming */} {/* Suggestion chips - always show unless streaming */}
{!streamingMessage && ( {!streamingMessage && (
<Nudges <Nudges
nudges={nudges as string[]} nudges={loading ? [] : (nudges as string[])}
handleSuggestionClick={handleSuggestionClick} handleSuggestionClick={handleSuggestionClick}
/> />
)} )}