[MBL-1458 pt 5] Card view for pledged projects overview #2130
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📲 What
This PR implements the card view for pledged projects, as well as the relevant subviews. It adds a view model to cover handling actions like tapping buttons and sending the creator a message. This builds on previous PRs to add the individual pieces.
Connecting to real data will come in a future PR.
🛠 How
The project card is built from the individual pieces added in previous PRs.
Each card view gets its own view model instance, which is a container that holds the relevant data and can forward messages from the card view to a caller via Combine.
Views were tested via snapshot testing of the card in various configurations listed in Figma. View model inputs and outputs have unit tests.
👀 See
Figma
♿️ Accessibility
Should support Dynamic Type and VoiceOver, but that hasn't been confirmed
🏎 Performance
Performance will be validated when these are integrated into the pledged project list.
✅ Acceptance criteria
Feature will be more thoroughly tested against real data in a future PR after integrating. For now, all tests should pass.
⏰ TODO
Future PRs will integrate into the app UI itself and more testing can happen at that time.