From 1918440152db9230ac57ca2a4527859b0aad0488 Mon Sep 17 00:00:00 2001 From: LuisMSuarez <140195810+LuisMSuarez@users.noreply.github.com> Date: Tue, 28 Oct 2025 14:30:53 -0700 Subject: [PATCH] Handle errors in review summary generation Adds error state and user feedback for failed review summary generation in ReviewList. Displays an error message if the summary API request fails. --- packages/client/src/components/reviews/ReviewList.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/client/src/components/reviews/ReviewList.tsx b/packages/client/src/components/reviews/ReviewList.tsx index 9734e0a..6a49c16 100644 --- a/packages/client/src/components/reviews/ReviewList.tsx +++ b/packages/client/src/components/reviews/ReviewList.tsx @@ -30,6 +30,7 @@ type SummarizeResponse = { const ReviewList = ({ productId }: Props) => { const [summaryRegenerated, setSummaryRegenerated] = useState(false); const [generatingSummary, setGeneratingSummary] = useState(false); + const [summaryGenError, setSummaryGenError] = useState(''); const { data: reviewData, @@ -49,12 +50,16 @@ const ReviewList = ({ productId }: Props) => { const generateSummary = async () => { setGeneratingSummary(true); + setSummaryGenError(''); try { const { data } = await axios.post( `/api/products/${productId}/summaries` ); setSummaryRegenerated(true); return data; + } catch (error) { + console.error(error); + setSummaryGenError('Could not summarize the reviews. Try again.'); } finally { setGeneratingSummary(false); } @@ -97,6 +102,9 @@ const ReviewList = ({ productId }: Props) => { Summarize )} + {summaryGenError && ( +

{summaryGenError}

+ )}
{reviewData?.reviews.map((review) => (