import 'package:equatable/equatable.dart'; /// المحفظة كما يرجّعها `GET /wallet` (شكل مُتحقَّق حيّاً، docs/38 §6). /// /// ⚠️ **محفظتان لا واحدة**: محفظة الراكب **التزام** على المنصّة (رصيدٌ دفعه /// ولم يستهلكه بعد)، ومحفظة السائق **إيراد** له. دمجهما في شاشة أو حساب /// واحد خطأ محاسبي لا تجميلي — لذلك لا تُوحَّد شاشتاهما (docs/39 §4). class Wallet extends Equatable { const Wallet({ required this.id, required this.balance, required this.currency, }); final String id; /// نصّ لا رقم (`"0.000"`) — يُحوَّل عبر `Money` عند الحاجة فقط. final String balance; /// من إعداد المستأجر: `JOD`/`EGP`/`SYP` — لا تُثبَّت في التطبيق. final String currency; factory Wallet.fromJson(Map json) => Wallet( id: json['id'] as String? ?? '', balance: json['balance']?.toString() ?? '0', currency: json['currency'] as String? ?? '', ); @override List get props => [id, balance, currency]; }