import { caseStudiesLandingDetails } from "./scripts/pages/case-studies/case-studies-landing"; import { caseStudiesPageDetails } from "./scripts/pages/case-studies/case-studies-page"; import { homePageDetails } from "./scripts/pages/home"; import { industrySolutionsDetails } from "./scripts/pages/industries"; import { insightsBlogDetails } from "./scripts/pages/insights/insights-blog"; import { insightsLandingDetails } from "./scripts/pages/insights/insights-landing-page"; import { leadershipDetails } from "./scripts/pages/about-us/leadership-page"; import { ourCapabilitiesDetails } from "./scripts/pages/services/our-capabilities"; import { ourSolutionDetails } from "./scripts/pages/services/our-solutions"; import { DataLayerObject } from "./types"; import { partnersDetails } from "./scripts/pages/about-us/partners-page"; import { historyDetails } from "./scripts/pages/about-us/our-history-page"; import { joinOurTeamDetails } from "./scripts/pages/about-us/join-our-team-page"; import { careersDetails } from "./scripts/pages/about-us/careers-page"; import { contactDetails } from "./scripts/pages/contact-page"; import { siteMapDetails } from "./scripts/pages/site-map"; import { composableDetails } from "./scripts/pages/composable-page"; import { sammCalculatorDetails } from "./scripts/pages/samm-calculator-page"; import { searchDetails } from "./scripts/pages/search-page"; import { searchResultsDetails } from "./scripts/pages/search-results-page"; import { attachHeaderClickEvents } from "./scripts/events/header"; import { attachFooterClickEvents } from "./scripts/events/footer"; import { attachBodyClickEvents } from "./scripts/events/body"; import { attachHeroClickEvents } from "./scripts/events/hero"; import { attachJobsClickEvents } from "./scripts/events/jobs"; import { attachFormEvents } from "./scripts/events/form"; import { attachVideoEvents } from "./scripts/events/video"; import { cjaPageDetails } from "./scripts/pages/cja"; import { customerConversionAccelerationDetails } from "./scripts/pages/customer-conversion-acceleration"; import { mulesoftDetails } from "./scripts/pages/mulesoft"; import { salesforceCommerceCloudDetails } from "./scripts/pages/salesforce-commerce-cloud"; import { salesforceMarketingCloudDetails } from "./scripts/pages/salesforce-marketing-cloud"; import { salesforceDetails } from "./scripts/pages/salesforce"; import { commercePlatformsDetails } from "./scripts/pages/commerce-platforms"; import { loyaltyServicesDetails } from "./scripts/pages/loyalty-services"; import { brandAndCreativeServicesDetails } from "./scripts/pages/brand-and-creative-services"; import { strategyAndPlanningServiceDetails } from "./scripts/pages/strategy-and-planning-services"; import { researchAndAnalysisDetails } from "./scripts/pages/research-and-analysis"; import { uxAndProductDesignDetails } from "./scripts/pages/ux-and-product-design"; import { aiAndMachineLearningDetails } from "./scripts/pages/ai-and-machine-learning"; import { dataScienceAndAnalysisDetails } from "./scripts/pages/data-science-and-analysis"; import { abTestingAndExperimentationDetails } from "./scripts/pages/a-b-testing-and-experimentation"; import { biDataVisualizationDetails } from "./scripts/pages/bi-data-visualization"; import { dataEngineeringAndArchitectureDetails } from "./scripts/pages/data-engineering-and-architecture"; import { dataManagementDetails } from "./scripts/pages/data-management"; import { dataCollectionMartechDetails } from "./scripts/pages/data-collection-martech"; import { dataAndAnalyticsStrategyDetails } from "./scripts/pages/data-and-analytics-strategy"; import { contentManagementDetails } from "./scripts/pages/content-management"; import { ecommerceSolutionsDetails } from "./scripts/pages/ecommerce-solutions"; import { b2bAndB2cPortalsDetails } from "./scripts/pages/b2b-and-b2c-portals"; import { customSoftwareApplicationsDetails } from "./scripts/pages/custom-software-applications"; import { ourCultureDetails } from "./scripts/pages/our-culture"; import { testimonialsDetails } from "./scripts/pages/testimonials"; import { faqsDetails } from "./scripts/pages/faqs"; import { defaultTrackingDetails } from "./scripts/pages/default-tracking"; export const dataLayerPageDetails = (url: string, path: string) : DataLayerObject | {} => { const urlHandlers: { [key: string]: (url: string) => DataLayerObject } = { '/solutions': (url: string) => ourSolutionDetails(url), '/our-capabilities': (url: string) => ourCapabilitiesDetails(url), '/industry-solutions': (url: string) => industrySolutionsDetails(url), '/case-studies/': (url: string) => caseStudiesPageDetails(url), '/case-studies': (url: string) => caseStudiesLandingDetails(url), '/insights': (url: string) => insightsLandingDetails(url), '/blog': (url: string) => insightsBlogDetails(url), '/leadership': (url: string) => leadershipDetails(url), '/partners': (url: string) => partnersDetails(url), '/our-history': (url: string) => historyDetails(url), '/careers/': (url: string) => careersDetails(url), '/careers': (url: string) => joinOurTeamDetails(url), '/contact': (url: string) => contactDetails(url), '/composable': (url: string) => composableDetails(url), '/samm': (url: string) => sammCalculatorDetails(url), '/site-map': (url: string) => siteMapDetails(url), '/search?query': (url: string) => searchResultsDetails(url), '/search': (url: string) => searchDetails(url), '/cja': (url: string) => cjaPageDetails(url), '/customer-conversion-acceleration': (url: string) => customerConversionAccelerationDetails(url), '/mulesoft': (url: string) => mulesoftDetails(url), '/salesforce-commerce-cloud': (url: string) => salesforceCommerceCloudDetails(url), '/salesforce-marketing-cloud': (url: string) => salesforceMarketingCloudDetails(url), '/salesforce': (url: string) => salesforceDetails(url), '/commerce-platforms': (url: string) => commercePlatformsDetails(url), '/loyalty-services': (url: string) => loyaltyServicesDetails(url), '/brand-and-creative-services': (url: string) => brandAndCreativeServicesDetails(url), '/strategy-and-planning-services': (url: string) => strategyAndPlanningServiceDetails(url), '/research-and-analysis': (url: string) => researchAndAnalysisDetails(url), '/ux-and-product-design': (url: string) => uxAndProductDesignDetails(url), '/ai-and-machine-learning': (url: string) => aiAndMachineLearningDetails(url), '/data-science-and-analysis': (url: string) => dataScienceAndAnalysisDetails(url), '/a-b-testing-and-experimentation': (url: string) => abTestingAndExperimentationDetails(url), '/bi-data-visualization': (url: string) => biDataVisualizationDetails(url), '/data-engineering-and-architecture': (url: string) => dataEngineeringAndArchitectureDetails(url), '/data-management': (url: string) => dataManagementDetails(url), '/data-collection-martech': (url: string) => dataCollectionMartechDetails(url), '/data-and-analytics-strategy': (url: string) => dataAndAnalyticsStrategyDetails(url), '/content-management': (url: string) => contentManagementDetails(url), '/ecommerce-solutions': (url: string) => ecommerceSolutionsDetails(url), '/b2b-and-b2c-portals': (url: string) => b2bAndB2cPortalsDetails(url), '/custom-software-applications': (url: string) => customSoftwareApplicationsDetails(url), '/our-culture': (url: string) => ourCultureDetails(url), '/testimonials': (url: string) => testimonialsDetails(url), '/faqs': (url: string) => faqsDetails(url), }; if (path === '/') { return homePageDetails() } else { for (const key in urlHandlers) { if (url.includes(key)) { return urlHandlers[key](url); } else { defaultTrackingDetails(url) } } } return {}; // Return an empty object if no handler matches } export const addCustomEventHandlers = () => { attachHeaderClickEvents(); attachFooterClickEvents(); attachBodyClickEvents(); attachHeroClickEvents(); attachJobsClickEvents(); attachFormEvents(); attachVideoEvents(); }