- 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>
36 lines
812 B
Dart
36 lines
812 B
Dart
part of '../game.dart';
|
|
|
|
@freezed
|
|
abstract class Game with _$Game {
|
|
const Game._();
|
|
|
|
const factory Game({
|
|
required String id,
|
|
required String name,
|
|
required String type,
|
|
required bool isActive,
|
|
required Map<String, dynamic> metadata,
|
|
required List<GamePrize> prizes,
|
|
required String createdAt,
|
|
required String updatedAt,
|
|
}) = _Game;
|
|
|
|
factory Game.empty() => const Game(
|
|
id: '',
|
|
name: '',
|
|
type: '',
|
|
isActive: false,
|
|
metadata: {},
|
|
prizes: [],
|
|
createdAt: '',
|
|
updatedAt: '',
|
|
);
|
|
|
|
/// Biaya sekali main dalam EnakCoin (`metadata.coin_cost`), default 1.
|
|
int get coinCost {
|
|
final value = metadata['coin_cost'];
|
|
final cost = value is num ? value.toInt() : int.tryParse('$value');
|
|
return cost == null || cost <= 0 ? 1 : cost;
|
|
}
|
|
}
|