Commit 92810d73 by sujata

changes update

1 parent 7aabd05d
import Image from "next/image";
import React from "react";
import { Col, Container, Row } from "react-bootstrap";
import { Col, Container, Form, Row } from "react-bootstrap";
import Heading from "./Heading";
import { motion } from "framer-motion";
import { slideFromLeft } from "./variants";
import { useRouter } from "next/router";
import { useForm } from "react-hook-form";
import axios from "axios";
const CallBackRequest = () => {
const {
handleSubmit,
control,
formState: { errors },
register,
reset,
} = useForm({
mode: "onBlur",
});
// email api
const router = useRouter();
const onSubmit = async (data) => {
const leadData = {
mobilenumber: data.Mobile,
email: data.Email,
message: data.AdditionalMessage || "",
name: data.Name,
service: data.service,
source: data.source,
};
console.log(leadData, "form-data");
try {
const response = await axios.post("/api/homegooglesheet", leadData, {
headers: {
"Content-Type": "application/json",
},
});
console.log("Google Sheet API response:", response?.data);
if (response.data.success) {
router.push("/thank-you");
sendEmaill(data);
}
} catch (error) {
console.error(
"Error submitting to Google Sheet API:",
error.response ? error.response.data : error.message
);
}
reset();
};
const sendEmaill = (data) => {
fetch("/api/sendEmailHome", {
method: "POST",
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "application/json",
},
body: JSON.stringify(data),
})
.then((response) => {
console.log("response received", response);
if (response.status === 200) {
console.log("response succeeded");
} else {
console.log("response failed");
}
})
.catch((error) => {
console.error(error);
});
};
return (
<>
<div className="free-quote-area ptb-100">
......@@ -36,49 +103,115 @@ const CallBackRequest = () => {
Have a quick question or need more information? Fill out the
form below, and we'll get back to you as soon as possible
</span>
<form>
<form onSubmit={handleSubmit(onSubmit)}>
<Row>
<Col lg={6} md={6}>
<div className="form-group">
<label>Your Name</label>
<input type="text" className="form-control" />
<Form.Group>
<Form.Control
type="text"
className="form-control"
{...register("Name", {
required: "Enter Your Name",
maxLength: {
value: 100,
message: "Name is too long",
},
})}
/>
{errors.Name && (
<span className="error">{errors.Name.message}</span>
)}
<Form.Control
required
type="text"
placeholder="Name"
defaultValue={"Home page form"} // Set defaultValue
className="text-dark d-none"
{...register("source", {})}
/>
</Form.Group>
</div>
</Col>
<Col lg={6} md={6}>
<div className="form-group">
<label>Your Email</label>
<input type="text" className="form-control" />
<Form.Group>
<Form.Control
required
type="text"
className="form-control"
{...register("Email", {
required: "Enter Your Email",
pattern: {
value:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,
message: "Invalid email address",
},
})}
/>
{errors.Email && (
<span className="error">{errors.Email.message}</span>
)}
</Form.Group>
</div>
</Col>
<Col lg={6} md={6}>
<div className="form-group">
<label>Phone Number</label>
<input type="text" className="form-control" />
<Form.Group>
<Form.Control
required
type="text"
className="form-control"
{...register("Mobile", {
required: "Enter Your Mobile Number",
maxLength: {
value: 10,
message: "Invalid Mobile number",
},
})}
/>
{errors.Mobile && (
<span className="error">{errors.Mobile.message}</span>
)}
</Form.Group>
</div>
</Col>
<Col lg={6} md={6}>
<div className="form-group">
<label>Services</label>
<select className="form-select">
{/* <option value="selected">
Financial Consultancy
</option> */}
<Form.Group>
<Form.Control as="select"
required
type="select"
{...register("service", {
required: "Select Service",
})}
className="form-select">
<option disabled> Select Service</option>
<option>Virtual FC & CFO Services</option>
<option>Transaction Advisory</option>
<option>Risk Advisory</option>
<option>Business Advisory</option>
<option>Personal Tax</option>
<option>Corporate Tax</option>
<option>Company Law & FEMA</option>
<option>Transfer Pricing</option>
<option>GST & other Indirect Tax</option>
<option>Family Business Advisory</option>
<option>Others</option>
</select>
<option value="Virtual FC & CFO Services">Virtual FC & CFO Services</option>
<option value="Transaction Advisory">Transaction Advisory</option>
<option value="Risk Advisory">Risk Advisory</option>
<option value="Business Advisory">Business Advisory</option>
<option value="Personal Tax">Personal Tax</option>
<option value="Corporate Tax" >Corporate Tax</option>
<option value="Company Law & FEMA">Company Law & FEMA</option>
<option value="Transfer Pricing">Transfer Pricing</option>
<option value="GST & other Indirect Tax">GST & other Indirect Tax</option>
<option value="Family Business Advisory">Family Business Advisory</option>
<option value="Others">Others</option>
</Form.Control>
{errors.service && (
<span className="error">{errors.service.message}</span>
)}
</Form.Group>
</div>
</Col>
......
import Image from "next/image";
import React from "react";
import { Swiper, SwiperSlide } from "swiper/react";
import { Autoplay, Navigation, Pagination } from "swiper/modules";
import { Autoplay, Navigation } from "swiper/modules";
import { Col, Container, Row } from "react-bootstrap";
import Heading from "./Heading";
import Link from "next/link";
import SwiperNav from "./SwiperNav";
const industriesData = [
{
title: "Education",
......@@ -33,7 +34,7 @@ const industriesData = [
title: "Technology",
subtitle: "INDUSTRIES",
description:
"From breakthroughs in software to cutting-edge technolgy, the Technology sector remains a key driver of innovation. Our expertise in finance equips us to provide strategic guidance and solutions tailored to the needs of this dynamic sector, ensuring the growth and financial success of our clients.",
"From breakthroughs in software to cutting-edge technology, the Technology sector remains a key driver of innovation. Our expertise in finance equips us to provide strategic guidance and solutions tailored to the needs of this dynamic sector, ensuring the growth and financial success of our clients.",
imageSrc: "/images/industry/technology.png",
imageAlt: "image",
shapeSrc: "/images/shape/shape8.png",
......@@ -62,14 +63,12 @@ const industriesData = [
shapeAlt: "image",
link: "/industry#realestate",
},
// Add more objects here if you have more slides
];
const Industries = () => {
return (
<>
<div className="free-quote-area bg-color position-relative">
<Swiper
spaceBetween={30}
pagination={{ clickable: true }}
......@@ -97,7 +96,7 @@ const Industries = () => {
prevEl: ".custom-swiper-button-prev",
}}
loop={true}
modules={[Navigation , Autoplay]}
modules={[Navigation, Autoplay]}
className="industry-slides position-relative"
>
{industriesData.map((industry, index) => (
......@@ -113,7 +112,10 @@ const Industries = () => {
className="industry-title"
/>
<p>{industry.description}</p>
<Link href={`${industry.link}`} className="default-btn-one">
<Link
href={`${industry.link}`}
className="default-btn-one"
>
Know More
</Link>
</div>
......@@ -135,7 +137,8 @@ const Industries = () => {
<Image
src={industry.shapeSrc}
alt={industry.shapeAlt}
layout="fill"
width={500}
height={500}
className="img-fluid image"
/>
</div>
......
......@@ -25,7 +25,7 @@ const posts = [
shortDesc:
"Tax Deducted at Source under Income Tax ActBy Advith Consulting1. Introduction",
btnText: "Read More",
detailsUrl: "/blog/details",
detailsUrl: "/blog/detail/tax-deducted-at-source-under-income-tax-act",
},
{
id: 2,
......@@ -38,7 +38,7 @@ const posts = [
shortDesc:
"Reporting on Fraudulent Activities by AuditorsBy Advith ConsultingIntroduction",
btnText: "Read More",
detailsUrl: "/blog/details",
detailsUrl: "/blog/detail/reporting-on-fraudulent-activities-by-auditors",
},
{
id: 3,
......@@ -51,7 +51,7 @@ const posts = [
shortDesc:
"Start-up and Angel TaxBy Advith ConsultingBackgroundWith the aim of foste",
btnText: "Read More",
detailsUrl: "/blog/details",
detailsUrl: "/blog/detail/start-up-and-angel-tax",
},
];
......
import React from "react";
import PageBanner from "@/components/reuseables/PageBanner";
import CareerListing from "./CareerListing";
import { Col, Container, Row } from "react-bootstrap";
import Link from "next/link";
const CareerPage = () => {
const banners = [
{
......@@ -14,7 +16,26 @@ const CareerPage = () => {
return (
<>
<PageBanner banners={banners} />
<CareerListing />
{/* <CareerListing /> */}
<section className="ptb-100">
<Container>
<Row className="justify-content-center text-center">
<Col md={10}>
<h3 className="text-center">
We're more than just a workplace. We're a family.
</h3>
<p className="text-center">
We know that finding a meaningful and rewarding job can be a long
journey. Our goal is to make that process as easy as possible for
you, and to create a work environment that's satisfying - one
where you'll look forward to coming to every day. Start your
journey with us by browsing available jobs.
</p>
<Link href="https://advithconsulting.zohorecruit.in/careers" target="_blank"> <button className="default-btn mt-4"> Browse Jobs <i className="ri-arrow-right-line"></i></button></Link>
</Col>
</Row>
</Container>
</section>
</>
);
};
......
import React, { useState } from "react";
import Link from "next/link";
import GoogleMap from "./GoogleMap";
import { Col, Container, Row } from "react-bootstrap";
import { Col, Container, Row, Form } from "react-bootstrap";
import Heading from "@/components/reuseables/Heading";
import { useForm } from "react-hook-form";
import axios from "axios";
import { useRouter } from "next/router";
const ContactForm = () => {
const {
handleSubmit,
control,
formState: { errors },
register,
reset,
} = useForm({
mode: "onBlur",
});
// email api
const router = useRouter();
const onSubmit = async (data) => {
const leadData = {
mobilenumber: data.Mobile,
email: data.Email,
message: data.AdditionalMessage || "",
name: data.Name,
company: data.Company,
source: data.source,
};
console.log(leadData, "form-data");
try {
const response = await axios.post("/api/googlesheetapi", leadData, {
headers: {
"Content-Type": "application/json",
},
});
console.log("Google Sheet API response:", response?.data);
if (response.data.success) {
router.push("/thank-you");
sendEmaill(data);
}
} catch (error) {
console.error(
"Error submitting to Google Sheet API:",
error.response ? error.response.data : error.message
);
}
reset();
};
const sendEmaill = (data) => {
fetch("/api/sendEmail", {
method: "POST",
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "application/json",
},
body: JSON.stringify(data),
})
.then((response) => {
console.log("response received", response);
if (response.status === 200) {
console.log("response succeeded");
} else {
console.log("response failed");
}
})
.catch((error) => {
console.error(error);
});
};
return (
<>
<div className="contact-area ptb-100">
......@@ -18,86 +88,137 @@ const ContactForm = () => {
<span className="sub-title">SEND MESSAGE</span>
<Heading heading="Write to Us!" />
<p>
Connect with Advith Consulting today for an insightful consultation on how our tailored services can help propel your business towards success.
Connect with Advith Consulting today for an insightful
consultation on how our tailored services can help propel your
business towards success.
</p>
<form>
<form onSubmit={handleSubmit(onSubmit)}>
<Row>
<Col lg={6} md={6} sm={6}>
<div className="form-group">
<input
<Form.Group>
<Form.Control
required
type="text"
name="name"
placeholder="Name"
className="form-control"
value=""
className="text-dark form-control"
{...register("Name", {
required: "Enter Your Name",
maxLength: {
value: 100,
message: "Name is too long",
},
})}
/>
{errors.Name && (
<span className="error">{errors.Name.message}</span>
)}
<Form.Control
required
type="text"
placeholder="Name"
defaultValue={"contact form"} // Set defaultValue
className="text-dark d-none"
{...register("source", {})}
/>
</Form.Group>
</div>
</Col>
<Col lg={6} md={6} sm={6}>
<div className="form-group">
<input
type="text"
name="email"
placeholder="Email"
className="form-control"
<Form.Group>
<Form.Control
required
type="email"
className="text-dark form-control"
placeholder="Email"
{...register("Email", {
required: "Enter Your Email",
pattern: {
value:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,
message: "Invalid email address",
},
})}
/>
{errors.Email && (
<span className="error">{errors.Email.message}</span>
)}
</Form.Group>
</div>
</Col>
<Col lg={6} md={6} sm={6}>
<div className="form-group">
<input
type="text"
name="number"
placeholder="Phone number"
className="form-control"
<Form.Group>
<Form.Control
required
type="text"
placeholder="Mobile"
className="text-dark form-control"
{...register("Mobile", {
required: "Enter Your Mobile Number",
maxLength: {
value: 10,
message: "Invalid Mobile number",
},
})}
/>
{errors.Mobile && (
<span className="error">{errors.Mobile.message}</span>
)}
</Form.Group>
</div>
</Col>
<Col lg={6} md={6} sm={6}>
<div className="form-group">
<input
type="text"
name="subject"
placeholder="Subject"
className="form-control"
<Form.Group>
<Form.Control
required
type="text"
className="text-dark form-control"
placeholder="Company Name"
{...register("Company", {
required: "Enter your Company",
})}
/>
{errors.Company && (
<span className="error">
{errors.Company.message}
</span>
)}
</Form.Group>
</div>
</Col>
<Col lg={12} md={12} sm={6}>
<div className="form-group">
<textarea
name="text"
cols="30"
rows="6"
placeholder="Write your message..."
className="form-control"
<Form.Group>
<Form.Control
as="textarea"
rows={5}
required
type="text"
placeholder="Additional message"
className="text-dark form-control"
{...register("AdditionalMessage", {})}
/>
{errors.AdditionalMessage && (
<span className="error">
{errors.AdditionalMessage.message}
</span>
)}
</Form.Group>
</div>
</Col>
{/* <Col lg={12} md={12} sm={12}>
<div className="form-check">
<input
type="checkbox"
className="form-check-input"
id="checkme"
/>
<label className="form-check-label" htmlFor="checkme">
Accept
<Link href="/terms-conditions">
Terms of Services
</Link>
and <Link href="/privacy-policy">Privacy Policy</Link>
</label>
</div>
</Col> */}
<Col lg={12} md={12} sm={12}>
<button type="submit" className="default-btn">
<button
type="submit"
className="default-btn submit submit-btn"
>
Send Message <i className="ri-arrow-right-line"></i>
</button>
</Col>
......
......@@ -18,7 +18,7 @@ const blogPosts = [
shortDesc:
"Tax Deducted at Source under Income Tax ActBy Advith Consulting1. Introduction",
btnText: "Read More",
detailsUrl: "/blog/details",
detailsUrl: "/blog/detail/tax-deducted-at-source-under-income-tax-act",
},
{
id: 2,
......@@ -31,7 +31,7 @@ const blogPosts = [
shortDesc:
"Reporting on Fraudulent Activities by AuditorsBy Advith ConsultingIntroduction",
btnText: "Read More",
detailsUrl: "/blog/details",
detailsUrl: "/blog/detail/reporting-on-fraudulent-activities-by-auditors",
},
{
id: 3,
......@@ -44,7 +44,7 @@ const blogPosts = [
shortDesc:
"Start-up and Angel TaxBy Advith ConsultingBackgroundWith the aim of foste",
btnText: "Read More",
detailsUrl: "/blog/details",
detailsUrl: "/blog/detail/start-up-and-angel-tax",
},
];
......
......@@ -8,15 +8,19 @@
"name": "advith-consulting",
"version": "0.1.0",
"dependencies": {
"axios": "^1.7.2",
"axios": "^1.7.7",
"bootstrap": "^5.3.3",
"eslint-config-next": "^13.5.6",
"framer-motion": "^11.3.24",
"next": "^13.5.6",
"nodemailer": "^6.9.15",
"qs": "^6.13.0",
"query-string": "^9.1.1",
"react": "^18.3.1",
"react-accessible-accordion": "^5.0.0",
"react-bootstrap": "^2.10.4",
"react-dom": "^18.3.1",
"react-hook-form": "^7.53.0",
"react-tabs": "^6.0.2",
"sweetalert2": "^6.6.1",
"sweetalert2-react-content": "^5.0.7",
......@@ -796,9 +800,9 @@
}
},
"node_modules/axios": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
"integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
"version": "1.7.7",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
"integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
"dependencies": {
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
......@@ -1069,6 +1073,14 @@
}
}
},
"node_modules/decode-uri-component": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz",
"integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==",
"engines": {
"node": ">=14.16"
}
},
"node_modules/deep-equal": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
......@@ -1852,6 +1864,17 @@
"node": ">=8"
}
},
"node_modules/filter-obj": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz",
"integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==",
"engines": {
"node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
......@@ -2910,6 +2933,14 @@
}
}
},
"node_modules/nodemailer": {
"version": "6.9.15",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.15.tgz",
"integrity": "sha512-AHf04ySLC6CIfuRtRiEYtGEXgRfa6INgWGluDhnxTZhHSKvrBu7lc1VVchQ0d8nPc4cFaZoPq8vkyNoZr0TpGQ==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
......@@ -3230,6 +3261,36 @@
"node": ">=6"
}
},
"node_modules/qs": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
"dependencies": {
"side-channel": "^1.0.6"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/query-string": {
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/query-string/-/query-string-9.1.1.tgz",
"integrity": "sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg==",
"dependencies": {
"decode-uri-component": "^0.4.1",
"filter-obj": "^5.1.0",
"split-on-first": "^3.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
......@@ -3310,6 +3371,21 @@
"react": "^18.3.1"
}
},
"node_modules/react-hook-form": {
"version": "7.53.0",
"resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.53.0.tgz",
"integrity": "sha512-M1n3HhqCww6S2hxLxciEXy2oISPnAzxY7gvwVPrtlczTM/1dDadXgUxDpHMrMTblDOcm/AXtXxHwZ3jpg1mqKQ==",
"engines": {
"node": ">=18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/react-hook-form"
},
"peerDependencies": {
"react": "^16.8.0 || ^17 || ^18 || ^19"
}
},
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
......@@ -3605,6 +3681,17 @@
"node": ">=0.10.0"
}
},
"node_modules/split-on-first": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz",
"integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/stop-iteration-iterator": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
......
......@@ -9,15 +9,19 @@
"lint": "next lint"
},
"dependencies": {
"axios": "^1.7.2",
"axios": "^1.7.7",
"bootstrap": "^5.3.3",
"eslint-config-next": "^13.5.6",
"framer-motion": "^11.3.24",
"next": "^13.5.6",
"nodemailer": "^6.9.15",
"qs": "^6.13.0",
"query-string": "^9.1.1",
"react": "^18.3.1",
"react-accessible-accordion": "^5.0.0",
"react-bootstrap": "^2.10.4",
"react-dom": "^18.3.1",
"react-hook-form": "^7.53.0",
"react-tabs": "^6.0.2",
"sweetalert2": "^6.6.1",
"sweetalert2-react-content": "^5.0.7",
......
import axios from "axios";
import QueryString from "qs";
export default async function handler(req, res) {
const qs = QueryString;
const { name, email, mobilenumber, source, message, company } = req.body;
console.log(req.body, "req.body");
const googleFormValue = {
"entry.335149761": name,
"entry.2091968279": email,
"entry.1704732802": mobilenumber,
"entry.1731014865": message,
"entry.1039593561": company,
"entry.1881494979": source,
};
try {
const response = await axios.post(
"https://docs.google.com/forms/d/e/1FAIpQLSexGa9VFMdNVe0QzpiHSMjITeX3-HuCF1-kQgmdRsLE3icCXQ/formResponse",
qs.stringify(googleFormValue),
{
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "application/x-www-form-urlencoded",
},
}
);
res.status(200).json({ success: true, data: response.data });
} catch (googleFormError) {
console.error("Error while submitting to Google Forms:", googleFormError);
res.status(500).json({ success: false, error: googleFormError.message });
}
}
\ No newline at end of file
import axios from "axios";
import QueryString from "qs";
export default async function handler(req, res) {
const qs = QueryString;
const { name, email, mobilenumber, source, service } = req.body;
console.log(req.body, "req.body");
const googleFormValue = {
"entry.335149761": name,
"entry.2091968279": email,
"entry.1704732802": mobilenumber,
"entry.1039593561": service,
"entry.1881494979": source,
};
try {
const response = await axios.post(
"https://docs.google.com/forms/d/e/1FAIpQLScsWMYf9pnPJklvJ5GquBMgH-dTwfT0JCJDWGwG10LCtAkHtg/formResponse",
qs.stringify(googleFormValue),
{
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "application/x-www-form-urlencoded",
},
}
);
res.status(200).json({ success: true, data: response.data });
} catch (googleFormError) {
console.error("Error while submitting to Google Forms:", googleFormError);
res.status(500).json({ success: false, error: googleFormError.message });
}
}
\ No newline at end of file
import nodemailer from "nodemailer";
export default function (req, res) {
// let nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({
port: 465,
host: "smtp.gmail.com",
auth: {
user: "dheeraj.realatte@gmail.com",
pass: "pamoocbnzfqhigdf",
},
secure: true,
});
var maillist = ["sujatalogicloop@gmail.com"];
const mailData = {
from: ["sujatalogicloop@gmail.com"],
to: maillist,
subject: `Advith Consulting Contact Form Leads`,
html: `
<table border="0" cellpadding="0" cellspacing="0" style="padding-top:35px; background-color:#f1f1f1; font-family:Verdana,Arial,sans-serif; color:#454748; width:100%; border-collapse:separate;">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="padding:16px; background-color:white; color:#454748; border-collapse:separate;">
<tbody>
<tr>
<td align="center" style="min-width:590px;">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width:590px; background-color:white; padding:0px 8px 0px 8px; border-collapse:separate;">
<tbody>
<tr>
<td valign="middle">
<strong style="font-size:16px; margin: 0;">Welcome to Advith Consulting</strong>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<hr width="100%" style="border-top-color:rgba(0,0,0,0.1); border-top-style:solid; border-top-width:1px; border-left-width:0px; border-bottom-width:0px; border-right-width:0px; overflow-y:visible; overflow-x:visible; height:0px; box-sizing:content-box; background-color:rgb(204,204,204); border:medium none; clear:both; display:block; font-size:0px; min-height:1px; line-height:0; margin:16px 0px 16px 0px;">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center" style="min-width:590px;">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width:590px; background-color:white; padding:0px 8px 0px 8px; border-collapse:separate;">
<tbody>
<tr>
<td colspan="2" valign="top" style="font-size:13px;">
<div style="font-size:13px; font-family:&quotLucida Grande&quot,Helvetica,Verdana,Arial,sans-serif;">
Details below are enquiry from website!<br><br>
</div>
</td>
</tr>
<tr>
<td valign="top" style="font-size:13px;">
<div style="font-size:13px; font-family:&quotLucida Grande&quot,Helvetica,Verdana,Arial,sans-serif;">
<tr><td colspan="2"><b>Personal Details:</b></td></tr>
<tr><td style="width: 30%;">Name:</td><td style="width: 70%;">${req.body.Name}</td></tr>
<tr><td style="width: 30%;">Email:</td><td style="width: 70%;">${req.body.Email}</td></tr>
<tr><td style="width: 30%;">Mobile:</td><td style="width: 70%;">${req.body.Mobile}</td></tr>
<tr><td style="width: 30%;">Company:</td><td style="width: 70%;">${req.body.Company}</td></tr>
<tr><td style="width: 30%;">Message:</td><td style="width: 70%;">${req.body.AdditionalMessage }</td></tr>
<br><br>
</div>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<hr width="100%" style="border-top-color:rgba(0,0,0,0.1); border-top-style:solid; border-top-width:1px; border-left-width:0px; border-bottom-width:0px; border-right-width:0px; overflow-y:visible; overflow-x:visible; height:0px; box-sizing:content-box; background-color:rgb(204,204,204); border:medium none; clear:both; display:block; font-size:0px; min-height:1px; line-height:0; margin:16px 0px 16px 0px;">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center" style="min-width:590px;">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width:590px; background-color:#f1f1f1; color:#454748; padding:8px; border-collapse:separate;">
<tbody>
<tr>
<td style="text-align:center; font-size:13px;"><br></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>`,
};
transporter.sendMail(mailData, function (err, info) {
if (err) console.log(err);
else console.log(info);
});
console.log(req.body);
res.send("success");
}
import nodemailer from "nodemailer";
export default function (req, res) {
// let nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({
port: 465,
host: "smtp.gmail.com",
auth: {
user: "dheeraj.realatte@gmail.com",
pass: "pamoocbnzfqhigdf",
},
secure: true,
});
var maillist = ["sujatalogicloop@gmail.com"];
const mailData = {
from: ["sujatalogicloop@gmail.com"],
to: maillist,
subject: `Advith Consulting Service Form Leads`,
html: `
<table border="0" cellpadding="0" cellspacing="0" style="padding-top:35px; background-color:#f1f1f1; font-family:Verdana,Arial,sans-serif; color:#454748; width:100%; border-collapse:separate;">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="padding:16px; background-color:white; color:#454748; border-collapse:separate;">
<tbody>
<tr>
<td align="center" style="min-width:590px;">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width:590px; background-color:white; padding:0px 8px 0px 8px; border-collapse:separate;">
<tbody>
<tr>
<td valign="middle">
<strong style="font-size:16px; margin: 0;">Welcome to Advith Consulting</strong>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<hr width="100%" style="border-top-color:rgba(0,0,0,0.1); border-top-style:solid; border-top-width:1px; border-left-width:0px; border-bottom-width:0px; border-right-width:0px; overflow-y:visible; overflow-x:visible; height:0px; box-sizing:content-box; background-color:rgb(204,204,204); border:medium none; clear:both; display:block; font-size:0px; min-height:1px; line-height:0; margin:16px 0px 16px 0px;">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center" style="min-width:590px;">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width:590px; background-color:white; padding:0px 8px 0px 8px; border-collapse:separate;">
<tbody>
<tr>
<td colspan="2" valign="top" style="font-size:13px;">
<div style="font-size:13px; font-family:&quotLucida Grande&quot,Helvetica,Verdana,Arial,sans-serif;">
Details below are enquiry from website!<br><br>
</div>
</td>
</tr>
<tr>
<td valign="top" style="font-size:13px;">
<div style="font-size:13px; font-family:&quotLucida Grande&quot,Helvetica,Verdana,Arial,sans-serif;">
<tr><td colspan="2"><b>Personal Details:</b></td></tr>
<tr><td style="width: 30%;">Name:</td><td style="width: 70%;">${req.body.Name}</td></tr>
<tr><td style="width: 30%;">Email:</td><td style="width: 70%;">${req.body.Email}</td></tr>
<tr><td style="width: 30%;">Mobile:</td><td style="width: 70%;">${req.body.Mobile}</td></tr>
<tr><td style="width: 30%;">Company:</td><td style="width: 70%;">${req.body.service}</td></tr>
<br><br>
</div>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<hr width="100%" style="border-top-color:rgba(0,0,0,0.1); border-top-style:solid; border-top-width:1px; border-left-width:0px; border-bottom-width:0px; border-right-width:0px; overflow-y:visible; overflow-x:visible; height:0px; box-sizing:content-box; background-color:rgb(204,204,204); border:medium none; clear:both; display:block; font-size:0px; min-height:1px; line-height:0; margin:16px 0px 16px 0px;">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center" style="min-width:590px;">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width:590px; background-color:#f1f1f1; color:#454748; padding:8px; border-collapse:separate;">
<tbody>
<tr>
<td style="text-align:center; font-size:13px;"><br></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>`,
};
transporter.sendMail(mailData, function (err, info) {
if (err) console.log(err);
else console.log(info);
});
console.log(req.body);
res.send("success");
}
import PageBanner from '@/components/reuseables/PageBanner';
import Link from 'next/link';
import React from 'react'
import {Col, Container, Row } from 'react-bootstrap'
const banners = [
{
imageSrc: "/images/banner/corpedia.webp",
pageTitle: "Thank you",
homePageUrl: "/",
homePageText: "Home",
activePageText: "thank you",
},
// Add more banners as needed
];
const thankyou = () => {
return (
<>
<PageBanner banners={banners} />
<Container className='mt-5'>
<Row>
<Col md={12}>
<div className="text-center">
<h4 className="text-center">Thank you for your interest in our product. We will get back to you shortly.</h4>
<button className="default-btn mt-4 mb-5">
<i className="ri-arrow-right-line"></i>
<Link href="/">Back to Home</Link></button>
</div>
</Col>
</Row>
</Container>
</>
)
}
export default thankyou
\ No newline at end of file
......@@ -724,6 +724,9 @@
margin-top: 30px;
}
.what-we-do-content .default-btn {
margin-top: 0px;
}
.single-team-member {
text-align: center;
}
......@@ -768,7 +771,7 @@
.free-quote-content {
padding-bottom: 20px;
text-align: center;
text-align: left;
}
.free-quote-content::before {
......
......@@ -3132,6 +3132,7 @@ Free Quote Area CSS
position: relative;
padding-bottom: 25px;
text-align: left;
z-index: 5; /* Adjust z-index if needed */
}
.free-quote-content .sub-title {
......@@ -8195,13 +8196,15 @@ font-size: 15px!important;
position: absolute;
left: 0;
width: 100%;
z-index: 10!;
}
.cust_nav {
top: 0;
display: flex;
height: 100%;
z-index: 1;
/* z-index: 1; */
justify-content: space-between;
}
......@@ -8272,3 +8275,6 @@ font-size: 15px!important;
margin-bottom: 12px;
font-size: 22px;
}
span.error{
color: rgb(189, 17, 17);
}
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!