The phone's rows learn their faces and two more orders — icons everywhere, lanes and cards sortable
Boards, lanes, and cards all show their frontmatter icon leading the row, tinted through the palette with a secondary fallback; the board scanner now reads icon and iconColor from the same one-file parse as the title. Lane and card lists gain the segmented Manual/Name/Recent control — display-only sorting layered over the rank order, never rewriting what's on disk. Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
@@ -150,9 +150,9 @@ struct BoardsTabView: View {
|
||||
}
|
||||
}
|
||||
|
||||
/// One board row: title, lane/card counts, modified date, a marker for a board that is not in iCloud,
|
||||
/// and — while the package is not fully current — a download-state subtitle in place of the counts a
|
||||
/// shallow scan cannot yet answer.
|
||||
/// One board row: its icon when it has one, title, lane/card counts, modified date, a marker for a
|
||||
/// board that is not in iCloud, and — while the package is not fully current — a download-state
|
||||
/// subtitle in place of the counts a shallow scan cannot yet answer.
|
||||
///
|
||||
/// Only the local side is marked. iCloud is where a board is expected to be, so saying so on every
|
||||
/// row would be noise; "Local" is the exception, and the exception is what a marker is for.
|
||||
@@ -160,16 +160,19 @@ private struct BoardSummaryRow: View {
|
||||
let board: BoardSummary
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text(board.title)
|
||||
HStack(spacing: 6) {
|
||||
if board.location == .local {
|
||||
Label("Local", systemImage: "iphone")
|
||||
HStack {
|
||||
ItemIconView(icon: board.icon, iconColor: board.iconColor)
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text(board.title)
|
||||
HStack(spacing: 6) {
|
||||
if board.location == .local {
|
||||
Label("Local", systemImage: "iphone")
|
||||
}
|
||||
Text(subtitle)
|
||||
}
|
||||
Text(subtitle)
|
||||
.font(.caption)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
.font(.caption)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user