Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ import com.bitwarden.ui.platform.base.util.EventsEffect
import com.bitwarden.ui.platform.base.util.mirrorIfRtl
import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar
import com.bitwarden.ui.platform.components.button.model.BitwardenHelpButtonData
import com.bitwarden.ui.platform.components.model.CardStyle
import com.bitwarden.ui.platform.components.model.TooltipData
import com.bitwarden.ui.platform.components.row.BitwardenExternalLinkRow
import com.bitwarden.ui.platform.components.row.BitwardenPushRow
import com.bitwarden.ui.platform.components.row.BitwardenTextRow
Expand Down Expand Up @@ -288,9 +288,10 @@ private fun ColumnScope.FlightRecorderCard(
label = stringResource(id = BitwardenString.flight_recorder),
isChecked = isFlightRecorderEnabled,
onCheckedChange = onFlightRecorderCheckedChange,
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
contentDescription = stringResource(id = BitwardenString.flight_recorder_help),
onClick = onFlightRecorderTooltipClick,
isExternalLink = true,
),
subtext = logExpiration?.invoke(),
cardStyle = CardStyle.Top(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.bitwarden.ui.platform.base.util.EventsEffect
import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar
import com.bitwarden.ui.platform.components.button.model.BitwardenHelpButtonData
import com.bitwarden.ui.platform.components.dialog.BitwardenTwoButtonDialog
import com.bitwarden.ui.platform.components.dropdown.BitwardenMultiSelectButton
import com.bitwarden.ui.platform.components.model.CardStyle
import com.bitwarden.ui.platform.components.model.TooltipData
import com.bitwarden.ui.platform.components.scaffold.BitwardenScaffold
import com.bitwarden.ui.platform.components.toggle.BitwardenSwitch
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
Expand Down Expand Up @@ -143,13 +143,14 @@ fun AppearanceScreen(
onCheckedChange = remember(viewModel) {
{ viewModel.trySendAction(AppearanceAction.ShowWebsiteIconsToggle(it)) }
},
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
onClick = remember(viewModel) {
{ viewModel.trySendAction(AppearanceAction.ShowWebsiteIconsTooltipClick) }
},
contentDescription = stringResource(
id = BitwardenString.show_website_icons_help,
),
isExternalLink = true,
),
cardStyle = CardStyle.Full,
modifier = Modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.bitwarden.ui.platform.base.util.toAnnotatedString
import com.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar
import com.bitwarden.ui.platform.components.badge.NotificationBadge
import com.bitwarden.ui.platform.components.button.model.BitwardenHelpButtonData
import com.bitwarden.ui.platform.components.card.BitwardenActionCard
import com.bitwarden.ui.platform.components.card.BitwardenActionCardSmall
import com.bitwarden.ui.platform.components.card.actionCardExitAnimation
Expand All @@ -53,7 +54,6 @@ import com.bitwarden.ui.platform.components.dropdown.BitwardenMultiSelectButton
import com.bitwarden.ui.platform.components.dropdown.model.MultiSelectOption
import com.bitwarden.ui.platform.components.header.BitwardenListHeaderText
import com.bitwarden.ui.platform.components.model.CardStyle
import com.bitwarden.ui.platform.components.model.TooltipData
import com.bitwarden.ui.platform.components.row.BitwardenExternalLinkRow
import com.bitwarden.ui.platform.components.row.BitwardenPushRow
import com.bitwarden.ui.platform.components.row.BitwardenTextRow
Expand Down Expand Up @@ -265,11 +265,12 @@ private fun AutoFillScreenContent(
BitwardenTextRow(
text = stringResource(BitwardenString.privileged_apps),
onClick = autoFillHandlers.onPrivilegedAppsClick,
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
contentDescription = stringResource(
id = BitwardenString.learn_more_about_privileged_apps,
),
onClick = autoFillHandlers.onPrivilegedAppsHelpLinkClick,
isExternalLink = false,
),
cardStyle = CardStyle.Bottom,
modifier = Modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import com.bitwarden.ui.platform.components.appbar.model.TopAppBarDividerStyle
import com.bitwarden.ui.platform.components.button.BitwardenFilledButton
import com.bitwarden.ui.platform.components.button.BitwardenStandardIconButton
import com.bitwarden.ui.platform.components.button.BitwardenTextButton
import com.bitwarden.ui.platform.components.button.model.BitwardenHelpButtonData
import com.bitwarden.ui.platform.components.card.BitwardenActionCard
import com.bitwarden.ui.platform.components.card.BitwardenInfoCalloutCard
import com.bitwarden.ui.platform.components.coachmark.CoachMarkActionText
Expand All @@ -61,7 +62,6 @@ import com.bitwarden.ui.platform.components.field.BitwardenPasswordField
import com.bitwarden.ui.platform.components.field.BitwardenTextField
import com.bitwarden.ui.platform.components.field.model.TextToolbarType
import com.bitwarden.ui.platform.components.model.CardStyle
import com.bitwarden.ui.platform.components.model.TooltipData
import com.bitwarden.ui.platform.components.scaffold.BitwardenScaffold
import com.bitwarden.ui.platform.components.segment.BitwardenSegmentedButton
import com.bitwarden.ui.platform.components.segment.SegmentedButtonOptionContent
Expand Down Expand Up @@ -1170,9 +1170,10 @@ private fun UsernameOptionsItem(
supportingText = currentSubState.selectedType.supportingStringResId?.let {
stringResource(id = it)
},
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
onClick = usernameTypeHandlers.onUsernameTooltipClicked,
contentDescription = stringResource(id = BitwardenString.learn_more),
isExternalLink = true,
),
cardStyle = CardStyle.Full,
modifier = modifier.testTag(tag = "UsernameTypePicker"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ fun SendScreen(
),
OverflowMenuItemData(
text = stringResource(id = BitwardenString.about_send),
isExternalLink = true,
onClick = remember(viewModel) {
{ viewModel.trySendAction(SendAction.AboutSendClick) }
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.bitwarden.core.util.persistentListOfNotNull
import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.bitwarden.ui.platform.components.button.model.BitwardenHelpButtonData
import com.bitwarden.ui.platform.components.field.BitwardenTextField
import com.bitwarden.ui.platform.components.header.BitwardenExpandingHeader
import com.bitwarden.ui.platform.components.header.BitwardenListHeaderText
import com.bitwarden.ui.platform.components.model.CardStyle
import com.bitwarden.ui.platform.components.model.TooltipData
import com.bitwarden.ui.platform.components.toggle.BitwardenSwitch
import com.bitwarden.ui.platform.resource.BitwardenString
import com.x8bit.bitwarden.ui.vault.feature.addedit.handlers.VaultAddEditCommonHandlers
Expand Down Expand Up @@ -78,11 +78,12 @@ fun LazyListScope.vaultAddEditAdditionalOptions(
label = stringResource(id = BitwardenString.password_prompt),
isChecked = commonState.masterPasswordReprompt,
onCheckedChange = commonTypeHandlers.onToggleMasterPasswordReprompt,
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
onClick = commonTypeHandlers.onTooltipClick,
contentDescription = stringResource(
id = BitwardenString.master_password_re_prompt_help,
),
isExternalLink = true,
),
cardStyle = CardStyle.Full,
modifier = Modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import androidx.compose.ui.unit.dp
import com.bitwarden.ui.platform.base.util.cardStyle
import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.bitwarden.ui.platform.components.button.BitwardenStandardIconButton
import com.bitwarden.ui.platform.components.button.model.BitwardenHelpButtonData
import com.bitwarden.ui.platform.components.coachmark.CoachMarkActionText
import com.bitwarden.ui.platform.components.coachmark.model.CoachMarkHighlightShape
import com.bitwarden.ui.platform.components.coachmark.scope.CoachMarkScope
Expand All @@ -31,7 +32,6 @@ import com.bitwarden.ui.platform.components.field.BitwardenPasswordField
import com.bitwarden.ui.platform.components.field.BitwardenTextField
import com.bitwarden.ui.platform.components.header.BitwardenListHeaderText
import com.bitwarden.ui.platform.components.model.CardStyle
import com.bitwarden.ui.platform.components.model.TooltipData
import com.bitwarden.ui.platform.components.text.BitwardenClickableText
import com.bitwarden.ui.platform.resource.BitwardenDrawable
import com.bitwarden.ui.platform.resource.BitwardenString
Expand Down Expand Up @@ -386,9 +386,10 @@ private fun TotpRow(
)
}
},
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
onClick = loginItemTypeHandlers.onAuthenticatorHelpToolTipClick,
contentDescription = stringResource(id = BitwardenString.authenticator_key_help),
isExternalLink = true,
),
supportingContentPadding = PaddingValues(),
supportingContent = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.bitwarden.ui.platform.base.util.annotatedStringResource
import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.bitwarden.ui.platform.base.util.toAnnotatedString
import com.bitwarden.ui.platform.components.button.BitwardenFilledButton
import com.bitwarden.ui.platform.components.button.BitwardenOutlinedButton
import com.bitwarden.ui.platform.components.card.BitwardenContentCard
import com.bitwarden.ui.platform.components.content.model.ContentBlockData
import com.bitwarden.ui.platform.components.text.BitwardenHyperTextLink
import com.bitwarden.ui.platform.resource.BitwardenDrawable
import com.bitwarden.ui.platform.resource.BitwardenString
import com.bitwarden.ui.platform.theme.BitwardenTheme
Expand All @@ -40,12 +40,12 @@ import kotlinx.collections.immutable.persistentListOf
fun ImportLoginsInstructionStep(
stepText: String,
stepTitle: String,
ctaText: String = stringResource(BitwardenString.continue_text),
instructions: ImmutableList<ContentBlockData>,
onBackClick: () -> Unit,
onContinueClick: () -> Unit,
onHelpClick: () -> Unit,
modifier: Modifier = Modifier,
ctaText: String = stringResource(BitwardenString.continue_text),
) {
Column(
modifier = modifier.verticalScroll(rememberScrollState()),
Expand All @@ -67,13 +67,12 @@ fun ImportLoginsInstructionStep(
contentSubtitleTextStyle = BitwardenTheme.typography.labelSmall,
)
Spacer(Modifier.height(24.dp))
Text(
text = annotatedStringResource(
id = BitwardenString.need_help_check_out_import_help,
onAnnotationClick = { onHelpClick() },
),
BitwardenHyperTextLink(
annotatedResId = BitwardenString.need_help_check_out_import_help,
annotationKey = "importHelp",
accessibilityString = stringResource(id = BitwardenString.import_help),
onClick = onHelpClick,
style = BitwardenTheme.typography.bodySmall,
color = BitwardenTheme.colorScheme.text.secondary,
modifier = Modifier.standardHorizontalMargin(),
)
Spacer(Modifier.height(24.dp))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ import androidx.compose.ui.unit.dp
import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.bitwarden.ui.platform.base.util.toListItemCardStyle
import com.bitwarden.ui.platform.components.button.BitwardenStandardIconButton
import com.bitwarden.ui.platform.components.button.model.BitwardenHelpButtonData
import com.bitwarden.ui.platform.components.field.BitwardenHiddenPasswordField
import com.bitwarden.ui.platform.components.field.BitwardenPasswordField
import com.bitwarden.ui.platform.components.field.BitwardenTextField
import com.bitwarden.ui.platform.components.header.BitwardenListHeaderText
import com.bitwarden.ui.platform.components.icon.model.IconData
import com.bitwarden.ui.platform.components.indicator.BitwardenCircularCountdownIndicator
import com.bitwarden.ui.platform.components.model.CardStyle
import com.bitwarden.ui.platform.components.model.TooltipData
import com.bitwarden.ui.platform.components.text.BitwardenClickableText
import com.bitwarden.ui.platform.components.text.BitwardenHyperTextLink
import com.bitwarden.ui.platform.resource.BitwardenDrawable
Expand Down Expand Up @@ -456,9 +456,10 @@ private fun TotpField(
textStyle = BitwardenTheme.typography.sensitiveInfoSmall,
readOnly = true,
singleLine = true,
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
onClick = onAuthenticatorHelpToolTipClick,
contentDescription = stringResource(id = BitwardenString.authenticator_key_help),
isExternalLink = true,
),
actions = {
BitwardenCircularCountdownIndicator(
Expand All @@ -480,9 +481,10 @@ private fun TotpField(
BitwardenTextField(
label = stringResource(id = BitwardenString.authenticator_key),
value = "",
tooltip = TooltipData(
helpData = BitwardenHelpButtonData(
onClick = onAuthenticatorHelpToolTipClick,
contentDescription = stringResource(id = BitwardenString.authenticator_key_help),
isExternalLink = true,
),
supportingText = stringResource(id = BitwardenString.premium_subscription_required),
enabled = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,17 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.CustomAccessibilityAction
import androidx.compose.ui.semantics.customActions
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import com.bitwarden.ui.platform.base.util.EventsEffect
import com.bitwarden.ui.platform.base.util.StatusBarsAppearanceAffect
import com.bitwarden.ui.platform.base.util.annotatedStringResource
import com.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar
import com.bitwarden.ui.platform.components.camera.CameraPreview
import com.bitwarden.ui.platform.components.camera.QrCodeSquare
import com.bitwarden.ui.platform.components.scaffold.BitwardenScaffold
import com.bitwarden.ui.platform.components.text.BitwardenHyperTextLink
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
import com.bitwarden.ui.platform.composition.LocalQrCodeAnalyzer
import com.bitwarden.ui.platform.feature.qrcodescan.util.QrCodeAnalyzer
Expand Down Expand Up @@ -146,7 +142,7 @@ private fun QrCodeContentCompact(
Text(
text = stringResource(id = BitwardenString.point_your_camera_at_the_qr_code),
textAlign = TextAlign.Center,
color = Color.White,
color = BitwardenTheme.colorScheme.text.primary,
style = BitwardenTheme.typography.bodyMedium,
modifier = Modifier.padding(horizontal = 16.dp),
)
Expand Down Expand Up @@ -187,7 +183,7 @@ private fun QrCodeContentMedium(
Text(
text = stringResource(id = BitwardenString.point_your_camera_at_the_qr_code),
textAlign = TextAlign.Center,
color = Color.White,
color = BitwardenTheme.colorScheme.text.primary,
style = BitwardenTheme.typography.bodySmall,
)

Expand All @@ -203,30 +199,13 @@ private fun EnterKeyManuallyText(
onEnterKeyManuallyClick: () -> Unit,
modifier: Modifier = Modifier,
) {
val enterKeyManuallyString = stringResource(BitwardenString.enter_key_manually)
Text(
text = annotatedStringResource(
id = BitwardenString.cannot_scan_qr_code_enter_key_manually,
onAnnotationClick = {
when (it) {
"enterKeyManually" -> onEnterKeyManuallyClick()
}
},
),
BitwardenHyperTextLink(
annotatedResId = BitwardenString.cannot_scan_qr_code_enter_key_manually,
annotationKey = "enterKeyManually",
accessibilityString = stringResource(BitwardenString.enter_key_manually),
onClick = onEnterKeyManuallyClick,
style = BitwardenTheme.typography.bodySmall,
color = Color.White,
textAlign = TextAlign.Center,
modifier = modifier
.semantics {
customActions = listOf(
CustomAccessibilityAction(
label = enterKeyManuallyString,
action = {
onEnterKeyManuallyClick()
true
},
),
)
},
color = BitwardenTheme.colorScheme.text.primary,
modifier = modifier,
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ class AboutScreenTest : BitwardenComposeTest() {
@Test
fun `on flight recorder tooltip click should emit FlightRecorderTooltipClick`() {
composeTestRule
.onNodeWithContentDescription("Flight recorder help")
.onNodeWithContentDescription("Flight recorder help, External link")
.performScrollTo()
.performClick()
verify {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ class AppearanceScreenTest : BitwardenComposeTest() {
@Test
fun `on show website icons tooltip click should send ShowWebsiteIconsToggled`() {
composeTestRule
.onNodeWithContentDescription(label = "Show website icons help")
.onNodeWithContentDescription(label = "Show website icons help, External link")
.performScrollTo()
.performClick()
verify {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1464,7 +1464,7 @@ class GeneratorScreenTest : BitwardenComposeTest() {
.filterToOne(hasClickAction())
// Find the content description
.onChildren()
.filterToOne(hasContentDescription("Learn more"))
.filterToOne(hasContentDescription("Learn more, External link"))
.assertIsDisplayed()
.performClick()

Expand Down
Loading
Loading