Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UX: Design Warning Message for Voting Duration Impact on Existing Requests #119

Open
2 tasks
ori-near opened this issue Nov 8, 2024 · 6 comments
Open
2 tasks
Assignees

Comments

@ori-near
Copy link

ori-near commented Nov 8, 2024

Background

As part of #116, we’re implementing a feature that allows admins to change the voting duration for proposals. However, we need to warn admins before they complete this change on what happens to existing proposals.

Problem

Currently, proposals in our system have a voting duration (e.g. 7 days). If a proposal doesn’t receive enough votes within that period, we consider it as Expired in the UI, and we move it from the Pending Requests to the History tab. However, this is only a visual change in the UI. On the contract side, those proposals still have the "InProgress" status because we cannot automatically update the status without an explicit transaction (e.g. user taking action on proposal such as voting to approve, reject, or explicitly voting to expire the proposal). So the status always remains "InProgress" unless a user interacts with the proposal, even though the UI shows it as expired after the voting period ends.

If an admin changes the voting duration (e.g. from 7 to 21 days), any expired proposals created within the new voting duration (e.g. last 21 days) will move back to Pending Requests and become open for voting again. However, expired proposals created outside the new voting period will remain in history tab. This distinction is important because we need to inform admins about which requests will be impacted, and they need to understand that any expired proposals will be activated if they fall within the new duration.

UX Need

Design a warning message that admins see when they change the voting duration, explaining how the change will impact existing requests.

Acceptance Criteria

Sample Warning Message

Title:
Warning: Changing the voting duration will affect the status of some requests"

Body:
You are about to update the voting duration. This will affect the following existing requests

  • Pending Requests:
    [X] pending requests will now follow the new voting duration policy.

  • Expired Requests:
    [Y] expired requests under the old voting duration will move back to the Pending Requests tab and reopen for voting. These requests were created within thew new voting period and are no longer considered expired.

    Impacted Requests:

    • Request ID | Title of Proposal | Created Date

If you do not want expired proposals to be open for voting again, you may need to delete them.

Button:

  • Yes, Proceed
  • Cancel
@ori-near ori-near moved this from 🆕 Triage to 📋 Backlog in 🚀 DevHub Products Nov 8, 2024
@ori-near ori-near assigned ori-near and FREZZZBE and unassigned ori-near Nov 8, 2024
@FREZZZBE
Copy link
Collaborator

FREZZZBE commented Nov 9, 2024

@ori-near Thanks for amazingly prepared task! Figma

Image

@FREZZZBE FREZZZBE moved this from 📋 Backlog to ❌ Blocked in 🚀 DevHub Products Nov 9, 2024
@ori-near
Copy link
Author

Thank you @FREZZZBE! Overall looks good for MVP ...

Just a couple of quick thoughts:

  1. Perhaps I included too much copy (e.g. we could probably remove the "Pending Requests" and "Expired Requests" to remove two duplicate line items)
  2. For impacted requests, the list could get potentially long depending on the number of impacted requests. So perhaps we want to include it in some quoted smaller text with a scroll bar. Also, I was thinking we would only show impacted requests for Expired Requests, since those seem to have more unintended consequences (e.g. moving from history to pending). If you agree, we probably need to make it clear that the impacted requests are part of the "Expired Requests" list and not the Pending Requests one. Right now it is unclear which ones they are associated with.

Image

@FREZZZBE FREZZZBE moved this from ❌ Blocked to 🏗 In progress in 🚀 DevHub Products Nov 13, 2024
@FREZZZBE
Copy link
Collaborator

@ori-near Here is update

Image

@ori-near
Copy link
Author

ori-near commented Nov 15, 2024

Hi @FREZZZBE – made a few copy edits within the Figma – please review.
Image

BTW – I wonder if it's obvious that the left side of the table shows the current state and the right side shows the new state. Might want to test this with a couple of people. But I think for now this MVP is great!


Updated Copy

Warning: Impact of changing voting duration

You are about to update the voting duration. This will affect the following requests:

12 pending requests will now follow the new voting duration policy.
2 expired requests under the old voting duration will move back to the Pending Requests tab and reopen for voting. These requests were created within thew new voting period and are no longer considered expired.

Summary of Changes
[Show table]

@FREZZZBE
Copy link
Collaborator

BTW – I wonder if it's obvious that the left side of the table shows the current state and the right side shows the new state. Might want to test this with a couple of people. But I think for now this MVP is great!

English is Left to right language, and people scan iformation left to right. But yes, tests is always good idea!

@ori-near

Image

@ori-near
Copy link
Author

@FREZZZBE I mean that I'm not sure if it's visually clear that the left part of the table shows current state and the right side shows affected stage after the change 😛. Maybe we just need a header that says: Current State / After Change or something like that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants