Move all PPOProjectCard methods into one enum and callback #2190
+34
−13
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 refactors PPOProjectCard to use a single enum and callback for handling user actions.
🤔 Why
Follow up from #2186. We wanted to merge that PR but there was an outstanding comment about refactoring an action into a new enum, so this continues that discussion.
🛠 How
The initial suggestion was to extend
PPOProjectCardModel.Action
to include sending a creator message and viewing backing details. That enum is coming from GraphQL and relates specifically to button actions, so it doesn't strictly make sense to extend that.Instead I created a new enum that handles all the actions, and replaced the existing APIs with this. This isn't the only choice, though. We could do any of the following:
viewBackerDetails
,sendMessage
, andbuttonAction(PPOProjectCardModel.Action)
. Maybe renamingPPOProjectCardModel.Action
toPPOProjectCardModel.ButtonAction
in the process.✅ Acceptance criteria
Tests should pass.