presentation/widgets/common/quest_board_panel
library
Classes
-
QuestBoardPanel
-
Displays a list of QuestViewModels — progress bar + a Claim button
that's only enabled once a quest is completed and unclaimed — the
ready-to-use on-screen counterpart to
DailyQuestService (IDEA-29),
which previously had no widget consuming it at all.
-
QuestViewModel
-
One caller-supplied quest row — label/progress/target/claimed are
already resolved by the caller (typically read straight off
DailyQuestService.progressOf/targetOf/isClaimed for id); this
widget never talks to that service directly, same "pure/data-driven,
caller owns the source of truth" convention as LeaderboardEntry.