diff --git a/app/core/core-resources/src/androidMain/res/values-sv-rSE/strings.xml b/app/core/core-resources/src/androidMain/res/values-sv-rSE/strings.xml index 1121f472a0..04fbb46116 100644 --- a/app/core/core-resources/src/androidMain/res/values-sv-rSE/strings.xml +++ b/app/core/core-resources/src/androidMain/res/values-sv-rSE/strings.xml @@ -15,6 +15,7 @@ av Pausa Spela + Läst Skrolla längst ner på sidan Inskickat värde @@ -522,6 +523,7 @@ Fråga angående skadeanmälan - Fordon reg. %1$s Välj land och språk Logga ut + Manage your payment methods Aktivera ditt försäkringsskydd igen genom att kontakta oss när din betalning har registrerats Få ett prisförslag Se över kontaktuppgifter @@ -680,7 +682,7 @@ Reseintyg Din profil Se guider - I valpguiden hittar du användbara artiklar som hjälper dig med allt från första veterinärbesöket till hur du väljer rätt foder. + I valpguiden får du svar på de vanligaste frågorna som rör valpens första tid. Utvalda guider Läst Inte hjälpsam @@ -997,6 +999,7 @@ Vi kan tyvärr inte ge dig ett pris. Var god se till att du har Kivras digitala brevlåda och försök igen.\n\nDu kan skaffa digital brevlåda hos Kivra här: https://kivra.se/sv/privat/sa-funkar-det/digitala-brev-brevlada Rabattnamn: %s ändra värde + Bild Tryck för mer information Kampanjikon Informationsikon @@ -1279,6 +1282,20 @@ Läs om ditt fullständiga försäkringsskydd nedan. Appinformation Information + Fortsätt köpet + Avvisa erbjudandet + + Erbjudandet löper ut om %1$d dag + Erbjudandet löper ut om %1$d dagar + + + Erbjudandet löper ut om %1$d timme + Erbjudandet löper ut om %1$d timmar + + + Erbjudandet löper ut om %1$d minut + Erbjudandet löper ut om %1$d minuter + Skriv meddelande Autogiro är anslutet! Vi kunde inte ansluta ditt bankkonto. Vänligen försök igen eller skriv till oss direkt i appen. diff --git a/app/core/core-resources/src/androidMain/res/values/strings.xml b/app/core/core-resources/src/androidMain/res/values/strings.xml index ab249a9e6d..d25b79a81f 100644 --- a/app/core/core-resources/src/androidMain/res/values/strings.xml +++ b/app/core/core-resources/src/androidMain/res/values/strings.xml @@ -15,6 +15,7 @@ of Pause Play + Red Scroll to bottom Submitted value @@ -522,6 +523,7 @@ Question regarding claim, Vehicle reg. %1$s Preferences Logout + Manage your payment methods Activate your coverage again by contacting us once your payment has been processed Get a price quote Review contact info @@ -997,6 +999,7 @@ Sorry, we couldn’t generate a price. Please make sure you have Kivra\'s digital mailbox and then try again. \n\nYou can get Kivra\'s digital mailbox here: https://kivra.se/en/private/how-it-works/digital-letters-mailbox. Discount name: %s change value + Image Tap for more info Campaign image Information image @@ -1279,6 +1282,20 @@ Read the full coverage of your insurances below. App information Information + Continue purchase + Dismiss offer + + The offer expires in %1$d day + The offer expires in %1$d days + + + The offer expires in %1$d hour + The offer expires in %1$d hours + + + The offer expires in %1$d minute + The offer expires in %1$d minutes + Write message Direct debit connected! We were unable to add your payment method. Please try again or send us a message here in the app. diff --git a/app/core/core-resources/src/commonMain/composeResources/values-sv-rSE/strings.xml b/app/core/core-resources/src/commonMain/composeResources/values-sv-rSE/strings.xml index ee88808b69..f541fcefc3 100644 --- a/app/core/core-resources/src/commonMain/composeResources/values-sv-rSE/strings.xml +++ b/app/core/core-resources/src/commonMain/composeResources/values-sv-rSE/strings.xml @@ -1,4 +1,3 @@ - Svenska English @@ -15,6 +14,7 @@ av Pausa Spela + Läst Skrolla längst ner på sidan Inskickat värde @@ -522,6 +522,7 @@ Fråga angående skadeanmälan - Fordon reg. %1$s Välj land och språk Logga ut + Manage your payment methods Aktivera ditt försäkringsskydd igen genom att kontakta oss när din betalning har registrerats Få ett prisförslag Se över kontaktuppgifter @@ -680,7 +681,7 @@ Reseintyg Din profil Se guider - I valpguiden hittar du användbara artiklar som hjälper dig med allt från första veterinärbesöket till hur du väljer rätt foder. + I valpguiden får du svar på de vanligaste frågorna som rör valpens första tid. Utvalda guider Läst Inte hjälpsam @@ -997,6 +998,7 @@ Vi kan tyvärr inte ge dig ett pris. Var god se till att du har Kivras digitala brevlåda och försök igen.\n\nDu kan skaffa digital brevlåda hos Kivra här: https://kivra.se/sv/privat/sa-funkar-det/digitala-brev-brevlada Rabattnamn: %1$s ändra värde + Bild Tryck för mer information Kampanjikon Informationsikon @@ -1279,6 +1281,20 @@ Läs om ditt fullständiga försäkringsskydd nedan. Appinformation Information + Fortsätt köpet + Avvisa erbjudandet + + Erbjudandet löper ut om %1$d dag + Erbjudandet löper ut om %1$d dagar + + + Erbjudandet löper ut om %1$d timme + Erbjudandet löper ut om %1$d timmar + + + Erbjudandet löper ut om %1$d minut + Erbjudandet löper ut om %1$d minuter + Skriv meddelande Autogiro är anslutet! Vi kunde inte ansluta ditt bankkonto. Vänligen försök igen eller skriv till oss direkt i appen. diff --git a/app/core/core-resources/src/commonMain/composeResources/values/strings.xml b/app/core/core-resources/src/commonMain/composeResources/values/strings.xml index ff57e81a6a..18bdcd8887 100644 --- a/app/core/core-resources/src/commonMain/composeResources/values/strings.xml +++ b/app/core/core-resources/src/commonMain/composeResources/values/strings.xml @@ -1,4 +1,3 @@ - Svenska English @@ -15,6 +14,7 @@ of Pause Play + Red Scroll to bottom Submitted value @@ -522,6 +522,7 @@ Question regarding claim, Vehicle reg. %1$s Preferences Logout + Manage your payment methods Activate your coverage again by contacting us once your payment has been processed Get a price quote Review contact info @@ -997,6 +998,7 @@ Sorry, we couldn’t generate a price. Please make sure you have Kivra's digital mailbox and then try again. \n\nYou can get Kivra's digital mailbox here: https://kivra.se/en/private/how-it-works/digital-letters-mailbox. Discount name: %1$s change value + Image Tap for more info Campaign image Information image @@ -1279,6 +1281,20 @@ Read the full coverage of your insurances below. App information Information + Continue purchase + Dismiss offer + + The offer expires in %1$d day + The offer expires in %1$d days + + + The offer expires in %1$d hour + The offer expires in %1$d hours + + + The offer expires in %1$d minute + The offer expires in %1$d minutes + Write message Direct debit connected! We were unable to add your payment method. Please try again or send us a message here in the app. diff --git a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/home/HelpCenterHomeDestination.kt b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/home/HelpCenterHomeDestination.kt index c742d6653f..223654d697 100644 --- a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/home/HelpCenterHomeDestination.kt +++ b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/home/HelpCenterHomeDestination.kt @@ -47,6 +47,9 @@ import androidx.compose.ui.draw.shadow import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.semantics.heading +import androidx.compose.ui.semantics.isTraversalGroup +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter @@ -420,7 +423,10 @@ private fun ContentWithoutSearch( modifier = Modifier .padding(horizontal = 20.dp), ) { - HedvigText(stringResource(Res.string.HC_HOME_VIEW_QUESTION)) + HedvigText(stringResource(Res.string.HC_HOME_VIEW_QUESTION), + modifier = Modifier.semantics { + heading() + }) HedvigText( text = stringResource(Res.string.HC_HOME_VIEW_ANSWER), color = HedvigTheme.colorScheme.textSecondary, @@ -497,14 +503,13 @@ private fun ContentWithoutSearch( @Composable private fun PuppyGuideCard(onClick: () -> Unit, modifier: Modifier = Modifier) { HedvigCard( - onClick = onClick, color = HedvigTheme.colorScheme.backgroundPrimary, borderColor = HedvigTheme.colorScheme.borderSecondary, modifier = modifier .fillMaxWidth() .shadow(1.dp, HedvigTheme.shapes.cornerXLarge), ) { - Column { + Column{ Box(Modifier.align(Alignment.CenterHorizontally)) { Image( painter = painterResource(Res.drawable.hundar_badar_pet), diff --git a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyArticleDestination.kt b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyArticleDestination.kt index 6ae4fb3a12..44f7c7f4a1 100644 --- a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyArticleDestination.kt +++ b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyArticleDestination.kt @@ -211,7 +211,7 @@ private fun PuppyArticleSuccessScreen( HedvigTheme.typography.bodySmall .copy(color = HedvigTheme.colorScheme.textSecondaryTranslucent), ) { - MarkdownText(uiState.story.content, withArticleStyle = true) + MarkdownText(uiState.story.content.replace(Regex("\n\\s*\n"), "\n\n\u200b\n\n"), withArticleStyle = true) } Spacer(Modifier.height(48.dp)) HedvigText(stringResource(Res.string.PUPPY_GUIDE_RATING_QUESTION)) diff --git a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyGuideDestination.kt b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyGuideDestination.kt index 77e1b7a74e..077c2385b5 100644 --- a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyGuideDestination.kt +++ b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/puppyguide/PuppyGuideDestination.kt @@ -48,8 +48,14 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalHapticFeedback +import androidx.compose.ui.semantics.Role +import androidx.compose.ui.semantics.clearAndSetSemantics +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.hideFromAccessibility +import androidx.compose.ui.semantics.onClick +import androidx.compose.ui.semantics.role +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider import androidx.compose.ui.unit.Dp @@ -74,6 +80,7 @@ import com.hedvig.android.design.system.hedvig.icon.Checkmark import com.hedvig.android.design.system.hedvig.icon.HedvigIcons import com.hedvig.android.design.system.hedvig.rememberPreviewImageLoader import com.hedvig.android.feature.help.center.data.PuppyGuideStory +import hedvig.resources.A11Y_READ_LABEL_HACK import hedvig.resources.PUPPY_GUIDE_INFO import hedvig.resources.PUPPY_GUIDE_LABEL_READ import hedvig.resources.PUPPY_GUIDE_TITLE @@ -197,7 +204,7 @@ private fun PuppyGuideSuccessScreen( ) { Image( painter = painterResource(Res.drawable.hundar_badar_pet), - contentDescription = null, + contentDescription = EmptyContentDescription, contentScale = ContentScale.Crop, alignment = Alignment.Center, modifier = Modifier @@ -342,8 +349,19 @@ private fun ArticleItem( shape: Shape = HedvigTheme.shapes.cornerMedium, ) { val interactionSource = remember { MutableInteractionSource() } + val isRead = story.isRead || story.rating != null + val readAudioLabel = stringResource(Res.string.A11Y_READ_LABEL_HACK) + val audioDescription = "${story.title}, ${story.subtitle}. ${if (isRead) readAudioLabel else ""}." Column( modifier + .clearAndSetSemantics { + contentDescription = audioDescription + role = Role.Button + onClick(label = null) { + onNavigateToArticle(story) + true + } + } .width(size) .clickable( interactionSource = interactionSource, @@ -372,7 +390,7 @@ private fun ArticleItem( .size(size) .clip(shape), ) - if (story.isRead || story.rating != null) { + if (isRead) { Box( modifier = Modifier .matchParentSize() @@ -386,8 +404,6 @@ private fun ArticleItem( HedvigText( story.title, style = HedvigTheme.typography.label, - maxLines = 1, - overflow = TextOverflow.Ellipsis, ) HedvigText( story.subtitle, @@ -400,7 +416,9 @@ private fun ArticleItem( @Composable private fun ReadLabel(modifier: Modifier = Modifier) { Surface( - modifier = modifier, + modifier = modifier.semantics { + hideFromAccessibility() + }, shape = HedvigTheme.shapes.cornerXSmall, color = HedvigTheme.colorScheme.buttonSecondaryAltResting, ) { diff --git a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/ui/MarkdownText.kt b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/ui/MarkdownText.kt index 44e0864469..dcdaff31c5 100644 --- a/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/ui/MarkdownText.kt +++ b/app/feature/feature-help-center/src/commonMain/kotlin/com/hedvig/android/feature/help/center/ui/MarkdownText.kt @@ -122,7 +122,7 @@ fun MarkdownText(markdown: String, modifier: Modifier = Modifier, withArticleSty colors = markdownColors, typography = markdownTypography, padding = object : MarkdownPadding { - override val block: Dp = 6.dp + override val block: Dp = 0.dp override val blockQuote: PaddingValues = PaddingValues(0.dp) override val blockQuoteBar: PaddingValues.Absolute = PaddingValues.Absolute(0.dp) override val blockQuoteText: PaddingValues = PaddingValues(0.dp)