mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-3629 Onboarding | Ui fixes (#2402)
This commit is contained in:
parent
ebf1db3a6f
commit
32a9f8b99a
4 changed files with 41 additions and 17 deletions
|
@ -100,7 +100,9 @@ fun PagerIndicator(
|
|||
)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Text(
|
||||
modifier = Modifier.wrapContentWidth().padding(top = 21.dp, end = 16.dp),
|
||||
modifier = Modifier
|
||||
.wrapContentWidth()
|
||||
.padding(top = 21.dp, end = 16.dp),
|
||||
text = "${currentPage.value.num} / $pageCount",
|
||||
style = HeadlineOnBoardingDescription.copy(
|
||||
color = ColorPagerIndicatorText, textAlign = TextAlign.End
|
||||
|
@ -121,12 +123,18 @@ fun MnemonicPhraseWidget(
|
|||
val words = mnemonic.split(" ")
|
||||
if (words.isNotEmpty()) {
|
||||
FlowRow(
|
||||
modifier = modifier, maxItemsInEachRow = 4, horizontalArrangement = Arrangement.Center
|
||||
modifier = modifier,
|
||||
maxItemsInEachRow = 4,
|
||||
horizontalArrangement = Arrangement.Center
|
||||
) {
|
||||
words.forEachIndexed { idx, word ->
|
||||
val color = colorResource(R.color.palette_system_pink)
|
||||
val color = colorResource(R.color.text_white)
|
||||
Text(
|
||||
modifier = Modifier.padding(horizontal = 6.dp, vertical = 3.dp),
|
||||
modifier = Modifier
|
||||
.padding(
|
||||
horizontal = 6.dp,
|
||||
vertical = 6.dp
|
||||
),
|
||||
text = word.lowercase(),
|
||||
style = PreviewTitle1Regular.copy(
|
||||
color = color
|
||||
|
@ -190,7 +198,7 @@ fun MnemonicStubPreview() {
|
|||
MnemonicStub()
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Preview(backgroundColor = 0xFF000000, showBackground = true)
|
||||
@Composable
|
||||
fun MnemonicPhraseWidgetPreview() {
|
||||
val mnemonic = "kenobi hello there general grievous you are bold like toe pineapple wave"
|
||||
|
@ -215,8 +223,7 @@ fun OnboardingMnemonicInput(
|
|||
.copy(
|
||||
lineHeight = 34.sp,
|
||||
color = colorResource(R.color.palette_system_pink)
|
||||
)
|
||||
,
|
||||
),
|
||||
value = text.value,
|
||||
onValueChange = {
|
||||
text.value = it
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
package com.anytypeio.anytype.ui.onboarding
|
||||
|
||||
import android.content.ClipData
|
||||
import android.content.ClipDescription
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.PersistableBundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -700,8 +702,15 @@ class OnboardingFragment : Fragment() {
|
|||
requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
val clip =
|
||||
ClipData.newPlainText("Mnemonic phrase", mnemonicPhrase)
|
||||
clip.apply {
|
||||
description.extras = PersistableBundle().apply {
|
||||
putBoolean(ClipDescription.EXTRA_IS_SENSITIVE, true)
|
||||
}
|
||||
}
|
||||
clipboard.setPrimaryClip(clip)
|
||||
toast("Mnemonic phrase copied")
|
||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S_V2) {
|
||||
toast("Mnemonic phrase copied")
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
toast("Could not copy your mnemonic phrase. Please try again later, or copy it manually.")
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ import com.anytypeio.anytype.core_ui.ColorBackgroundField
|
|||
import com.anytypeio.anytype.core_ui.ColorButtonRegular
|
||||
import com.anytypeio.anytype.core_ui.extensions.conditional
|
||||
import com.anytypeio.anytype.core_ui.foundation.noRippleClickable
|
||||
import com.anytypeio.anytype.core_ui.foundation.noRippleThrottledClickable
|
||||
import com.anytypeio.anytype.core_ui.views.ButtonMedium
|
||||
import com.anytypeio.anytype.core_ui.views.ButtonSize
|
||||
import com.anytypeio.anytype.core_ui.views.HeadlineTitleSemibold
|
||||
|
@ -150,7 +151,8 @@ fun MnemonicPhraseScreen(
|
|||
MnemonicPhrase(
|
||||
state = state,
|
||||
copyMnemonicToClipboard = copyMnemonicToClipboard,
|
||||
mnemonicColorPalette = mnemonicColorPalette
|
||||
mnemonicColorPalette = mnemonicColorPalette,
|
||||
reviewMnemonic = reviewMnemonic
|
||||
)
|
||||
ReadMoreButton(showWhatIsRecoveryPhraseDialog)
|
||||
}
|
||||
|
@ -287,6 +289,7 @@ fun MnemonicTitle() {
|
|||
@Composable
|
||||
fun MnemonicPhrase(
|
||||
state: OnboardingMnemonicViewModel.State,
|
||||
reviewMnemonic: () -> Unit,
|
||||
copyMnemonicToClipboard: (String) -> Unit,
|
||||
mnemonicColorPalette: List<Color>
|
||||
) {
|
||||
|
@ -303,6 +306,10 @@ fun MnemonicPhrase(
|
|||
.fillMaxWidth()
|
||||
.background(color = ColorBackgroundField, shape = RoundedCornerShape(16.dp))
|
||||
.wrapContentHeight()
|
||||
.noRippleThrottledClickable {
|
||||
reviewMnemonic()
|
||||
copyMnemonicToClipboard.invoke(state.mnemonicPhrase)
|
||||
}
|
||||
) {
|
||||
if (Build.VERSION.SDK_INT <= VERSION_CODES.R && state is OnboardingMnemonicViewModel.State.Mnemonic) {
|
||||
MnemonicStub()
|
||||
|
@ -315,10 +322,10 @@ fun MnemonicPhrase(
|
|||
positive = { blur(15.dp) }
|
||||
)
|
||||
.padding(
|
||||
start = 16.dp,
|
||||
top = 16.dp,
|
||||
end = 16.dp,
|
||||
bottom = 16.dp
|
||||
start = 42.dp,
|
||||
top = 17.dp,
|
||||
end = 42.dp,
|
||||
bottom = 17.dp
|
||||
),
|
||||
mnemonic = state.mnemonicPhrase,
|
||||
mnemonicColorPalette = mnemonicColorPalette
|
||||
|
|
|
@ -40,7 +40,7 @@ import com.anytypeio.anytype.core_ui.views.HeadlineHeading
|
|||
import com.anytypeio.anytype.core_ui.views.Title1
|
||||
|
||||
|
||||
@Preview
|
||||
@Preview(showBackground = true, backgroundColor = 0xFF000000)
|
||||
@Composable
|
||||
fun PreviewWhatIsRecoveryPhraseScreen() {
|
||||
WhatIsRecoveryPhraseScreen()
|
||||
|
@ -80,7 +80,7 @@ fun WhatIsRecoveryPhraseScreen() {
|
|||
modifier = Modifier.align(Alignment.Center)
|
||||
)
|
||||
}
|
||||
Spacer(modifier = Modifier.width(18.dp))
|
||||
Spacer(modifier = Modifier.width(12.dp))
|
||||
Text(
|
||||
text = stringResource(R.string.onboarding_recovery_phrase_description),
|
||||
color = Color.White,
|
||||
|
@ -96,13 +96,14 @@ fun WhatIsRecoveryPhraseScreen() {
|
|||
modifier = Modifier.align(Alignment.Center)
|
||||
)
|
||||
}
|
||||
Spacer(modifier = Modifier.width(18.dp))
|
||||
Spacer(modifier = Modifier.width(12.dp))
|
||||
Text(
|
||||
text = buildAnnotatedString {
|
||||
append(stringResource(R.string.onboarding_recovery_phrase_description_2))
|
||||
withStyle(
|
||||
style = SpanStyle(fontWeight = FontWeight.Bold)
|
||||
) {
|
||||
append(" ")
|
||||
append(stringResource(R.string.onboarding_recovery_phrase_description_3))
|
||||
}
|
||||
},
|
||||
|
@ -119,7 +120,7 @@ fun WhatIsRecoveryPhraseScreen() {
|
|||
modifier = Modifier.align(Alignment.Center)
|
||||
)
|
||||
}
|
||||
Spacer(modifier = Modifier.width(18.dp))
|
||||
Spacer(modifier = Modifier.width(12.dp))
|
||||
Text(
|
||||
text = stringResource(R.string.onboarding_recovery_phrase_description_4),
|
||||
color = Color.White,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue