Phase 20: achievements tab and unlock toasts
New Achievements tab (tab-achievements) shows all 18 achievement cards in a responsive grid. Each card displays: icon, title, rarity badge (color- coded: common=grey, rare=blue, epic=purple), description, reward coins, and either a green "Unlocked <date>" label or a dimmed "Locked" state. Unlocked achievements sort first (newest-first); locked sort alphabetically after. Header nav button shows earned count badge next to "Achievements". Match result handler reads achievements_unlocked from the Core response and fires one toast per newly unlocked achievement immediately after match submission. Level-up toasts continue to work independently. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -251,6 +251,7 @@ async fn test_dashboard_contains_key_sections() {
|
||||
assert!(html.contains("tab-catalog"), "card catalog tab missing");
|
||||
assert!(html.contains("tab-settings"), "settings tab missing");
|
||||
assert!(html.contains("tab-notifications"), "notifications tab missing");
|
||||
assert!(html.contains("tab-achievements"), "achievements tab missing");
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
|
||||
Reference in New Issue
Block a user