From 62cff29657aac2774662ffaeb35a18f481ecac79 Mon Sep 17 00:00:00 2001 From: priyanshuvish Date: Tue, 2 Sep 2025 20:34:00 +0530 Subject: [PATCH 1/2] type error fix --- src/App.tsx | 90 ++++++------------- src/components/StackedOfferSection.tsx | 3 +- .../services/ManagementDevelopment.tsx | 2 +- src/main.tsx | 2 +- src/styles/globals.css | 8 +- 5 files changed, 39 insertions(+), 66 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 139ad71..0cee8ed 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,52 +1,35 @@ -import React from 'react'; -import { Routes, Route } from "react-router-dom"; -import { AuthProvider } from "./components/AuthContext"; -import { CartProvider } from "./components/CartContext"; -import { Navigation } from "./components/Navigation"; -import HeroSection from "./components/HeroSection"; -import { StatsSection } from "./components/StatsSection"; -import { LogosSection } from "./components/LogosSection"; -import { ServicesSection } from "./components/ServicesSection"; -import { VirtualSpaceSection } from "./components/VirtualSpaceSection"; -import { TestimonialsSection } from "./components/TestimonialsSection"; -import { UpcomingWebinarsSection } from "./components/UpcomingWebinarsSection"; -import { InsightsSection } from "./components/InsightsSection"; -import { CTABannerSection } from "./components/CTABannerSection"; -import { WhitepapersSection } from "./components/WhitepapersSection"; -import { Footer } from "./components/Footer"; +import { Route, Routes, useNavigate } from "react-router-dom"; +import { OurExpertise } from "./components/about/OurExpertise"; +import { OurImpact } from "./components/about/OurImpact"; +import { OurVision } from "./components/about/OurVision"; import { AIChatbot } from "./components/AIChatbot"; +import { Articles } from "./components/Articles"; +import { AuthProvider } from "./components/AuthContext"; +import { BlogDetail } from "./components/BlogDetail"; +import { Blogs } from "./components/Blogs"; +import { Cart } from "./components/Cart"; +import { CartProvider } from "./components/CartContext"; +import { Contact } from "./components/Contact"; +import { CorporateSignIn } from "./components/CorporateSignIn"; +import { CorporateSignUp } from "./components/CorporateSignUp"; +import { Footer } from "./components/Footer"; import { LeadershipJourneyPage } from "./components/LeadershipJourneyPage"; -import { LeadershipDevelopment } from "./components/services/LeadershipDevelopment"; +import { LearningOnline } from "./components/LearningOnline"; +import { Navigation } from "./components/Navigation"; +import { ProgrammeDetail } from "./components/ProgrammeDetail"; +import { SelfLearnerSignIn } from "./components/SelfLearnerSignIn"; +import { SelfLearnerSignUp } from "./components/SelfLearnerSignUp"; import { Consulting } from "./components/services/Consulting"; import { CultureCompetence } from "./components/services/CultureCompetence"; import { ExecutiveCoaching } from "./components/services/ExecutiveCoaching"; -import { ManagementDevelopment } from "./components/services/ManagementDevelopment"; +import { LeadershipDevelopment } from "./components/services/LeadershipDevelopment"; import { LearningFacility } from "./components/services/LearningFacility"; -import { OurVision } from "./components/about/OurVision"; -import { OurExpertise } from "./components/about/OurExpertise"; -import { OurImpact } from "./components/about/OurImpact"; -import { Contact } from "./components/Contact"; -import { Cart } from "./components/Cart"; -import { CorporateSignIn } from "./components/CorporateSignIn"; -import { SelfLearnerSignIn } from "./components/SelfLearnerSignIn"; -import { CorporateSignUp } from "./components/CorporateSignUp"; -import { SelfLearnerSignUp } from "./components/SelfLearnerSignUp"; -import { ProgrammeDetail } from "./components/ProgrammeDetail"; -import { Articles } from "./components/Articles"; -import { Blogs } from "./components/Blogs"; -import { BlogDetail } from "./components/BlogDetail"; -import { Webinars } from "./components/Webinars"; -import { WebinarsPage } from "./components/WebinarsPage"; -import WebinarsListing from "./components/WebinarsListing"; -import WebinarDetail from "./components/WebinarDetail"; -import { LearningOnline } from "./components/LearningOnline"; +import { ManagementDevelopment } from "./components/services/ManagementDevelopment"; import { Terms } from "./components/Terms"; +import { Webinars } from "./components/Webinars"; +import WebinarsListing from "./components/WebinarsListing"; +import { WebinarsPage } from "./components/WebinarsPage"; import HomePage from './pages/HomePage'; -// import EnrollPlaceholder from "./components/EnrollPlaceholder"; -// import ForgotPasswordPlaceholder from "./components/ForgotPasswordPlaceholder"; -// import DashboardPlaceholder from "./components/DashboardPlaceholder"; -// import CheckoutPlaceholder from "./components/CheckoutPlaceholder"; -// import HomePage from "./components/HomePage"; export default function App() { return ( @@ -134,26 +117,9 @@ export default function App() { ); } -// Home Page Component (extracted from your default landing page) -// function HomePage() { -// return ( -// <> -// -// -// -// -// -// -// -// -// -// -// -// ); -// } - // 404 Not Found Component function NotFound() { + const navigate = useNavigate(); return (
@@ -161,12 +127,14 @@ function NotFound() {

The page you're looking for doesn't exist.

- +
); diff --git a/src/components/StackedOfferSection.tsx b/src/components/StackedOfferSection.tsx index e7c3cc7..87e8d3b 100644 --- a/src/components/StackedOfferSection.tsx +++ b/src/components/StackedOfferSection.tsx @@ -22,6 +22,7 @@ export type StackedOfferCard = { subtitle?: string; description?: string; badge?: string; + color?: string; features?: string[]; stats?: Array<{ label: string; value: string }>; icon?: React.ComponentType; @@ -108,7 +109,7 @@ export default function StackedOfferSection({ // Constants - Increased card height from 400px to 480px const CARD_HEIGHT = 480; - const SCROLL_PER_CARD = 200; // Pixels to scroll for each card + const SCROLL_PER_CARD = 500; // Pixels to scroll for each card useEffect(() => { let ticking = false; diff --git a/src/components/services/ManagementDevelopment.tsx b/src/components/services/ManagementDevelopment.tsx index 1109121..9a47076 100644 --- a/src/components/services/ManagementDevelopment.tsx +++ b/src/components/services/ManagementDevelopment.tsx @@ -238,7 +238,7 @@ export function ManagementDevelopment() {
-
+
85%
diff --git a/src/main.tsx b/src/main.tsx index dd26824..2a67ffa 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,5 +1,5 @@ import { createRoot } from "react-dom/client"; -import App from "./App.tsx"; +import App from "./App"; import "../src/styles/globals.css"; import { BrowserRouter } from "react-router-dom"; diff --git a/src/styles/globals.css b/src/styles/globals.css index 0a76c39..63db54f 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -344,13 +344,13 @@ border: none; cursor: pointer; background-color: var(--color-primary); - color: var(--color-black); + color: var(--background); box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); } .brand-button-system:hover { background-color: #030359; - color: var(--color-black); + color: var(--background); transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); } @@ -5286,4 +5286,8 @@ html { width: 3rem; height: 3rem; } + .text-h2-white { + font-size: calc(var(--font-h2) * 0.8); /* reduce by 20% */ + line-height: calc(var(--line-height-h2) * 0.9); + } } \ No newline at end of file From a43225db9bd8f1390be8edb78fbb5ffa48d7e68a Mon Sep 17 00:00:00 2001 From: priyanshuvish Date: Fri, 5 Sep 2025 12:20:05 +0530 Subject: [PATCH 2/2] responsive and other changes --- package-lock.json | 100 ++++++++++++++++++ package.json | 2 + src/components/BookFacility.tsx | 8 +- src/components/README-ReusableCarousel.md | 2 +- src/components/StackedOfferSection.tsx | 2 +- src/components/VirtualTour.tsx | 10 +- src/components/about/OurExpertise.tsx | 14 +-- src/components/about/OurImpact.tsx | 8 +- src/components/about/OurVision.tsx | 10 +- src/components/services/Consulting.tsx | 10 +- src/components/services/CultureCompetence.tsx | 10 +- src/components/services/ExecutiveCoaching.tsx | 10 +- .../services/LeadershipDevelopment.tsx | 10 +- src/components/services/LearningFacility.tsx | 14 +-- .../services/ManagementDevelopment.tsx | 8 +- src/services/baseQuery.ts | 15 +++ src/services/storeSwitchToDashboard.tsx | 37 +++++++ src/store/Store.tsx | 16 +++ 18 files changed, 228 insertions(+), 58 deletions(-) create mode 100644 src/services/baseQuery.ts create mode 100644 src/services/storeSwitchToDashboard.tsx create mode 100644 src/store/Store.tsx diff --git a/package-lock.json b/package-lock.json index 38a8b23..e76633a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,6 +34,7 @@ "@radix-ui/react-toggle": "^1.1.2", "@radix-ui/react-toggle-group": "^1.1.2", "@radix-ui/react-tooltip": "^1.1.8", + "@reduxjs/toolkit": "^2.9.0", "@tailwindcss/postcss": "^4.1.12", "class-variance-authority": "^0.7.1", "clsx": "*", @@ -48,6 +49,7 @@ "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", "react-hook-form": "^7.55.0", + "react-redux": "^9.2.0", "react-resizable-panels": "^2.1.7", "react-router-dom": "^7.8.2", "recharts": "^2.15.2", @@ -2239,6 +2241,32 @@ "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", "license": "MIT" }, + "node_modules/@reduxjs/toolkit": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.9.0.tgz", + "integrity": "sha512-fSfQlSRu9Z5yBkvsNhYF2rPS8cGXn/TZVrlwN1948QyZ8xMZ0JvP50S2acZNaf+o63u6aEeMjipFyksjIcWrog==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -2526,6 +2554,18 @@ "win32" ] }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "license": "MIT" + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, "node_modules/@swc/core": { "version": "1.13.5", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz", @@ -3158,6 +3198,12 @@ "@types/react": "^19.0.0" } }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, "node_modules/@vitejs/plugin-react": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.2.tgz", @@ -3715,6 +3761,16 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, + "node_modules/immer": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.3.tgz", + "integrity": "sha512-tmjF/k8QDKydUlm3mZU+tjM6zeq9/fFpPqH9SzWmBnVVKsPBg/V66qsMwb3/Bo90cgUN+ghdVBess+hPsxUyRw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/input-otp": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/input-otp/-/input-otp-1.4.2.tgz", @@ -4309,6 +4365,29 @@ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "license": "MIT" }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, "node_modules/react-refresh": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", @@ -4499,6 +4578,27 @@ "decimal.js-light": "^2.4.1" } }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, "node_modules/rollup": { "version": "4.49.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.49.0.tgz", diff --git a/package.json b/package.json index 4dae6f6..7e6aeb6 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@radix-ui/react-toggle": "^1.1.2", "@radix-ui/react-toggle-group": "^1.1.2", "@radix-ui/react-tooltip": "^1.1.8", + "@reduxjs/toolkit": "^2.9.0", "@tailwindcss/postcss": "^4.1.12", "class-variance-authority": "^0.7.1", "clsx": "*", @@ -43,6 +44,7 @@ "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", "react-hook-form": "^7.55.0", + "react-redux": "^9.2.0", "react-resizable-panels": "^2.1.7", "react-router-dom": "^7.8.2", "recharts": "^2.15.2", diff --git a/src/components/BookFacility.tsx b/src/components/BookFacility.tsx index c607cfc..4108a68 100644 --- a/src/components/BookFacility.tsx +++ b/src/components/BookFacility.tsx @@ -227,7 +227,7 @@ export function BookFacility() { return (
-
+
-
+
-
+
{/* Confirmation Header */}
@@ -637,7 +637,7 @@ export function BookFacility() {
-
+
{/* Back Button */} {/* Hero Content */} -
+
{/* Main Content */} @@ -469,7 +469,7 @@ export function VirtualTour() { {/* Facility Stats Card */}
-
+
@@ -527,7 +527,7 @@ export function VirtualTour() { {/* Virtual Tour Section */}
-
+
{!isVirtualTourActive ? ( /* Tour Preview */
@@ -1215,7 +1215,7 @@ export function VirtualTour() { {/* FAQ Section */}
-
+
-
+

Ready to Transform Your Team? diff --git a/src/components/about/OurExpertise.tsx b/src/components/about/OurExpertise.tsx index c247317..f93149a 100644 --- a/src/components/about/OurExpertise.tsx +++ b/src/components/about/OurExpertise.tsx @@ -118,7 +118,7 @@ export function OurExpertise() {

-
+
@@ -158,7 +158,7 @@ export function OurExpertise() { {/* Statistics Section - Embedded in Hero */}
-
+
152+
@@ -193,7 +193,7 @@ export function OurExpertise() { {/* Expertise Overview - Clean Standard Design */}
-
+

Four Pillars of Excellence

@@ -475,7 +475,7 @@ export function OurExpertise() { {/* Consulting & Advisory Section - Reusable Carousel Design */}

-
+
{/* Using the new reusable carousel component */}
@@ -483,7 +483,7 @@ export function OurExpertise() { {/* Leadership Development Section - Split Layout */}
-
+
{/* Leadership Development Framework - Our Vision Style */}
@@ -690,7 +690,7 @@ export function OurExpertise() { {/* Platform Features Section - Redesigned Layout */}
-
+
{/* Header */}
-
+
-
+
@@ -323,7 +323,7 @@ export function OurImpact() { {/* Statistics Section - Embedded in Hero */}
-
+
@@ -364,7 +364,7 @@ export function OurImpact() { {/* Partners Section - Redesigned According to JSON Config */}
-
+
{/* Statistics Section - Landing Page Style */} @@ -577,7 +577,7 @@ export function OurImpact() { {/* Additional Metrics Section - Redesigned */}
-
+
-
+
@@ -216,7 +216,7 @@ export function OurVision() { {/* Vision Statistics Section - Embedded in Hero */}
-
+
3
@@ -241,7 +241,7 @@ export function OurVision() { {/* Vision Pillars - Redesigned */}
-
+
-
+
-
+
{/* Content Side */} diff --git a/src/components/services/Consulting.tsx b/src/components/services/Consulting.tsx index a7d47b6..61729e9 100644 --- a/src/components/services/Consulting.tsx +++ b/src/components/services/Consulting.tsx @@ -198,7 +198,7 @@ export function Consulting() {
-
+
@@ -237,7 +237,7 @@ export function Consulting() {
-
+
96%
@@ -265,7 +265,7 @@ export function Consulting() { {/* Who It's For Section */}
-
+

@@ -326,7 +326,7 @@ export function Consulting() { {/* Expected Outcomes Section */}
-
+

Expected Outcomes @@ -532,7 +532,7 @@ export function Consulting() { {/* Our Approach Section - Carousel Design */}
-
+
{/* Left Side - Title, Description & Navigation */} diff --git a/src/components/services/CultureCompetence.tsx b/src/components/services/CultureCompetence.tsx index 52e2ace..05f3c1c 100644 --- a/src/components/services/CultureCompetence.tsx +++ b/src/components/services/CultureCompetence.tsx @@ -202,7 +202,7 @@ export function CultureCompetence() {
-
+
@@ -241,7 +241,7 @@ export function CultureCompetence() {
-
+
87%
@@ -269,7 +269,7 @@ export function CultureCompetence() { {/* Who It's For Section */}
-
+

@@ -330,7 +330,7 @@ export function CultureCompetence() { {/* Expected Outcomes Section */}
-
+

Expected Outcomes @@ -536,7 +536,7 @@ export function CultureCompetence() { {/* Our Approach Section - Carousel Design */}
-
+
{/* Left Side - Title, Description & Navigation */} diff --git a/src/components/services/ExecutiveCoaching.tsx b/src/components/services/ExecutiveCoaching.tsx index a28cab0..4a20944 100644 --- a/src/components/services/ExecutiveCoaching.tsx +++ b/src/components/services/ExecutiveCoaching.tsx @@ -198,7 +198,7 @@ export function ExecutiveCoaching() {
-
+
@@ -237,7 +237,7 @@ export function ExecutiveCoaching() {
-
+
91%
@@ -265,7 +265,7 @@ export function ExecutiveCoaching() { {/* Who It's For Section */}
-
+

@@ -326,7 +326,7 @@ export function ExecutiveCoaching() { {/* Expected Outcomes Section */}
-
+

Expected Outcomes @@ -532,7 +532,7 @@ export function ExecutiveCoaching() { {/* Our Approach Section - Carousel Design */}
-
+
{/* Left Side - Title, Description & Navigation */} diff --git a/src/components/services/LeadershipDevelopment.tsx b/src/components/services/LeadershipDevelopment.tsx index d8a6330..9161db2 100644 --- a/src/components/services/LeadershipDevelopment.tsx +++ b/src/components/services/LeadershipDevelopment.tsx @@ -202,7 +202,7 @@ export function LeadershipDevelopment() {
-
+
@@ -241,7 +241,7 @@ export function LeadershipDevelopment() {
-
+
94%
@@ -269,7 +269,7 @@ export function LeadershipDevelopment() { {/* Who It's For Section */}
-
+

@@ -330,7 +330,7 @@ export function LeadershipDevelopment() { {/* Expected Outcomes Section */}
-
+

Expected Outcomes @@ -536,7 +536,7 @@ export function LeadershipDevelopment() { {/* Our Approach Section - Carousel Design */}
-
+
{/* Left Side - Title, Description & Navigation */} diff --git a/src/components/services/LearningFacility.tsx b/src/components/services/LearningFacility.tsx index e65450b..334ec3e 100644 --- a/src/components/services/LearningFacility.tsx +++ b/src/components/services/LearningFacility.tsx @@ -496,7 +496,7 @@ export function LearningFacility() { {/* Centered content */}
-
+
@@ -541,7 +541,7 @@ export function LearningFacility() { {/* Stat strip */}
-
+
2 Acres
@@ -562,7 +562,7 @@ export function LearningFacility() { {/* What We Offer Section */}
-
+

What We Offer @@ -641,7 +641,7 @@ export function LearningFacility() { {/* Who It's For Section - match Services page (left intro + right accordion list) */}
-
+
{/* Our Expertise "Our Services" style - horizontal carousel cards */}
{/* Header with eyebrow and controls */} @@ -791,7 +791,7 @@ export function LearningFacility() { {/* Facility Features Section */}
-
+
@@ -895,7 +895,7 @@ export function LearningFacility() { {/* Amenities Section */}
-
+

World-Class Amenities @@ -967,7 +967,7 @@ export function LearningFacility() { {/* Virtual Tour Section */}
-
+
{!isVirtualTourActive ? ( /* Tour Preview */
diff --git a/src/components/services/ManagementDevelopment.tsx b/src/components/services/ManagementDevelopment.tsx index 9a47076..8e7b05d 100644 --- a/src/components/services/ManagementDevelopment.tsx +++ b/src/components/services/ManagementDevelopment.tsx @@ -199,7 +199,7 @@ export function ManagementDevelopment() {
-
+
@@ -266,7 +266,7 @@ export function ManagementDevelopment() { {/* Who It's For Section */}
-
+

@@ -327,7 +327,7 @@ export function ManagementDevelopment() { {/* Expected Outcomes Section - Redesigned to Match Reference */}
-
+

Expected Outcomes @@ -533,7 +533,7 @@ export function ManagementDevelopment() { {/* Our Approach Section - Carousel Design */}
-
+
{/* Left Side - Title, Description & Navigation */} diff --git a/src/services/baseQuery.ts b/src/services/baseQuery.ts new file mode 100644 index 0000000..8e74e0f --- /dev/null +++ b/src/services/baseQuery.ts @@ -0,0 +1,15 @@ +import { fetchBaseQuery } from '@reduxjs/toolkit/query/react'; + +const rawBaseQuery = fetchBaseQuery({ + baseUrl: 'http://localhost:3000/api', +}); + +const baseQueryWithReauth = async (args: any, api: any, extraOptions: any) => { + const result = await rawBaseQuery(args, api, extraOptions); + + // Optional: reauthentication logic if result.error?.status === 401 + + return result; +}; + +export default baseQueryWithReauth; diff --git a/src/services/storeSwitchToDashboard.tsx b/src/services/storeSwitchToDashboard.tsx new file mode 100644 index 0000000..404b64d --- /dev/null +++ b/src/services/storeSwitchToDashboard.tsx @@ -0,0 +1,37 @@ +// storeSwitchToDashboard.service.ts +import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; +import baseQueryWithReauth from "./baseQuery"; + +export type ContactUsFormData = { + t_id: string; + name: string; + email: string; + country: string; + phone_number: string; + service: string; + budget: string; + message: string; + development_stage: string; + startTime: string; + nda_signing: string | boolean; + from_page: string; + ip?: string; + user_agent?: string; + contact_us_attachment?: File; +}; + +export const storeSwitchToDashboard = createApi({ + reducerPath: "storeSwitchToDashboard", + baseQuery: baseQueryWithReauth, + endpoints: (builder) => ({ + storeSwitchToDashboard: builder.mutation({ + query: (formData) => ({ + url: "/api/store-contact-us-data", + method: "POST", + body: formData, + }), + }), + }), +}); + +export const { useStoreSwitchToDashboardMutation } = storeSwitchToDashboard; \ No newline at end of file diff --git a/src/store/Store.tsx b/src/store/Store.tsx new file mode 100644 index 0000000..f06519a --- /dev/null +++ b/src/store/Store.tsx @@ -0,0 +1,16 @@ +// store.ts +import { configureStore } from '@reduxjs/toolkit'; +import { setupListeners } from '@reduxjs/toolkit/query'; +import { storeSwitchToDashboard } from '../services/storeSwitchToDashboard'; + +export const store = configureStore({ + reducer: { + [storeSwitchToDashboard.reducerPath]: storeSwitchToDashboard.reducer, + }, + middleware: (getDefaultMiddleware) => + getDefaultMiddleware().concat(storeSwitchToDashboard.middleware), +}); + +setupListeners(store.dispatch); + +export default store; \ No newline at end of file