import '../../domain/entities/wallet_entity.dart'; /// مدلِ کیف‌پول؛ از پاسخِ /wallet و /me ساخته می‌شود. class WalletModel extends WalletEntity { const WalletModel({ required super.coins, required super.tickets, required super.xp, required super.trophies, required super.level, required super.xpIntoLevel, required super.xpForNext, required super.vip, required super.selectedCard, required super.selectedCarpet, required super.name, required super.avatar, }); factory WalletModel.fromJson( Map wallet, Map user, ) { final name = (user['first_name'] as String?)?.trim(); final avatar = (user['avatar'] as String?)?.trim(); return WalletModel( coins: (wallet['coins'] ?? 0) as int, tickets: (wallet['tickets'] ?? 0) as int, xp: (wallet['xp'] ?? 0) as int, trophies: (wallet['trophies'] ?? 0) as int, level: (wallet['level'] ?? 1) as int, xpIntoLevel: (wallet['xp_into_level'] ?? 0) as int, xpForNext: (wallet['xp_for_next'] ?? 1) as int, vip: (wallet['vip'] ?? false) as bool, selectedCard: (wallet['selected_card'] ?? 'simple') as String, selectedCarpet: (wallet['selected_carpet'] ?? 'classic') as String, name: (name == null || name.isEmpty) ? 'بازیکن' : name, avatar: (avatar == null || avatar.isEmpty) ? 'hakem-1' : avatar, ); } }