In the SafeRole component, we are now passing in a proposal object instead of just the status.
We have added an additional check to see if there is a version mismatch between what's stored on chain and what's being displayed (this can happen when you edit your proposal). If so, then it will not show that signature as approved or pending anymore since this would be misleading for users who haven't refreshed their page yet after editing their proposals.
When approving/signing off on a role from within the modal window, we need to pass along which version of the proposal they're signing off on because otherwise it won't know where to store that approval data! This was causing issues with people having multiple approvals showing up even though they only signed once before refreshing their browser window (which caused them to sign again without realizing) - https://github.com/gitcoinco/web/issues/5697#issuecomment-717098981
What's included in this pr + description
forgot to reset the signatures when we edit the proposal 👀, but I'm doing it now!
Basically on approval of the proposal, we should generate a proposal signature with the current proposal version.
Whenever we're checking for approvals, we need to double check that the signatures correlate to the correct proposal version.
Upon editing the proposal, we reset the approval status back to pending
Steps to test