Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b3c2785a4b | |||
| ff129480a5 | |||
| 8cf0c8da89 | |||
| 6aaf682d38 | |||
| 9f77a01bb2 | |||
| 9d79e1c709 | |||
| 78ac5d5b24 | |||
| 75657350a3 |
@@ -4,7 +4,7 @@ import linkedInLogo from "../../../assets/images/Linkedin.png";
|
||||
import appleLogo from "../../../assets/images/apple-black.svg";
|
||||
import facebookLogo from "../../../assets/images/facebook.svg";
|
||||
import googleLogo from "../../../assets/images/google-logo.svg";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text_new.png";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import AuthLayout from "../AuthLayout2";
|
||||
|
||||
@@ -5,6 +5,7 @@ import debounce from "../../../hooks/debounce";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import AuthLayout from "../AuthLayout2";
|
||||
import LoadingSpinner from '../../../components/Spinners/LoadingSpinner'
|
||||
|
||||
export default function VerifyLink() {
|
||||
const [email, setEmail] = useState("");
|
||||
@@ -119,7 +120,14 @@ export default function VerifyLink() {
|
||||
<>
|
||||
<AuthLayout slogan="Welcome to WrenchBoard">
|
||||
{pageLoader ? (
|
||||
<img src={WrenchBoard} alt="wrenchboard" className="h-10 mx-auto" />
|
||||
<div className='flex flex-col justify-center items-center gap-4'>
|
||||
<img src={WrenchBoard} alt="wrenchboard" className="h-10 mx-auto" />
|
||||
<div className='flex flex-col justify-center items-center'>
|
||||
<LoadingSpinner height='h-40' size='8' />
|
||||
<p>Loading...</p>
|
||||
<p>please do not refresh</p>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div className="w-full">
|
||||
<div className="mb-12">
|
||||
|
||||
@@ -16,6 +16,22 @@ export default function MyUploadedFiles({ uploadedFiles }) {
|
||||
const handlePagination = (e) => {
|
||||
handlePagingFunc(e, setCurrentPage);
|
||||
};
|
||||
|
||||
|
||||
//FUNCTION TO OPEN NEW WINDOW
|
||||
const openNewWindow = (e, url, width=1000, height=600) => {
|
||||
e.preventDefault()
|
||||
var leftPosition, topPosition;
|
||||
//Allow for borders.
|
||||
leftPosition = (window.screen.width / 2) - ((width / 2) + 10);
|
||||
//Allow for title and status bars.
|
||||
topPosition = (window.screen.height / 2) - ((height / 2) + 50);
|
||||
//Open the window.
|
||||
window.open(url, "",
|
||||
"status=no,height=" + height + ",width=" + width + ",resizable=yes,left="
|
||||
+ leftPosition + ",top=" + topPosition + ",screenX=" + leftPosition + ",screenY="
|
||||
+ topPosition + ",toolbar=no,menubar=no,scrollbars=yes,location=no,directories=no");
|
||||
}
|
||||
return (
|
||||
<>
|
||||
<div className="mb-4 w-full flex justify-end item-center">
|
||||
@@ -44,7 +60,8 @@ export default function MyUploadedFiles({ uploadedFiles }) {
|
||||
currentFiles.map((value, idx) => {
|
||||
let addedDate = value?.added?.split(" ")[0];
|
||||
let formattedSize = formatFileSize(value?.file_size);
|
||||
let imageLink = `${uploadedFiles?.image}${localStorage.getItem('session_token')}/myfile/${value.file_uid}`
|
||||
let downloadLink = value.file_type == 'video/mp4' ? `${process.env.REACT_APP_MEDIA_LINK}/myfile/${value.file_uid}` : `${uploadedFiles?.image}${localStorage.getItem('session_token')}/myfile/${value.file_uid}`
|
||||
|
||||
return (
|
||||
<tr
|
||||
key={value?.file_uid}
|
||||
@@ -103,8 +120,9 @@ export default function MyUploadedFiles({ uploadedFiles }) {
|
||||
<td className="text-right py-4 px-2">
|
||||
<div className="flex justify-center items-center">
|
||||
<a
|
||||
href={imageLink}
|
||||
href={downloadLink}
|
||||
title="download"
|
||||
onClick={(e)=> openNewWindow(e, downloadLink)}
|
||||
// className="w-20 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
|
||||
>
|
||||
<img
|
||||
|
||||
@@ -443,6 +443,7 @@ export default function UploadProduct({uploadTypes}) {
|
||||
// to="/"
|
||||
onClick={uploadItem}
|
||||
className="sm:w-[126px] h-[46px] w-[100px] flex justify-center items-center btn-gradient sm:text-18 text-sm rounded-full text-white"
|
||||
disabled={uploadTypes.loading || requestStatus.loading}
|
||||
>
|
||||
Upload
|
||||
</button>
|
||||
|
||||
@@ -7,7 +7,7 @@ import usersService from '../../services/UsersService'
|
||||
export default function AttachFile({data='', fontSize='text-sm', showOnData=false}) {
|
||||
|
||||
const apiCall = new usersService()
|
||||
|
||||
|
||||
let [uploadedList, setUploadedList] = useState({loading: true, data:{}})
|
||||
let [reloadList, setReloadList] = useState(false) // Triggers list of upload reload
|
||||
|
||||
@@ -19,9 +19,9 @@ export default function AttachFile({data='', fontSize='text-sm', showOnData=fals
|
||||
let inputs = {
|
||||
file: event.target.files[0],
|
||||
job_uid: data?.job_uid,
|
||||
uid: localStorage.getItem("uid"),
|
||||
// uid: localStorage.getItem("uid"),
|
||||
// member_id: localStorage.getItem("member_id"),
|
||||
sessionid: localStorage.getItem("session_token"),
|
||||
// sessionid: localStorage.getItem("session_token"),
|
||||
};
|
||||
setRequestStatus({loading: true, status:false, message:''})
|
||||
if(!inputs.file){
|
||||
@@ -31,12 +31,11 @@ export default function AttachFile({data='', fontSize='text-sm', showOnData=fals
|
||||
}, 3000)
|
||||
return
|
||||
}
|
||||
const formData = new FormData()
|
||||
for (let input in inputs) {
|
||||
formData.append(input, inputs[input]);
|
||||
}
|
||||
|
||||
axios.post(`${process.env.REACT_APP_MEDIA_LINK}/upload/task`,formData).then(res => {
|
||||
// const formData = new FormData()
|
||||
// for (let input in inputs) {
|
||||
// formData.append(input, inputs[input]);
|
||||
// }
|
||||
apiCall.uploadTaskFile(inputs).then(res => {
|
||||
if(res.data.internal_return < 0){
|
||||
inputFile.current.value = null
|
||||
setRequestStatus({loading: false, status:false, message:'upload failed'})
|
||||
@@ -61,6 +60,21 @@ export default function AttachFile({data='', fontSize='text-sm', showOnData=fals
|
||||
})
|
||||
}
|
||||
|
||||
//FUNCTION TO OPEN NEW WINDOW
|
||||
const openNewWindow = (e, url, width=1000, height=600) => {
|
||||
e.preventDefault()
|
||||
var leftPosition, topPosition;
|
||||
//Allow for borders.
|
||||
leftPosition = (window.screen.width / 2) - ((width / 2) + 10);
|
||||
//Allow for title and status bars.
|
||||
topPosition = (window.screen.height / 2) - ((height / 2) + 50);
|
||||
//Open the window.
|
||||
window.open(url, "",
|
||||
"status=no,height=" + height + ",width=" + width + ",resizable=yes,left="
|
||||
+ leftPosition + ",top=" + topPosition + ",screenX=" + leftPosition + ",screenY="
|
||||
+ topPosition + ",toolbar=no,menubar=no,scrollbars=yes,location=no,directories=no");
|
||||
}
|
||||
|
||||
useEffect(()=>{
|
||||
apiCall.jobManagerFiles({job_uid:data?.job_uid || data?.origin_job_uid}).then(res => {
|
||||
setUploadedList({loading: false, data:res.data})
|
||||
@@ -97,6 +111,7 @@ export default function AttachFile({data='', fontSize='text-sm', showOnData=fals
|
||||
uploadedList.data.result_list.length > 0 ?
|
||||
uploadedList.data.result_list.map((item, index) => {
|
||||
let fileNameExt = item.originalname.split('.')[item.originalname.split('.').length - 1]
|
||||
let downloadLink = fileNameExt == 'mp4' ? `${process.env.REACT_APP_MEDIA_LINK}/mytask/${item.file_uid}` : `${uploadedList?.data?.session_image_server}/${localStorage.getItem("session_token")}/jobfile/${item.file_uid}`
|
||||
return(
|
||||
<div key={item.file_uid} className={`my-[6px] flex justify-start gap-2 ${fontSize}`}>
|
||||
<span>{index + 1}:</span>
|
||||
@@ -104,7 +119,8 @@ export default function AttachFile({data='', fontSize='text-sm', showOnData=fals
|
||||
target='_blank'
|
||||
alt='download-link'
|
||||
className=''
|
||||
href={`${uploadedList?.data?.session_image_server}/${localStorage.getItem("session_token")}/jobfile/${item.file_uid}`}
|
||||
href={downloadLink}
|
||||
onClick={(e)=> openNewWindow(e, downloadLink)}
|
||||
>
|
||||
{(item.originalname).toString().length > 30 ? (item.originalname).toString().slice(0, 26) + '..._.' + fileNameExt : (item.originalname).toString()}
|
||||
</a>
|
||||
@@ -139,6 +155,7 @@ export default function AttachFile({data='', fontSize='text-sm', showOnData=fals
|
||||
<div className='text-[12px] w-full p-2 h-20 overflow-y-auto flex flex-col gap-2'>
|
||||
{uploadedList.data.result_list.map((item, index) => {
|
||||
let fileNameExt = item.originalname.split('.')[item.originalname.split('.').length - 1]
|
||||
let downloadLink = fileNameExt == 'mp4' ? `${process.env.REACT_APP_MEDIA_LINK}/mytask/${item.file_uid}` : `${uploadedList?.data?.session_image_server}/${localStorage.getItem("session_token")}/jobfile/${item.file_uid}`
|
||||
return(
|
||||
<div key={item.file_uid} className={`my-[6px] flex justify-start gap-2 ${fontSize}`}>
|
||||
<span>{index + 1}:</span>
|
||||
@@ -146,7 +163,8 @@ export default function AttachFile({data='', fontSize='text-sm', showOnData=fals
|
||||
target='_blank'
|
||||
alt='download-link'
|
||||
className=''
|
||||
href={`${uploadedList?.data?.session_image_server}/${localStorage.getItem("session_token")}/jobfile/${item.file_uid}`}
|
||||
href={downloadLink}
|
||||
onClick={(e)=> openNewWindow(e, downloadLink)}
|
||||
>
|
||||
{(item.originalname).toString().length > 30 ? (item.originalname).toString().slice(0, 26) + '..._.' + fileNameExt : (item.originalname).toString()}
|
||||
</a>
|
||||
|
||||
@@ -908,7 +908,7 @@ class usersService {
|
||||
return this.postAuxEnd("/uploads", postData);
|
||||
}
|
||||
|
||||
// FUNCTION TO SEND FILE UPLOAD
|
||||
// FUNCTION TO UPLOAD RESOURCE FILES
|
||||
uploadFile(reqData) {
|
||||
var postData = {
|
||||
uid: localStorage.getItem("uid"),
|
||||
@@ -926,6 +926,24 @@ class usersService {
|
||||
return this.postAuxEnd("/upload/resources", formData, true);
|
||||
}
|
||||
|
||||
// FUNCTION TO UPLOAD TASK FILES
|
||||
uploadTaskFile(reqData) {
|
||||
var postData = {
|
||||
uid: localStorage.getItem("uid"),
|
||||
member_id: localStorage.getItem("member_id"),
|
||||
sessionid: localStorage.getItem("session_token"),
|
||||
// action: apiConst.WRENCHBOARD_CONTRACT_MESSAGE,
|
||||
...reqData,
|
||||
};
|
||||
|
||||
const formData = new FormData();
|
||||
for (let data in postData) {
|
||||
formData.append(data, postData[data]);
|
||||
}
|
||||
|
||||
return this.postAuxEnd("/upload/task", formData, true);
|
||||
}
|
||||
|
||||
// END POINT TO DELETE A JOB
|
||||
deleteJob(reqData) {
|
||||
var postData = {
|
||||
|
||||
Reference in New Issue
Block a user