* feat(#433): achievements 1:1 parity with dashboard - Expanded model: AchievementsResponse now carries header stats (unlockedCount, discoveredCount, secretCount, totalCount, isStale, scanMeta/ScanStatus) and per-achievement fields (unlockedAt, secret, criteria) - Added API endpoints: scan-status, rescan, reset-state, recent-unlocks - Created AchievementIcon emoji mapper for all Lucide icon names - Rewrote ViewModel with full state: scan tracking, recent unlocks, category/state filtering, rescan/reset actions with loading states - Rewrote Screen: header stats row, scan status chip, stale indicator, category + state filter chips, recent unlocks section, expandable criteria, icon emoji, unlocked glow border, overflow menu with rescan/reset, reset confirmation dialog - Added 30 string resources for all new UI elements * fix: resolve CI compilation errors in achievements module - Replace progress_pct references with correct Kotlin field progressPct (Achievement model uses @SerializedName for snake_case, Kotlin field is camelCase) - Add missing onStart/onError parameters to safeLaunchLoad calls in loadScanStatus() and loadRecentUnlocks() * fix: remove top padding on achievements tab content * fix: remove redundant paddingValues on achievement LazyColumn --------- Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
1 parent
2bceac7ab3
commit
f887146056
6 files changed
+941
-108
No files matched your search
@@ -391,6 +391,31 @@
|
||||
<string name="achievements_empty_title">No achievements yet</string>
|
||||
<string name="achievements_empty_desc">Complete tasks to unlock achievements.</string>
|
||||
<string name="achievements_label_progress">Progress: %1$d / %2$d</string>
|
||||
<string name="achievements_search_hint">Search achievements…</string>
|
||||
<string name="achievements_stat_unlocked">Unlocked</string>
|
||||
<string name="achievements_stat_discovered">Discovered</string>
|
||||
<string name="achievements_stat_secret">Secret</string>
|
||||
<string name="achievements_stat_total">Total</string>
|
||||
<string name="achievements_scan_idle">Idle</string>
|
||||
<string name="achievements_scan_running">Scanning…</string>
|
||||
<string name="achievements_scan_scanning">Rescanning…</string>
|
||||
<string name="achievements_scan_error">Error</string>
|
||||
<string name="achievements_scan_count">%1$d scans</string>
|
||||
<string name="achievements_stale">Cached</string>
|
||||
<string name="achievements_filter_all">All</string>
|
||||
<string name="achievements_state_unlocked">Unlocked</string>
|
||||
<string name="achievements_state_discovered">Discovered</string>
|
||||
<string name="achievements_state_secret">Secret</string>
|
||||
<string name="achievements_recent_title">Recent Unlocks</string>
|
||||
<string name="achievements_count_label">%1$d of %2$d achievements</string>
|
||||
<string name="achievements_criteria_show">Show criteria</string>
|
||||
<string name="achievements_criteria_hide">Hide criteria</string>
|
||||
<string name="achievements_unlocked_at">Unlocked %1$s</string>
|
||||
<string name="achievements_menu_desc">Achievements menu</string>
|
||||
<string name="achievements_action_rescan">Rescan all sessions</string>
|
||||
<string name="achievements_action_reset">Reset all achievement data</string>
|
||||
<string name="achievements_reset_title">Reset achievements?</string>
|
||||
<string name="achievements_reset_desc">This will wipe all unlock and discovery data. Achievements will be re-scanned from scratch on the next scan. This cannot be undone.</string>
|
||||
|
||||
<!-- Keys Screen -->
|
||||
<string name="keys_empty_title">No environment keys reported</string>
|
||||
|
||||
Reference in new issue
Block a user