Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 64390441a1 | |||
| c8095755b5 | |||
| e1000ce0db | |||
| c5d67ad79b | |||
| 80d0f0b326 | |||
| ebba068098 | |||
| 8ad3e31f60 | |||
| 5ba57b4b30 | |||
| 4764a3dd72 | |||
| e28e313ec4 | |||
| eabcc55ae5 | |||
| 68dd1eeb56 | |||
| 698c8a9f51 | |||
| 4f10804082 | |||
| e883615f21 | |||
| 378d81bab2 | |||
| d2ca82573e | |||
| 6d530e174a | |||
| bfb01580c6 | |||
| a79e312551 | |||
| b2d1b95f1f | |||
| ada93c0903 | |||
| 2306783e49 | |||
| dc811ec391 | |||
| 6c7cac3b59 | |||
| 51f3556d87 |
@@ -13,6 +13,7 @@ NEXT_PUBLIC_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?
|
||||
NEXT_PUBLIC_FACEBOOK_LINK='https://www.facebook.com/wrenchboard'
|
||||
NEXT_PUBLIC_TWITTER_LINK='https://twitter.com/wrenchboard/'
|
||||
NEXT_PUBLIC_LINKEDIN_LINK="https://www.linkedin.com/company/wrenchboard/"
|
||||
NEXT_PUBLIC_YOUTUBE_LINK="https://www.youtube.com/@WrenchBoard/"
|
||||
NEXT_PUBLIC_SUPPORT_EMAIL='support@wrenchboard.com'
|
||||
NEXT_PUBLIC_SUPPORT_PHONE='404 855-7966'
|
||||
NEXT_PUBLIC_SUPPORT_PHONE_NG='(+420) 336 476 328'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
APP_PORT=9081
|
||||
ESLINT_NO_DEV_ERRORS=true
|
||||
|
||||
NEXT_PUBLIC_AUX_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
|
||||
NEXT_PUBLIC_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
|
||||
NEXT_PUBLIC_AUX_ENDPOINT="https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1"
|
||||
NEXT_PUBLIC_USERS_ENDPOINT="https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1"
|
||||
|
||||
NEXT_PUBLIC_SITE_NAME='WrenchBoard'
|
||||
NEXT_PUBLIC_DASH_URL='https://users.wrenchboard.com'
|
||||
|
||||
@@ -6809,6 +6809,31 @@ blockquote cite {
|
||||
border-color: #db0f30;
|
||||
}
|
||||
|
||||
.refer-container a {
|
||||
position: relative;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.refer-container a::before{
|
||||
content: "■";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
left: 0px;
|
||||
font-size: 12px;
|
||||
|
||||
}
|
||||
|
||||
.refer-container a {
|
||||
border: none;
|
||||
color: #505056;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.refer-container a:hover {
|
||||
color: #4687ba;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
}
|
||||
/*===========================
|
||||
12.APPIE COUNTER css
|
||||
===========================*/
|
||||
|
||||
@@ -1,36 +1,44 @@
|
||||
"use client"
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import Cookies from 'js-cookie'
|
||||
"use client";
|
||||
import React, { useLayoutEffect, useState } from 'react';
|
||||
|
||||
export default function AcceptCookies() {
|
||||
const [cookies, setCookies] = useState(true)
|
||||
|
||||
const acceptCookies = () => {
|
||||
Cookies.set('useCookies', 'true')
|
||||
setCookies(true)
|
||||
}
|
||||
// Safe cookie getter
|
||||
function getCookie(name) {
|
||||
if (typeof document === 'undefined') return null; // SSR safety
|
||||
const value = `; ${document.cookie}`;
|
||||
const parts = value.split(`; ${name}=`);
|
||||
if (parts.length === 2) return parts.pop().split(';').shift();
|
||||
return null;
|
||||
}
|
||||
|
||||
useEffect(()=>{
|
||||
const useCookies = Cookies.get('useCookies')
|
||||
if(useCookies == 'true'){
|
||||
setCookies(true)
|
||||
const [cookies, setCookies] = useState(true); // Start as true
|
||||
|
||||
const acceptCookies = () => {
|
||||
document.cookie = `use_cookies=${encodeURIComponent('true')}; path=/; max-age=31536000`; // 1 year
|
||||
setCookies(true);
|
||||
};
|
||||
|
||||
useLayoutEffect(()=>{
|
||||
const useCookies = getCookie('use_cookies');
|
||||
if (useCookies && decodeURIComponent(useCookies) === 'true') {
|
||||
setCookies(true);
|
||||
}else{
|
||||
setCookies(false)
|
||||
}
|
||||
},[])
|
||||
},[])
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* {cookies ?
|
||||
<></>
|
||||
: */}
|
||||
{cookies ? <></> : (
|
||||
<div className={`${cookies ? 'slide-down' : 'slide-up'} cookies-wrapper position-fixed d-lg-flex justify-content-center align-items-center gap-5 p-2`}>
|
||||
<p className='m-0'>
|
||||
<p className="m-0">
|
||||
This website uses cookies to provide you the best experience possible, as well as for tracking performance and marketing purposes. You can check our privacy policy for more information. By clicking ❛❛Confirm❜❜ or by continuing to use our website, you consent to our use of cookies.
|
||||
</p>
|
||||
<button onClick={acceptCookies} className='px-5 py-2'>Accept</button>
|
||||
</p>
|
||||
<button onClick={acceptCookies} className="px-5 py-2">
|
||||
Accept
|
||||
</button>
|
||||
</div>
|
||||
{/* } */}
|
||||
)}
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -31,21 +31,25 @@ function FooterHomeOne({ className }) {
|
||||
<Link href="/service">
|
||||
Read More <i className="fal fa-arrow-right" />
|
||||
</Link>
|
||||
<div className="social mt-30">
|
||||
{/* <div className="social mt-30">
|
||||
<ul>
|
||||
<li>
|
||||
<a href={site.facebook_link}>
|
||||
<i className="fab fa-facebook-f" />
|
||||
<a target='_blank' href={site.facebook_link}>
|
||||
<i className="fab fa-facebook-f"/>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href={process.env.NEXT_PUBLIC_TWITTER_LINK}>
|
||||
{/* <i className="fab fa-twitter" /> */}
|
||||
<a target='_blank' href={process.env.NEXT_PUBLIC_TWITTER_LINK}>
|
||||
<i className="fab fa-x-twitter"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a target='_blank' className="you" href={process.env.NEXT_PUBLIC_YOUTUBE_LINK}>
|
||||
<i className="fab fa-youtube"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-2 col-md-6">
|
||||
@@ -79,7 +83,7 @@ function FooterHomeOne({ className }) {
|
||||
<Link href="/contact">Contact</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/faq">Faqs</Link>
|
||||
<Link href="/faq">FAQs</Link>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://blog.wrenchboard.com/resources/">Resources</a>
|
||||
@@ -102,7 +106,7 @@ function FooterHomeOne({ className }) {
|
||||
<i className="fal fa-envelope" /> {site.support_email}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
{/* <li>
|
||||
<a href="#">
|
||||
<i className="fal fa-phone" /> 404-855-7966
|
||||
</a>
|
||||
@@ -111,9 +115,30 @@ function FooterHomeOne({ className }) {
|
||||
<a href="#">
|
||||
<i className="fal fa-map-marker-alt" />Atlanta, GA 30339
|
||||
</a>
|
||||
</li>
|
||||
</li> */}
|
||||
</ul>
|
||||
</div>
|
||||
<div className='footer-about-widget'>
|
||||
<div className="social mt-30">
|
||||
<ul>
|
||||
<li>
|
||||
<a target='_blank' href={site.facebook_link}>
|
||||
<i className="fab fa-facebook-f"/>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a target='_blank' href={process.env.NEXT_PUBLIC_TWITTER_LINK}>
|
||||
<i className="fab fa-x-twitter"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a target='_blank' className="you" href={process.env.NEXT_PUBLIC_YOUTUBE_LINK}>
|
||||
<i className="fab fa-youtube"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="row">
|
||||
|
||||
@@ -33,7 +33,7 @@ function HeroHomeOne() {
|
||||
Turn Chores into Exciting Challenges and Earn <span className='earn-rewards px-2'>Rewards!</span>
|
||||
</h1>
|
||||
<p>Your place to set family goals and reward achievements. Find tasks to earn from, or build a task portfolio and find others to perform tasks for you.</p>
|
||||
<ul className='d-flex justify-content-center justify-content-lg-start'>
|
||||
<ul className='d-sm-flex justify-content-center justify-content-lg-start'>
|
||||
<li className=''>
|
||||
<a className="item-2" target='_blank' href={process.env.NEXT_PUBLIC_APPLE_APP}>
|
||||
<i className="fab fa-apple"></i>
|
||||
|
||||
@@ -36,7 +36,7 @@ export default function RootLayout({
|
||||
{children}
|
||||
<AcceptCookies />
|
||||
</body>
|
||||
<Script id='chat-support'>
|
||||
{/* <Script id='chat-support'>
|
||||
{`
|
||||
var LHC_API = LHC_API || {};
|
||||
LHC_API.args = {
|
||||
@@ -62,7 +62,7 @@ export default function RootLayout({
|
||||
s.parentNode.insertBefore(po, s);
|
||||
})();
|
||||
`}
|
||||
</Script>
|
||||
</Script> */}
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
"use client"
|
||||
import React from 'react';
|
||||
import Image from 'next/image';
|
||||
import { useParams } from 'next/navigation';
|
||||
|
||||
import cardImg from '../assets/images/home/wrench-card-only.png'
|
||||
import wrenchAgent from '../assets/images/home/wrench-agent.png'
|
||||
import Link from 'next/link';
|
||||
// import bg from '../assets/images/background-bg.jpg'
|
||||
|
||||
function Hero() {
|
||||
const {refer_link} = useParams()
|
||||
|
||||
return (
|
||||
<>
|
||||
<section className="appie-about-8-area pt-50 pb-70">
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
<div className="col-lg-12">
|
||||
<div className="appie-section-title">
|
||||
<h3 className="appie-title">
|
||||
{/* We bring everything <br />
|
||||
that's required to build apps */}
|
||||
Join WrenchBoard and Start Earning
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="row">
|
||||
<div className="col-lg-7 mb-3 mb-lg-0">
|
||||
<div className='appie-about-container'>
|
||||
<div className='row appie-about-8-box'>
|
||||
<div className="col-12 col-md-6">
|
||||
<h3 className="title">
|
||||
Get Reward for Accomplishments
|
||||
</h3>
|
||||
<p>
|
||||
On WrenchBoard, set goals, tasks, or anything else that motivates or needs to be done, and reward completion. WrenchBoard is the platform for planning rewards, engaging, and connecting with family.
|
||||
</p>
|
||||
<div className=''>
|
||||
<a className="mb-5 mb-md-0 main-btn" href={`${process.env.NEXT_PUBLIC_DASH_URL}/myrefer/${refer_link}`}>
|
||||
Get Started <i className="fal fa-arrow-right" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-12 col-md-6">
|
||||
<Image
|
||||
src={cardImg}
|
||||
className='w-100 h-100'
|
||||
width={'100'}
|
||||
height={'100'}
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-5">
|
||||
<div className='appie-about-container'>
|
||||
<div className='h-100 row appie-about-8-box'>
|
||||
<div className="col-12 col-md-6">
|
||||
<div className='h-100 d-flex flex-column gap-5'>
|
||||
<h3 className="title">
|
||||
Learn more...
|
||||
</h3>
|
||||
<ul className='refer-container'>
|
||||
<li>
|
||||
<Link href="/about-us">About WrenchBoard</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/use-cases">Use Cases</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/service">Services</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/faq">FAQ</Link>
|
||||
</li>
|
||||
</ul>
|
||||
<div className='d-none'>
|
||||
<a className="mb-5 mb-md-0 main-btn" href={`${process.env.NEXT_PUBLIC_DASH_URL}/myrefer/${refer_link}`}>
|
||||
Get Started <i className="fal fa-arrow-right" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-12 col-md-6">
|
||||
<Image
|
||||
src={wrenchAgent}
|
||||
className='w-100 h-auto'
|
||||
width={'100'}
|
||||
height={'100'}
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default Hero;
|
||||
@@ -0,0 +1,26 @@
|
||||
import React from 'react'
|
||||
import HomeNav from '../../components/navigation/HomeNav';
|
||||
import Hero from '../Hero';
|
||||
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';
|
||||
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 page() {
|
||||
return (
|
||||
<>
|
||||
{/* <HomeNav />
|
||||
<div className='' style={{paddingTop:'100px'}}></div> */}
|
||||
<Hero />
|
||||
<FooterHomeOne className={''} />
|
||||
<BackToTop className='' />
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -11,7 +11,6 @@
|
||||
"dependencies": {
|
||||
"axios": "^1.7.2",
|
||||
"caniuse-lite": "^1.0.30001651",
|
||||
"js-cookie": "^3.0.5",
|
||||
"next": "14.2.5",
|
||||
"react": "^18",
|
||||
"react-dom": "^18",
|
||||
|
||||
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 245 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 270 KiB |
|
After Width: | Height: | Size: 290 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |