mirror of
https://github.com/bitwarden/android.git
synced 2026-04-26 19:08:37 -05:00
PM-26910: Minor UI updates for the Authenticator (#6028)
This commit is contained in:
@@ -2,28 +2,21 @@ package com.bitwarden.authenticator.ui.authenticator.feature.itemlisting
|
||||
|
||||
import android.Manifest
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.itemsIndexed
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CardDefaults
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.SnackbarHostState
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
@@ -64,9 +57,8 @@ import com.bitwarden.ui.platform.base.util.toListItemCardStyle
|
||||
import com.bitwarden.ui.platform.components.appbar.BitwardenMediumTopAppBar
|
||||
import com.bitwarden.ui.platform.components.appbar.action.BitwardenSearchActionItem
|
||||
import com.bitwarden.ui.platform.components.button.BitwardenFilledButton
|
||||
import com.bitwarden.ui.platform.components.button.BitwardenTextButton
|
||||
import com.bitwarden.ui.platform.components.button.model.BitwardenButtonData
|
||||
import com.bitwarden.ui.platform.components.card.BitwardenActionCard
|
||||
import com.bitwarden.ui.platform.components.card.color.bitwardenCardColors
|
||||
import com.bitwarden.ui.platform.components.content.BitwardenLoadingContent
|
||||
import com.bitwarden.ui.platform.components.dialog.BitwardenBasicDialog
|
||||
import com.bitwarden.ui.platform.components.dialog.BitwardenLoadingDialog
|
||||
@@ -213,7 +205,7 @@ fun ItemListingScreen(
|
||||
),
|
||||
expandableFabIcon = ExpandableFabIcon(
|
||||
icon = IconData.Local(
|
||||
iconRes = BitwardenDrawable.ic_plus,
|
||||
iconRes = BitwardenDrawable.ic_plus_large,
|
||||
contentDescription = BitwardenString.add_item.asText(),
|
||||
testTag = "AddItemButton",
|
||||
),
|
||||
@@ -619,102 +611,6 @@ fun EmptyItemListingContent(
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun DownloadBitwardenActionCard(
|
||||
onDismissClick: () -> Unit,
|
||||
onDownloadBitwardenClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
) = BitwardenActionCard(
|
||||
modifier = modifier,
|
||||
cardSubtitle = stringResource(BitwardenString.download_bitwarden_card_message),
|
||||
actionText = stringResource(BitwardenString.download_now),
|
||||
cardTitle = stringResource(BitwardenString.download_bitwarden_card_title),
|
||||
onActionClick = onDownloadBitwardenClick,
|
||||
leadingContent = {
|
||||
Icon(
|
||||
painter = rememberVectorPainter(BitwardenDrawable.ic_shield),
|
||||
contentDescription = null,
|
||||
tint = BitwardenTheme.colorScheme.icon.secondary,
|
||||
)
|
||||
},
|
||||
onDismissClick = onDismissClick,
|
||||
)
|
||||
|
||||
@Suppress("LongMethod")
|
||||
@Composable
|
||||
private fun SyncWithBitwardenActionCard(
|
||||
onDismissClick: () -> Unit,
|
||||
onAppSettingsClick: () -> Unit,
|
||||
onLearnMoreClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Card(
|
||||
modifier = modifier,
|
||||
shape = BitwardenTheme.shapes.actionCard,
|
||||
colors = bitwardenCardColors(),
|
||||
elevation = CardDefaults.elevatedCardElevation(),
|
||||
border = BorderStroke(width = 1.dp, color = BitwardenTheme.colorScheme.stroke.border),
|
||||
) {
|
||||
Spacer(Modifier.height(height = 4.dp))
|
||||
Row(modifier = Modifier.fillMaxWidth()) {
|
||||
Spacer(Modifier.width(width = 16.dp))
|
||||
Row(
|
||||
modifier = Modifier.padding(top = 12.dp),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Icon(
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_shield),
|
||||
contentDescription = null,
|
||||
tint = BitwardenTheme.colorScheme.icon.secondary,
|
||||
modifier = Modifier.size(size = 20.dp),
|
||||
)
|
||||
Spacer(Modifier.width(width = 16.dp))
|
||||
Text(
|
||||
text = stringResource(id = BitwardenString.sync_with_the_bitwarden_app),
|
||||
style = BitwardenTheme.typography.bodyLarge,
|
||||
color = BitwardenTheme.colorScheme.text.primary,
|
||||
)
|
||||
}
|
||||
Spacer(Modifier.weight(weight = 1f))
|
||||
Spacer(Modifier.width(width = 16.dp))
|
||||
IconButton(onClick = onDismissClick) {
|
||||
Icon(
|
||||
painter = painterResource(id = BitwardenDrawable.ic_close),
|
||||
contentDescription = stringResource(id = BitwardenString.close),
|
||||
tint = BitwardenTheme.colorScheme.icon.primary,
|
||||
modifier = Modifier.size(size = 24.dp),
|
||||
)
|
||||
}
|
||||
Spacer(Modifier.width(width = 4.dp))
|
||||
}
|
||||
Text(
|
||||
text = stringResource(id = BitwardenString.sync_with_bitwarden_action_card_message),
|
||||
style = BitwardenTheme.typography.bodyMedium,
|
||||
color = BitwardenTheme.colorScheme.text.primary,
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 16.dp)
|
||||
.padding(start = 36.dp, end = 48.dp)
|
||||
.fillMaxWidth(),
|
||||
)
|
||||
Spacer(Modifier.height(height = 16.dp))
|
||||
BitwardenFilledButton(
|
||||
label = stringResource(id = BitwardenString.take_me_to_app_settings),
|
||||
onClick = onAppSettingsClick,
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 16.dp)
|
||||
.fillMaxWidth(),
|
||||
)
|
||||
BitwardenTextButton(
|
||||
label = stringResource(id = BitwardenString.learn_more),
|
||||
onClick = onLearnMoreClick,
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 16.dp)
|
||||
.fillMaxWidth(),
|
||||
)
|
||||
Spacer(Modifier.height(height = 4.dp))
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun ActionCard(
|
||||
actionCardState: ItemListingState.ActionCardState,
|
||||
@@ -727,19 +623,44 @@ private fun ActionCard(
|
||||
) {
|
||||
when (actionCardState) {
|
||||
ItemListingState.ActionCardState.DownloadBitwardenApp -> {
|
||||
DownloadBitwardenActionCard(
|
||||
BitwardenActionCard(
|
||||
modifier = modifier,
|
||||
onDownloadBitwardenClick = onDownloadBitwardenClick,
|
||||
cardSubtitle = stringResource(id = BitwardenString.download_bitwarden_card_message),
|
||||
actionText = stringResource(id = BitwardenString.download_now),
|
||||
cardTitle = stringResource(id = BitwardenString.download_bitwarden_card_title),
|
||||
onActionClick = onDownloadBitwardenClick,
|
||||
onDismissClick = onDownloadBitwardenDismissClick,
|
||||
leadingContent = {
|
||||
Icon(
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_shield),
|
||||
contentDescription = null,
|
||||
tint = BitwardenTheme.colorScheme.icon.secondary,
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
ItemListingState.ActionCardState.SyncWithBitwarden -> {
|
||||
SyncWithBitwardenActionCard(
|
||||
BitwardenActionCard(
|
||||
modifier = modifier,
|
||||
onAppSettingsClick = onSyncWithBitwardenClick,
|
||||
cardTitle = stringResource(id = BitwardenString.sync_with_the_bitwarden_app),
|
||||
actionText = stringResource(id = BitwardenString.take_me_to_app_settings),
|
||||
onActionClick = onSyncWithBitwardenClick,
|
||||
cardSubtitle = stringResource(
|
||||
id = BitwardenString.sync_with_bitwarden_action_card_message,
|
||||
),
|
||||
onDismissClick = onSyncWithBitwardenDismissClick,
|
||||
onLearnMoreClick = onSyncLearnMoreClick,
|
||||
secondaryButton = BitwardenButtonData(
|
||||
label = BitwardenString.learn_more.asText(),
|
||||
onClick = onSyncLearnMoreClick,
|
||||
),
|
||||
leadingContent = {
|
||||
Icon(
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_refresh),
|
||||
contentDescription = null,
|
||||
tint = BitwardenTheme.colorScheme.icon.secondary,
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user