The sidebar's attachments group drops to the bottom of the stack
Style, Details, Actions, Attachments — the trailing sidebar's own composition order in the card window, reordered so Attachments sits under everything else rather than leading it. Section internals are untouched; this is the VStack's child order and nothing more, so keyboard Tab order and VoiceOver's reading order follow it for free, and File ▸ Add Attachment… (⇧⌘A) is unaffected — it opens the panel through the focus system, not through this view's layout. Actions still sits above Attachments here: the paired card that removes the Actions section entirely lands as the next commit, so this one is an honest mid-flight state — style/details/actions/attachments now, style/details/ attachments once that follow-up lands. 05-card-window.md's sidebar order is now stale (still lists Attachments first); the amendment is owed and tracked on the card's own thread rather than made here. Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
This commit is contained in:
@@ -398,7 +398,16 @@ struct CardWindowView: View {
|
||||
|
||||
// MARK: - Attributes sidebar
|
||||
|
||||
/// The sidebar's sections, **in 05's settled order**: Attachments, Style, Details, Actions.
|
||||
/// The sidebar's sections, **reordered 2026-08-09** (Pipeline card 8f26b029) so **Attachments
|
||||
/// sits at the bottom of the stack**: Style, Details, Actions, Attachments. Section internals are
|
||||
/// untouched — this is ordering only, and it is exactly the `VStack`'s child order, so keyboard
|
||||
/// Tab order and VoiceOver's reading order follow it for free; ⇧⌘A (`AddAttachmentCommand`)
|
||||
/// still opens the same file panel regardless of where the section sits in the stack, since it
|
||||
/// reaches the window through the focus system rather than through this view's layout.
|
||||
///
|
||||
/// 05-card-window.md ▸ The attributes sidebar still documents the pathfinder's original order
|
||||
/// (Attachments, Style, Details, Actions) — an owed amendment, tracked on that card's own thread
|
||||
/// rather than made here.
|
||||
///
|
||||
/// One of the four is conditional, and the condition is the section's own rather than a rule
|
||||
/// restated here: **Details** renders nothing when the card carries no unknown frontmatter keys
|
||||
@@ -411,8 +420,6 @@ struct CardWindowView: View {
|
||||
private var sidebar: some View {
|
||||
ScrollView(.vertical) {
|
||||
VStack(alignment: .leading, spacing: bodyPointSize * 1.25) {
|
||||
CardAttachmentsSection(attachments: attachments, thumbnails: thumbnails)
|
||||
|
||||
CardStyleSection(store: store, recents: recents, cardID: card.id, undo: undo)
|
||||
|
||||
// The snapshot's own document, not a re-read: the loader parsed this file, unknown
|
||||
@@ -420,6 +427,8 @@ struct CardWindowView: View {
|
||||
CardDetailsSection(rows: CardDetails.rows(of: card.document))
|
||||
|
||||
CardActionsSection(store: store, cardID: card.id, cardFolder: cardFolder)
|
||||
|
||||
CardAttachmentsSection(attachments: attachments, thumbnails: thumbnails)
|
||||
}
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(CardWindowMetrics.gutter(bodyPointSize: bodyPointSize))
|
||||
|
||||
Reference in New Issue
Block a user