From d6920b320c511f70c5ae4365e21d58ff41619dd5 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Mon, 15 Apr 2024 10:09:23 +0100 Subject: [PATCH] added file component to accept offer model --- .../images/wrenchboard-logo-text_new.png | Bin 0 -> 7780 bytes .../MyActiveJobs/ActiveJobMessage.jsx | 2 +- src/components/MyActiveJobs/ActiveJobs.jsx | 7 + src/components/attachmentCom/AttachFile.jsx | 140 ++++++++++++------ .../jobPopout/FamilyOfferJobPopout.jsx | 8 +- .../jobPopout/popoutcomponent/Detail.jsx | 2 +- 6 files changed, 107 insertions(+), 52 deletions(-) create mode 100644 src/assets/images/wrenchboard-logo-text_new.png diff --git a/src/assets/images/wrenchboard-logo-text_new.png b/src/assets/images/wrenchboard-logo-text_new.png new file mode 100644 index 0000000000000000000000000000000000000000..e741433213e05ec13691a1d2d4825a9847703cda GIT binary patch literal 7780 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 -
+
diff --git a/src/components/MyActiveJobs/ActiveJobs.jsx b/src/components/MyActiveJobs/ActiveJobs.jsx index 3e2f511..1ef3f3e 100644 --- a/src/components/MyActiveJobs/ActiveJobs.jsx +++ b/src/components/MyActiveJobs/ActiveJobs.jsx @@ -13,6 +13,7 @@ import usersService from "../../services/UsersService"; import { PriceFormatter } from "../Helpers/PriceFormatter"; import { SocketValues } from "../Contexts/SocketIOContext"; import TabButton from "../customTabs/TabButton"; +import AttachFile from "../attachmentCom/AttachFile"; function ActiveJobs(props) { let {sendMessage, joinRoom} = SocketValues() // destructures 'SEND MESSAGE' and 'JOIN ROOM' FUNCTIONS FROM SOCKET @@ -539,6 +540,12 @@ function ActiveJobs(props) { {/* MESSAGE SECTION */}
+
+ +

Message diff --git a/src/components/attachmentCom/AttachFile.jsx b/src/components/attachmentCom/AttachFile.jsx index 9e5a532..1e0a662 100644 --- a/src/components/attachmentCom/AttachFile.jsx +++ b/src/components/attachmentCom/AttachFile.jsx @@ -4,7 +4,7 @@ import axios from 'axios' import usersService from '../../services/UsersService' -export default function AttachFile({data}) { +export default function AttachFile({data='', showOnData=false}) { const apiCall = new usersService() @@ -62,7 +62,7 @@ export default function AttachFile({data}) { } useEffect(()=>{ - apiCall.jobManagerFiles({job_uid:data?.job_uid}).then(res => { + apiCall.jobManagerFiles({job_uid:data?.job_uid || data?.origin_job_uid}).then(res => { setUploadedList({loading: false, data:res.data}) }).catch(err => { console.log(err) @@ -71,55 +71,99 @@ export default function AttachFile({data}) { },[data, reloadList]) return ( -

-
-
-
- Files { - requestStatus.loading ? - + <> + {!showOnData ? +
+
+
+
+ Files { + requestStatus.loading ? + + : + {requestStatus.message} + } +
+ +
+
+ {uploadedList.loading ? +
+ +
+ : + Object.keys(uploadedList.data).length > 0 ? + uploadedList.data.result_list.length > 0 ? + uploadedList.data.result_list.map((item, index) => { + let fileNameExt = item.originalname.split('.')[item.originalname.split('.').length - 1] + return( + + ) + }) : - {requestStatus.message} - } +

No Uploaded files yet

+ : + <> + }
- +
-
- {uploadedList.loading ? -
- -
- : - Object.keys(uploadedList.data).length > 0 ? - uploadedList.data.result_list.length > 0 ? - uploadedList.data.result_list.map((item, index) => ( -
- {index + 1}: - - {item.originalname} - -
- )) - : -

No Uploaded files yet

- : - <> - } -
-
-
+ :showOnData && uploadedList?.data?.result_list?.length > 0 ? +
+
+
+
+ Files +
+
+
+ {uploadedList.data.result_list.map((item, index) => { + let fileNameExt = item.originalname.split('.')[item.originalname.split('.').length - 1] + return( + + ) + }) + } +
+ +
+
+ : + <> + } + ) } diff --git a/src/components/jobPopout/FamilyOfferJobPopout.jsx b/src/components/jobPopout/FamilyOfferJobPopout.jsx index 4947971..9245485 100644 --- a/src/components/jobPopout/FamilyOfferJobPopout.jsx +++ b/src/components/jobPopout/FamilyOfferJobPopout.jsx @@ -11,6 +11,7 @@ import { tableReload } from "../../store/TableReloads"; import { useDispatch } from "react-redux"; import { SocketValues } from "../Contexts/SocketIOContext"; +import AttachFile from "../attachmentCom/AttachFile"; const VideoElement = lazy(() => import("../VideoCom/VideoElement")); const ImageElement = lazy(() => import("../ImageCon/ImageElement")); @@ -206,11 +207,11 @@ function FamilyOfferJobPopout({ details, onClose, situation }) {
{/* ACTION SECTION */} -
+
{ details.job_type == 'TASK' ?
Loading...

}> - +
: @@ -222,6 +223,9 @@ function FamilyOfferJobPopout({ details, onClose, situation }) {
} +
+ +
{requestStatus.loading && requestStatus.trigger == "offer" ? ( diff --git a/src/components/jobPopout/popoutcomponent/Detail.jsx b/src/components/jobPopout/popoutcomponent/Detail.jsx index 21a1b92..ee95a11 100644 --- a/src/components/jobPopout/popoutcomponent/Detail.jsx +++ b/src/components/jobPopout/popoutcomponent/Detail.jsx @@ -3,7 +3,7 @@ import React from 'react' function Detail({label, value, bg,}) { return ( <> - +

{value}

)