@@ -0,0 +1,25 @@ | |||||
import apollo from "../../lib/apollo.js"; | |||||
async function subscribe(email,token="") { | |||||
var res = await apollo.mutation( | |||||
` | |||||
mutation($input: SubscriptionInput!){ | |||||
createSubscription(input:{data:$input}){ | |||||
subscription{ | |||||
} | |||||
} | |||||
} | |||||
`, | |||||
token, | |||||
{ | |||||
input: { | |||||
email:email | |||||
}, | |||||
} | |||||
); | |||||
return res; | |||||
} | |||||
module.exports = {subscribe}; |
@@ -217,7 +217,7 @@ const OurServices = () => { | |||||
<h3>Bank Perkreditan Rakyat <br /> Berkat Sejati</h3> | <h3>Bank Perkreditan Rakyat <br /> Berkat Sejati</h3> | ||||
<Link href="bprberkatsejati.com"> | |||||
<Link href="http://bprberkatsejati.com"> | |||||
<a><Icon.ArrowRight /></a> | <a><Icon.ArrowRight /></a> | ||||
</Link> | </Link> | ||||
</div> | </div> | ||||
@@ -231,7 +231,7 @@ const OurServices = () => { | |||||
<h3>Thamrin Homes</h3><br/> | <h3>Thamrin Homes</h3><br/> | ||||
<Link href="homes.thamrin.xyz"> | |||||
<Link href="http://homes.thamrin.xyz"> | |||||
<a><Icon.ArrowRight /></a> | <a><Icon.ArrowRight /></a> | ||||
</Link> | </Link> | ||||
</div> | </div> | ||||
@@ -1,8 +1,10 @@ | |||||
import React from 'react'; | import React from 'react'; | ||||
import subscription from '../../api/subscription/subscription'; | |||||
const Newsletter = () => { | const Newsletter = () => { | ||||
const [email, setEmail] = React.useState(""); | |||||
return ( | return ( | ||||
<div id="about-us" className="free-trial-area"> | |||||
<div id="subscribe" className="free-trial-area"> | |||||
<div className="container-fluid"> | <div className="container-fluid"> | ||||
<div className="row align-items-center"> | <div className="row align-items-center"> | ||||
<div className="col-lg-6 col-md-12"> | <div className="col-lg-6 col-md-12"> | ||||
@@ -15,8 +17,26 @@ const Newsletter = () => { | |||||
<div className="free-trial-content"> | <div className="free-trial-content"> | ||||
<h2>Enter Your Email For Get Info & Promo</h2> | <h2>Enter Your Email For Get Info & Promo</h2> | ||||
<form className="newsletter-form"> | |||||
<input type="email" className="input-newsletter" placeholder="Enter your business email here" /> | |||||
<form className="newsletter-form" onSubmit={async (e)=>{ | |||||
e.preventDefault(); | |||||
// var data = new FormData(e.target); | |||||
// var obj = {}; | |||||
// for (const [name,value] of data) { | |||||
// obj[name] = value; | |||||
// } | |||||
if(email&&email!=""){ | |||||
var res = await subscription.subscribe(email); | |||||
setEmail(""); | |||||
if(res["STATUS"]==1){ | |||||
alert("Email Subscribed!!"); | |||||
}else{ | |||||
if(res["DATA"].toUpperCase().includes("DUPLICATE")){ | |||||
alert("Email Already Subscribed!"); | |||||
} | |||||
} | |||||
} | |||||
}}> | |||||
<input onChange={(e)=>setEmail(e.target.value)}name="email" type="email" className="input-newsletter" value={email} placeholder="Enter your business email here" /> | |||||
<button type="submit">Sign Up Free</button> | <button type="submit">Sign Up Free</button> | ||||
</form> | </form> | ||||
</div> | </div> | ||||
@@ -54,7 +54,7 @@ const About1 = () => { | |||||
<h3>Ingin Info Lebih Lanjut ?</h3> | <h3>Ingin Info Lebih Lanjut ?</h3> | ||||
<p>Tanyakan Kepada Pihak Kami Untuk Info Lebih Lanjutnya</p> | <p>Tanyakan Kepada Pihak Kami Untuk Info Lebih Lanjutnya</p> | ||||
<Link href="/contact"> | |||||
<Link href="/yamaha/ContactUs"> | |||||
<a className="btn btn-primary">Contact Us</a> | <a className="btn btn-primary">Contact Us</a> | ||||
</Link> | </Link> | ||||
@@ -1,5 +1,6 @@ | |||||
import React from 'react'; | import React from 'react'; | ||||
import Link from 'next/link'; | |||||
// import Link from 'next/link'; | |||||
import { Link } from 'react-scroll'; | |||||
import * as Icon from 'react-feather'; | import * as Icon from 'react-feather'; | ||||
const Footer = () => { | const Footer = () => { | ||||
@@ -13,7 +14,7 @@ const Footer = () => { | |||||
<div className="col-lg-3 col-md-6"> | <div className="col-lg-3 col-md-6"> | ||||
<div className="single-footer-widget"> | <div className="single-footer-widget"> | ||||
<div className="logo"> | <div className="logo"> | ||||
<Link href="/it-startup"> | |||||
<Link offset={100} href="/it-startup"> | |||||
<a> | <a> | ||||
<img src="/images/TBG-Home/White.png" width="250px" alt="logo" /> | <img src="/images/TBG-Home/White.png" width="250px" alt="logo" /> | ||||
</a> | </a> | ||||
@@ -28,35 +29,91 @@ const Footer = () => { | |||||
<h3>Menu</h3> | <h3>Menu</h3> | ||||
<ul className="list"> | <ul className="list"> | ||||
<li> | <li> | ||||
<Link href="/about-1"> | |||||
<Link href="/#" to="home" spy={true} smooth={true}> | |||||
<a>Home</a> | <a>Home</a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="/services-1"> | |||||
<Link offset={-100} href="/#" to="business_partner" spy={true} smooth={true}> | |||||
<a>Businees Partner</a> | <a>Businees Partner</a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="/features"> | |||||
<Link offset={-100} href="/#" to="industri" spy={true} smooth={true}> | |||||
<a>Industri</a> | <a>Industri</a> | ||||
</Link> | </Link> | ||||
</li> | |||||
<li> | |||||
<Link offset={-100} href="/#" to="gallery" spy={true} smooth={true}> | |||||
<a>Gallery</a> | |||||
</Link> | |||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="/pricing"> | |||||
<a>Founder</a> | |||||
<Link offset={-100} href="/#" to="subscribe" spy={true} smooth={true}> | |||||
<a>Subscribe</a> | |||||
</Link> | |||||
</li> | |||||
{/* <li> | |||||
<Link href="/#"> | |||||
<a onClick={e=>{ | |||||
e.preventDefault(); | |||||
window.scroll({ | |||||
top: document.getElementById('home').getBoundingClientRect().top+window.pageYOffset - 100, | |||||
behavior: "smooth" | |||||
}); | |||||
}}>Home</a> | |||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="/blog-1"> | |||||
<a>Gallery</a> | |||||
<Link href="/#" to="business_partner" spy={true} smooth={true}> | |||||
<a onClick={e => { | |||||
e.preventDefault(); | |||||
window.scroll({ | |||||
top: document.getElementById('business_partner').getBoundingClientRect().top+window.pageYOffset - 100, | |||||
behavior: "smooth" | |||||
}); | |||||
}}>Businees Partner</a> | |||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | |||||
<Link href="/#" to="industri" spy={true} smooth={true}> | |||||
<a onClick={e => { | |||||
e.preventDefault(); | |||||
window.scroll({ | |||||
top: document.getElementById('industri').getBoundingClientRect().top+window.pageYOffset - 100, | |||||
behavior: "smooth" | |||||
}); | |||||
}}>Industri</a> | |||||
</Link> | |||||
</li> | |||||
<li> | |||||
<Link href="/#" to="gallery" spy={true} smooth={true}> | |||||
<a onClick={e => { | |||||
e.preventDefault(); | |||||
window.scroll({ | |||||
top: document.getElementById('gallery').getBoundingClientRect().top+window.pageYOffset - 100, | |||||
behavior: "smooth" | |||||
}); | |||||
}}>Gallery</a> | |||||
</Link> | |||||
</li> | |||||
<li> | |||||
<Link href="/#" to="about-us" spy={true} smooth={true}> | |||||
<a onClick={e => { | |||||
e.preventDefault(); | |||||
window.scroll({ | |||||
top: document.getElementById('about-us').getBoundingClientRect().top+window.pageYOffset - 100, | |||||
behavior: "smooth" | |||||
}); | |||||
}}>About us</a> | |||||
</Link> | |||||
</li> */} | |||||
</ul> | </ul> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div className="col-lg-3 col-md-6"> | |||||
{/* <div className="col-lg-3 col-md-6"> | |||||
<div className="single-footer-widget"> | <div className="single-footer-widget"> | ||||
<h3>Support</h3> | <h3>Support</h3> | ||||
<ul className="list"> | <ul className="list"> | ||||
@@ -87,9 +144,9 @@ const Footer = () => { | |||||
</li> | </li> | ||||
</ul> | </ul> | ||||
</div> | </div> | ||||
</div> | |||||
</div> */} | |||||
<div className="col-lg-3 col-md-6"> | |||||
<div className="col-lg-6 col-md-6"> | |||||
<div className="single-footer-widget"> | <div className="single-footer-widget"> | ||||
<h3>Address</h3> | <h3>Address</h3> | ||||
@@ -109,23 +166,23 @@ const Footer = () => { | |||||
</ul> | </ul> | ||||
<ul className="social-links"> | <ul className="social-links"> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<Link href="https://www.facebook.com/thamrin.group"> | |||||
<a className="facebook" target="_blank"><Icon.Facebook /></a> | <a className="facebook" target="_blank"><Icon.Facebook /></a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<Link href="https://twitter.com/ThamrinGroup"> | |||||
<a className="twitter" target="_blank"><Icon.Twitter /></a> | <a className="twitter" target="_blank"><Icon.Twitter /></a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<Link href="https://www.instagram.com/thamrin.co.id/"> | |||||
<a className="instagram" target="_blank"><Icon.Instagram /></a> | <a className="instagram" target="_blank"><Icon.Instagram /></a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<a className="linkedin" target="_blank"><Icon.Youtube /></a> | |||||
<Link href="https://www.youtube.com/channel/UCRUULlhLxKUpXK1Ti4Jrjkw"> | |||||
<a className="youtube" target="_blank"><Icon.Youtube /></a> | |||||
</Link> | </Link> | ||||
</li> | </li> | ||||
</ul> | </ul> | ||||
@@ -42,21 +42,26 @@ const Footer = () => { | |||||
<a>Latest News</a> | <a>Latest News</a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | |||||
{/* <li> | |||||
<Link href="/pricing"> | <Link href="/pricing"> | ||||
<a>Carrer</a> | <a>Carrer</a> | ||||
</Link> | </Link> | ||||
</li> | |||||
</li> */} | |||||
<li> | <li> | ||||
<Link href="/yamaha/AboutUs"> | <Link href="/yamaha/AboutUs"> | ||||
<a>About Us</a> | <a>About Us</a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | |||||
<Link href="/yamaha/ContactUs"> | |||||
<a>Contact Us</a> | |||||
</Link> | |||||
</li> | |||||
</ul> | </ul> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div className="col-lg-3 col-md-6"> | |||||
{/* <div className="col-lg-3 col-md-6"> | |||||
<div className="single-footer-widget"> | <div className="single-footer-widget"> | ||||
<h3>Support</h3> | <h3>Support</h3> | ||||
<ul className="list"> | <ul className="list"> | ||||
@@ -64,7 +69,7 @@ const Footer = () => { | |||||
<Link href="/faq"> | <Link href="/faq"> | ||||
<a>FAQ's</a> | <a>FAQ's</a> | ||||
</Link> | </Link> | ||||
</li> | |||||
</li> | |||||
<li> | <li> | ||||
<Link href="/privacy-policy"> | <Link href="/privacy-policy"> | ||||
<a>Privacy Policy</a> | <a>Privacy Policy</a> | ||||
@@ -81,15 +86,15 @@ const Footer = () => { | |||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="/contact"> | |||||
<Link href="/yamaha/ContactUs"> | |||||
<a>Contact Us</a> | <a>Contact Us</a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
</ul> | </ul> | ||||
</div> | </div> | ||||
</div> | |||||
</div> */} | |||||
<div className="col-lg-3 col-md-6"> | |||||
<div className="col-lg-6 col-md-6"> | |||||
<div className="single-footer-widget"> | <div className="single-footer-widget"> | ||||
<h3>Address</h3> | <h3>Address</h3> | ||||
@@ -109,23 +114,23 @@ const Footer = () => { | |||||
</ul> | </ul> | ||||
<ul className="social-links"> | <ul className="social-links"> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<Link href="https://www.facebook.com/thamrin.group"> | |||||
<a className="facebook" target="_blank"><Icon.Facebook /></a> | <a className="facebook" target="_blank"><Icon.Facebook /></a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<Link href="https://twitter.com/ThamrinGroup"> | |||||
<a className="twitter" target="_blank"><Icon.Twitter /></a> | <a className="twitter" target="_blank"><Icon.Twitter /></a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<Link href="https://www.instagram.com/thamrin.co.id/"> | |||||
<a className="instagram" target="_blank"><Icon.Instagram /></a> | <a className="instagram" target="_blank"><Icon.Instagram /></a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link href="#"> | |||||
<a className="linkedin" target="_blank"><Icon.Youtube /></a> | |||||
<Link href="https://www.youtube.com/channel/UCRUULlhLxKUpXK1Ti4Jrjkw"> | |||||
<a className="youtube" target="_blank"><Icon.Youtube /></a> | |||||
</Link> | </Link> | ||||
</li> | </li> | ||||
</ul> | </ul> | ||||
@@ -31,7 +31,7 @@ const NavbarStyleFour = () => { | |||||
<div className="startp-nav"> | <div className="startp-nav"> | ||||
<div className="container"> | <div className="container"> | ||||
<nav className="navbar navbar-expand-md navbar-light"> | <nav className="navbar navbar-expand-md navbar-light"> | ||||
<Link to="business_partner" href="/#"> | |||||
<Link offset={-100} to="business_partner" href="/#"> | |||||
<a onClick={toggleNavbar} className="navbar-brand"> | <a onClick={toggleNavbar} className="navbar-brand"> | ||||
<img src="/images/TBG-Home/Blue.png" width="250px" alt="logo" /> | <img src="/images/TBG-Home/Blue.png" width="250px" alt="logo" /> | ||||
</a> | </a> | ||||
@@ -62,7 +62,7 @@ const NavbarStyleFour = () => { | |||||
</li> | </li> | ||||
<li className="nav-item"> | <li className="nav-item"> | ||||
<Link href="/#" to="business_partner" spy={true} smooth={true}> | |||||
<Link offset={-100} href="/#" to="business_partner" spy={true} smooth={true}> | |||||
<a onClick={e => e.preventDefault()} className="nav-link"> | <a onClick={e => e.preventDefault()} className="nav-link"> | ||||
Business Partner | Business Partner | ||||
</a> | </a> | ||||
@@ -126,7 +126,7 @@ const NavbarStyleFour = () => { | |||||
</li> | </li> | ||||
<li className="nav-item"> | <li className="nav-item"> | ||||
<Link href="/#" to="industri" spy={true} smooth={true}> | |||||
<Link offset={-100} href="/#" to="industri" spy={true} smooth={true}> | |||||
<a onClick={e => e.preventDefault()} className="nav-link"> | <a onClick={e => e.preventDefault()} className="nav-link"> | ||||
Industri We Serve | Industri We Serve | ||||
</a> | </a> | ||||
@@ -150,7 +150,7 @@ const NavbarStyleFour = () => { | |||||
</li> */} | </li> */} | ||||
<li className="nav-item"> | <li className="nav-item"> | ||||
<Link href="/#" to="gallery" spy={true} smooth={true}> | |||||
<Link offset={-100} href="/#" to="gallery" spy={true} smooth={true}> | |||||
<a onClick={e => e.preventDefault()} className="nav-link"> | <a onClick={e => e.preventDefault()} className="nav-link"> | ||||
Gallery | Gallery | ||||
</a> | </a> | ||||
@@ -158,9 +158,9 @@ const NavbarStyleFour = () => { | |||||
</li> | </li> | ||||
<li className="nav-item"> | <li className="nav-item"> | ||||
<Link href="/#" to="about-us" spy={true} smooth={true}> | |||||
<Link offset={-100} href="/#" to="subscribe" spy={true} smooth={true}> | |||||
<a onClick={e => e.preventDefault()} className="nav-link"> | <a onClick={e => e.preventDefault()} className="nav-link"> | ||||
About Us | |||||
Subscribe | |||||
</a> | </a> | ||||
</Link> | </Link> | ||||
</li> | </li> | ||||
@@ -120,8 +120,7 @@ export default function NavbarYamaha({ username, ...props }) { | |||||
</ul> | </ul> | ||||
</div> | </div> | ||||
<div className="others-option"> | |||||
<div style={{display : 'none'}} className="others-option"> | |||||
<Link href="/yamaha/login"> | <Link href="/yamaha/login"> | ||||
{!username || username == "" ? ( | {!username || username == "" ? ( | ||||
<Link href="/yamaha/login"> | <Link href="/yamaha/login"> | ||||
@@ -176,10 +175,10 @@ export default function NavbarYamaha({ username, ...props }) { | |||||
}).then((res) => { | }).then((res) => { | ||||
//if (res.ok) { | //if (res.ok) { | ||||
window.location.href = "../yamaha"; | window.location.href = "../yamaha"; | ||||
/*} | |||||
else{ | |||||
// } | |||||
// else{ | |||||
}*/ | |||||
// } | |||||
}); | }); | ||||
}} | }} | ||||
> | > | ||||
@@ -1,6 +1,6 @@ | |||||
// Apollo Value Configuration | // Apollo Value Configuration | ||||
const ApolloConfig = { | const ApolloConfig = { | ||||
graphql_uri: process.env.API_GRAPHQL_URI, | |||||
graphql_uri: process.env.NEXT_PUBLIC_API_GRAPHQL_URI, | |||||
}; | }; | ||||
export default ApolloConfig; | export default ApolloConfig; |
@@ -1,5 +1,4 @@ | |||||
API_URL=#STRAPI URL# | |||||
API_GRAPHQL_URI=#STRAPI URL#/graphql | |||||
NEXT_PUBLIC_API_GRAPHQL_URI=#STRAPI URL#/graphql | |||||
BACKEND_SERVER_URI =#STRAPI URL# | BACKEND_SERVER_URI =#STRAPI URL# | ||||
PORT=#PORT# | PORT=#PORT# |
@@ -51,7 +51,7 @@ async function query(query, token = "", variables = {}, cache = false) { | |||||
}); | }); | ||||
res = { STATUS: 1, DATA: sql.data }; | res = { STATUS: 1, DATA: sql.data }; | ||||
} catch (e) { | } catch (e) { | ||||
res = { STATUS: 0, DATA: errorHandler(e) }; | |||||
res = { STATUS: 0, DATA: e.message }; | |||||
} | } | ||||
return res; | return res; | ||||
} | } | ||||
@@ -68,8 +68,8 @@ async function mutation(mutation, token = "", variables = {}) { | |||||
}); | }); | ||||
res = { STATUS: 1, DATA: sql.data }; | res = { STATUS: 1, DATA: sql.data }; | ||||
} catch (e) { | } catch (e) { | ||||
console.log(e.networkError.result); | |||||
res = { STATUS: 0, DATA: errorHandler(e) }; | |||||
// console.log(mutation,e); | |||||
res = { STATUS: 0, DATA: e.message }; | |||||
} | } | ||||
return res; | return res; | ||||
} | } | ||||
@@ -10630,12 +10630,22 @@ Footer CSS | |||||
} | } | ||||
.single-footer-widget ul.social-links li a.instagram { | .single-footer-widget ul.social-links li a.instagram { | ||||
border-color: #231F20; | |||||
color: #231F20; | |||||
border-color: #bb58aa; | |||||
color: #bb58aa; | |||||
} | } | ||||
.single-footer-widget ul.social-links li a.instagram:hover { | .single-footer-widget ul.social-links li a.instagram:hover { | ||||
background: #231F20; | |||||
background: #bb58aa; | |||||
color: #ffffff; | |||||
} | |||||
.single-footer-widget ul.social-links li a.youtube { | |||||
border-color: #cf3259; | |||||
color: #cf3259; | |||||
} | |||||
.single-footer-widget ul.social-links li a.youtube:hover { | |||||
background: #cf3259; | |||||
color: #ffffff; | color: #ffffff; | ||||
} | } | ||||
@@ -4909,11 +4909,20 @@ Shop Details CSS | |||||
} | } | ||||
} | } | ||||
&.instagram { | &.instagram { | ||||
border-color: #231F20; | |||||
color: #231F20; | |||||
border-color: #bb58aa; | |||||
color: #bb58aa; | |||||
&:hover { | &:hover { | ||||
background: #231F20; | |||||
background: #bb58aa; | |||||
color: $white-color; | |||||
} | |||||
} | |||||
&.youtube { | |||||
border-color: #cf3259; | |||||
color: #cf3259; | |||||
&:hover { | |||||
background: #cf3259; | |||||
color: $white-color; | color: $white-color; | ||||
} | } | ||||
} | } | ||||
@@ -7,7 +7,6 @@ const app = next({ dev }); | |||||
const handle = app.getRequestHandler(); | const handle = app.getRequestHandler(); | ||||
// require("dotenv").config(); | // require("dotenv").config(); | ||||
console.log(process.env.PORT); | |||||
const port = process.env.PORT || "14009"; | const port = process.env.PORT || "14009"; | ||||
app.prepare().then(() => { | app.prepare().then(() => { | ||||