View Granular Benefit Metric Breakdown by Activity Type
Below the top-level benefit-results-card, a row of benefit-metric-tile components displays the calculated contribution broken down by activity type. Each tile shows the activity category name (using the organization's terminology via the org-labels-provider), the count of activities, total hours, and the weighted benefit value for that category. Tapping a tile expands or navigates to a detail view. The tiles are generated dynamically from the benefit-calculation-result-model, which carries per-category breakdowns produced by the benefit-calculation-service. Org-configured multipliers from the benefit-multiplier-config-repository are applied per activity type, allowing organizations to weight high-impact activities (e.g., crisis support) more heavily than routine check-ins. The layout adapts to 2-column or 3-column grids depending on screen width, with accessible semantics labels on each tile.
User Story
Acceptance Criteria
- Given a completed calculation with multiple activity types, When the benefit-metric-tile components render, Then each tile displays the org-localized activity type name, count, total hours, and calculated benefit value
- Given the org has configured different multipliers for different activity types in benefit-multiplier-config-repository, When the calculation runs, Then tiles with higher-multiplier activity types show proportionally higher benefit values
- Given the screen renders on a narrow viewport (320dp width), When the tile layout adapts, Then tiles reflow to a single-column list without overflow or clipping
- Given a benefit-metric-tile is focused by a screen reader, When the user navigates to it, Then the semantics label reads the full metric in natural language (e.g., 'Home visits: 12 activities, 18 hours, estimated benefit 4,200 kroner')
- Given an activity type has zero entries for the selected period, When the results render, Then that activity type tile is either hidden or shown with a zero state, not displaying misleading partial data
Business Value
Granular breakdown by activity type gives peer mentors actionable insight into where their time creates the most value. For organizations, this feature creates a natural feedback loop: when volunteers see that certain activity types yield higher benefit scores, they are more likely to engage in high-impact work. This also enables coordinators and organizations to configure multipliers strategically — for instance, weighting crisis support or long-duration engagements higher — to align volunteer behavior with organizational priorities and Bufdir reporting categories.
Components
- Benefit Results Card ui
- Benefit Metric Tile ui
- Benefit Calculation Service service
- Activity Summary Aggregator service
- Benefit Multiplier Config Repository data
- Benefit Calculation Result Model data
- Benefit Calculator BLoC infrastructure
- Organization Labels Provider infrastructure
- Semantics Wrapper Widget ui