- Wallet EnakPoint & EnakCoin: beranda, riwayat, saldo kedaluwarsa, kode bayar, tukar EnakCoin, transfer - PIN (buat, ganti, lupa), outlet, riwayat order, game spin - Halaman community, webview, coming soon, dan ikon menu beranda baru - Redesign Reward Saya: kartu tiket, filter chip, detail kode + QR - Hapus customer point loader, menu, dan checkout lama - Base URL ke enaklo-pos-api.altru.id Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
750 B
Dart
23 lines
750 B
Dart
part of '../wallet_dtos.dart';
|
|
|
|
@freezed
|
|
abstract class WalletExpiringDto with _$WalletExpiringDto {
|
|
const factory WalletExpiringDto({
|
|
@JsonKey(name: 'point') List<ExpiringAmountDto>? point,
|
|
@JsonKey(name: 'coin') List<ExpiringAmountDto>? coin,
|
|
}) = _WalletExpiringDto;
|
|
|
|
factory WalletExpiringDto.fromJson(Map<String, dynamic> json) =>
|
|
_$WalletExpiringDtoFromJson(json);
|
|
|
|
const WalletExpiringDto._();
|
|
|
|
WalletExpiring toDomain() =>
|
|
WalletExpiring(point: _sorted(point), coin: _sorted(coin));
|
|
|
|
/// Paling dekat di atas.
|
|
List<ExpiringAmount> _sorted(List<ExpiringAmountDto>? list) =>
|
|
(list ?? []).map((e) => e.toDomain()).whereType<ExpiringAmount>().toList()
|
|
..sort((a, b) => a.date.compareTo(b.date));
|
|
}
|