no border under the last pinned row

Whichever it is: Administration is the one row a member never sees, so the row
that ends the group depends on who is looking. Naming it would put the line back
for everybody else.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-02 06:57:29 +01:00
co-authored by Claude Opus 5
parent 6a86c69890
commit ab049f5ddc
+11 -1
View File
@@ -317,7 +317,17 @@ export const NavPanel = () => {
{/* Separated by the same border the rows use, so it reads as the end of the panel rather than as {/* Separated by the same border the rows use, so it reads as the end of the panel rather than as
one more page of the site. `border-t` and not `border-t-2`: it is a divider, not a heading. */} one more page of the site. `border-t` and not `border-t-2`: it is a divider, not a heading. */}
<div className="mt-auto flex flex-col border-t border-border"> {/*
The LAST row here has no bottom border, whichever it is.
`[&>*:last-child]` rather than a check for Administration: it is the one row a member never
sees, so the row that ends this group depends on who is looking. Naming it would put the
border back for everybody else.
The group already has a border above it; a second one under the final row draws a line against
the bottom of the panel with nothing beneath it.
*/}
<div className="mt-auto flex flex-col border-t border-border [&>*:last-child]:border-b-0">
{/* Said once, here, rather than on nine dimmed rows. Without it a locked nav reads as broken {/* Said once, here, rather than on nine dimmed rows. Without it a locked nav reads as broken
rather than as one step not done — the rows go grey and nothing says why or what to do. */} rather than as one step not done — the rows go grey and nothing says why or what to do. */}
{!ready && ( {!ready && (