diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/BbpsSnackBarPredefinedConfig.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/BbpsSnackBarPredefinedConfig.kt index 3a1c4c2340..d4c16bb329 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/BbpsSnackBarPredefinedConfig.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/utils/BbpsSnackBarPredefinedConfig.kt @@ -14,12 +14,12 @@ import com.navi.design.snackbar.SnackBarConfig class BbpsSnackBarPredefinedConfig { fun successConfig(title: String, description: String? = null) = SnackBarConfig( - iconResId = R.drawable.ic_success_green, + leadingIconResId = R.drawable.ic_success_green, title = title, description = description, - actionIconResId = CommonR.drawable.ic_close_black + trailingIconResId = CommonR.drawable.ic_close_black ) fun errorConfig(title: String) = - SnackBarConfig(iconResId = CommonR.drawable.ic_error_red_gradient, title = title) + SnackBarConfig(leadingIconResId = CommonR.drawable.ic_error_red_gradient, title = title) } diff --git a/android/navi-design/src/main/java/com/navi/design/snackbar/NaviSnackbar.kt b/android/navi-design/src/main/java/com/navi/design/snackbar/NaviSnackbar.kt index 855904618d..e800fa5313 100644 --- a/android/navi-design/src/main/java/com/navi/design/snackbar/NaviSnackbar.kt +++ b/android/navi-design/src/main/java/com/navi/design/snackbar/NaviSnackbar.kt @@ -44,10 +44,10 @@ import com.navi.design.theme.getFontWeight import com.navi.design.theme.ttComposeFontFamily data class SnackBarConfig( - @DrawableRes val iconResId: Int? = null, + @DrawableRes val leadingIconResId: Int? = null, val title: String, val description: String? = null, - @DrawableRes val actionIconResId: Int? = null, + @DrawableRes val trailingIconResId: Int? = null ) @Composable @@ -59,10 +59,10 @@ fun NaviSnackBar( titleColor: Color, titleSize: TextUnit = 12.sp, descriptionColor: Color, - onActionClick: (() -> Unit)? = null, + onTrailingIconClicked: (() -> Unit)? = null, snackbarDuration: SnackbarDuration = SnackbarDuration.Long, onDismissed: (() -> Unit)? = null, - onIconClick: (() -> Unit)? = null + onLeadingIconClicked: (() -> Unit)? = null ) { val snackState = remember { SnackbarHostState() } @@ -77,13 +77,13 @@ fun NaviSnackBar( modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically ) { - snackBarConfig.iconResId?.let { + snackBarConfig.leadingIconResId?.let { Image( - painter = painterResource(id = snackBarConfig.iconResId), + painter = painterResource(id = snackBarConfig.leadingIconResId), contentDescription = null, modifier = Modifier.align(alignment = Alignment.CenterVertically).clickable { - onIconClick?.invoke() + onLeadingIconClicked?.invoke() } ) Spacer(modifier = Modifier.width(16.dp)) @@ -107,6 +107,17 @@ fun NaviSnackBar( ) } } + snackBarConfig.trailingIconResId?.let { + Spacer(modifier = Modifier.width(16.dp)) + Image( + painter = painterResource(id = snackBarConfig.trailingIconResId), + contentDescription = null, + modifier = + Modifier.align(alignment = Alignment.CenterVertically).clickable { + onTrailingIconClicked?.invoke() + } + ) + } } } } @@ -146,8 +157,7 @@ fun ErrorSnackBar( show: Boolean, snackBarConfig: SnackBarConfig, onDismissed: (() -> Unit)? = null, - onActionClick: (() -> Unit)? = null, - onIconClick: (() -> Unit)? = null, + onLeadingIconClicked: (() -> Unit)? = null, snackbarDuration: SnackbarDuration = SnackbarDuration.Short ) { NaviSnackBar( @@ -159,6 +169,6 @@ fun ErrorSnackBar( descriptionColor = FF4D4D4D, snackbarDuration = snackbarDuration, onDismissed = onDismissed, - onIconClick = onIconClick + onLeadingIconClicked = onLeadingIconClicked ) } diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt index 360381488e..16e121c097 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/claim/document/ui/DocumentUploadByCategoryFragment.kt @@ -644,10 +644,10 @@ class DocumentUploadByCategoryFragment : ErrorSnackBar( snackbarDuration = SnackbarDuration.Indefinite, show = true, - onIconClick = { documentUploadVM.updateSnackbarVisibleState(false) }, + onLeadingIconClicked = { documentUploadVM.updateSnackbarVisibleState(false) }, snackBarConfig = SnackBarConfig( - iconResId = CommonR.drawable.cross_black, + leadingIconResId = CommonR.drawable.cross_black, title = snackbarActionDataState.value?.message.orEmpty() ) ) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/SnackBarPredefinedConfig.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/SnackBarPredefinedConfig.kt index 4315224642..a5715d675e 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/SnackBarPredefinedConfig.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/SnackBarPredefinedConfig.kt @@ -18,12 +18,12 @@ object SnackBarPredefinedConfig { iconResId: Int = R.drawable.ic_checked_circle_green ) = SnackBarConfig( - iconResId = iconResId, + leadingIconResId = iconResId, title = title, description = description, - actionIconResId = CommonR.drawable.ic_close_black + trailingIconResId = CommonR.drawable.ic_close_black ) fun errorConfig(title: String) = - SnackBarConfig(iconResId = CommonR.drawable.ic_exclamation_red_border, title = title) + SnackBarConfig(leadingIconResId = CommonR.drawable.ic_exclamation_red_border, title = title) } diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/bank/ui/BankDetailInputScreen.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/bank/ui/BankDetailInputScreen.kt index eea7caa05e..e39f571a7d 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/bank/ui/BankDetailInputScreen.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/bank/ui/BankDetailInputScreen.kt @@ -391,7 +391,7 @@ fun RenderBankDetailInputScreen( show = true, snackBarConfig = SnackBarConfig( - iconResId = CommonR.drawable.ic_exclamation_red_border, + leadingIconResId = CommonR.drawable.ic_exclamation_red_border, title = warningErrorInfoStateMessage ?: "" ), backgroundColor = NaviPayColor.bgInfoOrange, diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/scanpay/ui/QrScannerScreen.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/scanpay/ui/QrScannerScreen.kt index fbf502a17e..3f9e63649f 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/scanpay/ui/QrScannerScreen.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/moneytransfer/scanpay/ui/QrScannerScreen.kt @@ -97,6 +97,7 @@ import com.navi.design.snackbar.NaviSnackBar import com.navi.design.snackbar.SnackBarConfig import com.navi.design.theme.getFontWeight import com.navi.design.theme.ttComposeFontFamily +import com.navi.naviwidgets.R as WidgetsR import com.navi.naviwidgets.extensions.NaviText import com.navi.pay.R import com.navi.pay.analytics.NaviPayAnalytics @@ -530,16 +531,17 @@ fun QrScannerScreen( contentDescription = "gallery", ) } - Spacer(modifier = Modifier.weight(1f)) - QrScannerErrorView( - qrImageErrorViewEnable = qrImageErrorViewEnable, - onActionClick = { - qrScannerViewModel.isQrCodeProcessing.set(false) - qrScannerViewModel.setImageErrorView( - qrImageErrorViewEnable = false - ) - } - ) + if (qrImageErrorViewEnable) { + Spacer(modifier = Modifier.height(8.dp)) + QrScannerErrorView( + onTrailingIconClicked = { + qrScannerViewModel.isQrCodeProcessing.set(false) + qrScannerViewModel.setImageErrorView( + qrImageErrorViewEnable = false + ) + } + ) + } } } else { ScannerPermissionView( @@ -977,25 +979,23 @@ private fun TorchButton(isTorchEnabled: Boolean, onTorchToggle: () -> Unit) { } @Composable -private fun QrScannerErrorView(qrImageErrorViewEnable: Boolean, onActionClick: () -> Unit) { +private fun QrScannerErrorView(onTrailingIconClicked: () -> Unit) { Box(contentAlignment = Alignment.Center) { - if (qrImageErrorViewEnable) { - NaviSnackBar( - show = true, - snackBarConfig = - SnackBarConfig( - actionIconResId = com.navi.naviwidgets.R.drawable.ic_cross, - title = stringResource(id = R.string.navi_pay_no_qr_found) - ), - onActionClick = onActionClick, - titleSize = 14.sp, - backgroundColor = NaviPayColor.bgError, - titleColor = NaviPayColor.onSurfaceCritical, - descriptionColor = NaviPayColor.onSurfaceCritical, - snackbarDuration = SnackbarDuration.Indefinite, - modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp) - ) - } + NaviSnackBar( + show = true, + snackBarConfig = + SnackBarConfig( + trailingIconResId = WidgetsR.drawable.ic_cross, + title = stringResource(id = R.string.navi_pay_no_qr_found) + ), + onTrailingIconClicked = onTrailingIconClicked, + titleSize = 14.sp, + backgroundColor = NaviPayColor.bgError, + titleColor = NaviPayColor.onSurfaceCritical, + descriptionColor = NaviPayColor.onSurfaceCritical, + snackbarDuration = SnackbarDuration.Indefinite, + modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp) + ) } }