From c0d06c68cac69eb1984452a13c4d67e20b3c3e95 Mon Sep 17 00:00:00 2001 From: Dimitrie Hoekstra Date: Thu, 28 May 2026 15:35:17 +0200 Subject: [PATCH] Add floating FlowFuse Expert dock to use-case pages Adds a floating, sticky FlowFuse Expert dock pinned to the bottom of every use-case page, reusing the existing AI Expert chat experience. - New expert-dock.njk component (floating widget with margin from edges, rounded corners, drop shadow; collapsed by default, expands to the existing /ai/ chat). - Mounts via {% include %} at the end of the use-case layout, with a bottom spacer so the dock never overlaps the final content. Stacked on top of the Use Cases structure PR. --- src/_includes/components/expert-dock.njk | 81 ++++++++++++++++++++++++ src/_includes/layouts/use-case.njk | 9 ++- 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 src/_includes/components/expert-dock.njk diff --git a/src/_includes/components/expert-dock.njk b/src/_includes/components/expert-dock.njk new file mode 100644 index 0000000000..695d552007 --- /dev/null +++ b/src/_includes/components/expert-dock.njk @@ -0,0 +1,81 @@ +{# ============================================================ + FLOATING FLOWFUSE EXPERT DOCK (use case pages only) + A fixed, floating widget that hovers above the page content with a + margin from the left/right/bottom edges, rounded corners and a drop + shadow (it does not span edge to edge). It reuses the EXISTING AI + Expert experience: the bar contains the same entry point used on + /ai/ (the "Describe your workflow" textarea + #tell-me-how-btn), and + includes the shared ai-expert-modal component. No chat engine is + duplicated here. + + The outer wrapper is transparent and click-through (pointer-events-none) + so the gutters either side of the floating card never block the page; + the inner card re-enables pointer events. + ============================================================ #} +{% set dockSlug = page.fileSlug %} + +
+
+ +
+ +
+ + +
+
+ +{# Shared AI Expert modal (same entry point as /ai/). #} +{% include "components/ai-expert-modal.njk" %} + + diff --git a/src/_includes/layouts/use-case.njk b/src/_includes/layouts/use-case.njk index 87644f0dbb..a3934983bd 100644 --- a/src/_includes/layouts/use-case.njk +++ b/src/_includes/layouts/use-case.njk @@ -161,5 +161,12 @@ sitemapPriority: 0.7 {% set relatedTag = "usecase:" + page.fileSlug %} {% include "components/related-resources.njk" %} - + +
+ + + +{% include "components/expert-dock.njk" %}