mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Use icon for Spaces and update label and navigation bar design and behavior.
This commit is contained in:
committed by
Benoit Marty
parent
2d64d6a209
commit
36ad2432e1
+7
-7
@@ -16,18 +16,18 @@ enum class HomeNavigationBarItem(
|
|||||||
val labelRes: Int,
|
val labelRes: Int,
|
||||||
) {
|
) {
|
||||||
Chats(
|
Chats(
|
||||||
labelRes = R.string.screen_roomlist_main_space_title
|
labelRes = R.string.screen_home_tab_chats
|
||||||
),
|
),
|
||||||
Spaces(
|
Spaces(
|
||||||
// TODO Create a new entry in Localazy
|
labelRes = R.string.screen_home_tab_spaces
|
||||||
labelRes = R.string.screen_roomlist_main_space_title
|
|
||||||
);
|
);
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun icon() = when (this) {
|
fun icon(
|
||||||
Chats -> CompoundIcons.ChatSolid()
|
isSelected: Boolean,
|
||||||
// TODO Spaces -> CompoundIcons.Workspace()
|
) = when (this) {
|
||||||
Spaces -> CompoundIcons.Code()
|
Chats -> if (isSelected) CompoundIcons.ChatSolid() else CompoundIcons.Chat()
|
||||||
|
Spaces -> if (isSelected) CompoundIcons.WorkspaceSolid() else CompoundIcons.Workspace()
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
+9
-5
@@ -56,7 +56,9 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|||||||
import io.element.android.libraries.designsystem.theme.components.FloatingActionButton
|
import io.element.android.libraries.designsystem.theme.components.FloatingActionButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.NavigationBar
|
import io.element.android.libraries.designsystem.theme.components.NavigationBar
|
||||||
|
import io.element.android.libraries.designsystem.theme.components.NavigationBarIcon
|
||||||
import io.element.android.libraries.designsystem.theme.components.NavigationBarItem
|
import io.element.android.libraries.designsystem.theme.components.NavigationBarItem
|
||||||
|
import io.element.android.libraries.designsystem.theme.components.NavigationBarText
|
||||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarHost
|
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarHost
|
||||||
@@ -192,19 +194,21 @@ private fun HomeScaffold(
|
|||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
HomeNavigationBarItem.entries.forEach { item ->
|
HomeNavigationBarItem.entries.forEach { item ->
|
||||||
|
val isSelected = state.currentHomeNavigationBarItem == item
|
||||||
NavigationBarItem(
|
NavigationBarItem(
|
||||||
selected = state.currentHomeNavigationBarItem == item,
|
selected = isSelected,
|
||||||
onClick = {
|
onClick = {
|
||||||
state.eventSink(HomeEvents.SelectHomeNavigationBarItem(item))
|
state.eventSink(HomeEvents.SelectHomeNavigationBarItem(item))
|
||||||
},
|
},
|
||||||
icon = {
|
icon = {
|
||||||
Icon(
|
NavigationBarIcon(
|
||||||
imageVector = item.icon(),
|
imageVector = item.icon(isSelected),
|
||||||
contentDescription = null
|
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
label = {
|
label = {
|
||||||
Text(stringResource(item.labelRes))
|
NavigationBarText(
|
||||||
|
text = stringResource(item.labelRes),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
<string name="confirm_recovery_key_banner_title">"Your key storage is out of sync"</string>
|
<string name="confirm_recovery_key_banner_title">"Your key storage is out of sync"</string>
|
||||||
<string name="full_screen_intent_banner_message">"To ensure you never miss an important call, please change your settings to allow full-screen notifications when your phone is locked."</string>
|
<string name="full_screen_intent_banner_message">"To ensure you never miss an important call, please change your settings to allow full-screen notifications when your phone is locked."</string>
|
||||||
<string name="full_screen_intent_banner_title">"Enhance your call experience"</string>
|
<string name="full_screen_intent_banner_title">"Enhance your call experience"</string>
|
||||||
|
<string name="screen_home_tab_chats">"Chats"</string>
|
||||||
|
<string name="screen_home_tab_spaces">"Spaces"</string>
|
||||||
<string name="screen_invites_decline_chat_message">"Are you sure you want to decline the invitation to join %1$s?"</string>
|
<string name="screen_invites_decline_chat_message">"Are you sure you want to decline the invitation to join %1$s?"</string>
|
||||||
<string name="screen_invites_decline_chat_title">"Decline invite"</string>
|
<string name="screen_invites_decline_chat_title">"Decline invite"</string>
|
||||||
<string name="screen_invites_decline_direct_chat_message">"Are you sure you want to decline this private chat with %1$s?"</string>
|
<string name="screen_invites_decline_direct_chat_message">"Are you sure you want to decline this private chat with %1$s?"</string>
|
||||||
|
|||||||
@@ -164,6 +164,7 @@
|
|||||||
{
|
{
|
||||||
"name" : ":features:home:impl",
|
"name" : ":features:home:impl",
|
||||||
"includeRegex" : [
|
"includeRegex" : [
|
||||||
|
"screen\\.home\\..*",
|
||||||
"screen_roomlist_.*",
|
"screen_roomlist_.*",
|
||||||
"screen\\.roomlist\\..*",
|
"screen\\.roomlist\\..*",
|
||||||
"session_verification_banner_.*",
|
"session_verification_banner_.*",
|
||||||
|
|||||||
Reference in New Issue
Block a user