diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt
index c2e2334..7841c2d 100644
--- a/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt
+++ b/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt
@@ -24,6 +24,7 @@ import android.widget.Toast
import androidx.core.content.FileProvider
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
+import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import com.google.android.material.button.MaterialButton
@@ -33,6 +34,7 @@ import kotlinx.coroutines.withContext
import sh.sar.basedbank.BasedBankApp
import sh.sar.basedbank.R
import sh.sar.basedbank.api.mib.MibContactsClient
+import sh.sar.basedbank.databinding.DialogReceiptFullscreenBmlBinding
import sh.sar.basedbank.databinding.FragmentReceiptBmlBinding
import sh.sar.basedbank.databinding.FragmentReceiptMfaisaBinding
import sh.sar.basedbank.databinding.FragmentReceiptMibBinding
@@ -440,6 +442,7 @@ class TransferReceiptFragment : Fragment() {
private fun showFullScreenReceipt() {
val ctx = requireContext()
val bank = arguments?.getString(ARG_BANK, "MIB") ?: "MIB"
+ if (bank == "BML") { showBmlFullScreenReceipt(); return }
val dialog = Dialog(ctx, android.R.style.Theme_Black_NoTitleBar_Fullscreen)
val scrollView = android.widget.ScrollView(ctx).apply {
@@ -492,6 +495,55 @@ class TransferReceiptFragment : Fragment() {
}
}
+ /**
+ * BML full-screen receipt: status bar stays visible, top bar with back button,
+ * edge-to-edge card right under it, BML-styled Save/Share buttons directly below the card.
+ * Follows the app theme (light/dark).
+ */
+ private fun showBmlFullScreenReceipt() {
+ val ctx = requireContext()
+ val dialog = Dialog(ctx, R.style.Theme_BasedBank)
+ val page = DialogReceiptFullscreenBmlBinding.inflate(layoutInflater)
+
+ val card = FragmentReceiptBmlBinding.inflate(layoutInflater).also { bindBml(it) }.receiptCard
+ (card.parent as? ViewGroup)?.removeView(card)
+ page.cardHolder.addView(card, 0, android.widget.LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT
+ ))
+
+ page.btnBack.setOnClickListener { dialog.dismiss() }
+ page.btnSaveFull.setOnClickListener { saveReceipt() }
+ page.btnShareFull.setOnClickListener { shareReceipt() }
+
+ val topBasePadding = page.topBar.paddingTop
+ val bottomBasePadding = page.bottomBar.paddingBottom
+ ViewCompat.setOnApplyWindowInsetsListener(page.root) { _, insets ->
+ val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
+ page.topBar.updatePadding(top = topBasePadding + bars.top)
+ page.bottomBar.updatePadding(bottom = bottomBasePadding + bars.bottom)
+ page.root.updatePadding(left = bars.left, right = bars.right)
+ insets
+ }
+
+ dialog.setContentView(page.root)
+ dialog.window?.let { win ->
+ win.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)
+ androidx.core.view.WindowCompat.setDecorFitsSystemWindows(win, false)
+ @Suppress("DEPRECATION")
+ win.statusBarColor = Color.TRANSPARENT
+ @Suppress("DEPRECATION")
+ win.navigationBarColor = Color.TRANSPARENT
+ val isLight = (resources.configuration.uiMode and
+ android.content.res.Configuration.UI_MODE_NIGHT_MASK) ==
+ android.content.res.Configuration.UI_MODE_NIGHT_NO
+ androidx.core.view.WindowInsetsControllerCompat(win, win.decorView).apply {
+ isAppearanceLightStatusBars = isLight
+ isAppearanceLightNavigationBars = isLight
+ }
+ }
+ dialog.show()
+ }
+
private fun copyOnLongClick(vararg views: android.widget.TextView) {
for (tv in views) {
tv.setOnLongClickListener {
diff --git a/app/src/main/res/drawable/ic_chevron_back.xml b/app/src/main/res/drawable/ic_chevron_back.xml
new file mode 100644
index 0000000..0752c5a
--- /dev/null
+++ b/app/src/main/res/drawable/ic_chevron_back.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_receipt_fullscreen_bml.xml b/app/src/main/res/layout/dialog_receipt_fullscreen_bml.xml
new file mode 100644
index 0000000..ee593a2
--- /dev/null
+++ b/app/src/main/res/layout/dialog_receipt_fullscreen_bml.xml
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index 60bb8e2..ccea614 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -7,4 +7,5 @@
#DEDEE0
#000000
#3D3E40
+ #1E1F21
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index bf9032e..167d557 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -13,4 +13,6 @@
#000000
#F5F5F5
#E9E9E9
+ #EBEBEB
+ #E21B23