feat: get cards from backend

This commit is contained in:
2026-06-24 08:35:31 +03:30
parent d837aca96e
commit 108a972761
83 changed files with 593 additions and 38 deletions
@@ -0,0 +1,29 @@
/// یک ردیف از جدولِ رتبه‌بندی.
class RankEntry {
final int rank;
final String name;
final String avatar;
final int rankPoints;
final String tier; // bronze..king
RankEntry.fromJson(Map<String, dynamic> j)
: rank = (j['rank'] ?? 0) as int,
name = (j['name'] ?? '') as String,
avatar = (j['avatar'] ?? '') as String,
rankPoints = (j['rank_points'] ?? 0) as int,
tier = (j['tier'] ?? 'bronze') as String;
}
/// جدولِ رتبه‌بندیِ فصلِ جاری.
class Leaderboard {
final int season;
final List<RankEntry> entries;
const Leaderboard(this.season, this.entries);
factory Leaderboard.fromJson(Map<String, dynamic> j) => Leaderboard(
(j['season'] ?? 1) as int,
((j['entries'] as List?) ?? [])
.map((e) => RankEntry.fromJson(Map<String, dynamic>.from(e as Map)))
.toList(),
);
}