Compare commits

...

18 Commits

Author SHA1 Message Date
victorAnumudu f377326b48 removed flutter api key from env variables 2023-08-21 11:38:51 +01:00
CHIEFSOFT\ameye feb8bd718d all status 2023-08-20 17:07:25 -04:00
ameye a2a2dbfc24 Merge branch 'my-uploads-page' of WrenchBoard/Users-Wrench into master 2023-08-18 10:46:24 +00:00
Ebube 1c0cb6c97f added the session parameter 2023-08-15 21:02:51 +01:00
ameye 41c9c60fd1 Merge branch 'terms-of-use-update' of WrenchBoard/Users-Wrench into master 2023-08-15 11:45:12 +00:00
victorAnumudu ba5646fe2c Merge master into terms-of-use-update 2023-08-13 07:59:40 +01:00
victorAnumudu 1f9ab45206 updated terms of use 2023-08-13 07:58:37 +01:00
tolik 0ffa1123d2 Hide Apple button 2023-08-13 10:56:42 +08:00
ameye 9420a201e4 Merge branch 'image-anchor-added' of WrenchBoard/Users-Wrench into master 2023-08-11 18:59:57 +00:00
ameye 1b7ea7321e Merge branch 'my-uploads-page' of WrenchBoard/Users-Wrench into master 2023-08-11 18:59:50 +00:00
victorAnumudu b3e273d712 file messages wrapped with anthor 2023-08-11 19:37:01 +01:00
Ebube 7fa74d6fd3 added img 2023-08-11 18:13:34 +01:00
CHIEFSOFT\ameye 02c195500a myfiles 2023-08-11 12:11:31 -04:00
ameye ca8e56c6dd Merge branch 'cancel-popout-removed' of WrenchBoard/Users-Wrench into master 2023-08-10 22:42:31 +00:00
victorAnumudu c265e9db33 popout removed 2023-08-10 22:06:30 +01:00
ameye 2861473ea3 Merge branch 'cancel-upload' of WrenchBoard/Users-Wrench into master 2023-08-10 19:41:46 +00:00
victorAnumudu a598aa3898 on cancel, takes user back to my item 2023-08-10 12:51:54 +01:00
ameye 9d190916a8 Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master 2023-08-09 21:14:17 +00:00
18 changed files with 237 additions and 163 deletions
-1
View File
@@ -24,7 +24,6 @@ REACT_APP_SESSION_EXPIRE_CHECKER=60000
REACT_APP_LOGIN_ERROR_TIMEOUT=7000 REACT_APP_LOGIN_ERROR_TIMEOUT=7000
REACT_APP_SIGNUP_ERROR_TIMEOUT=7000 REACT_APP_SIGNUP_ERROR_TIMEOUT=7000
REACT_APP_FLUTTERWAVE_APIKEY=FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X
# Had to change the error time to 3sec cause it took too long # Had to change the error time to 3sec cause it took too long
REACT_APP_RESET_START_ERROR_TIMEOUT=3000 REACT_APP_RESET_START_ERROR_TIMEOUT=3000
-1
View File
@@ -24,7 +24,6 @@ REACT_APP_SESSION_EXPIRE_CHECKER=60000
REACT_APP_LOGIN_ERROR_TIMEOUT=7000 REACT_APP_LOGIN_ERROR_TIMEOUT=7000
REACT_APP_SIGNUP_ERROR_TIMEOUT=7000 REACT_APP_SIGNUP_ERROR_TIMEOUT=7000
REACT_APP_FLUTTERWAVE_APIKEY=FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X
# Had to change the error time to 3sec cause it took too long # Had to change the error time to 3sec cause it took too long
REACT_APP_RESET_START_ERROR_TIMEOUT=3000 REACT_APP_RESET_START_ERROR_TIMEOUT=3000
-1
View File
@@ -24,7 +24,6 @@ REACT_APP_SESSION_EXPIRE_CHECKER=60000
REACT_APP_LOGIN_ERROR_TIMEOUT=7000 REACT_APP_LOGIN_ERROR_TIMEOUT=7000
REACT_APP_SIGNUP_ERROR_TIMEOUT=7000 REACT_APP_SIGNUP_ERROR_TIMEOUT=7000
REACT_APP_FLUTTERWAVE_APIKEY=FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X
# Had to change the error time to 3sec cause it took too long # Had to change the error time to 3sec cause it took too long
REACT_APP_RESET_START_ERROR_TIMEOUT=3000 REACT_APP_RESET_START_ERROR_TIMEOUT=3000
+1
View File
@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="files"><circle cx="64" cy="64" r="64" fill="#EF4C45"></circle><path fill="#CD2E30" d="M128 64v-2L92.4 26.5l-63.1 74 27.2 27c2.4.3 4.9.4 7.4.4C99.3 128 128 99.3 128 64z"></path><path fill="#E5E8EC" d="M93.5 78.4V29c0-1.9-1.5-3.4-3.4-3.4H41.8c-1.9 0-3.4 1.5-3.4 3.4v49.4h55.1z"></path><path fill="#FFF" d="M89.5 78.4V44.6H78.1c-1.9 0-3.4-1.5-3.4-3.4V29.9H37.8c-1.9 0-3.4 1.5-3.4 3.4v45.1h55.1z"></path><path fill="#FFCC04" d="m79.3 65.9-1.5 4c-.5 1.2-1.6 2-2.9 2H53.1c-1.3 0-2.4-.8-2.9-2l-1.5-4c-.5-1.3-1.7-2.2-3.1-2.2H30.9c-1.9 0-3.4 1.5-3.4 3.4v28.8c0 3.5 2.9 6.4 6.4 6.4H94c3.5 0 6.4-2.9 6.4-6.4V67.1c0-1.9-1.5-3.4-3.4-3.4H82.5c-1.4 0-2.7.9-3.2 2.2z"></path><path fill="#CED4DF" d="m74.9 45.8-.1-.1.1.1z"></path><path fill="#22D2FC" d="M74.7 29.9v11.4c0 1.9 1.5 3.4 3.4 3.4h11.4L74.7 29.9z"></path><path fill="#FFF" d="M74.1 81.6H53.9c-2 0-3.7 1.6-3.7 3.7 0 2 1.6 3.7 3.7 3.7h20.2c2 0 3.7-1.6 3.7-3.7 0-2-1.7-3.7-3.7-3.7z"></path></svg>

After

Width:  |  Height:  |  Size: 1003 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51 51" id="jpg"><circle cx="25.5" cy="25.5" r="24" fill="#FED000"></circle><path fill="#F39F03" d="M37.462 16.607v4.741a.924.924 0 0 1-.877.924v16.361c0 1.027-.84 1.867-1.867 1.867H18.282a1.866 1.866 0 0 1-1.867-1.867V22.272a.924.924 0 0 1-.877-.924v-4.741c0-.495.392-.906.877-.924v-1.316a1.86 1.86 0 0 1 1.867-1.867h16.436c1.027 0 1.867.83 1.867 1.867v1.316c.485.018.877.43.877.924z"></path><path fill="#FFF" d="M35.585 13.367v24.266c0 1.031-.836 1.867-1.867 1.867H17.282a1.867 1.867 0 0 1-1.867-1.867V13.367c0-1.031.836-1.867 1.867-1.867h16.436c1.03 0 1.867.836 1.867 1.867z" opacity=".96"></path><path fill="#33ACFE" d="M18.143 25.5h14.715v9.894H18.143z"></path><path fill="#273E56" d="M32.859 35.394h-7.622l3.959-4.357z"></path><path fill="#334861" d="M29.048 35.394H18.143l5.664-7.357z"></path><circle cx="27.697" cy="28.037" r="1.094" fill="#FED000"></circle><path fill="#EB4B33" d="M35.462 21.28H15.538a1 1 0 0 1-1-1v-4.604a1 1 0 0 1 1-1h19.924a1 1 0 0 1 1 1v4.605a1 1 0 0 1-1 1z"></path><path fill="#FFF" d="M22.511 18.797c0 .57-.155 1.499-1.475 1.499-.737 0-1.456-.403-1.456-1.37v-.384h.88v.199c0 .427.105.737.564.737.514 0 .514-.409.514-.725v-2.987h.973v3.03zm.857-3.031h1.996c1.109 0 1.53.7 1.53 1.42 0 .718-.421 1.418-1.53 1.418H24.34v1.587h-.973v-4.425zm.973 2.082h.756c.446 0 .855-.099.855-.663 0-.564-.409-.663-.855-.663h-.756v1.326zm6.36 1.84a1.49 1.49 0 0 1-1.214.608c-1.364 0-2.176-1.023-2.176-2.299 0-1.314.812-2.336 2.176-2.336.905 0 1.766.552 1.865 1.561h-.93c-.117-.496-.47-.743-.935-.743-.874 0-1.202.743-1.202 1.518 0 .738.328 1.48 1.202 1.48.638 0 .997-.334 1.053-.953h-.98V17.8h1.86v2.392h-.62l-.099-.502z"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.2" viewBox="0 0 512 512" id="mp4-file"><circle cx="256" cy="256" r="256" fill="#8ABE4F"></circle><path fill="#7BA840" d="M511.9 262.5 346.6 96.8c-1.1-1.1-3.1-1.1-4.3 0l-37.4 43.4c-.6.6-.8 1.2-.7 1.9l-3.4-6.1H159.2c-13.1 0-23.7 10.6-23.7 23.7v145.6l7.9 5.9h-16.2v66.6l8.3 7.9v6.6c0 7.6 3.5 14.3 9 18.6.7.9 58.1 58.3 100.6 100.9 3.6.1 7.2.2 10.8.2 139.3 0 252.5-111.1 256-249.5z"></path><g fill="#FFF"><path d="M169.1 193.7h145.4V206H169.1zM169.1 213.5h145.4v12.3H169.1zM169.1 233.4h145.4v12.3H169.1zM169.1 253.3h145.4v12.3H169.1zM169.1 273.1H282v12.3H169.1zM384.1 140.2l-37.4-43.4c-1.1-1.1-3.1-1.1-4.3 0L305 140.2c-1.7 1.6-.4 4.3 2.1 4.3h17.6v34h39.8v-34h17.6c2.3 0 3.6-2.6 2-4.3zM324.6 184.7h39.8v15.5h-39.8zM324.6 212c0 1.4 1.3 2.6 2.9 2.6h34c1.6 0 2.9-1.1 2.9-2.6v-5.7h-39.8v5.7z"></path><path d="M339.7 389.3c0 10.1-8.2 18.3-18.3 18.3H162.2c-10.1 0-18.3-8.2-18.3-18.3v-5.6h-8.4v8.6c0 13.1 10.6 23.7 23.7 23.7h165.2c13.1 0 23.7-10.6 23.7-23.7V220.4h-8.4v168.9zM143.9 162.7c0-10.1 8.2-18.3 18.3-18.3h136.4c-.9-2.8-.2-6 1.9-8.2l.2-.3H159.2c-13.1 0-23.7 10.6-23.7 23.7v145.6h8.4V162.7z"></path><path d="M313.2 344.5c0-18.4-14.9-33.3-33.3-33.3H127.2v66.6h152.7c18.4 0 33.3-14.9 33.3-33.3zm-109 19.2h-6.4v-27.6h-.2L187 363.7h-4.4l-10.8-28.1-.2.1v28.1h-6.4v-38.4h8.4l11 29.5h.2l11.1-29.5h8.2v38.3zm34.4-17.8c-2.4 2.2-5.7 3.3-10 3.3h-8.3v14.6h-6.4v-38.4h14.7c4.2 0 7.6 1.1 10 3.3 2.4 2.2 3.6 5.1 3.6 8.6s-1.2 6.4-3.6 8.6zm36.5 9.3h-4.9v8.5h-6.4v-8.5h-16.1l-.2-3.9 16-26h6.6V350h4.9v5.2z"></path><path d="m263.1 335.8-9.2 14.2h9.9v-15.7h-.1zM228.6 330.4h-8.3V344h8.3c2.4 0 4.2-.6 5.4-1.9 1.2-1.3 1.8-2.9 1.8-4.8s-.6-3.6-1.8-4.9c-1.2-1.3-3-2-5.4-2z"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 90 90" viewBox="0 0 90 90" id="pdf"><circle cx="45" cy="45" r="44.5" fill="#84D2ED"></circle><polygon fill="#EFC41C" stroke="#010101" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.978" points="35.6 18.8 35.6 31.9 22.5 31.9 22.5 71.2 62.8 71.2 62.8 18.8"></polygon><polygon fill="#8CC749" stroke="#010101" stroke-miterlimit="10" stroke-width="1.978" points="22.5 31.9 22.5 31.9 22.5 31.9"></polygon><polygon fill="#EB665F" stroke="#010101" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.978" points="35.6 18.8 22.5 31.9 22.5 31.9 35.6 31.9"></polygon><rect width="35.9" height="15.7" x="31.6" y="40.2" fill="#F2DFD5" stroke="#010101" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.978"></rect><path fill="#010101" d="M43 44c.7.6 1 1.5 1 2.7 0 1.2-.4 2.1-1.1 2.7-.7.6-1.8.9-3.3.9h-1.3v2.8h-2.2v-9.9h3.5C41.2 43.1 42.3 43.4 43 44zM41.4 47.9c.3-.3.4-.7.4-1.3 0-.6-.2-1-.5-1.2C41 45.2 40.4 45 39.7 45h-1.3v3.3h1.5C40.6 48.4 41.2 48.2 41.4 47.9zM53.4 44.4c.9.9 1.4 2.1 1.4 3.6 0 1.5-.5 2.8-1.4 3.7-.9.9-2.3 1.3-4.2 1.3h-3.4v-9.9h3.5C51.1 43.1 52.5 43.6 53.4 44.4zM51.8 50.3c.5-.5.8-1.3.8-2.2s-.3-1.7-.8-2.3c-.5-.5-1.4-.8-2.5-.8H48v6h1.4C50.5 51.1 51.2 50.9 51.8 50.3zM63.6 43.1v1.9H59v2.1h4.4v1.9H59v3.9h-2.2v-9.9H63.6z"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="655.359" height="655.359" fill-rule="evenodd" clip-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 6.827 6.827" id="png-file"><circle cx="3.413" cy="3.413" r="3.413" fill="#42a5f5"></circle><path fill="#fffffe" d="M1.744 4.074h.27V1.75a.164.164 0 0 1 .164-.164H4.3l.023.022.544.545.023.023v1.898h.191a.198.198 0 0 1 .198.199v.77a.198.198 0 0 1-.198.198H1.744a.198.198 0 0 1-.198-.199v-.769a.198.198 0 0 1 .198-.199zm.425 0h2.567V2.24l-.004-.004h-.498v-.495H2.178a.009.009 0 0 0-.007.003.009.009 0 0 0-.002.006v2.324zm.389-.7h1.789v.156h-1.79v-.156zm0-.544h1.789v.156h-1.79V2.83zm.07 2.094V4.37h.179c.068 0 .112.003.132.009a.145.145 0 0 1 .08.054.172.172 0 0 1 .032.107.18.18 0 0 1-.018.086.152.152 0 0 1-.047.055.162.162 0 0 1-.058.026.637.637 0 0 1-.116.008h-.073v.209h-.111zm.111-.46v.157H2.8a.29.29 0 0 0 .089-.009.074.074 0 0 0 .034-.027.075.075 0 0 0 .013-.043.072.072 0 0 0-.018-.05.077.077 0 0 0-.044-.024.532.532 0 0 0-.08-.004h-.055zm.405.46V4.37h.109l.226.37v-.37h.104v.554h-.112l-.223-.361v.36h-.104zm.814-.204v-.093H4.2v.22a.372.372 0 0 1-.237.086.304.304 0 0 1-.15-.036.232.232 0 0 1-.098-.105.337.337 0 0 1-.032-.147.32.32 0 0 1 .036-.154.244.244 0 0 1 .106-.102.285.285 0 0 1 .132-.028.26.26 0 0 1 .161.043.195.195 0 0 1 .075.12l-.111.02a.118.118 0 0 0-.044-.064.133.133 0 0 0-.08-.024.152.152 0 0 0-.117.047c-.029.03-.043.077-.043.138 0 .065.014.114.044.147.029.033.067.05.114.05a.194.194 0 0 0 .07-.014.244.244 0 0 0 .061-.034v-.07h-.128z"></path><path fill="none" d="M1.547 1.547H5.28V5.28H1.547z"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

+3 -2
View File
@@ -342,6 +342,7 @@ export default function Login() {
imgSrc={appleLogo} imgSrc={appleLogo}
brand="Apple" brand="Apple"
isAnchor={true} isAnchor={true}
style={{visibility: 'hidden'}}
/> />
</div> </div>
<div className="sm:flex sm:justify-between sm:items-center sm:space-x-2"> <div className="sm:flex sm:justify-between sm:items-center sm:space-x-2">
@@ -446,7 +447,7 @@ export default function Login() {
); );
} }
const BrandBtn = ({ link, imgSrc, brand, onClick, isAnchor = false }) => { const BrandBtn = ({ link, imgSrc, brand, onClick, isAnchor = false, style = {visibility: 'visible' } }) => {
// const doGoogle = async () => { // const doGoogle = async () => {
// alert("start google"); // alert("start google");
// }; // };
@@ -466,7 +467,7 @@ const BrandBtn = ({ link, imgSrc, brand, onClick, isAnchor = false }) => {
// alert("start facebook"); // alert("start facebook");
// }; // };
return ( return (
<div className="w-full sm:w-1/2 flex justify-center bottomMargin"> <div className="w-full sm:w-1/2 flex justify-center bottomMargin" style={style}>
{isAnchor ? ( {isAnchor ? (
<a <a
href={link} href={link}
@@ -35,7 +35,11 @@ export default function ActiveJobMessage({ activeJobMesList }) {
<td> <td>
<div className={`msg_box ${item.who}`}> <div className={`msg_box ${item.who}`}>
<div className="msg_header">{item.msg_date} {item.msg_firstname}</div> <div className="msg_header">{item.msg_date} {item.msg_firstname}</div>
{item.msg_type == 'FILE' ?
<a href='' className="p-2" dangerouslySetInnerHTML={{__html: item.message}}></a>
:
<span className="p-2" dangerouslySetInnerHTML={{__html: item.message}}></span> <span className="p-2" dangerouslySetInnerHTML={{__html: item.message}}></span>
}
</div> </div>
</td> </td>
+7 -3
View File
@@ -77,7 +77,8 @@ export default function Resources(props) {
getUploadedFiles(); getUploadedFiles();
}, [uploadsTable]); }, [uploadsTable]);
const [tab, setTab] = useState(tab_categories ? tab_categories[0]?.name : ""); // const [tab, setTab] = useState(tab_categories ? tab_categories[0]?.name : "");
const [tab, setTab] = useState(props.activeTab? props.activeTab : tab_categories ? tab_categories[0]?.name : "");
const tabHandler = (value) => { const tabHandler = (value) => {
setTab(value); setTab(value);
@@ -99,9 +100,12 @@ export default function Resources(props) {
activity: <ActivitiesTab />, activity: <ActivitiesTab />,
}; };
const defaultTabComponent = <BlogTab blogdata={blogItems} />; // const defaultTabComponent = <BlogTab blogdata={blogItems} />;
const selectedTabComponent = tabComponents[tab] || defaultTabComponent; // const selectedTabComponent = tabComponents[tab] || defaultTabComponent;
const defaultTabComponent = props.activeTab ? tabComponents[props.activeTab] : <BlogTab blogdata={blogItems} />;
const selectedTabComponent = tabComponents[tab] || defaultTabComponent;
// Tab Item Component // Tab Item Component
const TabItem = ({ tabValue, isActive }) => { const TabItem = ({ tabValue, isActive }) => {
@@ -1,5 +1,7 @@
import React, { useState } from "react"; import React, { useState } from "react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import defaultImg from "../../../assets/images/myfiles/default.svg";
import localImgLoad from "../../../lib/localImgLoad";
import { PaginatedList, handlePagingFunc } from "../../Pagination"; import { PaginatedList, handlePagingFunc } from "../../Pagination";
export default function MyUploadedFiles({ uploadedFiles }) { export default function MyUploadedFiles({ uploadedFiles }) {
@@ -50,6 +52,17 @@ export default function MyUploadedFiles({ uploadedFiles }) {
> >
<td className=" py-4"> <td className=" py-4">
<div className="flex space-x-2 items-center w-full"> <div className="flex space-x-2 items-center w-full">
<div className="w-[60px] h-[60px] p-2 bg-alice-blue rounded-full overflow-hidden flex justify-center items-center">
<img
src={
localImgLoad(
`images/myfiles/${value.banner}`
) || defaultImg
}
alt="data"
className="w-full h-full rounded-full"
/>
</div>
<div className="flex flex-col flex-[0.9]"> <div className="flex flex-col flex-[0.9]">
<h1 className="font-bold text-xl text-dark-gray dark:text-white"> <h1 className="font-bold text-xl text-dark-gray dark:text-white">
{value.title || "Dummy Text"} {value.title || "Dummy Text"}
@@ -87,6 +100,21 @@ export default function MyUploadedFiles({ uploadedFiles }) {
</div> </div>
</div> </div>
</td> </td>
<td className="text-right py-4 px-2">
<div className="flex justify-center items-center">
<button
type="button"
// onClick={() => {
// navigate("/manage-active-job", {
// state: { ...value, pathname },
// });
// }}
className="w-20 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
>
View
</button>
</div>
</td>
</tr> </tr>
); );
}) })
+178 -150
View File
@@ -8,13 +8,16 @@ export default function TermsConditionTab() {
<h1 className="text-3xl tracking-wide font-bold text-dark-gray dark:text-white mb-4"> <h1 className="text-3xl tracking-wide font-bold text-dark-gray dark:text-white mb-4">
Terms of use Terms of use
</h1> </h1>
<p className="text-base text-thin-light-gray leading-[28px] "> <p className="text-base text-thin-light-gray leading-[28px]">
(updated August 10, 2023)
</p>
<p className="text-base text-thin-light-gray leading-[28px]">
These Website Terms & Conditions (T&Cs) apply to your access and These Website Terms & Conditions (T&Cs) apply to your access and
use of www.wrenchboard.com,dashboard.wrenchboard.com (the Site), use of www.wrenchboard.com,users.wrenchboard.com (the Site),
including all software, data, reports, text, images, sounds, video, native apps, including all software, data, reports, text, images,
and all contents made available through any portion of the Site sounds, video, and all contents made available through any portion
(collectively, the Content). Content includes all such elements as of the Site (collectively, the Content). The range includes all
a whole, as well as individual elements and portions thereof. such elements as whole, individual, and parts.
</p> </p>
</div> </div>
<hr /> <hr />
@@ -37,103 +40,138 @@ export default function TermsConditionTab() {
<h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4"> <h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4">
General Conditions of Use General Conditions of Use
</h1> </h1>
<p className="text-base text-thin-light-gray leading-[28px] "> <ul className="ml-8">
<b> Authorization to Access and Use Site and Content.</b> Subject to <li className="text-base text-thin-light-gray leading-[28px]">
your compliance with these T&Cs and the provisions hereof, you may <h1 className="text-lg tracking-wide font-bold text-dark-gray dark:text-white my-4">
access or use the Site and Content solely for the purpose of your Authorization to Access and Use Site and Content.
evaluation of WRENCHBOARD and WRENCHBOARDs products and services. </h1>
You may only link to the Site or Content, or any portion thereof, as <p className="text-base font-bold text-thin-light-gray leading-[28px]">
expressly permitted by WRENCHBOARD. Subject to your compliance with these T&Cs and the provisions
<br /> hereof, you may access or use the Site and Content solely to
<b> Ownership and Restrictions.</b> All rights, title, and interest evaluate WRENCHBOARD and WRENCHBOARDs products and services.
in and to the Site and Content will remain with and belong You may only link to the Site or Content, or any portion
exclusively to WRENCHBOARD. You will not (a) sublicense, resell, thereof, as expressly permitted by WRENCHBOARD.
rent, lease, transfer, assign, time share or otherwise commercially </p>
exploit or make the Site and any Content available to any third </li>
party, (b) use the Site and Content in any unlawful manner <li className="text-base font-bold text-thin-light-gray leading-[28px]">
(including without limitation in violation of any data, privacy or <h1 className="text-lg tracking-wide font-bold text-dark-gray dark:text-white my-4">
export control laws) or in any manner that interferes with or Ownership and Restrictions
disrupts the integrity or performance of the Site and Content or </h1>
their related components, or (c) modify, adapt or hack the Site and <p className="text-base text-thin-light-gray leading-[28px]">
Content to, or try to, gain unauthorized access to the restricted All rights, title, and interest in and to the Site and Content
portions of the Site and Content or related systems or networks will remain exclusive to WRENCHBOARD. You will not:
(i.e., circumvent any encryption or other security measures, gain </p>
access to any source code or any other underlying form of technology <ol className="ml-8 list-decimal">
or information, and gain access to any part of the Site and Content, <li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
or any other products or services of WRENCHBOARD that are not Sublicense, resell, rent, lease, transfer, assign, timeshare,
readily made available to the general public). You are not permitted or commercially exploit or make the Site and any Content
to copy, modify, frame, repost, publicly perform or display, sell, available to any third party.
reproduce, distribute, or create derivative works of the Site and </li>
Content, except that you may download, display, and print one copy <li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
of the publicly available materials (i.e., the Content that does not Use the Site and Content in any unlawful manner (including
require an Account name or password to access) on any single without limitation in violation of any data, privacy, or
computer solely for your personal, non-commercial use, provided that export control laws) or in any way that interferes with or
you do not modify the material in any way and you keep intact all disrupts the integrity or performance of the Site and Content
copyright, trademark, and other proprietary notices. You agree not or their related components.
to access the Site or Content by any means other than through the </li>
interface that is provided by WRENCHBOARD to access the same. You <li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
may not use any page-scrape, deep-link, spider, or robot or Modify, adapt, or hack the Site and Content to, or try to,
other automatic program, device, algorithm or methodology, or any gain unauthorized access to the restricted portions of the
similar manual process, to access, copy, acquire, or monitor any Site and Content or related systems or networks (i.e.,
portion of the Site or any Content, or in any way reproduce or circumvent any encryption or other security measures, gain
circumvent the presentation or navigational structure of the Site or access to any source code or any other underlying form of
any Content, to obtain or attempt to obtain any Content or other technology or information, and gain access to any part of the
information through any means not made generally available through Site and Content, or any other products or services of
the Site by WRENCHBOARD. WRENCHBOARD reserves the right to take any WRENCHBOARD that are not readily made available to the general
lawful measures to prevent any such activity. You may not forge public).
headers or otherwise manipulate identifiers in order to disguise the </li>
origin of any message or transmittal you send to WRENCHBOARD on or </ol>
through the Site or any service offered on or through the Site. You <p className="my-4 text-base font-bold text-thin-light-gray leading-[28px]">
may not pretend that you are, or that you represent, someone else, You are not permitted to copy, modify, frame, repost, publicly
or impersonate any other individual or entity. perform or display, sell, reproduce, distribute, or create
<b> Responsibility for Your Data.</b> You are solely responsible for derivative works of the Site and Content, except that you may
all data, information, and other content, that you upload, post, or download and print one copy of the publicly available materials
otherwise provide or store (hereafter post(ing)) in connection (i.e., the Content that does not require an Account name or
with or relating to the Site. password to access) on any single computer solely for your
</p> personal, non-commercial use, provided that you do not modify
</div> the material in any way. You keep intact all copyright,
<hr /> trademark, and other proprietary notices.
</p>
<div className="my-8"> <p className="my-4 text-base font-bold text-thin-light-gray leading-[28px]">
<h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4"> You agree not to access the Site or Content by any means other
Use of Intellectual Property. than through the interface that WRENCHBOARD provides to access
</h1> the same. You may not use any page-scrape, deep-link,
<p className="text-base text-thin-light-gray leading-[28px] "> spider, or robot or other automatic program, device,
<b> Rights in User Content.</b> By posting your information and algorithm or methodology, or any similar manual process, to
other content (User Content) on or through the Site and Content, access, copy, acquire, or monitor any portion of the Site or any
you grant WRENCHBOARD a worldwide, non-exclusive, perpetual, Content, or in any way reproduce or circumvent the presentation
irrevocable, royalty-free, fully paid, sublicensable and or navigational structure of the Site or any Content, to obtain
transferable license to use, modify, reproduce, distribute, display, or attempt to obtain any Content or other information through
publish and perform User Content in connection with the Site and any means not made generally available through the Site by
Content. WRENCHBOARD has the right, but not the obligation, to WRENCHBOARD.
monitor the Site and Content and User Content. WRENCHBOARD may </p>
remove or disable any User Content at any time for any reason, or <p className="my-4 text-base font-bold text-thin-light-gray leading-[28px]">
for no reason at all. You, the user, acknowledge that you bear sole WRENCHBOARD reserves the right to take lawful measures to
responsibility for adequate security, protection, and backup of User prevent such activity. You may not forge headers or otherwise
Content. WRENCHBOARD will have no liability to you for any manipulate identifiers to disguise the origin of any message or
unauthorized access or use of any of User Content, or any transmittal you send to WRENCHBOARD on or through the Site or
corruption, deletion, destruction, or loss of any of User Content. any service offered on or through the Site. You may not pretend
</p> that you are, or that you represent, someone else or impersonate
</div> any other individual or entity.
<hr /> </p>
</li>
<div className="my-8"> <li className="text-base text-thin-light-gray leading-[28px]">
<h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4"> <h1 className="text-lg tracking-wide font-bold text-dark-gray dark:text-white my-4">
Feedback Responsibility for Your Data
</h1> </h1>
<p className="text-base text-thin-light-gray leading-[28px] "> <p className="text-base font-bold text-thin-light-gray leading-[28px]">
You may submit ideas, suggestions, or comments (Feedback) You are solely responsible for all data, information, and other
regarding the Site and Content or WRENCHBOARDs business, products, Content, that you upload, post, or otherwise provide or store
or services. By submitting any Feedback, you acknowledge and agree (hereafter post(ing)) in connection with or relating to the
that (a) your Feedback is provided by you voluntarily and Site. By posting your information and other Content (User
WRENCHBOARD may, without any obligations or limitation, use and Content) on or through the Site and Content, you grant
exploit such Feedback in any manner and for any purpose, (b) you WRENCHBOARD a worldwide, non-exclusive, perpetual, irrevocable,
will not seek and are not entitled to any money or other form of royalty-free, sublicensable, and transferable license to use,
compensation, consideration, or attribution with respect to your modify, reproduce, distribute, display, publish and perform User
Feedback regardless of whether WRENCHBOARD considered or used your Content in connection with the Site and Content. WRENCHBOARD has
Feedback in any manner, and (c) your Feedback is not the the right, but not the obligation, to monitor the Site and
confidential or proprietary information of you or any third party. Content and User Content. <br />
</p> WRENCHBOARD may remove or turn off any User Content at any time
for any reason or no reason. WRENCHBOARD will have no liability
to you for any unauthorized access or use of any of User Content
or any corruption, deletion, destruction, or loss of any of User
Content.
</p>
</li>
<li className="text-base text-thin-light-gray leading-[28px]">
<h1 className="text-lg tracking-wide font-bold text-dark-gray dark:text-white my-4">
Feedback
</h1>
<p className="text-base font-bold text-thin-light-gray leading-[28px]">
You may submit ideas, suggestions, or comments (Feedback)
regarding the Site and Content or WRENCHBOARDs business,
products, or services. By submitting any Feedback, you
acknowledge and agree that:{" "}
</p>
<ol className="ml-8 list-decimal">
<li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
Your Feedback is provided by you voluntarily, and WRENCHBOARD
may, without any obligations or limitations, use and exploit
such Feedback in any manner and for any purpose.
</li>
<li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
You will not seek and are not entitled to any money or other
form of compensation, consideration, or attribution concerning
your Feedback, regardless of whether WRENCHBOARD considered or
used your Feedback in any manner.
</li>
<li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
Your Feedback is not confidential or proprietary information
of you or any third party.
</li>
</ol>
</li>
</ul>
</div> </div>
<hr /> <hr />
@@ -141,36 +179,32 @@ export default function TermsConditionTab() {
<h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4"> <h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4">
Termination of Access Due to Violations Termination of Access Due to Violations
</h1> </h1>
<p className="text-base text-thin-light-gray leading-[28px] "> <p className="font-bold text-base text-thin-light-gray leading-[28px] ">
WRENCHBOARD may, in its sole discretion and without prior notice, WRENCHBOARD may, in its sole discretion and without prior notice,
terminate your access to the Site and/or block your future access to terminate your access to the Site and block your future access to
the Site if we determine that you have violated these T&Cs or other the Site if we determine that you have violated these T&Cs or other
agreements or guidelines which may be associated with your use of agreements or guidelines which may be associated with your use of
the Site. You also agree that any violation by you of these T&Cs the Site. Further, WRENCHBOARD may, in its sole discretion and
will cause irreparable harm to WRENCHBOARD, for which monetary without prior notice, terminate your access to the Site for cause,
damages would be inadequate, and you consent to WRENCHBOARD which includes (but is not limited to):
obtaining any injunctive or equitable relief that WRENCHBOARD deems
necessary or appropriate in such circumstances, without limiting
WRENCHBOARDs other available remedies. Further, WRENCHBOARD may, in
its sole discretion and without prior notice, terminate your access
to the Site, for cause, which includes (but is not limited to) (1)
requests by law enforcement or other government agencies, (2)
discontinuance or material modification of the Site or any service
offered on or through the Site, or (3) unexpected technical issues
or problems.
</p> </p>
</div> <ol className="ml-8 list-decimal font-bold">
<hr /> <li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
Requests by law enforcement or other government agencies
<div className="my-8"> </li>
<h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4"> <li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
T&Cs Updates Discontinuance or material modification of the Site or any service
</h1> offered on or through the Site
</li>
<li className="my-2 text-base font-bold text-thin-light-gray leading-[28px]">
Unexpected technical issues or problems.T&Cs Updates
</li>
</ol>
<p className="text-base text-thin-light-gray leading-[28px] "> <p className="text-base text-thin-light-gray leading-[28px] ">
WRENCHBOARD reserves the right, at its sole discretion, to change or WRENCHBOARD reserves the right, at its sole discretion, to change or
modify portions of these T&Cs at any time. WRENCHBOARD will post the modify portions of these T&Cs at any time. WRENCHBOARD will post the
changes to these T&Cs on the Site and will indicate at the top of changes to these T&Cs on the Site and indicate at the top of this
this page the date these terms were last revised. It is your page the date these terms were last revised. It is your
responsibility to check the T&Cs periodically for changes. Your responsibility to check the T&Cs periodically for changes. Your
continued use of the Site and Content after the date any such continued use of the Site and Content after the date any such
changes become effective constitutes your acceptance of the new or changes become effective constitutes your acceptance of the new or
@@ -193,42 +227,36 @@ export default function TermsConditionTab() {
REPRESENTATIONS OR WARRANTIES ARISING FROM COURSE OF DEALING, COURSE REPRESENTATIONS OR WARRANTIES ARISING FROM COURSE OF DEALING, COURSE
OF PERFORMANCE OR USAGE OF TRADE. YOU ACKNOWLEDGE THAT WRENCHBOARD OF PERFORMANCE OR USAGE OF TRADE. YOU ACKNOWLEDGE THAT WRENCHBOARD
DOES NOT WARRANT THAT YOUR ACCESS OR USE OR BOTH OF THE SITE AND DOES NOT WARRANT THAT YOUR ACCESS OR USE OR BOTH OF THE SITE AND
CONTENT WILL BE UNINTERRUPTED, TIMELY, SECURE, ERROR-FREE OR CONTENT WILL BE UNINTERRUPTED, TIMELY, SECURE, ERROR-FREE, OR
VIRUS-FREE, AND WRENCHBOARD DOES NOT MAKE ANY WARRANTY AS TO THE VIRUS-FREE, AND WRENCHBOARD DOES NOT MAKE ANY WARRANTY AS TO THE
RESULTS THAT MAY BE OBTAINED FROM USE OF THE SITE AND CONTENT. NO RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE SITE AND CONTENT.
INFORMATION, ADVICE OR SERVICES OBTAINED BY YOU FROM WRENCHBOARD OR NO INFORMATION, ADVICE, OR SERVICES OBTAINED BY YOU FROM WRENCHBOARD
THROUGH THE SITE WILL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN OR THROUGH THE SITE WILL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN
THESE TERMS and CONDITIONS AND YOU SHOULD NOT RELY ON THE SITE AND THESE TERMS and CONDITIONS, AND YOU SHOULD NOT RELY ON THE SITE AND
THE GENERAL CONTENT ALONE AS THE BASIS FOR YOUR BUSINESS DECISIONS. THE GENERAL CONTENT ALONE AS THE BASIS FOR YOUR BUSINESS DECISIONS.
</p> </p>
</div> </div>
<hr /> <hr />
<div className="my-8"> <div className="my-8">
<p className="text-base text-thin-light-gray leading-[28px] "> <p className="font-bold text-base text-thin-light-gray leading-[28px] ">
WRENCHBOARD reserves the right to do any of the following, at any WRENCHBOARD reserves the right to do any of the following, at any
time, without notice: (1) to modify, suspend or terminate operation time, without notice: ( 1 ); to modify, suspend or terminate operation
of or access to the Site, or any portion of the Site, for any of or access to the Site, or any portion of the Site, for any
reason; (2) to modify or change the Site, or any portion of the reason; ( 2 ) to modify or change the Site, or any portion of the
Site, for any reason; and (3) to interrupt the operation of the Site, for any reason; and ( 3 ) to interrupt the operation of the
Site, or any portion of the Site, as necessary to perform routine or Site, or any portion of the Site, as necessary to perform routine or
non-routine maintenance, error correction, or other changes.. non-routine maintenance, error correction, or other changes. Changes
to the Policy
</p> </p>
</div>
<hr />
<div className="mt-8"> <p className="my-4 text-base text-thin-light-gray leading-[28px] ">
<h1 className="text-2xl tracking-wide font-bold text-dark-gray dark:text-white mb-4"> We reserve the right to update and change this Privacy policy at any
Changes To the Policy time. Changes will become effective once posted. However, we will
</h1> notify you by email or when you log on to the service or website
<p className="text-base text-thin-light-gray leading-[28px] "> about any changes that fundamentally affect how we manage your
We reserve the rights to update and make changes to this Privacy personal information. Contacting Us: You may contact us about this
policy at anytime. Changes will become effective once posted. policy through our email address anytime: support@wrenchboard.com
However, we will notify you by email or when you log on to the
service or website about any changes that fundamentally affect how
we manage your personal information. Contacting Us: You may contact
us about this policy through our email address anytime :
support@wrenchboard.com
</p> </p>
</div> </div>
</div> </div>
+4 -1
View File
@@ -7,10 +7,12 @@ import Layout from "../Partials/Layout";
import ProductUploadField from "./ProductUploadField"; import ProductUploadField from "./ProductUploadField";
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from "../Spinners/LoadingSpinner";
import usersService from "../../services/UsersService"; import usersService from "../../services/UsersService";
import { useNavigate } from "react-router-dom";
export default function UploadProduct({uploadTypes}) { export default function UploadProduct({uploadTypes}) {
const apiCall = new usersService() const apiCall = new usersService()
const [requestStatus, setRequestStatus] = useState({loading: false, status: null, message: ''}) // DETERMINES THE STATUS OF UPLOAD const [requestStatus, setRequestStatus] = useState({loading: false, status: null, message: ''}) // DETERMINES THE STATUS OF UPLOAD
const navigate = useNavigate()
// preview modal // preview modal
const [previewProductModal, setPreviewProductModal] = useState(false); const [previewProductModal, setPreviewProductModal] = useState(false);
@@ -390,7 +392,8 @@ export default function UploadProduct({uploadTypes}) {
<div className="flex sm:space-x-4 space-x-2 sm:mr-9 mr-2"> <div className="flex sm:space-x-4 space-x-2 sm:mr-9 mr-2">
<button <button
type="button" type="button"
onClick={cancelUploadModalHandler} // onClick={cancelUploadModalHandler}
onClick={()=>navigate('/resources', {state:{tab:'created'}})}
className="sm:text-18 text-sm text-light-red tracking-wide " className="sm:text-18 text-sm text-light-red tracking-wide "
> >
<span className="border-b dark:border-[#5356fb29] border-light-red"> <span className="border-b dark:border-[#5356fb29] border-light-red">
+3 -3
View File
@@ -22,10 +22,10 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
const { jobListTable } = useSelector((state) => state.tableReload); const { jobListTable } = useSelector((state) => state.tableReload);
const { const {
userDetails: { username, uid }, userDetails: { username, uid, session },
} = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active } = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active
let loggedIn = username && uid ? true : false; // variable to determine if user is logged in let loggedIn = username && session && uid ? true : false; // variable to determine if user is logged in
useEffect(() => { useEffect(() => {
//Removing Data stored at localStorage after session expires //Removing Data stored at localStorage after session expires
@@ -149,7 +149,7 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
// sort: _sorted, // sort: _sorted,
// header: _header, // header: _header,
// }, // },
data: _sorted data: _sorted,
}) })
); );
}) })
+1
View File
@@ -358,6 +358,7 @@ class usersService {
page: 0, page: 0,
offset: 0, offset: 0,
limit: 100, limit: 100,
allstatus: 0
}; };
return this.postAuxEnd("/activetaskslist", postData); return this.postAuxEnd("/activetaskslist", postData);
} }
+3 -1
View File
@@ -1,7 +1,9 @@
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import Resources from "../components/Resources"; import Resources from "../components/Resources";
import usersService from "../services/UsersService"; import usersService from "../services/UsersService";
import { useLocation } from "react-router-dom";
export default function ResourcePage() { export default function ResourcePage() {
const {state, pathname} = useLocation() // CHECKS IF THERE IS AN ACTIVE TAB WITH LINK BACK TO RESOURCES
const [MyResourceData, setMyResourceData] = useState([]); const [MyResourceData, setMyResourceData] = useState([]);
const api = new usersService(); const api = new usersService();
@@ -17,5 +19,5 @@ export default function ResourcePage() {
getMyResourceData(); getMyResourceData();
}, []); }, []);
return <Resources MyResourceData={MyResourceData} />; return <Resources MyResourceData={MyResourceData} activeTab={state ? state.tab : ''} />;
} }