redesign accounts page ui

This commit is contained in:
2026-05-14 05:24:31 +05:00
parent 3ddf687c8b
commit 6ed68df572
5 changed files with 176 additions and 131 deletions
@@ -187,7 +187,6 @@ class BmlLoginFlow {
val dashboard = root.optJSONObject("payload")?.optJSONArray("dashboard") ?: return emptyList()
val casaAccounts = mutableListOf<MibAccount>()
val seenPrepaid = mutableSetOf<String>()
val prepaidCards = mutableListOf<MibAccount>()
for (i in 0 until dashboard.length()) {
@@ -201,7 +200,7 @@ class BmlLoginFlow {
if (accountType == "CASA") {
val available = item.optDouble("availableBalance", 0.0)
casaAccounts.add(MibAccount(
profileName = "Bank of Maldives",
profileName = "Personal",
profileType = "BML",
accountNumber = accountNumber,
accountBriefName = item.optString("alias"),
@@ -217,27 +216,22 @@ class BmlLoginFlow {
} else if (accountType == "Card") {
val isPrepaid = item.optBoolean("prepaid_card", false)
if (isPrepaid) {
// Deduplicate by account number, prefer Active
if (!seenPrepaid.contains(accountNumber) || status == "Active") {
seenPrepaid.add(accountNumber)
prepaidCards.removeAll { it.accountNumber == accountNumber }
val cardBalance = item.optJSONObject("cardBalance")
val available = cardBalance?.optDouble("AvailableLimit", 0.0) ?: 0.0
prepaidCards.add(MibAccount(
profileName = "Cards",
profileType = "BML_PREPAID",
accountNumber = accountNumber,
accountBriefName = product,
currencyName = currency,
accountTypeName = product,
availableBalance = "%.2f".format(available),
currentBalance = "%.2f".format(cardBalance?.optDouble("CurrentBalance", 0.0) ?: 0.0),
blockedAmount = "0.00",
mvrBalance = if (currency == "MVR") "%.2f".format(available) else "0.00",
statusDesc = status,
profileImageHash = null
))
}
val cardBalance = item.optJSONObject("cardBalance")
val available = cardBalance?.optDouble("AvailableLimit", 0.0) ?: 0.0
prepaidCards.add(MibAccount(
profileName = "Personal",
profileType = "BML_PREPAID",
accountNumber = accountNumber,
accountBriefName = product,
currencyName = currency,
accountTypeName = product,
availableBalance = "%.2f".format(available),
currentBalance = "%.2f".format(cardBalance?.optDouble("CurrentBalance", 0.0) ?: 0.0),
blockedAmount = "0.00",
mvrBalance = if (currency == "MVR") "%.2f".format(available) else "0.00",
statusDesc = status,
profileImageHash = null
))
} else {
// Linked debit cards have no independent balance or account link — skip
}