Skip to content

Commit

Permalink
refactor #2534: migrated review loan application screen to compose
Browse files Browse the repository at this point in the history
  • Loading branch information
AvneetSingh2001 committed Mar 25, 2024
1 parent 77c8119 commit 50c6edb
Show file tree
Hide file tree
Showing 14 changed files with 488 additions and 332 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import org.mifos.mobile.models.payload.LoansPayload
import org.mifos.mobile.models.templates.loans.LoanTemplate
import org.mifos.mobile.ui.activities.base.BaseActivity
import org.mifos.mobile.ui.enums.LoanState
import org.mifos.mobile.ui.fragments.ReviewLoanApplicationFragment.Companion.newInstance
import org.mifos.mobile.ui.loan_review.ReviewLoanApplicationFragment.Companion.newInstance
import org.mifos.mobile.ui.fragments.base.BaseFragment
import org.mifos.mobile.utils.*
import org.mifos.mobile.utils.ParcelableAndSerializableUtils.getCheckedParcelable
Expand Down Expand Up @@ -100,7 +100,6 @@ class LoanApplicationFragment : BaseFragment() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
(activity as? BaseActivity)?.showToolbar()
if (arguments != null) {
loanState = arguments?.getCheckedSerializable(
LoanState::class.java,
Expand Down Expand Up @@ -217,6 +216,11 @@ class LoanApplicationFragment : BaseFragment() {
}
}

override fun onResume() {
super.onResume()
(activity as? BaseActivity)?.showToolbar()
}

/**
* Calls function which applies for a new Loan Application or updates a Loan Application
* according to `loanState`
Expand Down Expand Up @@ -326,7 +330,7 @@ class LoanApplicationFragment : BaseFragment() {
tvNewLoanApplication.text.toString(),
tvAccountNumber.text.toString(),
),
false,
true,
R.id.container,
)
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.mifos.mobile.R
import org.mifos.mobile.core.ui.component.MifosTitleDescDoubleLine
import org.mifos.mobile.core.ui.theme.MifosMobileTheme
import org.mifos.mobile.models.accounts.loan.LoanWithAssociations
import org.mifos.mobile.ui.savings_account.DetailField
import org.mifos.mobile.ui.savings_account.MonitorListItemWithIcon
import org.mifos.mobile.utils.CurrencyUtil
import org.mifos.mobile.utils.DateHelper
Expand Down Expand Up @@ -85,7 +85,7 @@ fun LoanAccountDetailsCard(

OutlinedCard(modifier = modifier) {
Column(modifier = Modifier.padding(14.dp)) {
DetailField(
MifosTitleDescDoubleLine(
title = stringResource(id = R.string.outstanding_balance),
description = stringResource(
R.string.string_and_string,
Expand All @@ -100,38 +100,38 @@ fun LoanAccountDetailsCard(

Spacer(modifier = Modifier.height(8.dp))

DetailField(
MifosTitleDescDoubleLine(
title = stringResource(id = R.string.next_installment),
description = nextInstallment,
descriptionStyle = MaterialTheme.typography.bodyLarge,
)

Spacer(modifier = Modifier.height(8.dp))

DetailField(
MifosTitleDescDoubleLine(
title = stringResource(id = R.string.due_date),
description = dueDate,
descriptionStyle = MaterialTheme.typography.bodyLarge,
)

Spacer(modifier = Modifier.height(8.dp))

DetailField(
MifosTitleDescDoubleLine(
title = stringResource(id = R.string.account_number),
description = loanWithAssociations.accountNo ?: "",
descriptionStyle = MaterialTheme.typography.bodyLarge,
)

Spacer(modifier = Modifier.height(8.dp))

DetailField(
MifosTitleDescDoubleLine(
title = stringResource(id = R.string.loan_type),
description = loanWithAssociations.loanType?.value ?: "",
descriptionStyle = MaterialTheme.typography.bodyLarge,
)
Spacer(modifier = Modifier.height(8.dp))

DetailField(
MifosTitleDescDoubleLine(
title = stringResource(id = R.string.currency),
description = loanWithAssociations.summary?.currency?.code ?: "",
descriptionStyle = MaterialTheme.typography.bodyLarge,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ fun ErrorComponent(
} else {
EmptyDataView(
icon = R.drawable.ic_error_black_24dp,
error = R.string.loan_account_details
error = R.string.loan_account_details,
modifier = Modifier.fillMaxSize()
)
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
package org.mifos.mobile.ui.loan_review

import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.material3.Button
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import org.mifos.mobile.R
import org.mifos.mobile.core.ui.component.MifosTitleDescDoubleLine
import org.mifos.mobile.core.ui.component.MifosTitleDescSingleLine
import java.util.Locale

@Composable
fun ReviewLoanApplicationContent(
data: ReviewLoanApplicationUiData,
modifier: Modifier = Modifier,
submit: () -> Unit
) {
Column(modifier = modifier.fillMaxSize()) {
Text(
text = data.loanName ?: "",
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurface,
)

Spacer(modifier = Modifier.height(8.dp))

Text(
text = data.accountNo ?: "",
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurface,
)

Spacer(modifier = Modifier.height(8.dp))

MifosTitleDescDoubleLine(
title = stringResource(id = R.string.product),
description = data.loanProduct ?: "",
descriptionStyle = MaterialTheme.typography.bodyMedium
)

Spacer(modifier = Modifier.height(8.dp))

MifosTitleDescDoubleLine(
title = stringResource(id = R.string.loan_purpose),
description = data.loanPurpose ?: "",
descriptionStyle = MaterialTheme.typography.bodyMedium
)

Spacer(modifier = Modifier.height(8.dp))

MifosTitleDescDoubleLine(
title = stringResource(id = R.string.principal),
description = String.format(
Locale.getDefault(),
"%.2f", data.principal ?: 0,
),
descriptionStyle = MaterialTheme.typography.bodyMedium
)

Spacer(modifier = Modifier.height(16.dp))

MifosTitleDescSingleLine(
title = stringResource(id = R.string.currency),
description = data.currency ?: ""
)

Spacer(modifier = Modifier.height(8.dp))

MifosTitleDescSingleLine(
title = stringResource(id = R.string.submission_date),
description = data.submissionDate ?: ""
)

Spacer(modifier = Modifier.height(8.dp))

MifosTitleDescSingleLine(
title = stringResource(id = R.string.expected_disbursement_date),
description = data.disbursementDate ?: ""
)

Spacer(modifier = Modifier.height(26.dp))

Button(
onClick = { submit.invoke()},
modifier = Modifier.fillMaxWidth()
) {
Text(text = stringResource(id = R.string.submit_loan))
}
}
}
Loading

0 comments on commit 50c6edb

Please sign in to comment.