IntersectMBO / IntersectMBO/govtool
💡 Unify and Enhance Search Experience in Live Voting Section
- Dominant language
- HTML
- Stars
- 21
- Forks
- 29
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 7
Description
### Area
Voting Pillar
### Is there new design needed?
Yes
### What?
Refactor the **Live Voting** section to adopt the same search behavior and layout as the **Outcomes** section. This includes:
- Removing category-based sliders and the “Show all” buttons.
- Displaying all governance actions in a scrollable, unified list unless the category filter is explicitly applied.
- Introducing a consistent search bar, filter options, and sorting dropdown, identical in style and behavior to the Outcomes section.
- Making filter and sort choices persist across sessions, and search terms persist within the same session.
- When the wallet is connected:
- The **To vote** tab should show all available governance actions (excluding already voted ones), using the unified layout.
- The **Voted on by me** tab should show all governance actions the user has voted on, also using the unified layout—no slider or category split.
- Backend should be optimized to reduce the number of API calls (from ~7 category-based calls to a single parameterized one).
### Why?
The current Live Voting experience is inconsistent, fragmented, and inefficient:
- Governance actions are grouped by category and shown through sliders with separate "Show all" views, creating unnecessary complexity.
- The search behavior is not aligned with user expectations, and filtering and search across categories is unintuitive.
- Multiple backend calls for each category increase loading times and waste resources.
With the Outcomes section already serving as a model of improved UX, search, and performance, replicating this model in the Live Voting section will:
- Improve discoverability and reduce friction.
- Deliver consistency across the application.
- Lower frontend/backend complexity and reduce server load.
- Match user mental models better by showing what’s expected when a search or filter is applied.
### How?
- Replace the current category-sliding UI in Live Voting with a unified, scrollable proposal list.
- Implement the new search/filter/sort bar, shared visually and functionally with Outcomes.
- Persist filter/sort choices across sessions (e.g., using localStorage), and persist search term within the current session.
- Ensure tab behavior is preserved with wallet connected and for a DRep user:
- **To vote** shows all proposals the user hasn’t voted on.
- **Voted on by me** shows all proposals the user has already voted on.
- Remove “Show all” buttons and sliders in Live Voting entirely.
### Acceptance criteria
- [ ] Search bar exists and is visually and functionally identical with Outcomes.
- [ ] Category grouping and sliders are removed from Live Voting card display
- [ ] Filter and sort selections persist across sessions. - if you go back, your filters are still there - as in outcomes
- [ ] Search term persists until the user changes it.
- [ ] “To vote” tab shows only governance actions the user hasn’t voted on.
- [ ] “Voted on by me” tab shows all governance actions voted on by the user.
Contributor guide
Assessment
This issue has not been assessed yet.