input-output-hk / catalyst-voices

🎙️ Catalyst Voices provides a unified experience and platform including production-ready liquid democracy, meaningful collaboration opportunities & data-driven context for better onboarding & decisions.
https://input-output-hk.github.io/catalyst-voices/
Apache License 2.0
23 stars 7 forks source link

🎨 [Design] : MVE3: Context driven components for user guidance across spaces #1048

Open mike-mcnulty opened 2 days ago

mike-mcnulty commented 2 days ago

Summary

Context driven components

Description

As an admin user, I want to use the preview tools to see how my campaign will look to different types of users at different stages of the campaign, so that I can make sure everything looks good before publishing to my community.

AC:

This task is focused on building the responsive component(s) that will display messages to users at the top of each space based on context. The approach we find here will inform how we tackle responsive behavior across the main content of each space, and will also help validate the design of the preview tools.

Initially, we group all registered users as UNLOCKED, but later will differentiate between registered proposers and voters.

Out of scope

Component Requirements

Discovery Space

Workspace

Voting Space

b-farrington commented 1 day ago

I've designed a responsive messaging card component to that we can use in various places across the product (e.g. proposal list pages in the discovery space). This component can be used to advise users of upcoming deadlines and provide relevant CTAs: Figma component in Catalyst UI kit.

I've mapped this base component to the spaces and campaign lifecycle phases in the ticket to create example messaging for those contexts, based on the examples above. These can be used across the relevant product segments (and to demonstrate the effects of the Campaign Preview Tool component).

Screenshot 2024-10-25 at 16 30 23 Screenshot 2024-10-25 at 16 30 06
b-farrington commented 1 day ago

Regarding an approach for dynamically swapping out components or in-page content, a short term approach could be to build component variants according to the examples I've given and dynamically switch between them in the front end (for example when a campaign deadline passes or an admin user is using the Campaign Preview tool). In Figma, I've built a set of applications of the core messaging card component in a similar fashion.

Longer term we may wish to look into appropriately tokenising on screen content to allow us to dynamically adjust the contents of components to different changes in context in a scalable way. This might be necessary for increased contextual awareness within the product, as per the ticket example of a users voting power status (for now, I’ve left out variants based on the status of minimum ADA balances, and tried to write generic messaging that is along the lines of what was intended)

In any case, it seems sensible to have any on-page messaging rooted to the active product segment (space) and dynamically adjust it based on the other vectors (Stage in the campaign lifecycle, the registered roles of users, the status of things etc).