diff --git a/website2/src/app/clean-air-forum/glossary/page.tsx b/website2/src/app/clean-air-forum/glossary/page.tsx index 680f0cd037..5c278261dc 100644 --- a/website2/src/app/clean-air-forum/glossary/page.tsx +++ b/website2/src/app/clean-air-forum/glossary/page.tsx @@ -13,8 +13,8 @@ const Page = () => { } return ( -
- +
+ {/* Split Section - Vaccination */}
diff --git a/website2/src/app/clean-air-forum/layout.tsx b/website2/src/app/clean-air-forum/layout.tsx index 54f43a9fd1..4b28ada2d7 100644 --- a/website2/src/app/clean-air-forum/layout.tsx +++ b/website2/src/app/clean-air-forum/layout.tsx @@ -1,12 +1,12 @@ 'use client'; import React, { ReactNode } from 'react'; -import { Suspense } from 'react'; import Footer from '@/components/layouts/Footer'; import Navbar from '@/components/layouts/Navbar'; import NewsLetter from '@/components/layouts/NewsLetter'; import Loading from '@/components/loading'; +import mainConfig from '@/configs/mainConfigs'; import { ForumDataProvider } from '@/context/ForumDataContext'; import { useForumEvents } from '@/hooks/useApiHooks'; import BannerSection from '@/views/Forum/BannerSection'; @@ -17,37 +17,42 @@ type CleanAirLayoutProps = { const CleanAirLayout: React.FC = ({ children }) => { // Using the `useForumEvents` hook - const { forumEvents } = useForumEvents(); + const { forumEvents, isLoading } = useForumEvents(); // Extract the first event (if available) const eventData = forumEvents?.[0] || null; + // Loading state + if (isLoading) { + return ; + } + return ( - }> -
- {/* Navbar */} -
- -
- - {/* Banner Section */} - - - {/* Main Content */} -
{children}
- - {/* Newsletter Section */} -
- -
- - {/* Footer */} -
-
-
-
-
+
+ {/* Navbar */} +
+ +
+ + {/* Banner Section */} + + + {/* Main Content */} +
+ {children} +
+ + {/* Newsletter Section */} +
+ +
+ + {/* Footer */} +
+
+
+
); }; diff --git a/website2/src/app/clean-air-forum/logistics/page.tsx b/website2/src/app/clean-air-forum/logistics/page.tsx index 8b7a54eff4..4db91a8225 100644 --- a/website2/src/app/clean-air-forum/logistics/page.tsx +++ b/website2/src/app/clean-air-forum/logistics/page.tsx @@ -12,8 +12,8 @@ const Page = () => { return null; } return ( -
- +
+ {/* Split Section - Vaccination */}
@@ -30,7 +30,7 @@ const Page = () => {
- + {/* Split Section - Vaccination */}
diff --git a/website2/src/app/clean-air-forum/partners/page.tsx b/website2/src/app/clean-air-forum/partners/page.tsx index 79bbfb0936..ceb0eb8c94 100644 --- a/website2/src/app/clean-air-forum/partners/page.tsx +++ b/website2/src/app/clean-air-forum/partners/page.tsx @@ -45,8 +45,8 @@ const Page = () => { })); return ( -
- +
+ {/* Partners Text Section */}
@@ -71,7 +71,7 @@ const Page = () => { {/* Convening Partners Section */} {conveningPartners?.length > 0 && ( <> - +
@@ -92,7 +92,7 @@ const Page = () => { {/* Host Partners Section */} {hostPartners?.length > 0 && ( <> - +
@@ -113,7 +113,7 @@ const Page = () => { {/* Sponsors Section */} {sponsorPartner?.length > 0 && ( <> - +
@@ -132,7 +132,7 @@ const Page = () => { {/* Funding Partners Section */} {fundingPartners?.length > 0 && ( <> - +
diff --git a/website2/src/app/clean-air-forum/program-committee/page.tsx b/website2/src/app/clean-air-forum/program-committee/page.tsx index 4c2a11e574..6ae5799636 100644 --- a/website2/src/app/clean-air-forum/program-committee/page.tsx +++ b/website2/src/app/clean-air-forum/program-committee/page.tsx @@ -45,8 +45,8 @@ const Page: React.FC = () => { }; return ( -
- +
+

Program Committee

@@ -58,7 +58,7 @@ const Page: React.FC = () => {
{/* Member Cards */} -
+
{displayedMembers?.map((person: any) => ( { }; return ( -
+
{/* Buttons for Expand/Collapse All */}
))}
diff --git a/website2/src/app/clean-air-forum/schedule/page.tsx b/website2/src/app/clean-air-forum/schedule/page.tsx index 72f18619cb..8dc072116d 100644 --- a/website2/src/app/clean-air-forum/schedule/page.tsx +++ b/website2/src/app/clean-air-forum/schedule/page.tsx @@ -43,7 +43,7 @@ const AccordionItem: React.FC = ({
{sessions?.map((item: any, index: any) => (
- +
{formatTime(item.start_time)} @@ -81,7 +81,7 @@ const Page = () => { } return ( -
+
{/* Schedule Section */}

Schedule

@@ -104,7 +104,7 @@ const Page = () => { /> ))} - + {/* Registration Section */}
@@ -121,7 +121,7 @@ const Page = () => {
- + {/* Sponsorship Section */}
diff --git a/website2/src/app/clean-air-forum/speakers/page.tsx b/website2/src/app/clean-air-forum/speakers/page.tsx index 27eeaed363..6748aba32e 100644 --- a/website2/src/app/clean-air-forum/speakers/page.tsx +++ b/website2/src/app/clean-air-forum/speakers/page.tsx @@ -55,8 +55,8 @@ const Page = () => { }; return ( -
- +
+
{ {/* Keynote Speakers Section */}

Keynote Speakers

-
+
{displayedKeyNoteSpeakers?.map((person: any) => ( {
)} - + {/* Speakers Section */}

Speakers

-
+
{displayedSpeakers?.map((person: any) => ( = ({ children }) => { return ( -
{children}
+
+ {children} +
); }; diff --git a/website2/src/app/products/analytics/AnalyticsPage.tsx b/website2/src/app/products/analytics/AnalyticsPage.tsx index 15a9a8d47e..72f1871ffc 100644 --- a/website2/src/app/products/analytics/AnalyticsPage.tsx +++ b/website2/src/app/products/analytics/AnalyticsPage.tsx @@ -6,6 +6,7 @@ import React from 'react'; import { BiDownload } from 'react-icons/bi'; import { CustomButton } from '@/components/ui'; +import mainConfig from '@/configs/mainConfigs'; // Define motion variants for different animations const containerVariants = { @@ -49,7 +50,9 @@ const AnalyticsPage = () => { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Text Content */}

@@ -85,7 +88,7 @@ const AnalyticsPage = () => { {/* Unlock Air Quality Insights Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -

+
{/* Card Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Image Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Description and Button */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Text Content */}

@@ -83,7 +86,7 @@ const ApiPage = () => { {/* Unlock Air Quality Insights Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -

+
{/* Card Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Image Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Description and Button */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Text Content */}

@@ -84,7 +87,7 @@ const CalibratePage = () => { {/* Why Calibrate Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -

+
{/* Card Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Image Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Description and Button */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Text Content */}

@@ -85,7 +88,7 @@ const MobilePage = () => { {/* Know Your Air Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -

+
{/* Card Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Image Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Card Section (Health Tips Description) */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Text Content */}

@@ -89,7 +92,9 @@ const MonitorPage = () => { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -

+
{/* Card Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Image Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Image Section */} { {/* Monitor Installation Guide Section */} { viewport={{ once: true, amount: 0.2 }} variants={containerVariants} > -
+
{/* Card Section */} { return ( - +
{/* Left Side - Breadcrumb and Text with Animation */} { const router = useRouter(); const dispatch = useDispatch(); return ( -
+
{/* Card 1 */} { diff --git a/website2/src/components/layouts/ActionButtons2.tsx b/website2/src/components/layouts/ActionButtons2.tsx index 67883d54eb..ae6f58f9ec 100644 --- a/website2/src/components/layouts/ActionButtons2.tsx +++ b/website2/src/components/layouts/ActionButtons2.tsx @@ -1,11 +1,15 @@ 'use client'; import React from 'react'; +import mainConfig from '@/configs/mainConfigs'; + import { CustomButton } from '../ui'; const ActionButtons2 = () => { return ( -
+
{/* Card 1 */} { diff --git a/website2/src/components/layouts/Footer.tsx b/website2/src/components/layouts/Footer.tsx index 1bff44d4c6..24c76d3f8e 100644 --- a/website2/src/components/layouts/Footer.tsx +++ b/website2/src/components/layouts/Footer.tsx @@ -8,6 +8,8 @@ import { FaYoutube, } from 'react-icons/fa'; +import mainConfig from '@/configs/mainConfigs'; + import CountrySelectorDialog from '../sections/footer/CountrySelectorDialog'; import MonitorDisplay from '../sections/footer/MonitorDisplay'; import ScrollToTopButton from './ScrollToTopButton'; @@ -17,7 +19,7 @@ const Footer = () => { return (