From ba560bbd91a4561a2cb0e316728f636d9c634a39 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 26 Sep 2023 08:39:48 +0100 Subject: [PATCH] added due considerations download --- src/app/due-considerations/page.tsx | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/app/due-considerations/page.tsx b/src/app/due-considerations/page.tsx index 148550d7..68b0234e 100644 --- a/src/app/due-considerations/page.tsx +++ b/src/app/due-considerations/page.tsx @@ -40,7 +40,7 @@ async function postDueConsiderations( // Handle the response as needed const data = await response.json(); - console.log("Response Data:", data); + return data; } catch (error) { console.error(error); // Handle the error appropriately @@ -49,22 +49,23 @@ async function postDueConsiderations( const useUploadFiles = ({ dueConsiderationsFiles, - folderKey: initialFolderKey, userId, schemeName, + setDownloadUrl, }: { dueConsiderationsFiles: File[]; - folderKey: string; userId: string; schemeName: string; + setDownloadUrl: React.Dispatch>; }) => { const { mutate: mutateUploadFiles, isLoading: isUploadLoading } = useMutation( uploadFilesToS3, { - onSuccess: () => { + onSuccess: async () => { console.log("Trigger the due considerations process"); console.log("Folder key: ", folderKey); - postDueConsiderations(userId, folderKey, schemeName); + const data = await postDueConsiderations(userId, folderKey, schemeName); + setDownloadUrl(data.download_url); }, onError: (error) => { console.error(error); @@ -92,7 +93,7 @@ const useUploadFiles = ({ } ); - const [folderKey, setFolderKey] = useState(initialFolderKey); + const [folderKey, setFolderKey] = useState(""); const handleUpload = (newFolderKey: string) => { setFolderKey(newFolderKey); @@ -159,18 +160,21 @@ export default function DueConsiderationsHome() { const [buttonDisabled, setButtonDisabled] = useState(true); const [uploadMessage, setUploadMessage] = useState(""); const [schemeName, setSchemeName] = useState(""); + const [downloadUrl, setDownloadUrl] = useState(""); const session = useSession(); const userId = String(session.data?.user.dbId); - const folderKey = useMemo( - () => generateDueConsiderationsS3Folder(userId), - [userId] - ); const { handleUpload, isGeneratingUrlLoading, isUploadLoading } = - useUploadFiles({ dueConsiderationsFiles, folderKey, userId, schemeName }); + useUploadFiles({ + dueConsiderationsFiles, + userId, + schemeName, + setDownloadUrl, + }); const initiateUpload = () => { + setDownloadUrl(""); const newFolderKey = generateDueConsiderationsS3Folder(userId); handleUpload(newFolderKey); }; @@ -227,6 +231,9 @@ export default function DueConsiderationsHome() { Upload + {downloadUrl ? ( + Download Due Considerations + ) : null} );