Repository navigation
feat: add SwiftUI Status, Notice and Loading - #13
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Warning Review limit reachedNext included review available in 11 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: QUIET Plan: Advanced Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe brand package version changes to 0.4.0, and generated Compose and SwiftUI palettes add a signal color. The SwiftUI package adds status, notice, and loading views, plus an insettable beveled rectangle shape. Tests cover component behavior, shape geometry, and rendering. The README lists the new Apple components. Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🟡 Moderate · up to Users following the Swift setup instructions may select a version without the advertised components. The loading indicator also remains static if Reduce Motion is turned off while it is visible. Correct the instructions and animation transition before merging. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 11 functions across 9 files. (3 skipped: 3 unsupported.) Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Note
Quiet mode is enabled, so only the most important comments were posted inline. Other review comments are grouped below.
🟡 Other comments (1)
platforms/swiftui/Sources/Origin89UI/Loading.swift-39-42 (1)
39-42: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winStart the loading animations when Reduce Motion is turned off.
If
Origin89Loadingappears while Reduce Motion is enabled, Line 40 skips both animations. If the user then disables Reduce Motion without leaving the view,onAppeardoes not run again. The spinner and bars remain static. Observe changes toreduceMotionand start the animations when it becomes false. (developer.apple.com)
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: QUIET
Plan: Advanced
Run ID: 384d4b4c-e589-4b63-b633-28e620d866a9
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (12)
README.mdbrand-provenance.jsonpackage.jsonplatforms/compose/ui/src/main/kotlin/com/origin89/ui/GeneratedTokens.ktplatforms/swiftui/Sources/Origin89UI/GeneratedTokens.swiftplatforms/swiftui/Sources/Origin89UI/Loading.swiftplatforms/swiftui/Sources/Origin89UI/Notice.swiftplatforms/swiftui/Sources/Origin89UI/Status.swiftplatforms/swiftui/Sources/Origin89UI/Theme.swiftplatforms/swiftui/Tests/Origin89UITests/ComponentTests.swiftplatforms/swiftui/Tests/Origin89UITests/ThemeTests.swiftscripts/generate-brand.mjs
Included review availability: Your plan provides up to 10 included reviews per hour; 3 remain after this review.
The iOS setup flow (origin89hq/apps#1) needs step states, controller refusals and a waiting state. React already has
Status,NoticeandLoading; this addsOrigin89Status,Origin89NoticeandOrigin89Loadingwith the same behavior.Origin89Statustakes the five React tones. Each pairs its colour with a mark and a border (solid, 2 pt, dashed, dotted) so tones stay distinct without colour.Origin89Noticehas info and alarm tones, a 3 pt accent edge and the brand's bevelled corners; an alarm posts a VoiceOver announcement when it appears or its message changes, while info notices wait to be read.Origin89Loadingdraws the React spinner ring with asignalarc and four pulse bars, and both stop under Reduce Motion.The spinner needs
signal, which@origin89/brandadded in 0.4.0. React already used 0.4.0, but the native generator was pinned to 0.3.1, so the root dependency moves to 0.4.0 and the regenerated Swift and Compose palettes gainsignal. No other palette value or font changed.Validation:
swift testpasses 13 tests with no warnings, covering tone marks, borders and colours, which notices announce, the defaults, bevel geometry and clamping, and rendering each view in light and dark with empty and long text. The iOS 17 Simulator build andpnpm checkpass. I checked light and dark renders of every component by eye../gradlew checkdid not run locally because there is no JDK here; CI runs it. Compose parity is tracked in #12.After merge, release with
just swift-release 0.4.0.