Create the app icon and finalize versioning
App identity for both editions: the three-lane glyph
(rectangle.split.3x1.fill) over a gentle gradient - teal for base
Lanework, dark graphite for Lanework Pro - rendered as 1024 masters and
packaged down the full macOS ladder into each target's own iconset,
replacing the borrowed pathfinder icon.
The About window arrives via IndieAbout (0.2.x): icon, copyright,
version/build/date read from the Info.plist that update_build_info.sh
already stamps on every build (CFBundleVersion 160 = git commit count,
BuildDate, BuildHash - verified in the built product), the version line
opening the bundled CHANGELOG.md, and the new ISC LICENSE.md one
document link away. Both files are authored to the Apple
inline-Markdown subset (no # headings, single-line paragraphs) and
bundle into both editions.
CHANGELOG.md replaces its placeholder with the real 2.0 first-release
notes - one sentence per user-facing feature.
The About box is also an edition seam: base's EditionAbout carries the
one-line Pro signpost 12-editions.md allots ("Lanework Pro adds
git-backed board history and sync."), and the Pro target compiles its
own signpost-less twin instead of that file - the no-#if file-level
doctrine applied to a string. README gains the identity bullet.
1649 green on both schemes; verify-editions.sh 26/26.
Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import IndieAbout
|
||||
|
||||
/// **Pro's About-box configuration** — the twin of base's `Kanban/App/EditionAbout.swift`, which
|
||||
/// the Pro target excludes (project.yml): same documents, no signpost line. Base's About carries
|
||||
/// "Lanework Pro adds…" because base is where a user discovers Pro exists (12-editions.md ▸
|
||||
/// Quiet signposts); Pro pointing at itself would be noise, so its copyright falls back to the
|
||||
/// Info.plist string and the box is one line shorter.
|
||||
enum EditionAbout {
|
||||
|
||||
/// See base's twin for the full story; the two must keep the same shape so `KanbanApp` can
|
||||
/// read `EditionAbout.configuration` without knowing which edition it is in.
|
||||
static var configuration: AppInfoConfiguration {
|
||||
AppInfoConfiguration(
|
||||
documents: [.license(extension: "md")],
|
||||
changelogDocument: .changelog()
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user