From b83e596ef1b901c995ff645c0788a7cdc8dcf369 Mon Sep 17 00:00:00 2001 From: akash Date: Mon, 9 Mar 2026 17:52:00 +0530 Subject: [PATCH] blog new secton are updated --- public/assets/css/main.css | 22 ++ src/app/blog/[slug]/BlogDetailsClient.tsx | 145 +------- src/app/blog/page.tsx | 6 +- src/app/blog/results/page.tsx | 29 ++ src/app/globals.css | 326 +++++++++++++++--- src/app/page.tsx | 1 - src/components/blog/BlogDetails.tsx | 99 ++++++ src/components/blog/BlogResultsContent.tsx | 74 ++++ src/components/blog/BlogSidebar.tsx | 203 +++++++++++ src/components/common/PageHeader.tsx | 2 +- src/components/home/MedicalServices.tsx | 164 --------- src/components/home/home-1/BlogSection.tsx | 81 +++-- src/components/home/home-1/TeamSection.tsx | 39 --- .../home/home-1/TestimonialsSection.tsx | 19 +- src/utils/constant.utils.ts | 248 ++++++------- 15 files changed, 917 insertions(+), 541 deletions(-) create mode 100644 src/app/blog/results/page.tsx create mode 100644 src/components/blog/BlogDetails.tsx create mode 100644 src/components/blog/BlogResultsContent.tsx create mode 100644 src/components/blog/BlogSidebar.tsx delete mode 100644 src/components/home/MedicalServices.tsx delete mode 100644 src/components/home/home-1/TeamSection.tsx diff --git a/public/assets/css/main.css b/public/assets/css/main.css index e23c1b9..f98a751 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -4338,6 +4338,28 @@ p.banner-text { } /* shine start */ +@media (max-width: 1024px) { + + .blog-details-area .row, + .news-area .row { + display: flex; + flex-direction: column; + } + + .blog-details-area .col-lg-8, + .news-area .col-lg-8 { + width: 100%; + order: 1; + margin-bottom: 50px; + } + + .blog-details-area .col-lg-4, + .news-area .col-lg-4 { + width: 100%; + order: 2; + } +} + .blog-style-one .blog-image { position: relative; display: block; diff --git a/src/app/blog/[slug]/BlogDetailsClient.tsx b/src/app/blog/[slug]/BlogDetailsClient.tsx index 31790f0..e511329 100644 --- a/src/app/blog/[slug]/BlogDetailsClient.tsx +++ b/src/app/blog/[slug]/BlogDetailsClient.tsx @@ -1,16 +1,12 @@ "use client"; -import React, { useEffect, useState } from "react"; +import React, { useEffect } from "react"; import { useRouter } from "next/navigation"; import Header1 from "@/components/layout/Header1"; import Footer1 from "@/components/layout/Footer1"; -import InnerBanner from "@/components/common/InnerBanner"; -import { BlogType } from "@/types"; import PageHeader from "@/components/common/PageHeader"; - -import Link from "next/link"; -import { BlogData } from "@/utils/constant.utils"; -import BlogCard from "@/components/cards/BlogCard"; +import BlogDetails from "@/components/blog/BlogDetails"; +import MetatronInitializer from "@/components/MetatronInitializer"; interface BlogDetailsClientProps { blog: any | undefined; @@ -18,11 +14,6 @@ interface BlogDetailsClientProps { export default function BlogDetailsClient({ blog }: BlogDetailsClientProps) { const router = useRouter(); - const [activeIndex, setActiveIndex] = useState(null); - - const toggleAccordion = (index: number) => { - setActiveIndex(activeIndex === index ? null : index); - }; useEffect(() => { if (typeof window !== "undefined" && (window as any).initMetatron) { @@ -47,18 +38,9 @@ export default function BlogDetailsClient({ blog }: BlogDetailsClientProps) { ); } - // Date sorting for "All Blogs" - const sortedBlogs = [...BlogData].sort( - (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime() - ); - - // Find a related blog (different from current, same category if possible, else just next one) - const relatedBlog = BlogData.find((b: any) => b.id !== blog.id && b.category === blog.category) || - BlogData.find((b: any) => b.id !== blog.id) || - BlogData[0]; - return ( <> +
- -
-
-
-
-
-
-

All Blogs

-
    - {sortedBlogs.map((item: any) => ( -
  • - - {item.title} - - -
  • - ))} -
-
- - {relatedBlog && ( -
-

Related Blog

-
-
- - {relatedBlog.title} - - -
-
- - By Admin - - - {relatedBlog.date} - -
-
-
- {relatedBlog.title} -
-
-
- - Learn More + - -
-
-
-
-
-
- )} -
-
-
-
-
- {blog.title} -
- -
- By Admin - {blog.date} - {blog.category} -
- -

{blog.title}

- - {/* Render the full HTML content from description */} -
- - {blog.faq && blog.faq.length > 0 && ( -
-
-
-
Blog FAQ
-

Frequently Asked Questions

-
-
- {blog.faq.map((item: any, index: number) => ( -
-
toggleAccordion(index)}> -
-
- -
-

- {item.question} - -

-
-
-
-

{item.answer}

-
-
-
- ))} -
-
- )} - -
- -
-
-
-
-
-
+
diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx index c48f2f2..9d52cd4 100644 --- a/src/app/blog/page.tsx +++ b/src/app/blog/page.tsx @@ -25,7 +25,11 @@ export default function BlogPage() { bannerLeftImage="/assets/images/innerbanner/left/left-blog.webp" bannerRightImage="/assets/images/innerbanner/right/right-blog.webp" /> - +
+
+ +
+
diff --git a/src/app/blog/results/page.tsx b/src/app/blog/results/page.tsx new file mode 100644 index 0000000..820b50c --- /dev/null +++ b/src/app/blog/results/page.tsx @@ -0,0 +1,29 @@ +import Header1 from "@/components/layout/Header1"; +import Footer1 from "@/components/layout/Footer1"; +import PageHeader from "@/components/common/PageHeader"; +import MetatronInitializer from "@/components/MetatronInitializer"; +import BlogResultsContent from "@/components/blog/BlogResultsContent"; +import { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Blog Results | Metatroncube", + description: "Search results and category listings for the Metatroncube blog.", +}; + +export default function BlogResultsPage() { + return ( + <> + + +
+ + +
+ + + ); +} diff --git a/src/app/globals.css b/src/app/globals.css index 359267e..e09cc13 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -13193,9 +13193,9 @@ body { } header .vl-btn1 { - padding-left: 15px !important; - padding-right: 15px !important; -} + padding-left: 15px !important; + padding-right: 15px !important; + } .main-menu-metatron ul li .submenu li a { font-size: 13px; @@ -13223,7 +13223,7 @@ body { @media (max-width: 1200px) { - + /* .brand-section{ padding-top: 90px !important; @@ -13241,14 +13241,14 @@ body { .choose-section .bg-image{ - display: none !important; + display: none !important; -} + } } @media (max-width: 992px) { - + .home-contact-form-container-global{ @@ -13260,94 +13260,338 @@ body { @media (max-width: 768px) { -.banner-section { + .banner-section { - padding-top: 60px !important; + padding-top: 60px !important; -} + } .counselling-solutions__title{ - padding-top: 30px; + padding-top: 30px; -} + } .counter-area-two__count{ - font-size: 25px !important; + font-size: 25px !important; -} + } .counter-area-two__text{ - font-size: 12px !important; + font-size: 12px !important; -} + } } -@media (max-width: 500px ){ +@media (max-width: 500px) { - .home-contact-one .appointment__form__top .sec-title__title{ + .home-contact-one .appointment__form__top .sec-title__title { font-size: 28px !important; } - .banner-section { - padding-top: 60px !important; - } + .banner-section { + padding-top: 60px !important; + } - .sec-title__title{ + .sec-title__title { - font-size: 24px !important; + font-size: 24px !important; - } + } - .call-area-three__title{ + .call-area-three__title { - font-size: 25px !important; - margin-bottom: -20px !important; + font-size: 25px !important; + margin-bottom: -20px !important; - } + } - .sec-title { + .sec-title { - margin-bottom: 10px !important; + margin-bottom: 10px !important; - } + } - .cta-1-section h3{ + .cta-1-section h3 { - font-size: 22px !important; + font-size: 22px !important; - } + } - .home-contact-one .home-contact__card__shape-two { + .home-contact-one .home-contact__card__shape-two { - display: none !important; + display: none !important; - } + } - .about-us-content-area{ + .about-us-content-area { - padding-left: 0px !important; - padding: 0px !important; - } + padding-left: 0px !important; + padding: 0px !important; + } } + @media (max-width:1400px) and (min-width:501px) { .contact-area .contact-info-item .content h6 { font-size: 16px !important; } } + @media (max-width: 991px) { + .history-two__content--left::before, .history-two__content--left::after, .history-two__content::before, .history-two__content::after { display: none; } +} + +/* ----------------------------------------------------------- + Blog Sidebar Styles (Metatron Creative Look) + ----------------------------------------------------------- */ + + +.news-area .main-sidebar .single-sidebar-widget { + box-sizing: border-box; + padding: 30px; + margin-bottom: 40px; + background-color: #f8f9fa; + border-radius: 10px; + transition: all 0.3s ease-in-out; +} + +.news-area .main-sidebar .single-sidebar-widget:hover { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); +} + +.news-area .main-sidebar .single-sidebar-widget .wid-title { + margin-bottom: 25px; + padding-left: 45px; + position: relative; +} + +.news-area .main-sidebar .single-sidebar-widget .wid-title::before { + left: 0; + top: 50%; + transform: translateY(-50%); + content: ""; + height: 4px; + width: 18px; + border-radius: 5px; + position: absolute; + background-color: #3779b9; +} + +.news-area .main-sidebar .single-sidebar-widget .wid-title::after { + left: 22px; + top: 50%; + transform: translateY(-50%); + content: ""; + height: 4px; + width: 4px; + border-radius: 50%; + position: absolute; + background-color: #3779b9; +} + +.news-area .main-sidebar .single-sidebar-widget .wid-title h3 { + font-size: 18px; + font-weight: 700; + margin: 0; +} + +/* Search Widget */ +.search_widget form { + width: 100%; + position: relative; +} + +.search_widget form input { + background-color: #ffffff; + font-size: 15px; + padding: 15px 20px; + width: 100%; + border: 1px solid #eee; + border-radius: 5px; +} + +.search_widget form button { + position: absolute; + right: 0; + top: 0; + width: 60px; + font-size: 18px; + height: 100%; + background-color: #3779b9; + color: #ffffff; + text-align: center; + border: none; + border-radius: 0 5px 5px 0; + transition: all 0.3s ease-in-out; +} + +.search_widget form button:hover { + background-color: #2a5e91; +} + +/* Recent News */ +.popular-posts .single-post-item { + display: flex; + align-items: center; + margin-bottom: 25px; +} + +.popular-posts .single-post-item:last-child { + margin-bottom: 0; +} + +.popular-posts .single-post-item .thumb { + height: 80px; + width: 80px; + min-width: 80px; + border-radius: 8px; + overflow: hidden; + margin-right: 15px; +} + +.popular-posts .single-post-item .thumb img { + width: 100%; + height: 100%; + object-fit: cover; + transition: transform 0.3s ease; +} + +.popular-posts .single-post-item:hover .thumb img { + transform: scale(1.1); +} + +.popular-posts .single-post-item .post-content h5 { + font-size: 14px; + font-weight: 600; + margin-bottom: 5px; + line-height: 1.4; +} + +.popular-posts .single-post-item .post-content h5 a { + color: #222; + text-decoration: none; + transition: color 0.3s; +} + +.popular-posts .single-post-item .post-content h5 a:hover { + color: #3779b9; +} + +.popular-posts .single-post-item .post-content .post-date { + font-size: 13px; + color: #636363; +} + +.popular-posts .single-post-item .post-content .post-date i { + margin-right: 5px; + color: #3779b9; +} + +/* Categories Widget */ +.widget_categories ul { + padding: 0; + list-style: none; + margin: 0; +} + +.widget_categories ul li { + margin-bottom: 12px; +} + +.widget_categories ul li:last-child { + margin-bottom: 0; +} + +.widget_categories ul li a { + display: flex; + justify-content: space-between; + align-items: center; + background: #ffffff; + padding: 14px 20px; + border-radius: 8px; + color: #1a1f2b; + font-size: 15px; + font-weight: 600; + text-decoration: none; + transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + border: 1px solid #f0f0f0; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02); +} + +.widget_categories ul li a:hover, +.widget_categories ul li.active a { + background-color: #3779b9; + color: #ffffff; + border-color: #3779b9; + transform: translateY(-2px); + box-shadow: 0 6px 15px rgba(55, 121, 185, 0.2); +} + +.widget_categories ul li a span.category-count { + background-color: #f0f4f8; + color: #3779b9; + width: 40px; + height: 28px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 20px; + font-size: 13px; + font-weight: 700; + transition: all 0.4s ease; +} + +.widget_categories ul li a:hover span.category-count, +.widget_categories ul li.active a span.category-count { + background-color: rgba(255, 255, 255, 0.2); + color: #ffffff; +} + +/* Blog Results Grid – responsive overrides */ +/* At ≤500px force single column (the two-column col-6 grid otherwise stays) */ + +@media (max-width: 500px) { + .blog-results-grid .col-6 { + width: 100%; + flex: 0 0 100%; + max-width: 100%; + } +} + +/* Tag Cloud */ +.tagcloud { + display: flex; + flex-wrap: wrap; + gap: 10px; +} + +.tagcloud a { + background: #ffffff; + padding: 8px 15px; + border-radius: 5px; + color: #222; + font-size: 13px; + font-weight: 500; + text-decoration: none; + transition: all 0.3s; +} + +.tagcloud a:hover { + background-color: #3779b9; + color: #ffffff; } \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index c519fe5..b04f56c 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -14,7 +14,6 @@ import BrandSection from "@/components/home/home-1/BrandSection"; import CounsellingSolutions from "@/components/home/CounsellingSolutions"; import CallAreaThree from "@/components/home/CallAreaThree"; import CounterAreaTwo from "@/components/home/CounterAreaTwo"; -import MedicalServices from "@/components/home/MedicalServices"; import HomeContactOne from "@/components/home/HomeContactOne"; import MetatronInitializer from "@/components/MetatronInitializer"; import HomeServiceOne from "@/components/home/HomeServiceOne"; diff --git a/src/components/blog/BlogDetails.tsx b/src/components/blog/BlogDetails.tsx new file mode 100644 index 0000000..2ff1ec6 --- /dev/null +++ b/src/components/blog/BlogDetails.tsx @@ -0,0 +1,99 @@ +"use client"; +import React, { useState } from "react"; +import Link from "next/link"; +import { BlogData } from "@/utils/constant.utils"; +import { useRouter } from "next/navigation"; +import BlogSidebar from "./BlogSidebar"; + +interface BlogDetailsProps { + blog: any; +} + +const BlogDetails = ({ blog }: BlogDetailsProps) => { + const router = useRouter(); + const [activeIndex, setActiveIndex] = useState(null); + + const toggleAccordion = (index: number) => { + setActiveIndex(activeIndex === index ? null : index); + }; + + const handleCategoryClick = (category: string) => { + router.push(`/blog/results?category=${encodeURIComponent(category)}`); + }; + + const handleSearch = (term: string) => { + router.push(`/blog/results?search=${encodeURIComponent(term)}`); + }; + + return ( +
+
+
+
+ +
+
+
+
+ {blog.title} +
+ +
+ By Admin + {blog.date} + {blog.category} +
+ +

{blog.title}

+ + {/* Render the full HTML content from description */} +
+ + {blog.faq && blog.faq.length > 0 && ( +
+
+
+
Blog FAQ
+

Frequently Asked Questions

+
+
+ {blog.faq.map((item: any, index: number) => ( +
+
toggleAccordion(index)}> +
+
+ +
+

+ {item.question} + +

+
+
+
+

{item.answer}

+
+
+
+ ))} +
+
+ )} +
+
+ + +
+
+
+ ); +}; + +export default BlogDetails; diff --git a/src/components/blog/BlogResultsContent.tsx b/src/components/blog/BlogResultsContent.tsx new file mode 100644 index 0000000..27e27d4 --- /dev/null +++ b/src/components/blog/BlogResultsContent.tsx @@ -0,0 +1,74 @@ +"use client"; + +import React, { useState, useEffect, Suspense } from "react"; +import { useSearchParams, useRouter } from "next/navigation"; +import BlogSection from "@/components/home/home-1/BlogSection"; +import BlogSidebar from "@/components/blog/BlogSidebar"; + +const BlogResultsInner = () => { + const searchParams = useSearchParams(); + const router = useRouter(); + const initialCategory = searchParams.get("category") || ""; + const initialSearch = searchParams.get("search") || ""; + + const [searchTerm, setSearchTerm] = useState(initialSearch); + const [selectedCategory, setSelectedCategory] = useState(initialCategory); + + // Sync state with URL params if they change + useEffect(() => { + setSelectedCategory(initialCategory); + setSearchTerm(initialSearch); + }, [initialCategory, initialSearch]); + + const handleSearch = (term: string) => { + setSearchTerm(term); + // Optional: Update URL to reflect search + router.push(`/blog/results?search=${encodeURIComponent(term)}${selectedCategory ? `&category=${encodeURIComponent(selectedCategory)}` : ""}`); + }; + + const handleCategoryClick = (category: string) => { + const newCategory = selectedCategory === category ? "" : category; + setSelectedCategory(newCategory); + // Redirect to results page with updated category + router.push(`/blog/results?category=${encodeURIComponent(newCategory)}${searchTerm ? `&search=${encodeURIComponent(searchTerm)}` : ""}`); + }; + + return ( +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ ); +}; + +const BlogResultsContent = () => { + return ( + Loading...}> + + + ); +}; + +export default BlogResultsContent; diff --git a/src/components/blog/BlogSidebar.tsx b/src/components/blog/BlogSidebar.tsx new file mode 100644 index 0000000..f21e547 --- /dev/null +++ b/src/components/blog/BlogSidebar.tsx @@ -0,0 +1,203 @@ +"use client"; + +import React, { useState, useEffect, useMemo } from "react"; +import Link from "next/link"; +import { BlogData } from "@/utils/constant.utils"; + +interface BlogSidebarProps { + activeCategory?: string; + onCategoryClick?: (category: string) => void; + initialSearchTerm?: string; + onSearch?: (term: string) => void; + excludeSlug?: string; +} + +const BlogSidebar = ({ + activeCategory, + onCategoryClick, + initialSearchTerm = "", + onSearch, + excludeSlug +}: BlogSidebarProps) => { + const [searchTerm, setSearchTerm] = useState(initialSearchTerm); + + // Debounced real-time search + useEffect(() => { + const timer = setTimeout(() => { + if (searchTerm !== initialSearchTerm && onSearch) { + onSearch(searchTerm); + } + }, 500); + return () => clearTimeout(timer); + }, [searchTerm, onSearch, initialSearchTerm]); + + // Update search term when initial changes + useEffect(() => { + setSearchTerm(initialSearchTerm); + }, [initialSearchTerm]); + + // Recent News (Latest 3 blogs, excluding current one, filtered by category if active) + const recentPosts = useMemo(() => { + let list = [...BlogData]; + if (excludeSlug) { + list = list.filter(p => p.slug !== excludeSlug); + } + if (activeCategory) { + // Priority to same category, but if not enough, show others + const sameCat = list.filter(p => p.category === activeCategory); + const others = list.filter(p => p.category !== activeCategory); + list = [...sameCat, ...others]; + } + return list + .sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()) + .slice(0, 3); + }, [activeCategory, excludeSlug]); + + // Categories and Counts (Sorted to show active category at the top, then by most recent post date) + const categories = useMemo(() => { + const catMap = BlogData.reduce((acc: any, item: any) => { + if (!acc[item.category]) { + acc[item.category] = { count: 0, latestDate: new Date(0) }; + } + acc[item.category].count += 1; + const itemDate = new Date(item.date); + if (itemDate > acc[item.category].latestDate) { + acc[item.category].latestDate = itemDate; + } + return acc; + }, {}); + + const allBlogsCat = { + name: "All Blogs", + count: BlogData.length, + latestDate: new Date() // Doesn't matter for sorting as we'll put it first + }; + + let result = Object.keys(catMap) + .map(cat => ({ + name: cat, + count: catMap[cat].count, + latestDate: catMap[cat].latestDate + })) + .sort((a, b) => { + const normalizedActive = (activeCategory || "").trim().toLowerCase(); + const normalizedA = (a.name || "").trim().toLowerCase(); + const normalizedB = (b.name || "").trim().toLowerCase(); + + // Active category always first (if not All Blogs) + if (normalizedActive && normalizedA === normalizedActive) return -1; + if (normalizedActive && normalizedB === normalizedActive) return 1; + // Then sort by most recent post date + return b.latestDate.getTime() - a.latestDate.getTime(); + }); + + // Optimize for Detail Page (excludeSlug exists) + if (excludeSlug && result.length > 6) { + return [allBlogsCat, ...result.slice(0, 5)]; + } + + return [allBlogsCat, ...result]; + }, [activeCategory, excludeSlug]); + + const handleSearchSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (onSearch) { + onSearch(searchTerm); + } + }; + + const handleCategoryClick = (e: React.MouseEvent, category: string) => { + if (onCategoryClick) { + e.preventDefault(); + onCategoryClick(category); + } else { + // Default behavior if no handler is provided + // Redirect to results page + } + }; + + return ( +
+ {/* Search Widget */} +
+
+

Search

+
+
+
+ setSearchTerm(e.target.value)} + /> + +
+
+
+ + {/* Recent News Widget */} +
+
+

Recent News

+
+
+ {recentPosts.map((post: any) => ( +
+
+ + {post.title} + +
+
+
+ {post.title} +
+
+ {post.date} +
+
+
+ ))} + {recentPosts.length === 0 &&

No recent posts found.

} +
+
+ + {/* Categories Widget */} +
+
+

{excludeSlug ? "Blog Related Category" : "Categories"}

+
+
+
    + {categories.map((cat) => { + const isAllBlogs = cat.name === "All Blogs"; + // Normalize for comparison to handle case-sensitivity or leading/trailing spaces + const normalizedActive = (activeCategory || "").trim().toLowerCase(); + const normalizedCat = (cat.name || "").trim().toLowerCase(); + + const isActive = isAllBlogs + ? (normalizedActive === "") + : (normalizedActive === normalizedCat); + + return ( +
  • + handleCategoryClick(e, isAllBlogs ? "" : cat.name)} + className="category-item" + > + {cat.name} + {cat.count < 10 ? `0${cat.count}` : cat.count} + +
  • + ); + })} +
+
+
+
+ ); +}; + +export default BlogSidebar; diff --git a/src/components/common/PageHeader.tsx b/src/components/common/PageHeader.tsx index f92c1fb..b02c2ef 100644 --- a/src/components/common/PageHeader.tsx +++ b/src/components/common/PageHeader.tsx @@ -38,7 +38,7 @@ const PageHeader: React.FC = ({ title, breadcrumbItems, bannerL )} ))} - {!breadcrumbItems &&
  • {title}
  • } + {!breadcrumbItems &&
  • {title}
  • } { - const [activeTab, setActiveTab] = useState(0); - - - const handleTabClick = (e: React.MouseEvent, id: number) => { - e.preventDefault(); - setActiveTab(id); - }; - - return ( -
    - {/* Background Overlay */} -
    - - {/* Decorative Elements - 4 Left, 4 Right */} -
    shape
    -
    shape
    - {/*
    shape
    */} -
    shape
    - -
    shape
    -
    shape
    - {/*
    shape
    */} -
    shape
    - -
    -
    -
    -
    -
    WELCOME
    -

    Driving Client Success

    -
    - -

    It is a long established fact that a reader will be distracted the readable content of
    a page when looking at layout the point of using lorem the is Ipsum less normal distribution of letters.

    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - {services.map((service, index) => ( -
    -

    - {service.title} -

    -

    {service.text}

    -
    - ))} -
    -
    -
    -
    - ); -}; - -export default MedicalServices; diff --git a/src/components/home/home-1/BlogSection.tsx b/src/components/home/home-1/BlogSection.tsx index 7a6bf7c..f8bb091 100644 --- a/src/components/home/home-1/BlogSection.tsx +++ b/src/components/home/home-1/BlogSection.tsx @@ -1,24 +1,60 @@ "use client"; -import React, { useState } from "react"; +import React, { useState, useEffect, useMemo } from "react"; import { BlogData } from "@/utils/constant.utils"; import Link from "next/link"; -const blogs = [...BlogData].sort( +const allBlogs = [...BlogData].sort( (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime() ); -const BlogSection = ({ hideHeader = false, isPaginated = false }: { hideHeader?: boolean; isPaginated?: boolean }) => { +interface BlogSectionProps { + hideHeader?: boolean; + isPaginated?: boolean; + searchTerm?: string; + selectedCategory?: string; + blogsPerPage?: number; + columns?: string; // e.g., "col-xxl-4 col-xl-4 col-lg-6" +} + +const BlogSection = ({ + hideHeader = false, + isPaginated = false, + searchTerm = "", + selectedCategory = "", + blogsPerPage = 12, + columns = "col-xxl-4 col-xl-4 col-lg-6" +}: BlogSectionProps) => { const [currentPage, setCurrentPage] = useState(1); - const blogsPerPage = 12; + + // Reset to first page when filtering changes + useEffect(() => { + setCurrentPage(1); + }, [searchTerm, selectedCategory]); + + // Filter blogs based on search and category + const filteredBlogs = useMemo(() => { + let list = [...allBlogs]; + if (selectedCategory) { + list = list.filter(blog => blog.category === selectedCategory); + } + if (searchTerm) { + const lowerTerm = searchTerm.toLowerCase(); + list = list.filter(blog => + blog.title.toLowerCase().includes(lowerTerm) || + blog.category.toLowerCase().includes(lowerTerm) + ); + } + return list; + }, [searchTerm, selectedCategory]); // Total pages - const totalPages = Math.ceil(blogs.length / blogsPerPage); + const totalPages = Math.ceil(filteredBlogs.length / blogsPerPage); // Get current blogs const indexOfLastBlog = currentPage * blogsPerPage; const indexOfFirstBlog = indexOfLastBlog - blogsPerPage; - const currentBlogs = isPaginated ? blogs.slice(indexOfFirstBlog, indexOfLastBlog) : blogs.slice(0, 3); + const currentBlogs = isPaginated ? filteredBlogs.slice(indexOfFirstBlog, indexOfLastBlog) : filteredBlogs.slice(0, 3); const paginate = (pageNumber: number) => { if (pageNumber >= 1 && pageNumber <= totalPages) { @@ -53,21 +89,11 @@ const BlogSection = ({ hideHeader = false, isPaginated = false }: { hideHeader?: }; return ( -
    -
    - {!hideHeader && ( -
    -
    -
    -
    LATEST BLOG
    -

    Latest Blog Insights

    -
    - {/* */} -
    - )} +
    +
    {currentBlogs.map((blog) => ( -
    +
    {blog.title} @@ -75,15 +101,11 @@ const BlogSection = ({ hideHeader = false, isPaginated = false }: { hideHeader?:
    - - By Admin - - - {blog.date} - + By Admin + + {blog.date}
    -
    -
    +
    {blog.title}
    @@ -97,6 +119,11 @@ const BlogSection = ({ hideHeader = false, isPaginated = false }: { hideHeader?:
    ))} + {currentBlogs.length === 0 && ( +
    +

    No blogs found matching your criteria.

    +
    + )}
    {isPaginated && totalPages > 1 && ( diff --git a/src/components/home/home-1/TeamSection.tsx b/src/components/home/home-1/TeamSection.tsx deleted file mode 100644 index bc5d84a..0000000 --- a/src/components/home/home-1/TeamSection.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { teamMembers } from "@/utils/data"; - -const TeamSection = () => ( -
    -
    -
    -
    -
    - OUR team -

    Our Leadership Team

    -
    -
    - {teamMembers.slice(0, 3).map((member, index) => ( -
    -
    -
    -
    -
    -
    {member.name}
    - {member.role} -
    -
    - -
      -
    • -
    • -
    • -
    -
    -
    -
    -
    - ))} -
    -
    -
    -); - -export default TeamSection; diff --git a/src/components/home/home-1/TestimonialsSection.tsx b/src/components/home/home-1/TestimonialsSection.tsx index f555705..8eceb06 100644 --- a/src/components/home/home-1/TestimonialsSection.tsx +++ b/src/components/home/home-1/TestimonialsSection.tsx @@ -61,10 +61,23 @@ const TestimonialsSection = ({ className = "section-space" }: { className?: stri } function getProfileImage(r: any, index: number) { - const url = r.user?.thumbnail || r.profile_photo_url || r.author_profile_photo_url || r.user?.profile_photo_url || r.thumbnail || r.profile_picture || r.avatar || r.author_image; + // Primary source for SerpAPI Google Maps reviews is user.thumbnail + let url = r.user?.thumbnail || r.profile_photo_url || r.author_profile_photo_url || r.user?.profile_photo_url || r.thumbnail || r.profile_picture || r.avatar || r.author_image; + if (!url) return `/assets/imgs/resources/testimonials-${(index % 2) + 1}.png`; - if (typeof url === 'string' && url.startsWith("http")) return url; - return `https://lh3.googleusercontent.com/${url}`; + + if (typeof url === 'string') { + // Enhance quality for Google URLs (replace =sXX or sXX-c with larger size) + if (url.includes('googleusercontent.com')) { + // Replace =s120, =s64, etc. with =s400 for high resolution + url = url.replace(/=s\d+(-c)?/g, '=s400'); + } + + if (url.startsWith("http")) return url; + return `https://lh3.googleusercontent.com/${url}`; + } + + return `/assets/imgs/resources/testimonials-${(index % 2) + 1}.png`; } return ( diff --git a/src/utils/constant.utils.ts b/src/utils/constant.utils.ts index 9fddadd..2935a8f 100644 --- a/src/utils/constant.utils.ts +++ b/src/utils/constant.utils.ts @@ -7,7 +7,7 @@ export const BlogData = [ big_image: "/assets/images/blog/blog-details/viral-content.webp", date: "MARCH 20, 2025", authorName: "Admin", - category: "Digital Marketing Strategy & Growth", + "category": "Marketing Strategy", slug: "5-tips-to-create-viral-content-that-drives-engagement", seoDesc: "testing 1", metatitle: "5 Proven Tips to Make Viral Content & Boost Engagement", @@ -54,13 +54,13 @@ export const BlogData = [
      -
    • Internal linking to your services like SEO Content Writing
    • +
    • Internal linking to your services like SEO Content Writing
    • Creating shareable infographics and videos
    • Adding strong Call-to-Actions (CTAs)
    -

    A good user experience is also crucial. Leverage our UI/UX Designing service to make your content visually appealing and user-friendly.

    +

    A good user experience is also crucial. Leverage our UI/UX Designing service to make your content visually appealing and user-friendly.

    4. Leverage Trending Topics and Hashtags

    @@ -79,7 +79,7 @@ export const BlogData = [
    -

    Enhance your content with custom apps or websites that support these trends. Explore our Website Development and Mobile Application Development services for scalable digital solutions. +

    Enhance your content with custom apps or websites that support these trends. Explore our Website Development and Mobile Application Development services for scalable digital solutions.

    @@ -105,7 +105,7 @@ export const BlogData = [

    Creating viral content is a strategic process that involves understanding your audience, crafting emotional stories, optimizing for SEO, leveraging trends, and engaging consistently. By implementing these tips, your brand can generate higher engagement and expand its reach across digital platforms.

    -

    Ready to take your content to the next level? MetatronCube Solutions offers a complete range of services from Digital Marketing, Graphic Designing, SEO Content Writing, UI/UX Design, to Website and Mobile App Development.

    +

    Ready to take your content to the next level? MetatronCube Solutions offers a complete range of services from Digital Marketing, Graphic Designing, SEO Content Writing, UI/UX Design, to Website and Mobile App Development.

    Let us help you create viral content that not only drives engagement but also grows your brand online.

    @@ -145,7 +145,7 @@ export const BlogData = [ big_image: "/assets/images/blog/blog-details/blog-large-2.webp", date: "FEBURUARY 27, 2025", authorName: "Admin", - category: "Digital Marketing Strategy & Growth", + "category": "Marketing Strategy", slug: "instagram-vs-facebook-choosing-the-right-platform-for-your-business", seoDesc: "testing 2", metatitle: "Instagram vs Facebook: Choose the Best Platform for Your Biz", @@ -267,12 +267,12 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    At Metatron Cube Solutions, we specialize in:

    @@ -328,7 +328,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/local-seo.webp", date: "NOVEMBER 26, 2024", authorName: "Admin", - category: "Search Engine Optimization (SEO)", + "category": "SEO", slug: "how-local-seo-can-drive-more-foot-traffic-to-your-business", seoDesc: "testing 3", metatitle: "Local SEO Tips to Boost Foot Traffic to Your Business", @@ -459,7 +459,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/on-vs-off-page.webp", date: "NOVEMBER 18, 2024", authorName: "Admin", - category: "Search Engine Optimization (SEO)", + "category": "SEO", slug: "on-page-vs-off-page-seo-what-every-business-owner-needs-to-know", seoDesc: "testing 4", metatitle: "On-Page vs Off-Page SEO: What Every Business Must Know", @@ -513,7 +513,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    1. Backlink Building

      -

      Acquiring high-quality backlinks from authoritative websites. For example, linking to a trusted graphic designing company can improve credibility.

      +

      Acquiring high-quality backlinks from authoritative websites. For example, linking to a trusted graphic designing company can improve credibility.

    @@ -692,7 +692,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/winning.webp", date: "NOVEMBER 14, 2024", authorName: "Admin", - category: "Digital Marketing Strategy & Growth", + "category": "Marketing Strategy", slug: "how-to-create-a-winning-digital-marketing-strategy-for-your-business", seoDesc: "testing 5", metatitle: "Build a Winning Digital Marketing Strategy for Your Business", @@ -873,7 +873,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/white-vs-black.webp", date: "NOVEMBER 7, 2024", authorName: "Admin", - category: "Search Engine Optimization (SEO)", + "category": "SEO", slug: "white-hat-vs-black-hat-seo-an-in-depth-link-building-guide", seoDesc: "testing 6", metatitle: "White Hat vs Black Hat SEO: Guide to Ethical Link Building", @@ -989,7 +989,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/boost.webp", date: "SEPTEMBER 28, 2024", authorName: "Admin", - category: "Digital Marketing Strategy & Growth", + "category": "Marketing Strategy", slug: "how-to-boost-your-small-business-with-effective-digital-marketing-strategies", seoDesc: "testing 7", metatitle: "Boost Your Small Business with Smart Digital Marketing", @@ -1002,7 +1002,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    Why Digital Marketing Matters for Small Businesses

    Digital marketing is vital because it equalizes the playing field for small businesses and huge corporations. Traditional marketing strategies, such as billboards and print adverts, can be costly and do not always provide quantitative results. @@ -1029,7 +1029,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    1. Search Engine Optimization (SEO)

    @@ -1051,7 +1051,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    2. Content Marketing

    When it comes to digital marketing, content is crucial. Providing helpful and relevant content is crucial for building trust with your audience. @@ -1177,7 +1177,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/importance-local-seo.webp", date: "SEPTEMBER 3, 2024", authorName: "Admin", - category: "Search Engine Optimization (SEO)", + "category": "SEO", slug: "the-importance-of-local-seo-for-real-estate-agents", seoDesc: "testing 8", metatitle: "Why Local SEO is Essential for Real Estate Agents", @@ -1254,7 +1254,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/optimize-website.webp", date: "AUGUST 30, 2024", authorName: "Admin", - category: "Search Engine Optimization (SEO)", + "category": "SEO", slug: "how-to-optimize-your-website-for-voice-search", seoDesc: "testing 9", metatitle: "How to Optimize Your Website for Voice Search & Rank Higher", @@ -1361,7 +1361,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/ai-revolution.webp", date: "AUGUST 30, 2024", authorName: "Admin", - category: "Technology & Emerging Trends", + "category": "Technology", slug: "how-ai-is-revolutionizing-web-development-and-seo", seoDesc: "testing 10", metatitle: "How AI Is Transforming Web Development & SEO", @@ -1373,8 +1373,8 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi industries and agencies across the world. Search engine optimization (search engine marketing) and net improvement had been converted via means of synthetic intelligence (AI), permitting organizations to create smarter, extra green and user-pleasant virtual experiences. This blog explores how AI is revolutionizing these - fields, with a particular focus on how the Best Web Design Agency & Web Development - Company at MetatronCube and the Best SEO & Content Writing Company in + fields, with a particular focus on how the Best Web Design Agency & Web Development + Company at MetatronCube and the Best SEO & Content Writing Company in Waterloo, Canada are leading the charge.

    @@ -1446,7 +1446,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi like Grammarly and Clear scope assist content material writers optimize their content material for search engine marketing. These gear examine the key phrases, content material, and universal shape of the content material so that you can optimize it for search engines like google and yahoo. Best search - engine marketing and Content Writing Company in Waterloo at + engine marketing and Content Writing Company in Waterloo at MetatronCube makes use of those AI-powered gear to create content material that isn’t simplest good, however additionally applicable on your audience. @@ -1496,7 +1496,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi
  • Voice Search Optimization
  • Predictive search engine marketing Analytics
  • AI Content Optimization
  • -
  • Digital Marketing Trends
  • +
  • Digital Marketing Trends
  • search engine marketing Best Practices
  • @@ -1517,8 +1517,8 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    AI is completely changing the landscape of search engine marketing and online optimization. AI is helping businesses build more effective, user-friendly, and potent virtual experiences by automating layout methods and enhancing content material procedures. At the forefront of this change are businesses like Best Web Design Agency & Web Development Company in Canada at Metatroncube and - Best search engine marketing and Content Writing Company in Waterloo, Canada – + href="/services-digital-solutions/website-development-company">Best Web Design Agency & Web Development Company in Canada at Metatroncube and + Best search engine marketing and Content Writing Company in Waterloo, Canada – Metatroncube, that use AI to provide their clients with contemporary solutions.

    Businesses using AI technology will not only stay ahead of the competition but also attract @@ -1537,7 +1537,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/top-10.webp", date: "AUGUST 30, 2024", authorName: "Admin", - category: "Agency, Branding & Services", + "category": "Branding", slug: "top-digital-marketing-agency-in-canada-metatroncube-software-solutions", seoDesc: "testing 11", metatitle: "Top Digital Marketing Agency in Canada | MetatronCube", @@ -1636,7 +1636,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi Metatroncube to deliver outstanding results.

    -

    For more information, visit the Top digital marketing agency in +

    For more information, visit the Top digital marketing agency in Canada.

    @@ -1661,7 +1661,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/digital-marketing.webp", date: "JULY 26, 2024", authorName: "Admin", - category: "Agency, Branding & Services", + "category": "Branding", slug: "best-digital-marketing-company-in-canada-metatroncube-solutions", seoDesc: "testing 12", metatitle: "Best Digital Marketing Company in Canada | MetatronCube", @@ -1688,7 +1688,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    Content Marketing and Creation

    -

    One of the key services offered by Metatroncube is content +

    One of the key services offered by Metatroncube is content marketing. They understand the importance of high-quality, engaging content that resonates with the target audience. Their content creation process includes meticulous content optimization and SEO content strategies, ensuring maximum visibility and engagement. Whether it’s blog posts, social media @@ -1724,7 +1724,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    SEO optimization is at the core of Metatroncube’s digital marketing services. Their team of experts employs advanced SEO strategies to enhance website visibility and drive organic traffic. From keyword research to SEO management, Metatroncube ensures that clients’ websites rank high on search - engine results pages (SERPs). They are recognized as one of the best SEO services + engine results pages (SERPs). They are recognized as one of the best SEO services providers in Canada.

    @@ -1748,7 +1748,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    A strong online presence starts with a well-designed website. Metatroncube excels in web design and web development , creating visually appealing and highly + href="/services-digital-solutions/website-development-company">web design and web development , creating visually appealing and highly functional websites. Their web services include web optimization and web content management, ensuring that clients’ websites are not only attractive but also user-friendly and optimized for search engines.

    @@ -1802,7 +1802,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/custom-web-design.webp", date: "MARCH 15, 2024", authorName: "Admin", - category: "Agency, Branding & Services", + "category": "Branding", slug: "web-designers-for-small-business", seoDesc: "testing 13", metatitle: "Best Custom Web Design for Small Businesses | MetatronCube", @@ -1903,7 +1903,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi demands of the digital landscape, all thanks to our dedicated web designers.

    -

    CONCLUSION

    +

    Conclusion

    Choosing Metatroncube Software Solutions means partnering with a team of web designers that @@ -1923,7 +1923,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/mobile-commerce.webp", date: "DECEMBER 31, 2023", authorName: "Admin", - category: "Technology & Emerging Trends", + "category": "Technology", slug: "mobile-commerce-2024-web-app-development-evolution", seoDesc: "testing 14", metatitle: "Mobile Commerce 2024: The Next Web App Development Evolution", @@ -1934,7 +1934,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    The digital marketplace is rapidly evolving, and as we look to 2024, mobile commerce (m-commerce) is poised to - take an even more significant leap forward. With the advent of advanced web + take an even more significant leap forward. With the advent of advanced web development, robust hosting services, and comprehensive web solutions, the future is vibrant for both consumers and businesses, particularly for small business web development, which is emerging as a driving force in the industry.

    @@ -1969,12 +1969,12 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    What are the key issues with e-commerce and M-commerce? Despite advancements, e-commerce and m-commerce must navigate challenges such as enhancing cyber security, optimizing for - ever-changing SEO algorithms, and integrating emerging technologies. + ever-changing SEO algorithms, and integrating emerging technologies. Companies must also address the digital divide, ensuring equitable access to their platforms.

    Adapting to the Changes Looking towards 2024, businesses must invest in cutting-edge - web & app development to stay competitive. This includes ensuring websites and + web & app development to stay competitive. This includes ensuring websites and applications are optimized for mobile-first indexing and leveraging hosting services that offer superior performance and security. For small businesses, web development will be more critical than ever, providing a gateway to global markets and leveling the playing field with larger corporations.

    @@ -1982,7 +1982,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    Conclusion In conclusion, the trajectory for m-commerce is set towards a more interactive, secure, and user-oriented future. As we embrace 2024, the integration of digital marketing and graphic design services + href="/services-digital-solutions/digital-marketing-agency-in-canada">digital marketing and graphic design services with web & app development will be the linchpin for success in this rapidly expanding digital ecosystem. For those ready to innovate and adapt, the opportunities are boundless. Discover more about this evolution on our homepage. @@ -1999,7 +1999,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/cold-email.webp", date: "SEPTEMBER 17, 2025", authorName: "Admin", - category: "Digital Marketing Strategy & Growth", + "category": "Marketing Strategy", slug: "how-to-personalize-cold-emails-without-spending-hours-on-research", seoDesc: "testing 15", metatitle: "How to Personalize Cold Emails Efficiently Without Spending Hours", @@ -2099,7 +2099,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/cold-email-challenges.webp", date: "SEPTEMBER 17, 2025", authorName: "Admin", - category: "Digital Marketing Strategy & Growth", + "category": "Marketing Strategy", slug: "how-to-overcome-the-biggest-challenges-in-cold-emailing-b2b-success", seoDesc: "testing 16", metatitle: "How to Overcome the Biggest Challenges in Cold Emailing for B2B Success", @@ -2214,7 +2214,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/google-tools.webp", date: "SEPTEMBER 19, 2025", authorName: "Admin", - category: "Technology & Emerging Trends", + "category": "Technology", slug: "9-powerful-free-google-tools-to-grow-your-business", seoDesc: "testing 17", metatitle: "9 Powerful Free Google Tools To Grow Your Business", @@ -2335,7 +2335,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/digital-marketing-mistakes.webp", date: "SEPTEMBER 22, 2025", authorName: "Admin", - category: "Digital Marketing Strategy & Growth", + "category": "Marketing Strategy", slug: "5-digital-marketing-mistakes-every-small-business-must-avoid", seoDesc: "testing 18", metatitle: "5 Digital Marketing Mistakes Every Small Business Must Avoid", @@ -2358,7 +2358,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    2. Not Having a Clear Social Media Strategy

    Many small businesses think simply having @@ -2374,7 +2374,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    3. Overlooking the Power of Content Marketing

    Many small businesses fail to understand the value of @@ -2402,7 +2402,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    5. Neglecting Mobile Optimization

    With more people accessing the internet via smartphones, neglecting @@ -2417,7 +2417,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi

    Pro Tip: Mobile optimization also plays a key role in SEO, as Google favors mobile-friendly websites in search rankings.

    -

    CONCLUSION

    +

    Conclusion

    Digital marketing is essential for small business growth, but the path to success isn’t without challenges. By avoiding these common mistakes—ignoring SEO, lacking a social media strategy, neglecting content marketing, failing to analyze data, and disregarding mobile optimization—your business can build a strong online presence and generate steady leads. Implementing smart digital marketing strategies will not only help your business grow but also position it for long-term success in an ever-evolving digital landscape.

    Are you ready to take your digital marketing to the next level? Contact us today for a free consultation on how we can help you avoid these pitfalls and grow your business online.

    ` @@ -2430,7 +2430,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/big-img.webp", date: "OCTOBER 22, 2025", authorName: "Admin", - category: "Digital Transformation", + "category": "Technology", slug: "how-digital-solutions-drove-success-for-a-local-business", seoDesc: "Discover how Riverside Roastery transformed its business using local SEO, automation, and smart digital solutions for growth.", metatitle: "How Digital Solutions Drove Success for a Local Coffee Business", @@ -2817,7 +2817,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/mastering-big-img.webp", date: "NOVEMBER 15, 2025", authorName: "Admin", - category: "Strategies for 2026", + "category": "Marketing Strategy", slug: "mastering-omnichannel-marketing-strategies-for-2026", seoDesc: "testing 8", metatitle: "Mastering Omnichannel Marketing: Strategies for 2026", @@ -3115,7 +3115,7 @@ At Metatron Cube Solutions, we help businesses make data-driven marketing decisi big_image: "/assets/images/blog/blog-details/ai-big-img.webp", date: "NOVEMBER 15, 2025", authorName: "Admin", - category: "AI-Driven SEO", + "category": "SEO", slug: "ai-driven-seo-how-to-future-proof-your-search-strategy", seoDesc: "testing 8", metatitle: "AI-Driven SEO: How to Future-Proof Your Search Strategy", @@ -3313,7 +3313,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/top-big-img.webp", "date": "NOVEMBER 20, 2025", "user": "Admin", - "category": "Social Media Marketing", + "category": "Marketing Strategy", "slug": "why-metatroncube-solutions-top-choice-social-media-marketing-waterloo", "seoDesc": "Discover why MetatronCube Solutions is Waterloo's top choice for social media marketing, helping local businesses drive engagement, leads and real growth online.", "metatitle": "Social Media Marketing Waterloo | MetatronCube Solutions", @@ -3404,7 +3404,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo

    Learn more about our SEO services: - Click here @@ -3537,7 +3537,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo

  • Learn more about digital marketing best practices in Canada: - @@ -3617,7 +3617,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/improve-big-img.webp", "date": "NOVEMBER 20, 2025", "user": "Admin", - "category": "SEO Services", + "category": "SEO", "slug": "how-metatroncube-solutions-improve-local-seo-waterloo", "seoDesc": "Discover how MetatronCube Solutions boosts local SEO for businesses in Waterloo, helping you attract more customers, increase visibility, and grow your brand.", "metatitle": "Local SEO in Waterloo | MetatronCube Solutions Services", @@ -3925,7 +3925,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "user": "Admin", - "category": "Google Business Profile", + "category": "SEO", "slug": "can-metatroncube-solutions-optimize-my-google-business-profile", @@ -4621,7 +4621,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/local-customers-big-img.webp", "date": "DECEMBER 5, 2025", "user": "Admin", - "category": "Local SEO", + "category": "SEO", "slug": "how-does-metatroncube-solutions-help-businesses-get-more-local-customers-through-search-engines", "seoDesc": "MetatronCube Solutions provides Local SEO services that boost Google Business Profiles, Maps rankings and visibility so businesses win more local customers.", "metatitle": "Local SEO Services in Canada | MetatronCube Solutions", @@ -4936,7 +4936,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/boost-big-img.webp", "date": "DECEMBER 12, 2025", "user": "Admin", - "category": "AI Tools", + "category": "Technology", "slug": "how-metatroncube-solutions-uses-ai-tools-to-boost-your-marketing-in-toronto", "seoDesc": "Discover how MetatronCube Solutions uses AI marketing services in Toronto to help local businesses automate, analyze, and grow smarter.", "metatitle": "AI Marketing Services in Toronto | MetatronCube Solutions for Local Business Growth", @@ -5207,7 +5207,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/small-big-img.webp", "date": "DECEMBER 13, 2025", "user": "Admin", - "category": "Social Media Ads", + "category": "Marketing Strategy", "slug": "what-types-of-social-media-ads-does-metatroncube-solutions-recommend-for-small-businesses-in-toronto", "seoDesc": "Discover the best social media ads for Toronto small businesses. Learn how MetatronCube Solutions uses AI-powered strategies to grow local brands across Facebook, Instagram & TikTok.", "metatitle": "Best Social Media Ads for Small Businesses in Toronto | MetatronCube Solutions", @@ -5821,7 +5821,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/google-maps-big-img.webp", "date": "NOVEMBER 29, 2025", "user": "Admin", - "category": "Local SEO", + "category": "SEO", "slug": "boost-google-maps-ranking-waterloo-metatroncube", "seoDesc": "Want more local customers from Google Maps ranking in Waterloo? Discover how MetatronCube Solutions helps Waterloo businesses dominate the map pack with smart, practical local SEO.", "metatitle": "Google Maps Ranking in Waterloo | MetatronCube Solutions", @@ -6082,7 +6082,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/ads-big-img.webp", "date": "DECEMBER 18, 2025", "user": "Admin", - "category": " Google Ads", + "category": "SEO", "slug": "should-i-run-facebook-or-google-ads-for-my-business-and-can-metatroncube-solutions-manage-them", "seoDesc": "Unsure whether Facebook or Google Ads fit your Waterloo business? Learn how each works locally and how MetatronCube Solutions can manage ads for real ROI.", "metatitle": "Facebook vs Google Ads in Waterloo | MetatronCube Solutions", @@ -6299,7 +6299,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo

    3. Launch, then refine

    They’ll manage the day-to-day—bids, creatives, keywords—so you can run the business.

    -

    To learn more about their PPC and digital marketing services or to reach their contact page, visit MetatronCube Solutions – Digital Marketing & PPC.

    +

    To learn more about their PPC and digital marketing services or to reach their contact page, visit MetatronCube Solutions – Digital Marketing & PPC.

    Final Thought

    If you’re in Waterloo or nearby Kitchener and still debating Facebook vs Google Ads, you don’t have to guess. Reach out to MetatronCube Solutions, a local digital advertising agency in Waterloo, for a straightforward conversation about your budget, goals, and best next step.

    @@ -6356,7 +6356,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/ppc-big-img.webp", "date": "DECEMBER 19, 2025", "user": "Admin", - "category": "Best PPC Agency", + "category": "Marketing Strategy", "slug": "is-metatroncube-solutions-the-best-ppc-agency-in-waterloo", "seoDesc": "Wondering if MetatronCube Solutions is the best PPC agency in Waterloo? Explore their Google Ads process, local expertise, and fit for your Waterloo business.", "metatitle": "Is MetatronCube Solutions the Best PPC Agency in Waterloo, Ontario?", @@ -6412,7 +6412,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo

    Meet MetatronCube Solutions: Local PPC Experts in Waterloo

    MetatronCube Solutions positions itself as a data-driven PPC agency in Waterloo with a clear focus on strategy, tracking, and ROI. They’re not trying to be everything to everyone—they lean hard into performance-focused paid ads.

    You can explore their services here:

    -

    MetatronCube Solutions – PPC & Digital Marketing Services

    +

    MetatronCube Solutions – PPC & Digital Marketing Services

    From what they share publicly and how they talk about their work, a few things stand out:

    • They offer structured PPC management services in Waterloo across Google Ads and other paid platforms.
    • @@ -6676,7 +6676,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/followers-big-img.webp", "date": "DECEMBER 24, 2025", "user": "Admin", - "category": "Social Media Marketing", + "category": "Marketing Strategy", "slug": "how-can-metatroncube-solutions-help-me-get-more-followers-for-my-local-business", "seoDesc": "Get more local followers with MetatronCube’s SEO and social media marketing in Canada. We help businesses grow organic reach and turn audiences into customers.", "metatitle": "MetatronCube: SEO and Social Media Marketing in Canada", @@ -6731,7 +6731,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo
    • We stay close. Regular check-ins, clear reporting, and honest conversations. No “black box” marketing.

    You can get a feel for how we work on our website:

    -

    MetatronCube Solutions – Digital & Social Services

    +

    MetatronCube Solutions – Digital & Social Services

    Step 1 – Clarifying Your Brand and Local Audience

    You can’t grow the right followers if you don’t know who you’re talking to.

    @@ -7016,7 +7016,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/track-big-img.webp", "date": "DECEMBER 25, 2025", "user": "Admin", - "category": "ROI Tracking", + "category": "Marketing Strategy", "slug": "how-to-track-roi-from-your-website-and-marketing-campaigns-with-metatroncube-solutions", "seoDesc": "Learn how a digital marketing agency in Canada like MetatronCube Solutions helps you track real ROI from your website and campaigns with clear, honest reporting.", "metatitle": "Track ROI with a Digital Marketing Agency in Canada | MetatronCube Solutions", @@ -7397,7 +7397,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/ai-b-big-img.webp", "date": "JANUARY 2, 2026", "user": "Admin", - "category": "AI Marketing", + "category": "Technology", "slug": "does-metatroncube-solutions-provide-ai-powered-marketing-solutions-for-local-businesses-in-waterloo", "seoDesc": "Discover how MetatronCube Solutions delivers AI-powered marketing solutions in Waterloo for local businesses, startups, and service providers. Learn what they offer and how it works.", "metatitle": "AI-Powered Marketing Solutions in Waterloo | MetatronCube Solutions", @@ -7490,7 +7490,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo

    MetatronCube can help set all this up using AI-driven workflows, so your marketing runs even when you’re busy on-site, in the office, or serving customers.

    You can read more about their digital marketing and automation focus here:
    - Digital Marketing at MetatronCube

    + Digital Marketing at MetatronCube

    Real-World Scenarios: How Waterloo Businesses Can Use AI the Right Way

    To make this concrete, here are a few realistic examples of AI-powered marketing solutions in Waterloo in action.

    @@ -7684,7 +7684,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/campaign-big-img.webp", "date": "JANUARY 3, 2026", "user": "Admin", - "category": "ROI Tracking", + "category": "Marketing Strategy", "slug": "how-can-i-track-roi-from-my-website-and-marketing-campaigns-with-metatroncube-solutions-in-waterloo", "seoDesc": "Discover how Waterloo businesses can track ROI from websites and marketing campaigns with MetatronCube Solutions. Simple analytics, clear local reporting.", "metatitle": "ROI Tracking in Waterloo | MetatronCube Solutions", @@ -7788,7 +7788,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo
  • Which campaigns and keywords are driving the best ROI
  • Trends over time (month-to-month performance)
  • -

    Our digital marketing and web development teams work together so you see the full picture in one place.

    +

    Our digital marketing and web development teams work together so you see the full picture in one place.

    Tracking ROI from Specific Marketing Campaigns in Waterloo

    Let's talk campaigns.

    @@ -7892,7 +7892,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo

    You'll also find us listed through local channels such as Google Maps, and many Waterloo businesses discover partners like us through Canadian directories such as YellowPages.ca, Canada411, and Yelp.ca when they're looking to track marketing ROI in Canada more seriously.

    If you'd like to explore this, start with a simple marketing performance review. No pressure, no long-term commitment—just clarity.

    -

    You can learn more about our analytics, digital marketing, and web development services on our site.

    +

    You can learn more about our analytics, digital marketing, and web development services on our site.

    Next Steps: Getting ROI Tracking for Marketing Campaigns in Waterloo Set Up

    If you're still reading, chances are you're serious about getting a handle on your numbers.

    @@ -7961,7 +7961,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/start-big-img.webp", "date": "JANUARY 8, 2026", "user": "Admin", - "category": "Social Media", + "category": "Marketing Strategy", "slug": "can-metatroncube-solutions-manage-my-social-media-campaigns-from-start-to-finish", "seoDesc": "Discover if MetatronCube Solutions can handle your social media campaigns from strategy to results. Full-service social media management Canada for businesses—strategy, content, ads, and more. Book a free consultation today!", "metatitle": "Social Media Management Canada: End-to-End Campaigns by MetatronCube Solutions", @@ -8073,7 +8073,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/audit-big-img.webp", "date": "JANUARY 9, 2026", "user": "Admin", - "category": "Website Audit", + "category": "Web Design", "slug": "does-metatroncube-solutions-provide-website-audits-for-small-businesses", "seoDesc": "Unsure about your website's performance? MetatronCube Solutions offers comprehensive website audit services Canada for small businesses—technical SEO, UX, speed, and more. Boost rankings and conversions. Request your audit today!", "metatitle": "Website Audit Services Canada: Expert Audits for Small Businesses by MetatronCube Solutions", @@ -8191,7 +8191,7 @@ AI is not replacing SEO—it’s evolving it. The opportunity for brands that mo "big_image": "/assets/images/blog/blog-details/1-big-img.webp", "date": "JANUARY 13, 2026", "user": "Admin", - "category": "SEO & PPC", + "category": "SEO", "slug": "can-metatroncube-solutions-handle-both-seo-and-ppc-campaigns-for-my-business-in-waterloo", "seoDesc": "Discover if MetatronCube Solutions in Waterloo can manage your SEO services and PPC campaigns. Local SEO agency offering Google Ads expertise and digital marketing services for Waterloo businesses. Book a free consultation today!", "metatitle": "MetatronCube Solutions: SEO & PPC Experts in Waterloo | Digital Marketing Services", @@ -8304,7 +8304,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/2-big-img.webp", "date": "JANUARY 14, 2026", "user": "Admin", - "category": "Social Media Ads", + "category": "Marketing Strategy", "slug": "what-types-of-social-media-ads-does-metatroncube-solutions-recommend-for-small-businesses-in-waterloo", "seoDesc": "Learn top social media advertising types recommended by MetatronCube Solutions for Waterloo small businesses. Expert paid social media marketing, Facebook ads for small businesses, and Instagram ads from your local social media agency. Start today!", "metatitle": "MetatronCube Solutions: Best Social Media Ads for Waterloo Small Businesses | Facebook & Instagram Ads", @@ -8416,7 +8416,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/blog1-big-img.webp", "date": "JANUARY 24, 2026", "user": "Admin", - "category": "Performance Marketing", + "category": "Marketing Strategy", "slug": "driving-digital-growth-with-metatroncubes-performance-focused-marketing-strategies", "seoDesc": "Learn how Metatroncube drives measurable digital growth through performance marketing, SEO, paid ads, and conversion-focused strategies.", "metatitle": "Driving Digital Growth with Metatroncube's Performance Marketing", @@ -8504,7 +8504,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/blog3-big-img.webp", "date": "JANUARY 25, 2026", "user": "Admin", - "category": "Digital Solutions", + "category": "Technology", "slug": "how-metatroncube-helps-businesses-scale-faster-with-smart-digital-solutions", "seoDesc": "Learn how Metatroncube helps businesses scale faster using smart digital solutions, web development, SEO, and data-driven marketing strategies.", "metatitle": "How Metatroncube Helps Businesses Scale with Digital Solutions", @@ -8678,7 +8678,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/1blog-big-img.webp", "date": "JANUARY 28, 2026", "user": "Admin", - "category": "Digital Marketing", + "category": "Marketing Strategy", "slug": "professional-digital-marketing-services-in-canada-for-sustainable-business-growth", "seoDesc": "Digital marketing services Canada, online marketing Canada, SEO Canada, PPC advertising Canada, social media marketing, Metatroncube", "metatitle": "Professional Digital Marketing Services in Canada | Metatroncube", @@ -8735,7 +8735,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/2blog-big-img.webp", "date": "JANUARY 29, 2026", "user": "Admin", - "category": "Web Development", + "category": "Web Design", "slug": "custom-website-development-solutions-in-canada-for-modern-businesses", "seoDesc": "Website development Canada, custom web development, business websites Canada, responsive web design, SEO websites, Metatroncube", "metatitle": "Custom Website Development Solutions in Canada | Metatroncube", @@ -8792,7 +8792,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/feb-6-1-big-img.webp", "date": "FEBRUARY 04, 2026", "user": "Admin", - "category": "Social Media Marketing", + "category": "Marketing Strategy", "slug": "is-metatroncube-solutions-the-top-choice-for-social-media-marketing-in-waterloo", "seoDesc": "Exploring social media marketing in Waterloo, ON? See how MetatronCube Solutions helps local businesses, startups, and service providers grow with tailored strategies.", "metatitle": "Social Media Marketing in Waterloo, ON | MetatronCube Solutions", @@ -9077,7 +9077,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/feb-6-2-big-img.webp", "date": "FEBRUARY 05, 2026", "user": "Admin", - "category": "Mobile UX", + "category": "Web Design", "slug": "how-can-metatroncube-solutions-improve-mobile-ux-for-my-business-website", "seoDesc": "Discover how MetatronCube Solutions offers Mobile UX Design Services in Waterloo, ON to improve speed, usability, and conversions for your business website.", "metatitle": "Mobile UX Design Services in Waterloo, ON | MetatronCube Solutions", @@ -9642,7 +9642,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/feb10-2-big-img.webp", "date": "FEBRUARY 11, 2026", "user": "Admin", - "category": "Web Optimization", + "category": "Web Design", "slug": "does-metatroncube-solutions-provide-website-audits-for-small-businesses", "seoDesc": "Yes, we offer website audit services in Waterloo Ontario for small businesses. Get a clear, local-focused review of your site’s SEO, performance, and conversions.", "metatitle": "Website Audit Services in Waterloo Ontario | MetatronCube Solutions", @@ -10275,7 +10275,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/feb-27-big-img.webp", "date": "FEBRUARY 27, 2026", "user": "Admin", - "category": "Digital Marketing", + "category": "Marketing Strategy", "slug": "why-social-media-management-important-business", "seoDesc": "Discover why social media management matters for business growth. Learn how Metatron Cube Solutions boosts your brand visibility, engagement, and revenue online.", "metatitle": "Why Social Media Management Is Important for Your Business | Metatron Cube Solutions", @@ -10371,7 +10371,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/feb-28-big-img.webp", "date": "FEBRUARY 28, 2026", "user": "Admin", - "category": "Digital Marketing", + "category": "Marketing Strategy", "slug": "why-you-need-digital-marketing-agency-business-growth", "seoDesc": "Learn why businesses need a digital marketing agency. Metatron Cube Solutions drives targeted traffic, boosts conversions, and grows your brand with proven strategies.", "metatitle": "Why You Need a Digital Marketing Agency | Metatron Cube Solutions", @@ -10477,7 +10477,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/mar-1-big-img.webp", "date": "MARCH 6, 2026", "user": "Admin", - "category": "Digital Marketing", + "category": "Marketing Strategy", "slug": "how-much-does-it-cost-to-hire-a-small-business-digital-marketing-agency-in-toronto", "seoDesc": "Discover how much it costs to hire a small business digital marketing agency in Toronto. Learn pricing ranges, services included, and how to choose the right agency.", "metatitle": "Cost to Hire a Digital Marketing Agency in Toronto for Small Businesses", @@ -10581,7 +10581,7 @@ info@metatroncubesolutions.com "big_image": "/assets/images/blog/blog-details/mar-2-big-img.webp", "date": "MARCH 7, 2026", "user": "Admin", - "category": "Digital Marketing", + "category": "Marketing Strategy", "slug": "digital-marketing-agency-pricing-models-explained", "seoDesc": "Learn how digital marketing agencies charge for services. Understand pricing models like retainers, hourly rates, project-based pricing, and performance models.", "metatitle": "Digital Marketing Agency Pricing Models Explained | Complete Guide", @@ -10770,7 +10770,7 @@ export const PortfolioData = [ category: "web", image: "/assets/images/portfolio/web-development/data4autos.png", colClass: "col-lg-4 col-md-6", - alt: "Data4Autos", + alt: "Data4Autos website", title: "Web Development", name: "Data4Autos", link: "https://data4autos.com/", @@ -10914,7 +10914,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/3.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 26", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -10926,7 +10926,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/4.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 2", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -10938,7 +10938,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/5.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 3", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -10950,7 +10950,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/6.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 4", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -10962,7 +10962,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/7.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 5", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -10974,7 +10974,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/8.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 6", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -10986,7 +10986,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/FALCON AD 1.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 7", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -10998,7 +10998,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/Falcon Tees.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 8", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11011,7 +11011,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/graphic-design/FB COVER.png", colClass: "col-lg-4 col-md-6", contentInnerClass: "case-study-content-inner", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 9", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11023,7 +11023,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/metatroncube.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 10", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11035,7 +11035,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/metatronNest.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 11", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11047,7 +11047,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/mockup.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 12", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11059,7 +11059,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/mockup-2.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 13", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11071,7 +11071,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/polo tshirt.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 14", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11083,7 +11083,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/POSTER.png", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 15", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11095,7 +11095,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/vehicle.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 16", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11107,7 +11107,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/1.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 17", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11119,7 +11119,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/2.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 18", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11131,7 +11131,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/3.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 19", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11143,7 +11143,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/6.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 20", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11156,7 +11156,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/graphic-design/new chennora banner.jpg", contentInnerClass: "case-study-content-inner", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 21", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11168,7 +11168,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/Digital Advertisement Agency.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 22", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11180,7 +11180,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/Copy of Metatroncube CA - June Posters.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 23", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11192,7 +11192,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/graphic.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 24", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11204,7 +11204,7 @@ export const PortfolioData = [ category: "graphic", image: "/assets/images/portfolio/graphic-design/graphic-4.jpg", colClass: "col-lg-4 col-md-6", - alt: "Consulting for Business Organizations", + alt: "Graphic designing 25", title: "Graphic Design", // name: "Consulting for Business Organizations", link: "#", @@ -11253,7 +11253,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/meta-ads/Google Ads.jpeg", colClass: "col-12", contentInnerClass: "case-study-content-inner2", - alt: "Consulting for Business Organizations", + alt: "Google meta ads 1", title: "Google Meta Ads", // name: "Consulting for Business Organizations", link: "#", @@ -11266,7 +11266,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/meta-ads/Meta Ads 1.png", colClass: "col-12", contentInnerClass: "case-study-content-inner2", - alt: "Consulting for Business Organizations", + alt: "Google meta ads 2", title: "Google Meta Ads", // name: "Consulting for Business Organizations", link: "#", @@ -11279,7 +11279,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/meta-ads/Meta Ads 2.png", colClass: "col-12", contentInnerClass: "case-study-content-inner2", - alt: "Consulting for Business Organizations", + alt: "Google meta ads 3", title: "Google Meta Ads", // name: "Consulting for Business Organizations", link: "#", @@ -11292,7 +11292,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/meta-ads/Meta Ads 3.png", colClass: "col-12", contentInnerClass: "case-study-content-inner2", - alt: "Consulting for Business Organizations", + alt: "Google meta ads 4", title: "Google Meta Ads", // name: "Consulting for Business Organizations", link: "#", @@ -11305,7 +11305,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/logo/logo-portfolio-01.png", colClass: "col-lg-4 col-md-6", contentInnerClass: "case-study-content-inner", - alt: "Consulting for Business Organizations", + alt: "Logo branding 1", title: "Logo Branding", name: "MetatronNest Control Panel", link: "#", @@ -11318,7 +11318,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/logo/logo-portfolio-03.png", colClass: "col-lg-4 col-md-6", contentInnerClass: "case-study-content-inner", - alt: "Consulting for Business Organizations", + alt: "Logo branding 2", title: "Logo Branding", name: "Janahan Law", link: "#", @@ -11331,7 +11331,7 @@ export const PortfolioData = [ image: "/assets/images/portfolio/logo/logo-portfolio-02.png", colClass: "col-lg-4 col-md-6", contentInnerClass: "case-study-content-inner", - alt: "Consulting for Business Organizations", + alt: "Logo branding 3", title: "Logo Branding", name: "MetatronCube Digital Academy", link: "#", @@ -11936,9 +11936,9 @@ export const MobileAppServicesData = [ id: 3, category: "coming-soon", image: "/assets/img-app/home/section6/data4autos.png", - alt: "Data4Autos", + alt: "Data4Autos Mobile App", title: "Automotive Analytics", name: "Data4Autos", link: "#", } -]; +]; \ No newline at end of file