JoinColony / colonyCDapp

An iteration of the Colony Dapp sporting both a fully decentralized operating mode, as well as a mode enhanced by a metadata caching layer
5 stars 14 forks source link

Reputation widget updates #2656

Closed arrenv closed 1 month ago

arrenv commented 4 months ago

Specification

Story

As a USER, I would like to be able to see the reputation breakdown of all teams in a Colony.

Description

Currently, users have reported liking but having some confusion with how the two reputation widgets work in the UI, for example, the donut chart teams not adding up to 100% reputation and how reputation in the General team works.

Donut chart

You can see in the screenshot, with only the top teams shown, it adds up to only 63.52%. We originally had an item for 'All other' in the chart that summed up the reputation of all other teams as one item, but it often dominated the chart with a gray color and also still did not add up to 100% as it did not include the values that were specifically earnt in 'General'.

image

However, we would like to add the 'All other' row back into the chart, with some changes to the calculation of the reputation percentages, in order to better represent the influence of teams. As reputation flows upwards 'General' will always be 100% of the reputation, so, even if there is reputation that only exists in 'General' (e.g. from a payment made from 'General') it makes sense to ignore this reputation in this chart and the percentage influence calculations.

As an example of how it currently works:

Total reputation: 12,500

General:     2,500 reputation (20%) (earnt specifically in General)

We show this in the chart:
Dev:         2,500 reputation (20%)
Design:      2,500 reputation (20%)
Ops:         2,500 reputation (20%)
All other:   2,500 reputation (20%)

This is an example of how we propose the calculation to work:

Total reputation: 12,500

General:     2,500 reputation (earnt specifically in General)

Total team reputation: 12,500 - 2,500 = 10,000

We show this in the chart:
Dev:         2,500 reputation (25%)
Design:      2,500 reputation (25%)
Ops:         2,500 reputation (25%)
All other:   2,500 reputation (25%)

Additionally, we would like to show General in the chart if there are no other teams and there is reputation in the colony (mockup of this is shown in the Design section below).

Reputation list

The current list does not add up to 100%, the same issue as described in the donut chart. So, we would like the same treatment, where the reputation specifically earned in 'General' is ignored from the calculations of the reputation percentages for the teams listed. We would also like to include the 'General' team in the list with the reputation percent of 100% shown. image

Design

'All other' added in the chart

General team in chart

Reputation list

Implementation

This issue is complete when...

arrenv commented 3 months ago

Dashboard widget can be excluded from this scope due to the incoming Dashboard updates.