BoardInfoTab gains .sync last in the strip, rendering BoardSyncTabView's one honest caption. The tab claims the position where 07's remote half will live without ruling where its setup surfaces land — that stays the open Redesign card's question. Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
33 lines
1.6 KiB
Swift
33 lines
1.6 KiB
Swift
import SwiftUI
|
|
|
|
/// **The board popover's Sync tab — a standing placeholder** (03-board-ui.md § Board popover,
|
|
/// added 2026-08-07, the same night the settings sheet retired).
|
|
///
|
|
/// The tab exists ahead of its contents, deliberately: the strip claims the position where the
|
|
/// remote half of the git story will live — tracking, Pull/Push, the status badges, and whatever
|
|
/// home the setup surfaces (remote, credentials, SSH) are ruled into — so that when
|
|
/// 07-sync-collab.md's cards land they land *in* a surface rather than re-arguing the strip. None
|
|
/// of that is ruled by this file: the open question is the Redesign board's
|
|
/// ("Rule a home for 07's remote and credential setup surfaces"), and a placeholder that decided it
|
|
/// by accident would be the worst way to answer it.
|
|
///
|
|
/// What renders meanwhile is one honest sentence in the posture notes' register
|
|
/// (`BoardGitTabView`'s siblings): the fact, stated plainly — never a mock control, never a
|
|
/// greyed-out preview of features that do not exist (06-history-undo.md ▸ Rules: teach, never look
|
|
/// broken).
|
|
struct BoardSyncTabView: View {
|
|
|
|
/// The popover's own padding figure (`BoardInfoView.inset`), matching every other tab's
|
|
/// parameter — the tab pads by this amount instead of restating the derivation.
|
|
let inset: CGFloat
|
|
|
|
var body: some View {
|
|
Text("Nothing here yet.")
|
|
.font(.caption)
|
|
.foregroundStyle(.secondary)
|
|
.fixedSize(horizontal: false, vertical: true)
|
|
.padding(inset)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
}
|
|
}
|