From 4010234282f80d1d023b5db554e67885a9782cdc Mon Sep 17 00:00:00 2001 From: alvyynm Date: Thu, 30 May 2024 21:54:13 +0300 Subject: [PATCH 01/18] chore: install react-helmet --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 86be2fcd..504d44bb 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-fast-marquee": "^1.6.2", + "react-helmet": "^6.1.0", "react-hook-form": "^7.48.2", "react-hot-toast": "^2.4.1", "react-lazy-load-image-component": "^1.6.0", From af6d8e3e9298195e7a49a576a058757e9b524d09 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 11:28:47 +0300 Subject: [PATCH 02/18] chore: install react-helmet-async --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 504d44bb..b62be717 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "react-dom": "^18.2.0", "react-fast-marquee": "^1.6.2", "react-helmet": "^6.1.0", + "react-helmet-async": "^2.0.5", "react-hook-form": "^7.48.2", "react-hot-toast": "^2.4.1", "react-lazy-load-image-component": "^1.6.0", From 7b885c1c40de3265e05d9d5c521c9a04bbb03502 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 11:29:42 +0300 Subject: [PATCH 03/18] chore: uninstall react-helmet --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index b62be717..41070bc1 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,6 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-fast-marquee": "^1.6.2", - "react-helmet": "^6.1.0", "react-helmet-async": "^2.0.5", "react-hook-form": "^7.48.2", "react-hot-toast": "^2.4.1", From b4b483e1af6efc27f11f35bb2df8555060391f42 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 17:05:52 +0300 Subject: [PATCH 04/18] chore: wrap entire app in react-helmet-async provider --- src/main.jsx | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main.jsx b/src/main.jsx index 4eb68d4a..a61c49e6 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -2,6 +2,7 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import React from "react"; import ReactDOM from "react-dom/client"; +import { HelmetProvider } from "react-helmet-async"; import { Toaster } from "react-hot-toast"; import { RouterProvider } from "react-router-dom"; import "./index.css"; @@ -21,16 +22,18 @@ const queryClient = new QueryClient({ ReactDOM.createRoot(document.getElementById("root")).render( - - - - - - - - - - - + + + + + + + + + + + + + ); From eb7ad102f5b28e5a899398bc295a9bf4834ad651 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 17:22:56 +0300 Subject: [PATCH 05/18] chore: create seometadata component --- src/APP/components/SeoMetadata.jsx | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/APP/components/SeoMetadata.jsx diff --git a/src/APP/components/SeoMetadata.jsx b/src/APP/components/SeoMetadata.jsx new file mode 100644 index 00000000..6f9ed6a1 --- /dev/null +++ b/src/APP/components/SeoMetadata.jsx @@ -0,0 +1,42 @@ +import { Helmet } from "react-helmet-async"; + +export default function SeoMetadata({ + title, + description, + type = "website", + url, + ogImage = "https://apis.spaceyatech.com/media/blog-images/syt.png", + ogImageAlt = "SpaceYaTech logo, social media handles, website URL, email, and more on a muted background.", +}) { + return ( + + {/* Standard metadata tags */} + {`${title} - SpaceYaTech`} + + + {/* End Standard metadata tags */} + {/* Standard OpenGraph metadata tags */} + + + + + + {/* End standard OG metadata tags */} + {/* Optional OG metadata tags */} + + + + + + + + {/* End Optional OG metadata tags */} + {/* Twitter tags */} + + + + + {/* End Twitter tags */} + + ); +} From c659b2e5de7126f3d5090c7d1ae57c7648e661d9 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 21:37:21 +0300 Subject: [PATCH 06/18] chore: refactor site name --- src/APP/components/SeoMetadata.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/APP/components/SeoMetadata.jsx b/src/APP/components/SeoMetadata.jsx index 6f9ed6a1..49899555 100644 --- a/src/APP/components/SeoMetadata.jsx +++ b/src/APP/components/SeoMetadata.jsx @@ -7,6 +7,7 @@ export default function SeoMetadata({ url, ogImage = "https://apis.spaceyatech.com/media/blog-images/syt.png", ogImageAlt = "SpaceYaTech logo, social media handles, website URL, email, and more on a muted background.", + siteName = "SpaceYaTech", }) { return ( @@ -27,7 +28,7 @@ export default function SeoMetadata({ - + {/* End Optional OG metadata tags */} From 5ba43ecf11c1b3f3233eaf8081b6ffe75d5da6b5 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:25:05 +0300 Subject: [PATCH 07/18] feat: add seo metadata to/about-us --- src/APP/pages/aboutUs/AboutUs.jsx | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/APP/pages/aboutUs/AboutUs.jsx b/src/APP/pages/aboutUs/AboutUs.jsx index 6658c297..da19a86e 100644 --- a/src/APP/pages/aboutUs/AboutUs.jsx +++ b/src/APP/pages/aboutUs/AboutUs.jsx @@ -1,5 +1,5 @@ import { useEffect } from "react"; - +import SeoMetadata from "../../components/SeoMetadata"; import { HeroSection, LeadershipSection, @@ -13,12 +13,22 @@ function AboutUs() { }, []); return ( -
- - - - -
+ <> + +
+ + + + +
+ ); } From fb8cb4359678ed0ee1c201217431814e9563dc42 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:27:36 +0300 Subject: [PATCH 08/18] feat: add seo metadata to/blogs:titleSlug --- src/APP/pages/blog2/Blog2.jsx | 74 ++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/src/APP/pages/blog2/Blog2.jsx b/src/APP/pages/blog2/Blog2.jsx index 4cfec413..02f68447 100644 --- a/src/APP/pages/blog2/Blog2.jsx +++ b/src/APP/pages/blog2/Blog2.jsx @@ -3,6 +3,7 @@ import { useNavigate, useParams } from "react-router-dom"; import useBlogData from "../../../hooks/Queries/blog/useBlogData"; import { Loader } from "../../components"; +import SeoMetadata from "../../components/SeoMetadata"; import { Advert, BlogHeader, BlogBody } from "./sections"; function Blog2() { @@ -22,38 +23,49 @@ function Blog2() { }, [refetchBlogData, titleSlug]); return ( -
- {isError && navigate("/error-500")} + <> + +
+ {isError && navigate("/error-500")} - {isLoading && ( -
- -

- Loading blog details... -

-
- )} - {isSuccess && ( - <> - - - - - )} -
+ {isLoading && ( +
+ +

+ Loading blog details... +

+
+ )} + {isSuccess && ( + <> + + + + + )} +
+ ); } From b4e7060ed57cbdeb7ecf92db64eabba7a3d94904 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:28:55 +0300 Subject: [PATCH 09/18] feat: add seo metadata to/blogs --- src/APP/pages/blogs/Blogs.jsx | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/APP/pages/blogs/Blogs.jsx b/src/APP/pages/blogs/Blogs.jsx index 65b76d4e..9acc7895 100644 --- a/src/APP/pages/blogs/Blogs.jsx +++ b/src/APP/pages/blogs/Blogs.jsx @@ -1,13 +1,25 @@ import React from "react"; +import SeoMetadata from "../../components/SeoMetadata"; import { Banner, BlogsWrapper } from "./sections"; function Blogs() { return ( -
- - -
+ <> + +
+ + +
+ ); } From f312bf20e96dc24fda143f33ce2671932340367e Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:29:57 +0300 Subject: [PATCH 10/18] feat: add seo metadata to/community --- src/APP/pages/community/CommunityPage.jsx | 25 ++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/APP/pages/community/CommunityPage.jsx b/src/APP/pages/community/CommunityPage.jsx index ec1d89a3..77cbeeb4 100644 --- a/src/APP/pages/community/CommunityPage.jsx +++ b/src/APP/pages/community/CommunityPage.jsx @@ -1,4 +1,5 @@ import { useEffect } from "react"; +import SeoMetadata from "../../components/SeoMetadata"; import EventsSection from "../events/sections/eventsSection/EventsSection"; import { WelcomeSection, GallerySection } from "./sections"; @@ -8,13 +9,23 @@ function CommunityPage() { }, []); return ( -
-
- - - -
-
+ <> + +
+
+ + + +
+
+ ); } From 0d566ad76af8815613a72a237405fcd43b54f99d Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:30:55 +0300 Subject: [PATCH 11/18] feat: add seo metadata to/events --- src/APP/pages/events/pages/EventsPage.jsx | 26 ++++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/APP/pages/events/pages/EventsPage.jsx b/src/APP/pages/events/pages/EventsPage.jsx index 5c19fbcc..c81d565f 100644 --- a/src/APP/pages/events/pages/EventsPage.jsx +++ b/src/APP/pages/events/pages/EventsPage.jsx @@ -1,19 +1,29 @@ import React from "react"; import { GoBackBtn } from "../../../components"; +import SeoMetadata from "../../../components/SeoMetadata"; import { EventsSection, FeaturedCarousel } from "../sections"; function EventsPage() { return ( -
-
- + <> + +
+
+ + - - - -
-
+ +
+
+ ); } From 97b6a8a20047f639f23d061caaebf243c18e0d41 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:32:24 +0300 Subject: [PATCH 12/18] feat: add seo metadata to/gallery --- src/APP/pages/gallery/GalleryPage.jsx | 67 ++++++++++++++++----------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/src/APP/pages/gallery/GalleryPage.jsx b/src/APP/pages/gallery/GalleryPage.jsx index 727bffd0..779179b1 100644 --- a/src/APP/pages/gallery/GalleryPage.jsx +++ b/src/APP/pages/gallery/GalleryPage.jsx @@ -2,6 +2,7 @@ import React, { useState } from "react"; import { Link } from "react-router-dom"; import { arrowCircleLeft } from "../../../assets/images/icons"; import processPhotos from "../../../utilities/processPhotos"; +import SeoMetadata from "../../components/SeoMetadata"; import photosData from "./data"; import ImageCard from "./sections/ImageCard"; @@ -11,33 +12,46 @@ function GalleryPage() { const photos = processPhotos(photosData); return ( -
-
-
- -
- arrow-left - - Go Back - -
- + <> + +
+
+
+ +
+ arrow-left + + Go Back + +
+ -

- SpaceYaTech Gallery | Collection 2024 -

-
+

+ SpaceYaTech Gallery | Collection 2024 +

+
- {/*
+ {/*
{photosData.map((photo) => ( ))}
*/} - {/*
@@ -71,7 +85,7 @@ function GalleryPage() { })}
*/} - {/*
@@ -98,12 +112,13 @@ function GalleryPage() {
*/} - {/* Gallery library */} -
- + {/* Gallery library */} +
+ +
-
-
+ + ); } From 7fff99d4f0d0fb39ef9fdc06ae3d5f00e7d4beb7 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:33:22 +0300 Subject: [PATCH 13/18] feat: add seo metadata to/ --- src/APP/pages/landingPage/LandingPage.jsx | 37 +++++++++++++++-------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/src/APP/pages/landingPage/LandingPage.jsx b/src/APP/pages/landingPage/LandingPage.jsx index 40610d4f..134c37ff 100644 --- a/src/APP/pages/landingPage/LandingPage.jsx +++ b/src/APP/pages/landingPage/LandingPage.jsx @@ -1,6 +1,7 @@ /* eslint-disable import/extensions */ /* eslint-disable import/no-unresolved */ import LandingWrapper from "../../components/LandingWrapper"; +import SeoMetadata from "../../components/SeoMetadata"; import { CTASection, FaqSection, @@ -39,20 +40,30 @@ const components = [ function LandingPage() { return ( -
- - - - - {components.map(({ component, title }) => ( - - {component} - - ))} -
- + <> + +
+ + + + + {components.map(({ component, title }) => ( + + {component} + + ))} +
+ +
-
+ ); } From 68b4484dc0a04797a7bf0bdf241b0a00abf42e9f Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:33:55 +0300 Subject: [PATCH 14/18] feat: add seo metadata to/products --- src/APP/pages/products2/Products.jsx | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/APP/pages/products2/Products.jsx b/src/APP/pages/products2/Products.jsx index a736d3bc..7e9d6611 100644 --- a/src/APP/pages/products2/Products.jsx +++ b/src/APP/pages/products2/Products.jsx @@ -1,4 +1,5 @@ import React, { useEffect } from "react"; +import SeoMetadata from "../../components/SeoMetadata"; import { HeroSection, ProductsSection, Teams, TechStack } from "./sections"; const Products = () => { @@ -6,12 +7,22 @@ const Products = () => { window.scrollTo(0, 0); }, []); return ( -
- - - - -
+ <> + +
+ + + + +
+ ); }; From c6d33c008a6e24e20f3c40359861d5e8b74f8196 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:34:51 +0300 Subject: [PATCH 15/18] feat: add seo metadata to/resources --- src/APP/pages/resources/Resources.jsx | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/APP/pages/resources/Resources.jsx b/src/APP/pages/resources/Resources.jsx index a2c37968..6d860714 100644 --- a/src/APP/pages/resources/Resources.jsx +++ b/src/APP/pages/resources/Resources.jsx @@ -1,12 +1,23 @@ +import SeoMetadata from "../../components/SeoMetadata"; import { HeroSection, ResourcesSection } from "./sections"; // million-ignore const Resources = () => { return ( -
- - -
+ <> + +
+ + +
+ ); }; From de8dd1ba8a1d431eef581f97913dde10e4e4f125 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Fri, 31 May 2024 22:36:06 +0300 Subject: [PATCH 16/18] feat: add seo metadata to/shop --- src/APP/pages/shop/Homepage.jsx | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/APP/pages/shop/Homepage.jsx b/src/APP/pages/shop/Homepage.jsx index 88b9e749..54724647 100644 --- a/src/APP/pages/shop/Homepage.jsx +++ b/src/APP/pages/shop/Homepage.jsx @@ -1,3 +1,4 @@ +import SeoMetadata from "../../components/SeoMetadata"; import Banner from "./sections/Banner"; import CategoriesSection from "./sections/CategoriesSection"; import PopularItemsSection from "./sections/PopularItemsSection"; @@ -5,12 +6,23 @@ import PopularItemsSection from "./sections/PopularItemsSection"; function Homepage() { return ( -
- - - {/* */} - -
+ <> + +
+ + + {/* */} + +
+ ); } From bf0bb64a3c8da4b70fd6df9e8044fbf8b6fd37e8 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Tue, 4 Jun 2024 15:59:59 +0300 Subject: [PATCH 17/18] feat: add seo metadata to /events/:id --- .../sections/eventsPreview/SingleEvents/SingleEvent.jsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/APP/pages/community/sections/eventsPreview/SingleEvents/SingleEvent.jsx b/src/APP/pages/community/sections/eventsPreview/SingleEvents/SingleEvent.jsx index afef31ab..96a5108d 100644 --- a/src/APP/pages/community/sections/eventsPreview/SingleEvents/SingleEvent.jsx +++ b/src/APP/pages/community/sections/eventsPreview/SingleEvents/SingleEvent.jsx @@ -1,5 +1,6 @@ import React, { useEffect } from "react"; import { useParams } from "react-router-dom"; +import SeoMetadata from "../../../../../components/SeoMetadata"; import { GoBackBtn, LandingWrapper, Loader } from "../../../../../components"; import { EventDescription, Hero, SimilarEvents } from "./sections"; @@ -21,6 +22,13 @@ function SingleEvent() { return ( <> + {isError &&

Error fetching event!

} {isPending && (
From bc94cb1c3b0a002c7a32ab97491a828d56eb2be8 Mon Sep 17 00:00:00 2001 From: alvyynm Date: Tue, 4 Jun 2024 16:01:57 +0300 Subject: [PATCH 18/18] feat: remove image type from seo metadata --- src/APP/components/SeoMetadata.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/APP/components/SeoMetadata.jsx b/src/APP/components/SeoMetadata.jsx index 49899555..e12fc472 100644 --- a/src/APP/components/SeoMetadata.jsx +++ b/src/APP/components/SeoMetadata.jsx @@ -26,7 +26,6 @@ export default function SeoMetadata({ {/* Optional OG metadata tags */} -