diff --git a/cope2n-fe/package-lock.json b/cope2n-fe/package-lock.json index d24b175..e5db921 100644 --- a/cope2n-fe/package-lock.json +++ b/cope2n-fe/package-lock.json @@ -25,6 +25,7 @@ "react": "^18.2.0", "react-chartjs-2": "^5.2.0", "react-dom": "^18.2.0", + "react-hotkeys-hook": "^4.5.0", "react-json-view-lite": "^1.2.1", "react-office-viewer": "^1.0.4", "react-router-dom": "^6.6.1", @@ -11407,6 +11408,15 @@ "react": "^18.2.0" } }, + "node_modules/react-hotkeys-hook": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-4.5.0.tgz", + "integrity": "sha512-Samb85GSgAWFQNvVt3PS90LPPGSf9mkH/r4au81ZP1yOIFayLC3QAvqTgGtJ8YEDMXtPmaVBs6NgipHO6h4Mug==", + "peerDependencies": { + "react": ">=16.8.1", + "react-dom": ">=16.8.1" + } + }, "node_modules/react-i18next": { "version": "11.18.6", "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", diff --git a/cope2n-fe/package.json b/cope2n-fe/package.json index c7e2006..769f0c1 100644 --- a/cope2n-fe/package.json +++ b/cope2n-fe/package.json @@ -27,27 +27,28 @@ }, "dependencies": { "@ant-design/colors": "^6.0.0", - "@ant-design/icons": "^4.8.0", - "@ant-design/plots": "^1.2.3", - "@ant-design/pro-layout": "^7.10.3", - "@babel/core": "^7.13.10", - "@cyntler/react-doc-viewer": "^1.14.1", - "@tanstack/react-query": "^4.20.4", - "antd": "^5.4.0", - "axios": "^1.2.2", - "chart.js": "^4.4.1", - "history": "^5.3.0", - "lodash-es": "^4.17.21", - "mousetrap": "^1.6.5", - "process": "^0.11.10", - "react": "^18.2.0", - "react-chartjs-2": "^5.2.0", - "react-dom": "^18.2.0", - "react-json-view-lite": "^1.2.1", - "react-office-viewer": "^1.0.4", - "react-router-dom": "^6.6.1", - "styled-components": "^5.3.6", - "uuid": "^9.0.0" + "@ant-design/icons": "^4.8.0", + "@ant-design/plots": "^1.2.3", + "@ant-design/pro-layout": "^7.10.3", + "@babel/core": "^7.13.10", + "@cyntler/react-doc-viewer": "^1.14.1", + "@tanstack/react-query": "^4.20.4", + "antd": "^5.4.0", + "axios": "^1.2.2", + "chart.js": "^4.4.1", + "history": "^5.3.0", + "lodash-es": "^4.17.21", + "mousetrap": "^1.6.5", + "process": "^0.11.10", + "react": "^18.2.0", + "react-chartjs-2": "^5.2.0", + "react-dom": "^18.2.0", + "react-hotkeys-hook": "^4.5.0", + "react-json-view-lite": "^1.2.1", + "react-office-viewer": "^1.0.4", + "react-router-dom": "^6.6.1", + "styled-components": "^5.3.6", + "uuid": "^9.0.0" }, "devDependencies": { "@babel/plugin-syntax-jsx": "^7.12.13", diff --git a/cope2n-fe/src/pages/reviews/index.tsx b/cope2n-fe/src/pages/reviews/index.tsx index 66f74d8..028e48a 100644 --- a/cope2n-fe/src/pages/reviews/index.tsx +++ b/cope2n-fe/src/pages/reviews/index.tsx @@ -9,12 +9,14 @@ import { ArrowRightOutlined, FullscreenOutlined, FullscreenExitOutlined, + ClockCircleFilled, } from '@ant-design/icons'; import FileViewer from '@cyntler/react-doc-viewer'; import styled from 'styled-components'; const { Sider, Content } = Layout; import { baseURL } from "request/api"; import moment from 'moment'; +import { useHotkeys } from "react-hotkeys-hook"; const siderStyle: React.CSSProperties = { @@ -138,15 +140,6 @@ const defaultColumns = [ key: 'key', width: 200, }, - // { - // title: 'Accuracy', - // dataIndex: 'acc', - // key: 'acc', - // render: (text, record) => { - // return
100%
; - // }, - // width: 150, - // }, { title: 'Predicted', dataIndex: 'predicted', @@ -166,7 +159,7 @@ const defaultColumns = [ ]; -const FileCard = ({ file, isSelected, onClick }) => { +const FileCard = ({ file, isSelected, onClick, setIsReasonModalOpen }) => { const fileName = file["File Name"]; return ( @@ -179,6 +172,7 @@ const FileCard = ({ file, isSelected, onClick }) => { marginTop: '2px', position: 'relative', height: '100px', + overflow: 'hidden', }} onClick={onClick}>
{ }}> -    Request ID: {currentRequest?.RequestID} + {totalRequests ? <>   Request ID: {currentRequest?.RequestID} : ""}
{ display: 'flex', flexDirection: 'row', }}> -
0 &&
{ {currentRequest?.Files.map((file, index) => ( { - setAndLoadSelectedFile(index); + setAndLoadSelectedFile(currentRequest, index); } - } /> + } setIsReasonModalOpen={setIsReasonModalOpen} /> ))} -
+
}
- {selectedFileData && Failed to load file.

: ( fileExtension === "pdf" ? ( { }, csvDelimiter: ",", // "," as default, pdfVerticalScrollByDefault: true, // false as default - }} />} + }} />) :
file
)}
- {/* } color="warning" style={{ padding: "4px 16px", marginLeft: 8 }}> - Not Reviewed - */} - } color="success" style={{ padding: "4px 16px", marginLeft: 8 }}> - Reviewed - - +

{totalRequests ? ("Request: " + currentRequestIndex + "/" + totalRequests) : "No Request. Adjust your search criteria to see more results."}

+ {totalRequests > 0 &&
+ + + + + +
+ {currentRequest && (currentRequest["Is Reviewed"] ? } color="success" style={{ padding: "4px 16px" }}> + Reviewed + : } color="warning" style={{ padding: "4px 16px" }}> + Not Reviewed + )} +
+
}
{ }} > { + setFilterDateRange(dateString); + }} style={{ width: 200 }} /> @@ -738,7 +762,50 @@ const ReviewPage = () => { -
{ + + } + } + onCancel={ + () => { + setIsReasonModalOpen(false); + } + } + > + {currentRequest && JSON.stringify(currentRequest["Files"][selectedFileId])} +
+ +