part of '../wallet.dart'; enum WalletCurrency { point('POINT', 'EnakPoint'), coin('COIN', 'EnakCoin'); const WalletCurrency(this.apiValue, this.label); final String apiValue; final String label; static WalletCurrency fromApi(String? value) => value == coin.apiValue ? coin : point; } enum WalletTransactionType { earn('EARN', 'Dari belanja'), earnReversal('EARN_REVERSAL', 'Dibatalkan (order di-void/refund)'), payment('PAYMENT', 'Bayar pesanan'), paymentRefund('PAYMENT_REFUND', 'Pengembalian pembayaran'), exchangeOut('EXCHANGE_OUT', 'Ditukar ke EnakPoint'), exchangeIn('EXCHANGE_IN', 'Hasil tukar EnakCoin'), transferOut('TRANSFER_OUT', 'Transfer keluar'), transferIn('TRANSFER_IN', 'Transfer masuk'), gameSpend('GAME_SPEND', 'Main game'), expire('EXPIRE', 'Kedaluwarsa'), adjustment('ADJUSTMENT', 'Koreksi'), migration('MIGRATION', 'Saldo awal'), unknown('', 'Transaksi'); const WalletTransactionType(this.apiValue, this.label); final String apiValue; final String label; /// Tipe yang bisa dipilih di filter riwayat. static List get filterable => values.where((e) => e != unknown).toList(); static WalletTransactionType fromApi(String? value) => values.firstWhere((e) => e.apiValue == value, orElse: () => unknown); } enum PinOtpPurpose { setup('pin_setup'), reset('pin_reset'); const PinOtpPurpose(this.apiValue); final String apiValue; }