Skip to content

Commit eaaf57b

Browse files
committed
blog: use the built-in note, drop the carousel CTA, and let the post CTA fill the column
The coming soon note goes back to a plain ::note with the title as its leading bold text. That is what the built-in gives without help: Callout's slot is mdc-unwrap="p", so the icon and the title share a line by default. Promoting the title to a block, as the previous commit did, is what pushed the icon onto a line of its own, and the custom class it needed is gone with it. The prompt carousel loses its Try it out. The connect steps at the end of the post carry the same CTA, and the post's own CTA card follows them, so a third one beside the position dots was the same next step asked three times. BlogPostCta drops max-w-prose. At 65ch that is narrower than the article column the card sits in, so it was inset on both sides while every other block ran the full measure. Now 704px like the rest. Applies to every post carrying a cta block, which is most of them.
1 parent c3e350f commit eaaf57b

4 files changed

Lines changed: 9 additions & 63 deletions

File tree

nuxt/components/BlogPostCta.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ function onCtaClick (event: MouseEvent) {
5151
</script>
5252

5353
<template>
54-
<div class="ff-blue-card blog-post-cta p-8 sm:p-12 m-auto max-w-prose">
54+
<!-- No max-w-prose: at 65ch that is narrower than the article column the card sits
55+
in, so it was inset on both sides while every other block in the post, the
56+
agent picker and the prompt carousel included, ran the full measure. -->
57+
<div class="ff-blue-card blog-post-cta p-8 sm:p-12">
5558
<div class="flex flex-col gap-6 sm:gap-8 text-center sm:text-left">
5659
<h3 class="mt-0 mb-0 !text-3xl text-indigo-800">{{ cta?.title || currentCta.title }}</h3>
5760
<p class="mt-0 mb-0 max-w-4xl mx-auto sm:mx-0 leading-relaxed">{{ cta?.description || currentCta.description }}</p>

nuxt/components/content/PromptCarousel.vue

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,7 @@ onUnmounted(() => {
266266
</article>
267267
</div>
268268

269-
<!-- The widget's own bar: position on the left, the onward action on the right.
270-
One Try it out for the whole set, not one per card - the prompts all run
271-
against the same platform, so nine identical CTAs would just be nine copies
272-
of the same next step. -->
269+
<!-- The widget's own bar, carrying the position readout. -->
273270
<div class="ff-prompts__bar">
274271
<!-- One dot per prompt rather than per view: nine is few enough to show them
275272
all, and a dot can carry the prompt's own name for a screen reader in a way
@@ -287,18 +284,6 @@ onUnmounted(() => {
287284
@click="goTo(index)"
288285
/>
289286
</div>
290-
<!-- CtaSignUp rather than a hand-written link: the label, the destination and
291-
the cta-sign-up event are fixed there per destination and only position
292-
varies per insertion, so this stays in the same PostHog series as every
293-
other Try it out on the site. -->
294-
<div class="ff-prompts__try">
295-
<CtaSignUp
296-
variant="primary-outlined"
297-
:position="`${surface}-prompts`"
298-
:uppercase="false"
299-
icon="i-lucide-arrow-up-right"
300-
/>
301-
</div>
302287
</div>
303288
</div>
304289
</template>

src/blog/2026/08/industrial-ai-agent.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,8 @@ It's one address. Everyone still signs in with their own FlowFuse account, and s
114114

115115
We're also working on removing the question at all.
116116

117-
::note{.ff-note--titled}
118-
**Coming soon**
119-
120-
FlowFuse in the Microsoft Copilot, Claude and ChatGPT connector directories. No custom connector, no admin request. FlowFuse Cloud only.
117+
::note
118+
**Coming soon:** FlowFuse in the Microsoft Copilot, Claude and ChatGPT connector directories. No custom connector, no admin request. FlowFuse Cloud only.
121119
::
122120

123121
## Where to start

src/css/style.css

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3839,35 +3839,16 @@ lite-youtube::before {
38393839
flex: none;
38403840
}
38413841

3842-
/* CtaSignUp renders a UButton at the site's full button metrics (text-base, 8px/16px
3843-
padding), which is the right size for a page CTA and too heavy for a card footer.
3844-
Trimmed here rather than by passing different props, because those metrics are
3845-
fixed per destination in CtaButton on purpose. */
3846-
.ff-prompts__try a {
3847-
font-size: 0.875rem;
3848-
line-height: 1.25rem;
3849-
padding: 0.375rem 0.75rem;
3850-
gap: 0.25rem;
3851-
white-space: nowrap;
3852-
}
3853-
3854-
/* The widget's bar: the position readout on the left, the one onward action on the
3855-
right. Wraps to two centred rows rather than squeezing, since nine dots and a
3856-
button do not fit a phone's width side by side. */
3842+
/* The widget's bar, holding the position readout. */
38573843
.ff-prompts__bar {
38583844
display: flex;
38593845
align-items: center;
3860-
justify-content: space-between;
3846+
justify-content: center;
38613847
gap: 0.75rem;
38623848
flex-wrap: wrap;
38633849
border-top: 1px solid var(--color-indigo-100);
38643850
padding: 0.75rem 1rem;
38653851
}
3866-
@container (max-width: 26rem) {
3867-
.ff-prompts__bar {
3868-
justify-content: center;
3869-
}
3870-
}
38713852

38723853
/* Dots as the position readout and as a jump target. Nine is few enough to show them
38733854
all; a "3 / 9" counter would say where you are without offering to move you. */
@@ -3923,24 +3904,3 @@ lite-youtube::before {
39233904
transform: none;
39243905
}
39253906
}
3926-
3927-
/* A note with a heading. Nuxt UI's ::note is Callout color="info" and takes no title
3928-
prop, and its slot is <slot mdc-unwrap="p">, so the paragraphs written in markdown
3929-
are unwrapped and the heading would otherwise run straight into the body text on
3930-
the same line. The heading is the note's leading <strong>, which survives the
3931-
unwrap as a direct child, promoted to its own line here. A real markdown heading
3932-
would also survive but would claim an anchor and a place in the page's heading
3933-
outline, which a callout should not have.
3934-
3935-
Scoped to the ff-note--titled class rather than restyling prose.callout, because
3936-
that theme is shared with the handbook's notes and with ::product-update-note in
3937-
around twenty other posts. Unlayered, so it beats the utilities the callout theme
3938-
applies. The colour is left alone: this is the site's standard info note. */
3939-
.prose .ff-note--titled > strong:first-of-type {
3940-
display: block;
3941-
margin-bottom: 0.125rem;
3942-
font-size: 1rem;
3943-
font-weight: 600;
3944-
line-height: 1.5rem;
3945-
color: inherit;
3946-
}

0 commit comments

Comments
 (0)