From 382a22cee757492565b9d2448b874607296e339b Mon Sep 17 00:00:00 2001 From: Adam Refaey Date: Fri, 2 May 2025 18:05:43 +0300 Subject: [PATCH 1/3] Refactor bookmark status update in useToggleReportBookmark for improved clarity and efficiency --- frontend/src/common/hooks/useReports.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/frontend/src/common/hooks/useReports.ts b/frontend/src/common/hooks/useReports.ts index 3b5ee30..2f08799 100644 --- a/frontend/src/common/hooks/useReports.ts +++ b/frontend/src/common/hooks/useReports.ts @@ -92,12 +92,8 @@ export const useToggleReportBookmark = () => { // Update the bookmark status in the report detail page queryClient.setQueryData( - [QueryKey.ReportDetail, reportId], - (oldReport) => { - if (!oldReport) return undefined; - if (oldReport.id !== updatedReport.id) return oldReport; - return { ...oldReport, bookmarked: updatedReport.bookmarked }; - }, + [QueryKey.ReportDetail, updatedReport.id], + (report) => (report?.id === updatedReport.id ? updatedReport : report), ); }, }); From 35a63e6b13f2172661ab48c3439ac696546895a7 Mon Sep 17 00:00:00 2001 From: Adam Refaey Date: Fri, 2 May 2025 18:45:14 +0300 Subject: [PATCH 2/3] Refactor ProcessingError component to manage upload modal state and handle upload completion --- .../Processing/components/ProcessingError.tsx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/Processing/components/ProcessingError.tsx b/frontend/src/pages/Processing/components/ProcessingError.tsx index 43e1921..6064084 100644 --- a/frontend/src/pages/Processing/components/ProcessingError.tsx +++ b/frontend/src/pages/Processing/components/ProcessingError.tsx @@ -1,7 +1,9 @@ import { IonButton } from '@ionic/react'; -import { useHistory } from 'react-router-dom'; import '../ProcessingPage.scss'; import warning from '../../../assets/icons/warning.svg'; +import UploadModal from 'common/components/Upload/UploadModal'; +import { useState } from 'react'; +import { useHistory } from 'react-router'; interface ProcessingErrorProps { errorMessage: string; @@ -19,6 +21,12 @@ const ProcessingError: React.FC = ({ onRetry, }) => { const history = useHistory(); + const [isUploadModalOpen, setIsUploadModalOpen] = useState(false); + + const handleUploadComplete = () => { + setIsUploadModalOpen(false); + history.push('/tabs/home'); + }; return (
@@ -54,10 +62,16 @@ const ProcessingError: React.FC = ({ expand="block" shape="round" color="primary" - onClick={() => history.push('/tabs/upload')} + onClick={() => setIsUploadModalOpen(true)} > New Upload + +
); From 0c404b2ec98aac8a385f720e505e68d94960cffa Mon Sep 17 00:00:00 2001 From: Adam Refaey Date: Fri, 2 May 2025 18:50:20 +0300 Subject: [PATCH 3/3] Add clearStatusCheckInterval call before starting status check interval in ProcessingPage --- frontend/src/pages/Processing/ProcessingPage.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/src/pages/Processing/ProcessingPage.tsx b/frontend/src/pages/Processing/ProcessingPage.tsx index 68ed37a..8a1367b 100644 --- a/frontend/src/pages/Processing/ProcessingPage.tsx +++ b/frontend/src/pages/Processing/ProcessingPage.tsx @@ -118,6 +118,8 @@ const ProcessingPage: React.FC = () => { history.push(`/tabs/reports/${reportId}`); } + clearStatusCheckInterval(); + // Start checking the status every 2 seconds statusCheckIntervalRef.current = window.setInterval(checkReportStatus, 2000); } catch (error) {