Make the brand purple the accent color and exercise Done check

Populate the previously-empty AccentColor asset (iOS + watch) with the
logo purple — a deep shade in light mode, brightened for dark mode and
the watch's black background. The exercise Done check now uses that
accent color and the in-progress indicator reads as a neutral gray, on
both iPhone and Apple Watch.
This commit is contained in:
2026-06-20 17:48:05 -04:00
parent 4a28d6a300
commit 21ee05053e
6 changed files with 44 additions and 9 deletions
+2 -4
View File
@@ -1,9 +1,7 @@
**Changelog**
All notable changes to this project are documented here.
**June 2026** **June 2026**
The app now wears its signature purple: it's the accent color throughout, and a completed exercise is marked with a purple check. In-progress exercises now read as a neutral gray.
Tapping an exercise on iPhone now opens a paged workout run — the same Ready → work/rest → Finish flow as the Apple Watch, with rep sets counting up, timed sets and rests counting down and auto-advancing, plus haptics. Tapping an exercise on iPhone now opens a paged workout run — the same Ready → work/rest → Finish flow as the Apple Watch, with rep sets counting up, timed sets and rests counting down and auto-advancing, plus haptics.
The exercise detail and edit screen moved behind an Edit swipe on the trailing edge; the leading swipe still completes a set. The exercise detail and edit screen moved behind an Edit swipe on the trailing edge; the leading swipe still completes a set.
+2 -1
View File
@@ -92,9 +92,10 @@ Seeded on demand, never automatically — an empty cache at launch is indistingu
`CHANGELOG.md` is bundled and shown in-app via IndieAbout, so write it for **end users**, not developers. When you make user-facing changes, add entries following these rules: `CHANGELOG.md` is bundled and shown in-app via IndieAbout, so write it for **end users**, not developers. When you make user-facing changes, add entries following these rules:
- No preamble: the file starts directly with the first month heading — no title or intro line (e.g. **Changelog** / "All notable changes…").
- Group entries by month, newest month first; a version milestone (e.g. **2.0**) may prefix the entry it applies to. - Group entries by month, newest month first; a version milestone (e.g. **2.0**) may prefix the entry it applies to.
- Write each entry as its own blank-line-separated paragraph — **no bullet or dash markers**, because the Apple inline-Markdown subset IndieAbout renders doesn't style them (see the `indie-about` skill for the supported subset). - Write each entry as its own blank-line-separated paragraph — **no bullet or dash markers**, because the Apple inline-Markdown subset IndieAbout renders doesn't style them (see the `indie-about` skill for the supported subset).
- Derive entries from the git log, but rewrite (don't copy) each into a concise, end-user-understandable description of the crux of the change. - Derive entries from the git log, but rewrite (don't copy) each into a concise, end-user-understandable description of the crux of the change.
- Include only changes significant to an end user; skip internal / tooling / refactor-only commits. - Include only changes significant to an end user; skip internal / tooling / refactor-only commits. In particular, never log changes to the changelog itself (its preamble, formatting, or how it's derived) — these have zero end-user value.
- When one commit holds several user-facing changes, split them into separate paragraphs. - When one commit holds several user-facing changes, split them into separate paragraphs.
- When several commits address the same user-facing change, collapse them into one paragraph. - When several commits address the same user-facing change, collapse them into one paragraph.
@@ -1,6 +1,15 @@
{ {
"colors" : [ "colors" : [
{ {
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.922",
"green" : "0.388",
"red" : "0.659"
}
},
"idiom" : "universal" "idiom" : "universal"
} }
], ],
@@ -173,9 +173,9 @@ struct WorkoutLogRowLabel: View {
private var statusColor: Color { private var statusColor: Color {
switch status { switch status {
case .completed: case .completed:
.green .accentColor
case .inProgress: case .inProgress:
.orange .gray
case .notStarted: case .notStarted:
.secondary .secondary
case .skipped: case .skipped:
@@ -1,6 +1,33 @@
{ {
"colors" : [ "colors" : [
{ {
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.588",
"green" : "0.078",
"red" : "0.337"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.922",
"green" : "0.388",
"red" : "0.659"
}
},
"idiom" : "universal" "idiom" : "universal"
} }
], ],
+2 -2
View File
@@ -17,9 +17,9 @@ enum CheckboxStatus {
var color: Color { var color: Color {
switch self { switch self {
case .checked: .green case .checked: .accentColor
case .unchecked: .gray case .unchecked: .gray
case .intermediate: .yellow case .intermediate: .gray
case .cancelled: .red case .cancelled: .red
} }
} }