diff --git a/apps/flipcash/core-ui/src/main/kotlin/com/flipcash/app/core/ui/NavigationBar.kt b/apps/flipcash/core-ui/src/main/kotlin/com/flipcash/app/core/ui/NavigationBar.kt index ee86667fa..828968f23 100644 --- a/apps/flipcash/core-ui/src/main/kotlin/com/flipcash/app/core/ui/NavigationBar.kt +++ b/apps/flipcash/core-ui/src/main/kotlin/com/flipcash/app/core/ui/NavigationBar.kt @@ -205,7 +205,7 @@ fun NavigationBar( modifier = Modifier .size(iconSize) .graphicsLayer { alpha = iconAlpha }, - painter = painterResource(button.icon), + painter = painterResource(button.icon(selected)), colorFilter = ColorFilter.tint(Color.White), contentDescription = null, ) @@ -240,14 +240,18 @@ internal val NavBarButton.testTag: String NavBarButton.TipCard -> "nav_tipcard" } -@get:DrawableRes -private val NavBarButton.icon: Int - get() = when (this) { - NavBarButton.Scanner -> R.drawable.ic_nav_scan - NavBarButton.Wallet -> R.drawable.ic_nav_wallet - NavBarButton.Chats -> R.drawable.ic_nav_chat - NavBarButton.TipCard -> R.drawable.ic_nav_tipcard - } +/** + * The glyph for [this] tab at the weight its selection calls for. Every tab is drawn as an outline + * until it is selected, where it fills in; the dimming on top of that is the caller's alpha. The + * unsuffixed drawable is the outline, so `ic_nav_scan` stays the outline the tutorial card reuses. + */ +@DrawableRes +private fun NavBarButton.icon(selected: Boolean): Int = when (this) { + NavBarButton.Scanner -> if (selected) R.drawable.ic_nav_scan_selected else R.drawable.ic_nav_scan + NavBarButton.Wallet -> if (selected) R.drawable.ic_nav_wallet_selected else R.drawable.ic_nav_wallet + NavBarButton.Chats -> if (selected) R.drawable.ic_nav_chat_selected else R.drawable.ic_nav_chat + NavBarButton.TipCard -> if (selected) R.drawable.ic_nav_tipcard_selected else R.drawable.ic_nav_tipcard +} @Preview @PreviewWrapper(FlipcashThemeWrapper::class) diff --git a/apps/flipcash/core/src/main/res/drawable/ic_nav_chat_selected.xml b/apps/flipcash/core/src/main/res/drawable/ic_nav_chat_selected.xml new file mode 100644 index 000000000..0b077fb2b --- /dev/null +++ b/apps/flipcash/core/src/main/res/drawable/ic_nav_chat_selected.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/apps/flipcash/core/src/main/res/drawable/ic_nav_scan_selected.xml b/apps/flipcash/core/src/main/res/drawable/ic_nav_scan_selected.xml new file mode 100644 index 000000000..030b1dde9 --- /dev/null +++ b/apps/flipcash/core/src/main/res/drawable/ic_nav_scan_selected.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/apps/flipcash/core/src/main/res/drawable/ic_nav_tipcard_selected.xml b/apps/flipcash/core/src/main/res/drawable/ic_nav_tipcard_selected.xml new file mode 100644 index 000000000..88079f3cd --- /dev/null +++ b/apps/flipcash/core/src/main/res/drawable/ic_nav_tipcard_selected.xml @@ -0,0 +1,11 @@ + + + + diff --git a/apps/flipcash/core/src/main/res/drawable/ic_nav_wallet.xml b/apps/flipcash/core/src/main/res/drawable/ic_nav_wallet.xml index 8e79a5746..9993bc951 100644 --- a/apps/flipcash/core/src/main/res/drawable/ic_nav_wallet.xml +++ b/apps/flipcash/core/src/main/res/drawable/ic_nav_wallet.xml @@ -1,13 +1,20 @@ - + + android:pathData="M28.3333 12V6.33333H3.66667V25.6667H28.3333V20" + android:strokeColor="#FFFFFF" + android:strokeWidth="2" + android:strokeLineCap="round" + android:strokeLineJoin="round" /> + android:pathData="M29.6667 13H19.6667V19H29.6667V13Z" + android:strokeColor="#FFFFFF" + android:strokeWidth="2" + android:strokeLineCap="round" + android:strokeLineJoin="round" /> diff --git a/apps/flipcash/core/src/main/res/drawable/ic_nav_wallet_selected.xml b/apps/flipcash/core/src/main/res/drawable/ic_nav_wallet_selected.xml new file mode 100644 index 000000000..7f5ea179b --- /dev/null +++ b/apps/flipcash/core/src/main/res/drawable/ic_nav_wallet_selected.xml @@ -0,0 +1,14 @@ + + + + +