From 89d4a7a2ffee09de28d5d0551093d20580a6b63b Mon Sep 17 00:00:00 2001 From: Dimitrie Hoekstra Date: Thu, 10 Sep 2026 17:59:05 +0200 Subject: [PATCH 1/2] homepage: serve / from Nuxt replaces the cross-fading hero background, whose inline script queried the DOM and left two timers running with no teardown; it still honours prefers-reduced-motion by never starting, and clears both on unmount. Three partials become components the page shares with others: testimonials.njk -> , social-proof.njk -> , faq.njk -> . cta-get-started.njk was four lines reading a `cta` object the caller set, so it is markup here. explore-more-content.njk was already ported as ThankYouExploreMore for the thank-you pages. The homepage renders the same row, so it is renamed to (and ThankYouStoriesBlock to ). That component linked its webinar without a trailing slash while the site sets trailingSlash: true, so every click took a redirect. Fixed, which also affects the four thank-you pages that render it. site.messaging.heroTagLine and .subtitle are literals here rather than reads through a global. nuxt.config.ts still imports src/_data/site.json for its own config, so nothing is duplicated that teardown will not resolve. Verified against production. The only difference is the webinar button's label case, which comes from the CTA registry and is uppercased by CSS, so it renders the same. --- nuxt/components/BlogFaq.vue | 49 +- ...ExploreMore.vue => ExploreMoreContent.vue} | 17 +- ...toriesBlock.vue => ExploreMoreStories.vue} | 0 nuxt/components/HomeHeroSlides.vue | 53 +++ nuxt/components/SiteArt.vue | 20 + nuxt/components/TestimonialCarousel.vue | 97 ++++ nuxt/content.config.ts | 2 +- nuxt/lib/custom-cta-destinations.ts | 2 +- nuxt/lib/faq-answer.mjs | 72 +++ nuxt/lib/faq-answer.test.mjs | 88 ++++ nuxt/nuxt.config.ts | 2 + nuxt/pages/index.vue | 394 ++++++++++++++++ nuxt/pages/thank-you/contact.vue | 2 +- .../thank-you/download-platform-overview.vue | 2 +- nuxt/pages/thank-you/download.vue | 2 +- .../download_ebook-flowfuse-dashboard.vue | 2 +- nuxt/public/images/home/blog.png | Bin 0 -> 99241 bytes nuxt/public/images/home/collect.png | Bin 0 -> 126266 bytes nuxt/public/images/home/collect_graphic.png | Bin 0 -> 5152 bytes nuxt/public/images/home/connect.png | Bin 0 -> 225565 bytes nuxt/public/images/home/data-silos.jpg | Bin 0 -> 262185 bytes nuxt/public/images/home/flowfuse-home-ui.png | Bin 0 -> 184525 bytes nuxt/public/images/home/hero/config.json | 5 + nuxt/public/images/home/hero/hero-1.jpg | Bin 0 -> 209358 bytes nuxt/public/images/home/hero/hero-2.jpg | Bin 0 -> 419502 bytes nuxt/public/images/home/hero/hero-3.jpg | Bin 0 -> 532714 bytes nuxt/public/images/home/home-dashboard.png | Bin 0 -> 45172 bytes .../images/home/home-data-integration.png | Bin 0 -> 306681 bytes .../images/home/home-edge-connectivity.png | Bin 0 -> 297944 bytes .../images/home/home-itot-middleware.png | Bin 0 -> 1777148 bytes nuxt/public/images/home/home-mes.png | Bin 0 -> 235099 bytes nuxt/public/images/home/home-node-red.png | Bin 0 -> 23188 bytes nuxt/public/images/home/home-pipeline.png | Bin 0 -> 35828 bytes nuxt/public/images/home/home-scada.png | Bin 0 -> 205687 bytes .../images/home/home-solution-background.svg | 34 ++ nuxt/public/images/home/home-uns.png | Bin 0 -> 373903 bytes nuxt/public/images/home/interact_graphic.png | Bin 0 -> 3240 bytes nuxt/public/images/home/newsletter.png | Bin 0 -> 65289 bytes nuxt/public/images/home/visualise_graphic.png | Bin 0 -> 6903 bytes nuxt/public/images/home/webinar.png | Bin 0 -> 165655 bytes nuxt/server/middleware/legacy.ts | 4 +- nuxt/utils/siteArt.ts | 196 ++++++++ scripts/gen-site-art.mjs | 103 +++++ src/index.njk | 436 ------------------ 44 files changed, 1111 insertions(+), 471 deletions(-) rename nuxt/components/{ThankYouExploreMore.vue => ExploreMoreContent.vue} (84%) rename nuxt/components/{ThankYouStoriesBlock.vue => ExploreMoreStories.vue} (100%) create mode 100644 nuxt/components/HomeHeroSlides.vue create mode 100644 nuxt/components/SiteArt.vue create mode 100644 nuxt/components/TestimonialCarousel.vue create mode 100644 nuxt/lib/faq-answer.mjs create mode 100644 nuxt/lib/faq-answer.test.mjs create mode 100644 nuxt/pages/index.vue create mode 100644 nuxt/public/images/home/blog.png create mode 100644 nuxt/public/images/home/collect.png create mode 100644 nuxt/public/images/home/collect_graphic.png create mode 100644 nuxt/public/images/home/connect.png create mode 100644 nuxt/public/images/home/data-silos.jpg create mode 100644 nuxt/public/images/home/flowfuse-home-ui.png create mode 100644 nuxt/public/images/home/hero/config.json create mode 100644 nuxt/public/images/home/hero/hero-1.jpg create mode 100644 nuxt/public/images/home/hero/hero-2.jpg create mode 100644 nuxt/public/images/home/hero/hero-3.jpg create mode 100644 nuxt/public/images/home/home-dashboard.png create mode 100644 nuxt/public/images/home/home-data-integration.png create mode 100644 nuxt/public/images/home/home-edge-connectivity.png create mode 100644 nuxt/public/images/home/home-itot-middleware.png create mode 100644 nuxt/public/images/home/home-mes.png create mode 100644 nuxt/public/images/home/home-node-red.png create mode 100644 nuxt/public/images/home/home-pipeline.png create mode 100644 nuxt/public/images/home/home-scada.png create mode 100644 nuxt/public/images/home/home-solution-background.svg create mode 100644 nuxt/public/images/home/home-uns.png create mode 100644 nuxt/public/images/home/interact_graphic.png create mode 100644 nuxt/public/images/home/newsletter.png create mode 100644 nuxt/public/images/home/visualise_graphic.png create mode 100644 nuxt/public/images/home/webinar.png create mode 100644 nuxt/utils/siteArt.ts create mode 100755 scripts/gen-site-art.mjs delete mode 100644 src/index.njk diff --git a/nuxt/components/BlogFaq.vue b/nuxt/components/BlogFaq.vue index 5b4de77a1c..1011af4c5d 100644 --- a/nuxt/components/BlogFaq.vue +++ b/nuxt/components/BlogFaq.vue @@ -1,33 +1,33 @@