Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
532a413
nav: size the sidebar group headers as headers, and indent their items
dimitrieh Sep 14, 2026
9b4db8c
docs nav: align the sidebar with the content column, indent items, dr…
dimitrieh Sep 14, 2026
5fd2eef
docs: bring the FlowFuse Expert question box to Nuxt pages
dimitrieh Sep 25, 2026
61588ab
docs: FlowFuse Expert on every docs page, and support prompts on the …
dimitrieh Sep 25, 2026
5fefab4
docs search: a dialog opened from the sidebar or with Cmd+K
dimitrieh Sep 25, 2026
7de5b73
header: docs search and Expert beside the menu on phones and tablets
dimitrieh Sep 25, 2026
67472fc
docs search: an X to close the dialog, no ring round the input, borde…
dimitrieh Sep 25, 2026
d869fb6
docs: breadcrumb on the docs home, Ask Expert under the table of cont…
dimitrieh Sep 25, 2026
fac5747
docs: the Expert box's brand flies into the modal header
dimitrieh Sep 25, 2026
82a4143
docs: Ask Docs, a floating button for FlowFuse Expert on every docs page
dimitrieh Sep 25, 2026
d71915c
docs: On this page lines up with the sidebar search and the breadcrumb
dimitrieh Sep 25, 2026
408ea31
header: a subtle grey line under the site header
dimitrieh Sep 25, 2026
8befa14
docs: Ask Docs wears FlowFuse Expert's colours
dimitrieh Sep 25, 2026
9303ebc
docs: a landing layout and the blocks a docs contents page is built from
dimitrieh Sep 25, 2026
d5efdec
docs: choices that explain each way in, and a two-column block
dimitrieh Sep 25, 2026
3e5587a
docs: a card leads somewhere through a plain markdown link
dimitrieh Sep 25, 2026
6b53ee2
docs: the Expert box and the card beside it are the same height
dimitrieh Sep 25, 2026
fde86ed
docs: no breadcrumb on the docs home
dimitrieh Sep 25, 2026
69ffd95
docs search: the field is there from the first paint
dimitrieh Sep 25, 2026
4512174
docs: the Expert box without prompt pills, and one card style throughout
dimitrieh Sep 25, 2026
899ded5
header: FlowFuse Docs on docs pages
dimitrieh Sep 25, 2026
af1d420
docs: the sidebar's first heading starts level with the page title
dimitrieh Sep 25, 2026
cfa92d8
header: the Docs lockup matched at 4x zoom, square mark until xl
dimitrieh Sep 25, 2026
f1e93de
docs: sidebar, logo and banner share one left edge at every width
dimitrieh Sep 25, 2026
6b294d9
header: one logo at every width, Docs one size and a step lighter
dimitrieh Sep 25, 2026
3a62fd4
docs: the Expert box spans its column again
dimitrieh Sep 25, 2026
49dbebb
docs: the docs home is this repo's page, not the flowfuse README
dimitrieh Sep 25, 2026
e950295
docs: each way in pairs its first step with a page about it
dimitrieh Sep 25, 2026
cd58eff
docs: the ways-in list opens smoothly and moves nothing around it
dimitrieh Sep 25, 2026
4d882f2
docs: Ask Docs moves to its own PR
dimitrieh Sep 29, 2026
9f91b7d
header: "Docs" beside the logo as a small superscript
dimitrieh Sep 29, 2026
c409826
docs: the docs home is the guides' index.md
dimitrieh Oct 6, 2026
61b4d92
docs home: links underline on hover and focus
dimitrieh Oct 6, 2026
024d892
docs, handbook: the search moves with a view transition; handbook sea…
dimitrieh Oct 6, 2026
0edc72a
docs search: the field grows into the dialog itself; handbook links l…
dimitrieh Oct 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions nuxt/assets/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -478,8 +478,13 @@ dl.message-properties > dd {
@apply flex items-start justify-between gap-4 rounded-lg p-4 text-left;
}

/* The site-wide `code` rule draws a bordered, padded box, which inside the dark block reads
as a second box. Pages that sit in .nohero reset it already; docs pages do not. */
.ff-command__text {
@apply text-sm text-gray-100 whitespace-pre-wrap break-all;
border: 0;
border-radius: 0;
padding: 0;
}

.ff-command__copy {
Expand Down Expand Up @@ -999,8 +1004,11 @@ h4:hover .header-anchor::before {
font-weight: 400;
}

/* The grey line under the header is a shadow, not a border, so it adds nothing to the
height that --ff-header-height below has to match. */
.ff-website .ff-header {
@apply bg-white w-full px-6 py-4 sm:py-6 md:py-0 top-0 z-50 sticky;
box-shadow: 0 1px 0 var(--color-gray-200);
}

/* The header pins itself to the top of the viewport, so anything else that wants to
Expand Down Expand Up @@ -2448,6 +2456,62 @@ lite-youtube::before {
outline-offset: 3px;
}

/* Docs and handbook search: the field moves between the docs home's hero and a page's
sidebar, and into the search dialog and back (AlgoliaSearch.vue, `morph`). On a page
change the page itself swaps at once rather than cross-fading
(plugins/section-view-transitions.client.ts sets the class). */
html.ff-section-transition::view-transition-old(root) {
display: none;
}

html.ff-section-transition::view-transition-new(root) {
animation: none;
}

/* The moving box carries the field's white, and its two snapshots ride inside it at their
real size, so the text cross-fades without stretching while the box changes shape. */
::view-transition-group(ff-search) {
animation-duration: 0.3s;
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 6px;
background: #fff;
overflow: clip;
}

::view-transition-old(ff-search),
::view-transition-new(ff-search) {
width: 100%;
height: 100%;
object-fit: none;
object-position: left center;
}

/* The old text is gone before the new one is fully in, so the two never read as one. */
::view-transition-old(ff-search) {
animation-duration: 0.12s;
}

::view-transition-new(ff-search) {
animation-duration: 0.3s;
}

/* While the field moves, the moving box draws the frame, and the field and the search dialog
leave theirs out of the snapshots: two frames of different sizes would show as a box in a
box. <html> carries the class from just before a transition until it has finished. */
html.ff-search-transition::view-transition-group(ff-search) {
box-sizing: border-box;
border: 1px solid #d1d5db;
}

html.ff-search-transition .ff-algolia--detached #algolia-search .aa-DetachedSearchButton,
html.ff-search-transition .ff-algolia--detached .ff-algolia__standin {
border-color: transparent;
}

html.ff-search-transition .ff-search-dialog {
box-shadow: none;
}

/* View transition names for 'morphing-content' are set dynamically via JavaScript for AI modal transitions */

/* View Transition styles for smooth morphing */
Expand Down
Loading
Loading