Console errors are fixed
This commit is contained in:
parent
97e20737b2
commit
5db57c9cdf
@ -11,8 +11,18 @@ const App = ({ Component, pageProps }) => {
|
||||
return () => clearTimeout(timer);
|
||||
}, []);
|
||||
|
||||
// ✅ Add accessiBe script
|
||||
useEffect(() => {
|
||||
if (typeof window === "undefined") return;
|
||||
|
||||
const host = window.location.hostname;
|
||||
const isLocal =
|
||||
host === "localhost" ||
|
||||
host === "127.0.0.1" ||
|
||||
host.endsWith(".vercel.app") ||
|
||||
host.endsWith(".netlify.app");
|
||||
|
||||
if (process.env.NODE_ENV !== "production" || isLocal) return;
|
||||
|
||||
const script = document.createElement("script");
|
||||
script.src = "https://acsbapp.com/apps/app/dist/js/app.js";
|
||||
script.async = true;
|
||||
@ -21,9 +31,11 @@ const App = ({ Component, pageProps }) => {
|
||||
window.acsbJS.init();
|
||||
}
|
||||
};
|
||||
document.head.appendChild(script);
|
||||
|
||||
const h = document.querySelector("head") || document.body;
|
||||
h.appendChild(script);
|
||||
return () => {
|
||||
script.remove();
|
||||
};
|
||||
}, []);
|
||||
|
||||
return (
|
||||
@ -35,4 +47,4 @@ const App = ({ Component, pageProps }) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default App;
|
||||
export default App;
|
||||
@ -1,10 +1,26 @@
|
||||
import { Html, Head, Main, NextScript } from 'next/document';
|
||||
// pages/_document.js
|
||||
import { Html, Head, Main, NextScript } from "next/document";
|
||||
|
||||
export default function Document() {
|
||||
return (
|
||||
<Html lang="en">
|
||||
<Head>
|
||||
{/* ✅ Google Tag Manager (script) */}
|
||||
{/* ✅ CSS Styles */}
|
||||
<link rel="icon" type="image/png" sizes="56x56" href="/assets/images/fav-icon/icon.webp" />
|
||||
<link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="/assets/css/animate.css" />
|
||||
<link rel="stylesheet" href="/assets/css/animated-text.css" />
|
||||
<link rel="stylesheet" href="/assets/css/all.min.css" />
|
||||
<link rel="stylesheet" href="/assets/css/flaticon.css" />
|
||||
<link rel="stylesheet" href="/assets/css/theme-default.css" />
|
||||
<link rel="stylesheet" href="/assets/css/meanmenu.min.css" />
|
||||
<link rel="stylesheet" href="/assets/css/owl.transitions.css" />
|
||||
<link rel="stylesheet" href="/assets/css/bootstrap-icons.css" />
|
||||
<link rel="stylesheet" href="/assets/css/style.css" />
|
||||
<link rel="stylesheet" href="/assets/css/magnific-popup.css" />
|
||||
<link rel="stylesheet" href="/assets/css/responsive.css" />
|
||||
|
||||
{/* ✅ Google Tag Manager */}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
@ -15,11 +31,8 @@ export default function Document() {
|
||||
}}
|
||||
/>
|
||||
|
||||
{/* ✅ Google Analytics (gtag.js) */}
|
||||
<script
|
||||
async
|
||||
src="https://www.googletagmanager.com/gtag/js?id=G-1NXE8QSBC8"
|
||||
></script>
|
||||
{/* ✅ Google Analytics */}
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1NXE8QSBC8"></script>
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@ -30,42 +43,34 @@ export default function Document() {
|
||||
`,
|
||||
}}
|
||||
/>
|
||||
|
||||
</Head>
|
||||
<body>
|
||||
{/* ✅ Google Tag Manager (noscript) */}
|
||||
{/* <noscript>
|
||||
<iframe
|
||||
src="https://www.googletagmanager.com/ns.html?id=GTM-KWXS2ZM3"
|
||||
height="0"
|
||||
width="0"
|
||||
style={{ display: 'none', visibility: 'hidden' }}
|
||||
></iframe>
|
||||
</noscript> */}
|
||||
|
||||
<body>
|
||||
<Main />
|
||||
<NextScript />
|
||||
|
||||
{/* ✅ accessiBe script */}
|
||||
{/* ✅ accessiBe (only load in production) */}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
(function(){
|
||||
var s = document.createElement('script');
|
||||
var h = document.querySelector('head') || document.body;
|
||||
s.src = 'https://acsbapp.com/apps/app/dist/js/app.js';
|
||||
s.async = true;
|
||||
s.onload = function(){
|
||||
if (typeof acsbJS !== 'undefined') {
|
||||
acsbJS.init();
|
||||
}
|
||||
};
|
||||
h.appendChild(s);
|
||||
})();
|
||||
if (window.location.hostname !== "localhost") {
|
||||
(function(){
|
||||
var s = document.createElement('script');
|
||||
var h = document.querySelector('head') || document.body;
|
||||
s.src = 'https://acsbapp.com/apps/app/dist/js/app.js';
|
||||
s.async = true;
|
||||
s.onload = function(){
|
||||
if (typeof acsbJS !== 'undefined') {
|
||||
acsbJS.init();
|
||||
}
|
||||
};
|
||||
h.appendChild(s);
|
||||
})();
|
||||
}
|
||||
`,
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</Html>
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -79,7 +79,7 @@ const Accessiblity = ({ pageName }) => {
|
||||
</h4>
|
||||
<div className="feature-box-inner mt-4">
|
||||
<div className="feature-icon1 mb-5">
|
||||
<img src="https://i0.wp.com/metatroncubesolutions.com/wp-content/uploads/2024/04/accessibe.webp?w=500&ssl=1" alt />
|
||||
<img src="https://i0.wp.com/metatroncubesolutions.com/wp-content/uploads/2024/04/accessibe.webp?w=500&ssl=1" alt="Accessibility Statement" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@ -113,7 +113,7 @@ const Accessiblity = ({ pageName }) => {
|
||||
<div className="why-choose-us-thumb">
|
||||
<div className="why-choose-us-image">
|
||||
<div className="why-choose-us-shape-thumb bounce-animate">
|
||||
<img src="/assets/images/elements/dot .webp" alt />
|
||||
<img src="/assets/images/elements/dot .webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
|
||||
<div className="why-choose-us-shape-thumb3 bounce-animate2">
|
||||
@ -322,7 +322,7 @@ const Accessiblity = ({ pageName }) => {
|
||||
<div className="why-choose-us-thumb">
|
||||
<div className="why-choose-us-image">
|
||||
<div className="why-choose-us-shape-thumb bounce-animate">
|
||||
<img src="/assets/images/elements/element-3.webp" alt />
|
||||
<img src="/assets/images/elements/element-3.webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -338,7 +338,7 @@ const Accessiblity = ({ pageName }) => {
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
<div className="service-shape">
|
||||
<img src="/assets/images/resource/all-shape3.png" alt />
|
||||
<img src="/assets/images/resource/all-shape3.png" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -27,7 +27,7 @@ const Contact = () => {
|
||||
};
|
||||
|
||||
const handleCaptchaChange = (token) => {
|
||||
console.log("✅ Captcha token:", token);
|
||||
// console.log("✅ Captcha token:", token);
|
||||
setCaptchaToken(token);
|
||||
};
|
||||
|
||||
|
||||
@ -481,7 +481,7 @@ const Faq = () => {
|
||||
</h2>
|
||||
<div className="btn-common btn-cda mt-40">
|
||||
<Link legacyBehavior href="https://calendly.com/metatroncubeswsolutions/request-consultation?month=2025-05">
|
||||
<a>Schedule Consultation</a>
|
||||
<a target='_blank'>Schedule Consultation</a>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,19 +1,17 @@
|
||||
import Portfolios from "@/src/components/services-details-banner/portfoliobanner";
|
||||
// pages/portfolio.js
|
||||
import Layout from "@/src/layout/Layout";
|
||||
import dynamic from "next/dynamic";
|
||||
import Portfolios from "@/src/components/services-details-banner/portfoliobanner";
|
||||
|
||||
const CaseStudies = dynamic(
|
||||
() => import("@/src/components/isotope/CaseStudies"),
|
||||
{
|
||||
ssr: false,
|
||||
}
|
||||
{ ssr: false }
|
||||
);
|
||||
const Portfolio = () => {
|
||||
|
||||
export default function Portfolio() {
|
||||
return (
|
||||
<Layout>
|
||||
<Portfolios pageName={"PORTFOLIO"} />
|
||||
{/*==================================================*/}
|
||||
{/* Start consen case study Area */}
|
||||
{/*==================================================*/}
|
||||
<Portfolios pageName="PORTFOLIO" />
|
||||
<div className="case-study-area style-three">
|
||||
<div className="container">
|
||||
<CaseStudies />
|
||||
@ -21,5 +19,4 @@ const Portfolio = () => {
|
||||
</div>
|
||||
</Layout>
|
||||
);
|
||||
};
|
||||
export default Portfolio;
|
||||
}
|
||||
@ -221,7 +221,7 @@ const Policy = ({ pageName }) => {
|
||||
<div className="consen-section-titl ">
|
||||
<div className="consen-section-titl">
|
||||
<h4>Legal Basis for Processing Personal Data:</h4>
|
||||
<p className="">
|
||||
<p>
|
||||
{" "}
|
||||
We process your personal data in accordance with the law, such as:
|
||||
</p>
|
||||
@ -268,7 +268,7 @@ const Policy = ({ pageName }) => {
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
<div className="service-shape">
|
||||
<img src="assets/images/resource/all-shape3.png" alt />
|
||||
<img src="assets/images/resource/all-shape3.png" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -244,7 +244,7 @@ const ApplicationDevelopment = () => {
|
||||
<div className="col-lg-6 col-sm-6">
|
||||
<div className="service-details-box overlap-card change-bg">
|
||||
<div className="service-details-icon overlap-icon">
|
||||
<img src="/assets/images/service-details/icon-6S/4.webp" alr="iOS development craftsmanship"></img>
|
||||
<img src="/assets/images/service-details/icon-6S/4.webp" alt="iOS development craftsmanship"></img>
|
||||
</div>
|
||||
<div>
|
||||
<div className="service-details-title">
|
||||
|
||||
@ -366,7 +366,7 @@ const WebDevelopment = () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="service-page-title2 portfolio"><h1 className="pb-0"><span className="meta"> Our</span> Portfolio:</h1></div>
|
||||
<div className="service-page-title2 portfolio"><h1 className="pb-0"><span className="meta"> Our</span> Portfolio:</h1></div>
|
||||
|
||||
|
||||
<div className="row">
|
||||
|
||||
@ -194,7 +194,7 @@ const ApplicationDevelopment = () => {
|
||||
<div className="col-lg-6 col-sm-6">
|
||||
<div className="service-details-box overlap-card change-bg">
|
||||
<div className="service-details-icon overlap-icon">
|
||||
<img src="/assets/images/service-details/icon-6S/4.webp" alr="iOS development craftsmanship"></img>
|
||||
<img src="/assets/images/service-details/icon-6S/4.webp" alt="iOS development craftsmanship"></img>
|
||||
</div>
|
||||
<div>
|
||||
<div className="service-details-title">
|
||||
|
||||
@ -200,7 +200,7 @@ const WebDevelopment = () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="service-page-title2 portfolio"><h1 className="pb-0"><span className="meta">Our </span> Portfolio:</h1></div>
|
||||
<div className="service-page-title2 portfolio"><h1 className="pb-0"><span className="meta">Our </span> Portfolio:</h1></div>
|
||||
|
||||
|
||||
<div className="row">
|
||||
|
||||
@ -450,7 +450,7 @@ const WebDevelopment = () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="service-page-title2 portfolio"><h1 className="pb-0"><span className="meta"> Our</span> Portfolio:</h1></div>
|
||||
<div className="service-page-title2 portfolio"><h1 className="pb-0"><span className="meta"> Our</span> Portfolio:</h1></div>
|
||||
|
||||
|
||||
<div className="row">
|
||||
|
||||
@ -180,7 +180,7 @@ const services = () => {
|
||||
<img src="/assets/images/services/service-img/our-services.webp" alt="Crafting tailored digital solutions for every need" />
|
||||
{/* about-shape */}
|
||||
<div className="about-shape-thumb1 bounce-animate2">
|
||||
<img src="/assets/images/about/about-shpe.png" alt />
|
||||
<img src="/assets/images/about/about-shpe.png" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
{/* <div className="about-shape-thumb3 bounce-animate4">
|
||||
<img src="assets/images/services/1 .webp" alt />
|
||||
@ -463,16 +463,16 @@ const services = () => {
|
||||
{/* choose shape thumb */}
|
||||
<div className="why-choose-us-image">
|
||||
<div className="why-choose-us-shape-thumb bounce-animate">
|
||||
<img src="/assets/images/elements/element-3.webp" alt />
|
||||
<img src="/assets/images/elements/element-3.webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
<div className="why-choose-us-shape-thumb2 rotateme">
|
||||
<img src="/assets/images/services/get-to-know/get-to-know-1.webp" alt="Get to know us more" />
|
||||
</div>
|
||||
<div className="why-choose-us-shape-thumb3 bounce-animate2">
|
||||
<img src="/assets/images/elements/element-1.webp" alt />
|
||||
<img src="/assets/images/elements/element-1.webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
<div className="why-choose-us-shape-thumb4">
|
||||
<img src="/assets/images/elements/element-2 .webp" alt />
|
||||
<img src="/assets/images/elements/element-2 .webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,132 +1,28 @@
|
||||
import Head from "next/head";
|
||||
const ConsenHead = ({ title, description }) => {
|
||||
const defaultTitle = "Metatroncube: Leaders in Web & Mobile Dev, SEO, Digital Marketing";
|
||||
const defaultTitle = "Metatroncube: Leaders in Web & Mobile Dev, SEO, Digital Marketing";
|
||||
const defaultDescription =
|
||||
"Metatroncube Software Solutions: Your go-to agency for cutting-edge web & app development, SEO, digital marketing, and graphic design services";
|
||||
"Metatroncube Software Solutions: Your go-to agency for cutting-edge web & app development, SEO, digital marketing, and graphic design services";
|
||||
|
||||
console.log("title", title)
|
||||
// console.log("title", title)
|
||||
// console.log("description", description)
|
||||
return (
|
||||
<Head>
|
||||
|
||||
{/* Google Tag Manager */}
|
||||
{/* Google Tag Manager */}
|
||||
|
||||
{/* <script dangerouslySetInnerHTML={{ __html: ` (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-N29NTKG9');`, }}/> */}
|
||||
|
||||
{/* End Google Tag Manager */}
|
||||
{/* End Google Tag Manager */}
|
||||
<meta charSet="UTF-8" />
|
||||
<meta httpEquiv="x-ua-compatible" content="ie=edge" />
|
||||
<title>{title || defaultTitle}</title>
|
||||
<meta name="description" content={description || defaultDescription} />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
{/* Favicon */}
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="56x56"
|
||||
href="/assets/images/fav-icon/icon.webp"
|
||||
/>
|
||||
{/* bootstrap CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/bootstrap.min.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* carousel CSS */}
|
||||
{/* <link
|
||||
rel="stylesheet"
|
||||
href="assets/css/owl.carousel.min.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/> */}
|
||||
{/* animate CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/animate.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* animated-text CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/animated-text.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* font-awesome CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/all.min.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* font-flaticon CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/flaticon.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* theme-default CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/theme-default.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* meanmenu CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/meanmenu.min.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* transitions CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/owl.transitions.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* venobox CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/venobox/venobox.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* bootstrap icons */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/bootstrap-icons.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* Main Style CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/style.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* Main Style CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/magnific-popup.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
{/* responsive CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/responsive.css"
|
||||
type="text/css"
|
||||
media="all"
|
||||
/>
|
||||
</Head>
|
||||
);
|
||||
};
|
||||
export default ConsenHead;
|
||||
export default ConsenHead;
|
||||
@ -42,7 +42,7 @@ const SubCard = () => {
|
||||
<div className="cda-single-content hr d-flex justify-content-center">
|
||||
<div className="cda-icon">
|
||||
{/* <i className="fas fa-envelope" /> */}
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
<i className="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
<div className="cda-content-inner">
|
||||
<p>Mon - Sat: 8 AM to 6 PM</p>
|
||||
|
||||
@ -91,7 +91,7 @@ const BrandSlider = () => {
|
||||
// </Swiper>
|
||||
<div className="brand-section new-style">
|
||||
<div className="container">
|
||||
<div class="row mb-50 justify-content-center" style={{ backgroundImage: "url(../images/resource/process-bg2.jpg)" }}>
|
||||
<div className="row mb-50 justify-content-center">
|
||||
<a href="https://www.slicktext.com/?ref=e60a0c2090b27b3a1e975c8f89c4c17d" target="_blank"><img src="/assets/images/home/slicktext.png" alt="" loading="lazy" /></a>
|
||||
</div>
|
||||
<div className="row">
|
||||
|
||||
@ -13,20 +13,21 @@ const AboutSection = () => {
|
||||
<div className="col-lg-6">
|
||||
<div className="consen-section-title">
|
||||
<h5> WELCOME TO METATRONCUBE INDIA</h5>
|
||||
<h3 className="welcome-section-title"> Accelerating Success with
|
||||
<h3 className="welcome-section-title"> Accelerating Success with
|
||||
<span> Next-Gen Digital Solutions in </span>
|
||||
Web Development, Mobile Apps, SEO, and Online Marketing
|
||||
</h3>
|
||||
<p className="about-text2 pt-3">
|
||||
{" "}
|
||||
At Metatron Cube India, we are more than a web development company - we are a complete digital partner. Our services span website development, mobile application development, SEO services, digital marketing, UI/UX design, and graphic design solutions. With a focus on custom website development and professional mobile app solutions, we help businesses achieve long-term digital success.
|
||||
<p className="about-text2 pt-3">
|
||||
{" "}
|
||||
Our technical expertise covers AngularJS, ReactJS, HTML5, Node.js, PHP, and frameworks for native Android app development, iOS app development, and cross-platform app development using Flutter. Backed by strong SEO strategies, content writing, and online marketing campaigns, we ensure your brand not only looks exceptional but also ranks high and delivers
|
||||
</p>
|
||||
|
||||
</p>
|
||||
<p className="about-text2 pt-3">
|
||||
{" "}
|
||||
Our technical expertise covers AngularJS, ReactJS, HTML5, Node.js, PHP, and frameworks for native Android app development, iOS app development, and cross-platform app development using Flutter. Backed by strong SEO strategies, content writing, and online marketing campaigns, we ensure your brand not only looks exceptional but also ranks high and delivers
|
||||
</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div className="row">
|
||||
|
||||
<div className="col-lg-12">
|
||||
{/* <div className="about-icon-box border-non">
|
||||
|
||||
@ -22,10 +22,10 @@ const Banner = () => {
|
||||
</div>
|
||||
<div className="col-lg-5 col-md-6 ">
|
||||
<div className="banner-year-thumb rotateme">
|
||||
<img src="/assets/images/home/banner/since .webp" alt />
|
||||
<img src="/assets/images/home/banner/since .webp" alt="Metatron Cube Solutions India Banner." />
|
||||
</div>
|
||||
<div className="banner-thumb">
|
||||
<img src="/assets/images/home/front/1.webp" alt />
|
||||
<img src="/assets/images/home/front/1.webp" alt="Metatron Cube Solutions India Front Image." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -51,10 +51,10 @@ const Banner = () => {
|
||||
</div>
|
||||
<div className="col-lg-5 col-md-6 ">
|
||||
<div className="banner-year-thumb rotateme">
|
||||
<img src="/assets/images/home/banner/since .webp" alt />
|
||||
<img src="/assets/images/home/banner/since .webp" alt="Metatron Cube Solutions India Banner." />
|
||||
</div>
|
||||
<div className="banner-thumb">
|
||||
<img src="/assets/images/home/front/3.webp" alt />
|
||||
<img src="/assets/images/home/front/3.webp" alt="Metatron Cube Solutions India Front." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -80,10 +80,10 @@ const Banner = () => {
|
||||
</div>
|
||||
<div className="col-lg-5 col-md-6 ">
|
||||
<div className="banner-year-thumb rotateme">
|
||||
<img src="/assets/images/home/banner/since .webp" alt />
|
||||
<img src="/assets/images/home/banner/since .webp" alt="Metatron Cube Solutions India Banner." />
|
||||
</div>
|
||||
<div className="banner-thumb">
|
||||
<img src="/assets/images/home/front/5.webp" alt />
|
||||
<img src="/assets/images/home/front/5.webp" alt="Metatron Cube Solutions India Front." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -109,10 +109,10 @@ const Banner = () => {
|
||||
</div>
|
||||
<div className="col-lg-5 col-md-6 ">
|
||||
<div className="banner-year-thumb rotateme">
|
||||
<img src="/assets/images/home/banner/since .webp" alt />
|
||||
<img src="/assets/images/home/banner/since .webp" alt="Metatron Cube Solutions India Banner." />
|
||||
</div>
|
||||
<div className="banner-thumb">
|
||||
<img src="/assets/images/home/front/4.webp" alt />
|
||||
<img src="/assets/images/home/front/4.webp" alt="Metatron Cube Solutions India Front." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -22,10 +22,10 @@ const Cards = ()=>{
|
||||
|
||||
<div className="case-study-shape">
|
||||
<div className="case-shape-thumb bounce-animate4">
|
||||
<img src="/assets/images/elements/element-3.webp" alt />
|
||||
<img src="/assets/images/elements/element-3.webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
<div className="case-shape-thumb1 bounce-animate2">
|
||||
<img src="/assets/images/cards/4 .webp" alt />
|
||||
<img src="/assets/images/cards/4 .webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -57,7 +57,7 @@ const CounterSection = ()=>{
|
||||
{/* process shape */}
|
||||
<div className="process-shape">
|
||||
<div className="service-shape">
|
||||
<img src="/assets/images/elements/right-top-element .webp" alt />
|
||||
<img src="/assets/images/elements/right-top-element .webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -200,7 +200,7 @@ const ServicesSection = () => {
|
||||
</div>
|
||||
</div> */}
|
||||
<div className="service-shape">
|
||||
<img src="/assets/images/elements/right-top-element .webp" alt />
|
||||
<img src="/assets/images/elements/right-top-element .webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
{/* <div className="service-shape1 bounce-animate2">
|
||||
<img src="assets/images/resource/all-shape6.png" alt />
|
||||
|
||||
@ -98,7 +98,7 @@ const TestimonialSection = () => {
|
||||
<div className="row">
|
||||
<div className="col-lg-12">
|
||||
<div className="testimonial-icon-thumb">
|
||||
<img src="/assets/images/elements/quotation.webp" alt />
|
||||
<img src="/assets/images/elements/quotation.webp" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
|
||||
<Swiper {...testimonial_list_slider} className="testimonial_list">
|
||||
|
||||
@ -24,7 +24,7 @@ const HomeContact = () => {
|
||||
};
|
||||
|
||||
const handleCaptchaChange = (token) => {
|
||||
console.log("✅ Captcha token:", token);
|
||||
// console.log("✅ Captcha token:", token);
|
||||
setCaptchaToken(token);
|
||||
};
|
||||
|
||||
|
||||
@ -6,56 +6,56 @@ const LogoSlider = () => {
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/allian.png" alt />
|
||||
<img src="assets/images/resource/allian.png" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/figma.png" alt />
|
||||
<img src="assets/images/resource/figma.png" alt="Figma" />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/google.png" alt />
|
||||
<img src="assets/images/resource/google.png" alt="Google" />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/redit.png" alt />
|
||||
<img src="assets/images/resource/redit.png" alt="redit" />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/allian.png" alt />
|
||||
<img src="assets/images/resource/allian.png" alt="Metatron Cube Solutions India." />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/figma.png" alt />
|
||||
<img src="assets/images/resource/figma.png" alt="figma" />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/google.png" alt />
|
||||
<img src="assets/images/resource/google.png" alt="Google" />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div className="brand-single-box">
|
||||
<div className="brand-thumb">
|
||||
<img src="assets/images/resource/redit.png" alt />
|
||||
<img src="assets/images/resource/redit.png" alt="redit" />
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { Fragment, useEffect } from "react";
|
||||
import dynamic from "next/dynamic";
|
||||
import ImageView from "../components/ImageView";
|
||||
import VideoPopup from "../components/VideoPopup";
|
||||
import { animation, stickyNav } from "../utils";
|
||||
@ -6,10 +9,14 @@ import Footer from "./footer/Footer";
|
||||
import Header from "./header/Header";
|
||||
import MobileMenu from "./header/MobileMenu";
|
||||
import ScrollTop from "./ScrollTop";
|
||||
const WOW = dynamic(() => import("wowjs"), { ssr: false });
|
||||
|
||||
const Layout = ({ children, header, footer }) => {
|
||||
useEffect(() => {
|
||||
animation();
|
||||
stickyNav();
|
||||
if (typeof window !== "undefined") {
|
||||
animation();
|
||||
stickyNav();
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
|
||||
@ -42,7 +42,7 @@ const DefaultFooter = () => {
|
||||
</a>
|
||||
<a className="social-icon-color1" href="https://www.youtube.com/@metatron_digitalagency" target="_blank">
|
||||
{" "}
|
||||
<i class="fab fa-youtube"></i>
|
||||
<i className="fab fa-youtube"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -121,33 +121,33 @@ const DefaultFooter = () => {
|
||||
</div> */}
|
||||
|
||||
|
||||
<div class="col-lg-3 col-sm-6">
|
||||
<div id="em-recent-post-widget" class="mt-5 mt-sm-0">
|
||||
<div class="single-widget-item">
|
||||
<h4 class="widget-title pb-2">Newsletter</h4>
|
||||
<div className="col-lg-3 col-sm-6">
|
||||
<div id="em-recent-post-widget" className="mt-5 mt-sm-0">
|
||||
<div className="single-widget-item">
|
||||
<h4 className="widget-title pb-2">Newsletter</h4>
|
||||
|
||||
<div class="contact-form-footer pt-0">
|
||||
<div className="contact-form-footer pt-0">
|
||||
<form action="#" method="post">
|
||||
<div class="subscribe_form d-flex">
|
||||
<div className="subscribe_form d-flex">
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
id="email"
|
||||
class="form-control"
|
||||
className="form-control"
|
||||
data-error="Please enter your email"
|
||||
placeholder="Enter E-Mail"
|
||||
required
|
||||
/>
|
||||
<button type="submit" class="btn ms-2">
|
||||
<i class="bi bi-send-check"></i>
|
||||
<button type="submit" className="btn ms-2">
|
||||
<i className="bi bi-send-check"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="subscribe_form_send"></div>
|
||||
<div className="subscribe_form_send"></div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="recent-post-item">
|
||||
<div class="recent-post-thumb1">
|
||||
<div className="recent-post-item">
|
||||
<div className="recent-post-thumb1">
|
||||
<a className="my-white" href="/contact">
|
||||
Subscribe our newsletter to get our latest update & news
|
||||
</a>
|
||||
|
||||
@ -42,7 +42,7 @@ const Footer1 = () => {
|
||||
</a>
|
||||
<a className="social-icon-color1" href="https://www.youtube.com/@metatron_digitalagency" target="_blank">
|
||||
{" "}
|
||||
<i class="fab fa-youtube"></i>
|
||||
<i className="fab fa-youtube"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -122,33 +122,33 @@ const Footer1 = () => {
|
||||
|
||||
|
||||
|
||||
<div class="col-lg-3 col-sm-6">
|
||||
<div id="em-recent-post-widget" class="mt-5 mt-sm-0">
|
||||
<div class="single-widget-item">
|
||||
<h4 class="widget-title pb-2">Newsletter</h4>
|
||||
<div className="col-lg-3 col-sm-6">
|
||||
<div id="em-recent-post-widget" className="mt-5 mt-sm-0">
|
||||
<div className="single-widget-item">
|
||||
<h4 className="widget-title pb-2">Newsletter</h4>
|
||||
|
||||
<div class="contact-form-footer pt-0">
|
||||
<div className="contact-form-footer pt-0">
|
||||
<form action="#" method="post">
|
||||
<div class="subscribe_form d-flex">
|
||||
<div className="subscribe_form d-flex">
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
id="email"
|
||||
class="form-control"
|
||||
className="form-control"
|
||||
data-error="Please enter your email"
|
||||
placeholder="Enter E-Mail"
|
||||
required
|
||||
/>
|
||||
<button type="submit" class="btn ms-2">
|
||||
<i class="bi bi-send-check"></i>
|
||||
<button type="submit" className="btn ms-2">
|
||||
<i className="bi bi-send-check"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="subscribe_form_send"></div>
|
||||
<div className="subscribe_form_send"></div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="recent-post-item">
|
||||
<div class="recent-post-thumb1">
|
||||
<div className="recent-post-item">
|
||||
<div className="recent-post-thumb1">
|
||||
<a className="my-white" href="/contact">
|
||||
Subscribe our newsletter to get our latest update & news
|
||||
</a>
|
||||
|
||||
@ -42,7 +42,7 @@ const Footer3 = () => {
|
||||
</a>
|
||||
<a className="social-icon-color1" href="https://www.youtube.com/@metatron_digitalagency" target="_blank">
|
||||
{" "}
|
||||
<i class="fab fa-youtube"></i>
|
||||
<i className="fab fa-youtube"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -121,33 +121,33 @@ const Footer3 = () => {
|
||||
</div> */}
|
||||
|
||||
|
||||
<div class="col-lg-3 col-sm-6">
|
||||
<div id="em-recent-post-widget" class="mt-5 mt-sm-0">
|
||||
<div class="single-widget-item">
|
||||
<h4 class="widget-title pb-2">Newsletter</h4>
|
||||
<div className="col-lg-3 col-sm-6">
|
||||
<div id="em-recent-post-widget" className="mt-5 mt-sm-0">
|
||||
<div className="single-widget-item">
|
||||
<h4 className="widget-title pb-2">Newsletter</h4>
|
||||
|
||||
<div class="contact-form-footer pt-0">
|
||||
<div className="contact-form-footer pt-0">
|
||||
<form action="#" method="post">
|
||||
<div class="subscribe_form d-flex">
|
||||
<div className="subscribe_form d-flex">
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
id="email"
|
||||
class="form-control"
|
||||
className="form-control"
|
||||
data-error="Please enter your email"
|
||||
placeholder="Enter E-Mail"
|
||||
required
|
||||
/>
|
||||
<button type="submit" class="btn ms-2">
|
||||
<i class="bi bi-send-check"></i>
|
||||
<button type="submit" className="btn ms-2">
|
||||
<i className="bi bi-send-check"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="subscribe_form_send"></div>
|
||||
<div className="subscribe_form_send"></div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="recent-post-item">
|
||||
<div class="recent-post-thumb1">
|
||||
<div className="recent-post-item">
|
||||
<div className="recent-post-thumb1">
|
||||
<a className="my-white" href="/contact">
|
||||
Subscribe our newsletter to get our latest update & news
|
||||
</a>
|
||||
|
||||
34
src/utils.js
34
src/utils.js
@ -1,9 +1,33 @@
|
||||
export const animation = () => {
|
||||
if (typeof window !== "undefined") {
|
||||
window.WOW = require("wowjs");
|
||||
if (typeof window === "undefined") return;
|
||||
|
||||
try {
|
||||
const WOW = require("wowjs");
|
||||
const wow = new WOW.WOW({
|
||||
live: false,
|
||||
});
|
||||
|
||||
wow.init();
|
||||
|
||||
if ("MutationObserver" in window) {
|
||||
const observer = new MutationObserver(() => {
|
||||
wow.sync();
|
||||
});
|
||||
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true,
|
||||
});
|
||||
|
||||
window.addEventListener("beforeunload", () => observer.disconnect());
|
||||
} else {
|
||||
setInterval(() => wow.sync(), 2000);
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn("WOW.js initialization failed:", err);
|
||||
}
|
||||
new WOW.WOW().init();
|
||||
};
|
||||
|
||||
// Sticky nav
|
||||
export const stickyNav = () => {
|
||||
window.addEventListener("scroll", () => {
|
||||
@ -144,7 +168,7 @@ export const calender = () => {
|
||||
}
|
||||
|
||||
if (i == rightbox) {
|
||||
console.log(document.querySelectorAll(".all-date ul li")[rightbox]);
|
||||
// console.log(document.querySelectorAll(".all-date ul li")[rightbox]);
|
||||
document
|
||||
.querySelectorAll(".all-date ul li")
|
||||
[rightbox].classList.add("b-right");
|
||||
@ -167,4 +191,4 @@ export const calender = () => {
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user