From ddd64e86246ae3c95dca10c6bd50ccb17ec9dc1e Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Fri, 22 May 2026 02:03:20 +0500 Subject: [PATCH] descriptive menus --- .../sh/sar/basedbank/ui/home/MoreFragment.kt | 1 + .../sar/basedbank/ui/home/NavCustomization.kt | 25 ++++++++++--------- .../sar/basedbank/ui/home/SettingsFragment.kt | 10 +++++--- app/src/main/res/layout/item_more_nav.xml | 21 +++++++++++++--- app/src/main/res/values-b+dv/strings.xml | 15 +++++++++++ app/src/main/res/values/strings.xml | 15 +++++++++++ 6 files changed, 67 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/MoreFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/MoreFragment.kt index c32b2a1..3502341 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/MoreFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/MoreFragment.kt @@ -25,6 +25,7 @@ class MoreFragment : Fragment() { val row = inflater.inflate(R.layout.item_more_nav, list, false) row.findViewById(R.id.ivIcon).setImageResource(item.iconRes) row.findViewById(R.id.tvLabel).setText(item.titleRes) + row.findViewById(R.id.tvDescription).setText(item.descriptionRes) row.setOnClickListener { (requireActivity() as HomeActivity).navigateTo(item.id) } list.addView(row) } diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/NavCustomization.kt b/app/src/main/java/sh/sar/basedbank/ui/home/NavCustomization.kt index d749bc0..74495f5 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/NavCustomization.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/NavCustomization.kt @@ -10,22 +10,23 @@ object NavCustomization { data class NavItemDef( val id: Int, @DrawableRes val iconRes: Int, - @StringRes val titleRes: Int + @StringRes val titleRes: Int, + @StringRes val descriptionRes: Int ) /** All items that can occupy either a bottom nav slot or the "More" screen. */ val ALL_SWAPPABLE = listOf( - NavItemDef(R.id.nav_accounts, R.drawable.ic_nav_accounts, R.string.nav_accounts), - NavItemDef(R.id.nav_contacts, R.drawable.ic_contacts, R.string.nav_contacts), - NavItemDef(R.id.nav_transfer, R.drawable.ic_send, R.string.transfer), - NavItemDef(R.id.nav_pay_mv_qr, R.drawable.ic_qr_scan, R.string.pay_mv_qr), - NavItemDef(R.id.nav_activities, R.drawable.ic_nav_activities, R.string.nav_activities), - NavItemDef(R.id.nav_transfer_history, R.drawable.ic_nav_transfer_history, R.string.nav_transfer_history), - NavItemDef(R.id.nav_finances, R.drawable.ic_nav_finances, R.string.nav_finances), - NavItemDef(R.id.nav_pay_with_card, R.drawable.ic_nav_card, R.string.nav_pay_with_card), - NavItemDef(R.id.nav_card_settings, R.drawable.ic_nav_card, R.string.nav_card_settings), - NavItemDef(R.id.nav_otp, R.drawable.ic_nav_otp, R.string.nav_otp), - NavItemDef(R.id.nav_settings, R.drawable.ic_nav_settings, R.string.nav_settings), + NavItemDef(R.id.nav_accounts, R.drawable.ic_nav_accounts, R.string.nav_accounts, R.string.nav_desc_accounts), + NavItemDef(R.id.nav_contacts, R.drawable.ic_contacts, R.string.nav_contacts, R.string.nav_desc_contacts), + NavItemDef(R.id.nav_transfer, R.drawable.ic_send, R.string.transfer, R.string.nav_desc_transfer), + NavItemDef(R.id.nav_pay_mv_qr, R.drawable.ic_qr_scan, R.string.pay_mv_qr, R.string.nav_desc_pay_mv_qr), + NavItemDef(R.id.nav_activities, R.drawable.ic_nav_activities, R.string.nav_activities, R.string.nav_desc_activities), + NavItemDef(R.id.nav_transfer_history, R.drawable.ic_nav_transfer_history, R.string.nav_transfer_history, R.string.nav_desc_transfer_history), + NavItemDef(R.id.nav_finances, R.drawable.ic_nav_finances, R.string.nav_finances, R.string.nav_desc_finances), + NavItemDef(R.id.nav_pay_with_card, R.drawable.ic_nav_card, R.string.nav_pay_with_card, R.string.nav_desc_pay_with_card), + NavItemDef(R.id.nav_card_settings, R.drawable.ic_nav_card, R.string.nav_card_settings, R.string.nav_desc_card_settings), + NavItemDef(R.id.nav_otp, R.drawable.ic_nav_otp, R.string.nav_otp, R.string.nav_desc_otp), + NavItemDef(R.id.nav_settings, R.drawable.ic_nav_settings, R.string.nav_settings, R.string.nav_desc_settings), ) fun getSlots(prefs: SharedPreferences): List = listOf( diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt index fa3de55..d33d0cb 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt @@ -17,14 +17,15 @@ class SettingsFragment : Fragment() { private data class SettingsItem( @DrawableRes val icon: Int, @StringRes val title: Int, + @StringRes val description: Int, val dest: () -> Fragment ) private val items = listOf( - SettingsItem(R.drawable.ic_contacts, R.string.settings_logins) { SettingsLoginsFragment() }, - SettingsItem(R.drawable.ic_settings_appearance, R.string.settings_appearance) { SettingsAppearanceFragment() }, - SettingsItem(R.drawable.ic_lock, R.string.settings_privacy_security) { SettingsSecurityFragment() }, - SettingsItem(R.drawable.ic_settings_storage, R.string.settings_storage) { SettingsStorageFragment() }, + SettingsItem(R.drawable.ic_contacts, R.string.settings_logins, R.string.settings_desc_logins) { SettingsLoginsFragment() }, + SettingsItem(R.drawable.ic_settings_appearance, R.string.settings_appearance, R.string.settings_desc_appearance) { SettingsAppearanceFragment() }, + SettingsItem(R.drawable.ic_lock, R.string.settings_privacy_security, R.string.settings_desc_privacy_security) { SettingsSecurityFragment() }, + SettingsItem(R.drawable.ic_settings_storage, R.string.settings_storage, R.string.settings_desc_storage) { SettingsStorageFragment() }, ) override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View = @@ -37,6 +38,7 @@ class SettingsFragment : Fragment() { val row = inflater.inflate(R.layout.item_more_nav, list, false) row.findViewById(R.id.ivIcon).setImageResource(item.icon) row.findViewById(R.id.tvLabel).setText(item.title) + row.findViewById(R.id.tvDescription).setText(item.description) row.setOnClickListener { (requireActivity() as HomeActivity).showWithBackStack(item.dest()) } diff --git a/app/src/main/res/layout/item_more_nav.xml b/app/src/main/res/layout/item_more_nav.xml index d2e5dd4..27e9999 100644 --- a/app/src/main/res/layout/item_more_nav.xml +++ b/app/src/main/res/layout/item_more_nav.xml @@ -15,13 +15,26 @@ android:layout_height="24dp" android:layout_marginEnd="16dp" /> - + android:orientation="vertical"> + + + + + diff --git a/app/src/main/res/values-b+dv/strings.xml b/app/src/main/res/values-b+dv/strings.xml index a619bf7..93dd09c 100644 --- a/app/src/main/res/values-b+dv/strings.xml +++ b/app/src/main/res/values-b+dv/strings.xml @@ -74,6 +74,17 @@ ފައިނޭންސް ކާޑް ސެޓިންގ ސެޓިންގ + ހުރިހާ ބޭންކް އެކައުންޓްތައް ބަލާ + ޓްރާންސްފަ ކޮންޓެކްޓްތައް މެނޭޖް ކުރޭ + ކޮންޓެކްޓަކަށް ފައިސާ ފޮނުވާ + PayMV QR ކޯޑް ސްކޭން ނުވަތަ ތައްޔާރު ކުރޭ + ފަހުގެ ޓްރާންސްފަތައް ބަލާ + އެކައުންޓް ތަކުގެ ޓްރާންސެކްޝަން ތާރީހް + ލޯން އަދި ފައިނޭންސިންގ + ކާޑް ބޭނުންކޮށް ފައިސާ ދައްކާ + ކާޑް ސެޓިންގ މެނޭޖް ކުރޭ + OTP ކޯޑް ތައްޔާރު ކުރޭ + އެޕްލިކޭޝަންގެ ތަރުތީބު ނެވިގޭޝަން ހުޅުވާ ނެވިގޭޝަން ލައްޕާ ތައްޔާރުވަމުން ދަނީ @@ -106,6 +117,10 @@ ކޭޝް ސާފުކުރޭ ކޭޝް ސާފުކުރެވިއްޖެ ލޮގިންތައް + ބޭންކް ލޮގިންތައް މެނޭޖް ކުރޭ + ތީމް، ބަސް، އަދި ދައްކުވާ ގޮތް + އެޕް ލޮކް، ޕިން، އަދި ސަލާމަތީ ސެޓިންގ + ކޭޝް ޑޭޓާ އަދި ސްޓޯރޭޖް ލޮގްއައުޓް %s އިން ލޮގްއައުޓް ވަންތަ؟ ހުރިހާ ކޭޝް ޑޭޓާ ސާފުވެ، ބާކީ ހުރި އެކައުންޓްތައް އަލުން ލޯޑްވާނެ. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b0f212..2be7be8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -86,6 +86,17 @@ OTP Codes Settings More + View all your bank accounts + Manage your transfer contacts + Send money to a contact + Scan or generate a PayMV QR code + View your recent transfers + Full transaction history by account + Loans and financing overview + Make a payment using your card + Manage your card preferences + Generate OTP codes for authentication + App preferences and configuration Open navigation Close navigation Work in progress @@ -162,6 +173,10 @@ Privacy & Security Storage Logins + Manage your bank account logins + Theme, language, and display options + App lock, PIN, and security preferences + Manage cached data and storage usage Log out Log out of %s? All cached data will be cleared and remaining accounts will be refreshed.