diff --git a/app/Services/ContactData.js b/app/Services/ContactData.js index 084fe95..e932bb3 100644 --- a/app/Services/ContactData.js +++ b/app/Services/ContactData.js @@ -5,7 +5,7 @@ async function ContactData(reqData) { for (let value in reqData) { formData.append(value, reqData[value]); } - let response = await axios.post(`${process.env.REACT_APP_AUX_ENDPOINT}/sitecontact`, reqData); + let response = await axios.post(`${process.env.NEXT_PUBLIC_AUX_ENDPOINT}/sitecontact`, reqData); return response; } diff --git a/app/Services/FaqData.js b/app/Services/FaqData.js index 42cb2c6..cc0e1dd 100644 --- a/app/Services/FaqData.js +++ b/app/Services/FaqData.js @@ -1,10 +1,7 @@ import Axios from 'axios'; -import getConfig from './../Config/config' async function FaqData() { - // debugger; - var site = getConfig()[0]; - let response = await Axios.post(`${process.env.REACT_APP_AUX_ENDPOINT}/faq`); + let response = await Axios.post(`${process.env.NEXT_PUBLIC_AUX_ENDPOINT}/faq`); return await response; } diff --git a/app/Services/JobsData.js b/app/Services/JobsData.js index 84f46bb..04f1bff 100644 --- a/app/Services/JobsData.js +++ b/app/Services/JobsData.js @@ -1,8 +1,7 @@ import Axios from 'axios'; -import getConfig from './../Config/config' async function JobsData() { - var site = getConfig()[0]; + var callData = [{ "limit": 10, "page": 1 @@ -16,7 +15,7 @@ async function JobsData() { }); } */ - let response = await Axios.post(process.env.REACT_APP_AUX_ENDPOINT+'/startjoblist', callData); + let response = await Axios.post(process.env.NEXT_PUBLIC_AUX_ENDPOINT+'/startjoblist', callData); return await response; } diff --git a/app/assets/css/main.css b/app/assets/css/main.css index 134041d..4940229 100644 --- a/app/assets/css/main.css +++ b/app/assets/css/main.css @@ -6117,7 +6117,7 @@ blockquote cite { padding-top: 250px; width: 100%; min-height: 100vh; - background: url("../images//wrench-page-notfound.jpg") center/cover; + background: url(/assets//images/wrench-page-notfound.jpg) center/cover; position: relative; /* z-index: 1; */ } diff --git a/app/components/Error/Svg.js b/app/components/Error/Svg.js new file mode 100644 index 0000000..513fba7 --- /dev/null +++ b/app/components/Error/Svg.js @@ -0,0 +1,20 @@ +import React from 'react'; + +function Svg() { + return ( + <> + + + + + ); +} + +export default Svg; diff --git a/app/components/Error/index.js b/app/components/Error/index.js new file mode 100644 index 0000000..4510614 --- /dev/null +++ b/app/components/Error/index.js @@ -0,0 +1,42 @@ +"use client" +import React from 'react'; +import Link from 'next/link'; +// import { useHistory } from 'react-router-dom'; +import Svg from './Svg'; + +function Error() { + // const history = useHistory(); + const goBack = (e) => { + e.preventDefault(); + // history.goBack(); + }; + return ( + <> +
+
+
+
+
+ + Sorry! +

The page can’t be found.

+

+ The page you're looking for isn't available. Use the go back + button below +

+ {/* goBack(e)} href="#"> + Go Back + */} + + Go Back + +
+
+
+
+
+ + ); +} + +export default Error; diff --git a/app/components/ServiceSideMenu.js b/app/components/ServiceSideMenu.js new file mode 100644 index 0000000..7ca7929 --- /dev/null +++ b/app/components/ServiceSideMenu.js @@ -0,0 +1,83 @@ +import React from 'react'; +import Image from 'next/image'; +import AboutIcon from '../assets/images/icon/about-us.ico' +import HomeIcon from '../assets/images/icon/home-icon.ico' +import UseCaseIcon from '../assets/images/icon/use-case.ico' +import PrivacyIcon from '../assets/images/icon/privacy-policy.ico' +import TermsIcon from '../assets/images/icon/term-and-conditions.ico' + + +function ServiceSideMenu() { + + return ( + <> +
+ +
+ + {/* */} + sidenav-icon + Home + +
+ +
+ + {/* */} + sidenav-icon + About us + +
+
+ + {/* */} + sidenav-icon + Use Cases + +
+ + + +
+ + {/* */} + sidenav-icon + Privacy Policy + +
+
+ + {/* */} + sidenav-icon + Terms of use + +
+ +
+ +
+ +
+ + + + ); +} + +export default ServiceSideMenu; diff --git a/app/faq/FAQService.js b/app/faq/FAQService.js new file mode 100644 index 0000000..c3e073d --- /dev/null +++ b/app/faq/FAQService.js @@ -0,0 +1,116 @@ +"use client" +import React, { useEffect, useState } from 'react'; +import Image from 'next/image'; +import Link from 'next/link'; + +import ServiceSideMenu from '../components/ServiceSideMenu'; +import FaqData from '../Services/FaqData'; +import Arrow from '../assets/images/arrow-down.png' + +function FAQService() { + const [isOpen, setOpen] = React.useState({type: 'faq0'}); + const accordionHandler = (name) => { + setOpen(prev => { + if(prev.type == name){ + return {type: ''} + }else { + return {type: name} + } + }); + }; + let [faq, setFaq] = useState([]) + + useEffect(()=>{ + FaqData().then(res => { + setFaq(res.data.result_list) + }).catch(err => { + console.log('You got an error ========> '+ err) + }) + },[]) + + return ( + <> +
+
+
+
+ +
+
+
+
+
+

Frequently asked questions

+
+
+
+
+ {faq.map((item, index)=>{ + if(index%2 == 0 && item.public != 0){ + return( +
+ +
+ ) + } + })} +
+
+ {faq.map((item, index)=>{ + if(index%2 != 0 && item.public != 0){ + return( +
+ +
+ ) + } + })} +
+
+
+

Can't find an answer contact us

+
+
+
+
+
+
+ + ); +} + +export default FAQService; + +export function Accordion({ datas, name, accordionHandler, isOpen }) { + return ( + <> +
+
{accordionHandler(name)}} + > +
+

+ {datas.title} +

+
+
+ + + +
+
+
+
+
+
+

+ {datas.msg} +

+
+
+
+
+ + ); + } \ No newline at end of file diff --git a/app/faq/page.tsx b/app/faq/page.tsx index 3fb30a7..5da4056 100644 --- a/app/faq/page.tsx +++ b/app/faq/page.tsx @@ -1,5 +1,9 @@ import React from 'react' +import ServiceNav from '../components/navigation/ServiceNav'; +import HeroNews from '../components/News/HeroNews'; +import FAQService from './FAQService' import FooterHomeOne from '../components/FooterHomeOne'; +import BackToTop from '../components/BackToTop'; // must be a better way to centralize the style = TEMPORARY USE import '../assets/css/bootstrap.min.css'; @@ -14,8 +18,17 @@ import '../assets/css/style.css'; function page() { return ( <> -
Faq Here
- + + + + + ) diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 0000000..c52e085 --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,18 @@ +import React from 'react' +import Error from './components/Error' + +// must be a better way to centralize the style = TEMPORARY USE +import './assets/css/bootstrap.min.css'; +import './assets/css/custom-animated.css'; +import './assets/css/default.css'; +import './assets/css/font-awesome.min.css'; +import './assets/css/magnific-popup.css'; +import './assets/css/main.css'; +import './assets/css/style.css'; + + +export default function notFound() { + return ( + + ) +} diff --git a/app/terms/DetailsService.js b/app/terms/DetailsService.js new file mode 100644 index 0000000..ce0c3a1 --- /dev/null +++ b/app/terms/DetailsService.js @@ -0,0 +1,281 @@ +import React from 'react'; +import ServiceSideMenu from './ServiceSideMenu'; + +function DetailsService() { + return ( + <> +
+
+
+
+ +
+
+
+
+
+

+ Terms of use +

+

+ (updated August 10, 2023) +

+

+ These Website Terms & Conditions (“T&Cs”) apply to your access and + use of www.wrenchboard.com,users.wrenchboard.com (the “Site”), + native apps, including all software, data, reports, text, images, + sounds, video, and all contents made available through any portion + of the Site (collectively, the “Content”). The range includes all + such elements as whole, individual, and parts. +

+
+
+
+

+ Acceptance of Terms +

+

+ WRENCHBOARD permits you (“User” or “you” or “your”) to access and + use the Site and Content, subject to these T&Cs. By accessing or + using any portion of the Site, you acknowledge that you have read, + understood, and agree to be bound by these T&Cs. If you do not agree + with these T&Cs, you must not accept these T&Cs or access or use the + site or content. +

+
+
+ +
+

+ General Conditions of Use +

+
    +
  • +
    + Authorization to Access and Use Site and Content. +
    +

    + Subject to your compliance with these T&Cs and the provisions + hereof, you may access or use the Site and Content solely to + evaluate WRENCHBOARD and WRENCHBOARD’s products and services. + You may only link to the Site or Content, or any portion + thereof, as expressly permitted by WRENCHBOARD. +

    +
  • +
  • +
    + Ownership and Restrictions +
    +

    + All rights, title, and interest in and to the Site and Content + will remain exclusive to WRENCHBOARD. You will not: +

    +
      +
    1. + Sublicense, resell, rent, lease, transfer, assign, timeshare, + or commercially exploit or make the Site and any Content + available to any third party. +
    2. +
    3. + Use the Site and Content in any unlawful manner (including + without limitation in violation of any data, privacy, or + export control laws) or in any way that interferes with or + disrupts the integrity or performance of the Site and Content + or their related components. +
    4. +
    5. + Modify, adapt, or hack the Site and Content to, or try to, + gain unauthorized access to the restricted portions of the + Site and Content or related systems or networks (i.e., + circumvent any encryption or other security measures, gain + access to any source code or any other underlying form of + technology or information, and gain access to any part of the + Site and Content, or any other products or services of + WRENCHBOARD that are not readily made available to the general + public). +
    6. +
    +

    + You are not permitted to copy, modify, frame, repost, publicly + perform or display, sell, reproduce, distribute, or create + derivative works of the Site and Content, except that you may + download and print one copy of the publicly available materials + (i.e., the Content that does not require an Account name or + password to access) on any single computer solely for your + personal, non-commercial use, provided that you do not modify + the material in any way. You keep intact all copyright, + trademark, and other proprietary notices. +

    +

    + You agree not to access the Site or Content by any means other + than through the interface that WRENCHBOARD provides to access + the same. You may not use any “page-scrape,” “deep-link,” + “spider,” or “robot or other automatic program, device, + algorithm or methodology, or any similar manual process, to + access, copy, acquire, or monitor any portion of the Site or any + Content, or in any way reproduce or circumvent the presentation + or navigational structure of the Site or any Content, to obtain + or attempt to obtain any Content or other information through + any means not made generally available through the Site by + WRENCHBOARD. +

    +

    + WRENCHBOARD reserves the right to take lawful measures to + prevent such activity. You may not forge headers or otherwise + manipulate identifiers to disguise the origin of any message or + transmittal you send to WRENCHBOARD on or through the Site or + any service offered on or through the Site. You may not pretend + that you are, or that you represent, someone else or impersonate + any other individual or entity. +

    +
  • +
  • +
    + Responsibility for Your Data +
    +

    + You are solely responsible for all data, information, and other + Content, that you upload, post, or otherwise provide or store + (hereafter “post(ing)”) in connection with or relating to the + Site. By posting your information and other Content (“User + Content”) on or through the Site and Content, you grant + WRENCHBOARD a worldwide, non-exclusive, perpetual, irrevocable, + royalty-free, sublicensable, and transferable license to use, + modify, reproduce, distribute, display, publish and perform User + Content in connection with the Site and Content. WRENCHBOARD has + the right, but not the obligation, to monitor the Site and + Content and User Content.
    + 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. +

    +
  • +
  • +
    + Feedback +
    +

    + You may submit ideas, suggestions, or comments (“Feedback”) + regarding the Site and Content or WRENCHBOARD’s business, + products, or services. By submitting any Feedback, you + acknowledge and agree that:{" "} +

    +
      +
    1. + 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. +
    2. +
    3. + 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. +
    4. +
    5. + Your Feedback is not confidential or proprietary information + of you or any third party. +
    6. +
    +
  • +
+
+
+ +
+

+ Termination of Access Due to Violations +

+

+ WRENCHBOARD may, in its sole discretion and without prior notice, + 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 + agreements or guidelines which may be associated with your use of + the Site. 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. +
  3. + Discontinuance or material modification of the Site or any service + offered on or through the Site +
  4. +
  5. + Unexpected technical issues or problems.T&Cs Updates +
  6. +
+

+ WRENCHBOARD reserves the right, at its sole discretion, to change or + modify portions of these T&Cs at any time. WRENCHBOARD will post the + changes to these T&Cs on the Site and indicate at the top of this + page the date these terms were last revised. It is your + responsibility to check the T&Cs periodically for changes. Your + continued use of the Site and Content after the date any such + changes become effective constitutes your acceptance of the new or + revised T&Cs. +

+
+
+ +
+

+ NO WARRANTIES AND DISCLAIMER BY WRENCHBOARD +

+

+ THE SITE AND CONTENT, AND ALL SERVER AND NETWORK COMPONENTS, ARE + PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS WITH ALL ERRORS AND + DEFECTS AND WITHOUT ANY WARRANTIES OF ANY KIND, AND WRENCHBOARD + EXPRESSLY DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, INCLUDING + ANY IMPLIED WARRANTIES OF ACCURACY, COMPLETENESS, MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, AND ANY + REPRESENTATIONS OR WARRANTIES ARISING FROM COURSE OF DEALING, COURSE + OF PERFORMANCE OR USAGE OF TRADE. YOU ACKNOWLEDGE THAT WRENCHBOARD + DOES NOT WARRANT THAT YOUR ACCESS OR USE OR BOTH OF THE SITE AND + CONTENT WILL BE UNINTERRUPTED, TIMELY, SECURE, ERROR-FREE, OR + VIRUS-FREE, AND WRENCHBOARD DOES NOT MAKE ANY WARRANTY AS TO THE + RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE SITE AND CONTENT. + NO INFORMATION, ADVICE, OR SERVICES OBTAINED BY YOU FROM WRENCHBOARD + 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 + THE GENERAL CONTENT ALONE AS THE BASIS FOR YOUR BUSINESS DECISIONS. +

+
+
+ +
+

+ WRENCHBOARD reserves the right to do any of the following, at any + time, without notice: ( 1 ); to modify, suspend or terminate operation + 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 + 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 + non-routine maintenance, error correction, or other changes. Changes + to the Policy +

+ +

+ We reserve the right to update and change this Privacy policy at any + time. Changes will become effective once posted. 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 +

+
+
+
+
+
+
+
+ + ); +} + +export default DetailsService; diff --git a/app/terms/HeroTerms.js b/app/terms/HeroTerms.js new file mode 100644 index 0000000..67925d4 --- /dev/null +++ b/app/terms/HeroTerms.js @@ -0,0 +1,28 @@ +import React from 'react'; +import thumb from '../assets/images/fun-fact-thumb.png'; +import Image from 'next/image'; + +function HeroTerms({title}) { + return ( + <> +
+
+
+
+
+

+ {title} +

+
+ +
+
+
+
+
+
+ + ); +} + +export default HeroTerms; \ No newline at end of file diff --git a/app/terms/ServiceSideMenu.js b/app/terms/ServiceSideMenu.js new file mode 100644 index 0000000..ec29665 --- /dev/null +++ b/app/terms/ServiceSideMenu.js @@ -0,0 +1,83 @@ +import React from 'react'; +import Link from 'next/link'; +import Image from 'next/image'; + +import AboutIcon from '../assets/images/icon/about-us.ico' +import HomeIcon from '../assets/images/icon/home-icon.ico' +import UseCaseIcon from '../assets/images/icon/use-case.ico' +import PrivacyIcon from '../assets/images/icon/privacy-policy.ico' +import TermsIcon from '../assets/images/icon/term-and-conditions.ico' + +function ServiceSideMenu() { + return ( + <> +
+ +
+ + {/* */} + sidenav-icon + Home + +
+ +
+ + {/* */} + sidenav-icon + About us + +
+
+ + {/* */} + sidenav-icon + Use Cases + +
+ + + +
+ + {/* */} + sidenav-icon + Privacy Policy + +
+
+ + {/* */} + sidenav-icon + Terms of use + +
+ +
+ +
+ +
+ + + + ); +} + +export default ServiceSideMenu; diff --git a/app/terms/page.tsx b/app/terms/page.tsx index fae9431..7db05f4 100644 --- a/app/terms/page.tsx +++ b/app/terms/page.tsx @@ -1,6 +1,10 @@ import React from 'react' +import ServiceNav from '../components/navigation/ServiceNav'; +import HeroTerms from './HeroTerms' +import DetailsService from './DetailsService' import FooterHomeOne from '../components/FooterHomeOne'; -import HomeNav from '../components/navigation/HomeNav' +import BackToTop from '../components/BackToTop'; + // must be a better way to centralize the style = TEMPORARY USE import '../assets/css/bootstrap.min.css'; import '../assets/css/custom-animated.css'; @@ -14,9 +18,11 @@ import '../assets/css/style.css'; function page() { return ( <> - -
Terms Here
- + + + + + ) diff --git a/public/assets/images/wrench-page-notfound.jpg b/public/assets/images/wrench-page-notfound.jpg new file mode 100644 index 0000000..4b3e688 Binary files /dev/null and b/public/assets/images/wrench-page-notfound.jpg differ