Skip to content

Commit 42110dd

Browse files
authored
Merge pull request #5721 from FlowFuse/ai-image
AI Page Update with Image
2 parents 96448be + 1294912 commit 42110dd

3 files changed

Lines changed: 63 additions & 1 deletion

File tree

nuxt/pages/ai/index.vue

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,11 @@ onUnmounted(() => {
192192
wash anchored at the top right, and an opaque hero sits exactly over it. The
193193
connector card below keeps its own white, because that is a card. -->
194194
<section class="w-full relative">
195-
<div class="relative z-10 w-full px-6 pt-12 md:pt-24 pb-12 sm:pb-16">
195+
<!-- pb-0: the recording below is the picker's own result, so the space between
196+
them belongs to that section's pt rather than being split across a section
197+
boundary here. Two paddings meeting in the middle of one thread is what
198+
left 128px of empty gradient under the docs card. -->
199+
<div class="relative z-10 w-full px-6 pt-12 md:pt-24 pb-0">
196200
<div class="sm:max-w-screen-lg mt-6 sm:mt-12 mx-auto">
197201
<div class="container m-auto text-left max-w-screen-lg">
198202
<div class="max-w-3xl mx-auto">
@@ -230,6 +234,64 @@ onUnmounted(() => {
230234
</div>
231235
</section>
232236

237+
<!-- DEMO: the payoff of the picker above. Those three steps say how to connect
238+
an outside agent; this is what it looks like when you do, consent screen
239+
included - the part a reader does not take on faith. It also hands off to
240+
the governance section directly below, which is the same grant stated as a
241+
claim rather than shown.
242+
Autoplaying muted loop, the same treatment the install animation uses. The
243+
controls stay on for one reason: at 57 seconds this runs long enough that
244+
moving content needs a way to stop it, and the play/pause button is it.
245+
Browsers pause an offscreen muted autoplay video by themselves, so there is
246+
no observer here, and no preload hint either - autoplay settles that. The
247+
poster still earns its place as the first paint before playback starts.
248+
WebM only, and no MP4 fallback: full WebM support starts at Safari 16 and
249+
iOS 17.4, which leaves 1.1% of global users out, and an H.264 copy costs
250+
1.9MB to reach them - more than the WebM itself, on a video that now
251+
autoplays for everyone. Those readers get the poster and a play button that
252+
does nothing, which is the trade. Kept as a <source> with a type rather than
253+
src on the video so a browser that cannot play WebM never fetches it.
254+
The recording has no audio track at all, so muted is both the autoplay
255+
precondition and the truth, and playsinline stops iOS taking it fullscreen.
256+
pb-0 for the same reason the hero has it: these three sections are all
257+
transparent, so a boundary between them is space and nothing else, and each
258+
one owning only its top padding keeps that space to a single 64px. Doubling
259+
up here put 128px above the governance card while the card sat 64px above
260+
the capabilities band, which reads as the card floating low in a gap rather
261+
than as a section change. Doubling is for boundaries that also change
262+
background, the way the capabilities band does. -->
263+
<section class="ff-ai-demo w-full px-6 pt-12 sm:pt-16 pb-0">
264+
<div class="md:max-w-screen-lg m-auto">
265+
<h2 class="max-md:text-center">Connect and build <span class="text-indigo-600">faster than ever</span></h2>
266+
<p class="mt-3 text-gray-600 max-w-3xl">
267+
Connect in seconds and start building. Use natural-language to leverage your company-sanctioned AI in a secure and governed way.
268+
</p>
269+
<!-- The frame is the wrapper, not the video, and it clips: Chrome builds its
270+
native control bar in shadow DOM and ignores the video's own
271+
border-radius, so a radius set directly on the video left the bar's
272+
square corners poking out past the rounded border. Same rounded /
273+
bordered / shadowed treatment the product page gives its hero shot.
274+
A plain div rather than a figure now the caption is gone - a figure with
275+
nothing to caption is just a wrapper. -->
276+
<div class="mt-8 overflow-hidden rounded-lg border-2 border-indigo-100 shadow-2xl">
277+
<video
278+
class="block w-full"
279+
poster="/images/ai/demo-external-agents-poster.jpg"
280+
width="1600"
281+
height="1056"
282+
autoplay
283+
loop
284+
muted
285+
playsinline
286+
controls
287+
aria-label="Screen recording: Claude adds FlowFuse as a custom MCP connector, signs in, is granted full access to one team, and then provisions a Node-RED instance from the OEE blueprint."
288+
>
289+
<source src="/images/ai/demo-external-agents.webm" type="video/webm">
290+
</video>
291+
</div>
292+
</div>
293+
</section>
294+
233295
<!-- GOVERNANCE: the control plane every AI action runs through. Path-neutral,
234296
which is what lets it sit above the picker rather than under Expert. -->
235297
<div class="ff-ai-governance w-full px-6 py-12 sm:py-16">
59.7 KB
Loading
1.59 MB
Binary file not shown.

0 commit comments

Comments
 (0)