User-ruled 2026-08-08, after the git excision: the base/Pro split is mooted for now. The charter's anchors collapse to a single version (monetization workstream parked, the generosity tension resolved by construction), 12-editions.md carries the pivot note naming what the companion excision removes (Kanban/Tier/, TierTests, Configuration.storekit and its wiring; the network-client entitlement stays for the future sync service), and the README's tiers bullet becomes the one-version statement. Pro returns with the iPhone + ops-based sync capability as a fresh design pass — a reintroduction, not a resurrection. The code excision itself is handed off. Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
28 lines
985 B
Swift
28 lines
985 B
Swift
import SwiftUI
|
|
import IndieAbout
|
|
|
|
/// The About section (indie-about skill).
|
|
struct SettingsTabView: View {
|
|
@Environment(BoardIndexStore.self) private var index
|
|
|
|
var body: some View {
|
|
NavigationStack {
|
|
Form {
|
|
// Same voice as the Mac app's `AboutBox.configuration`; the changelog itself is
|
|
// the phone app's own (see project.yml — separate product, separate 1.0).
|
|
Section {
|
|
IndieAbout(configuration: .init(
|
|
copyrightText: "© 2026 rzen",
|
|
documents: [.license(extension: "md")],
|
|
changelogDocument: .changelog()
|
|
))
|
|
}
|
|
}
|
|
.navigationTitle("Settings")
|
|
}
|
|
// Idempotent (BoardIndexStore.start()), and harmless if BoardsTabView already called it —
|
|
// this tab can be the first one the user opens.
|
|
.task { index.start() }
|
|
}
|
|
}
|