bold strings + bordered text view

This commit is contained in:
Diogo
2024-11-21 10:59:49 +00:00
parent 6229ebf6f4
commit 6e4da97c04
3 changed files with 27 additions and 34 deletions
@@ -48,8 +48,8 @@ fun HowItWorks(user: User?, onboardingStage: SharedPreference<OnboardingStage>?
}
@Composable
fun ReadableText(stringResId: StringResource, textAlign: TextAlign = TextAlign.Start, padding: PaddingValues = PaddingValues(bottom = 12.dp), style: TextStyle = LocalTextStyle.current) {
Text(annotatedStringResource(stringResId), modifier = Modifier.padding(padding), textAlign = textAlign, lineHeight = 22.sp, style = style)
fun ReadableText(stringResId: StringResource, textAlign: TextAlign = TextAlign.Start, padding: PaddingValues = PaddingValues(bottom = 12.dp), style: TextStyle = LocalTextStyle.current, args: Any? = null) {
Text(annotatedStringResource(stringResId, args), modifier = Modifier.padding(padding), textAlign = textAlign, lineHeight = 22.sp, style = style)
}
@Composable
@@ -32,6 +32,7 @@ import chat.simplex.common.platform.*
import chat.simplex.common.ui.theme.*
import chat.simplex.common.views.helpers.*
import chat.simplex.common.views.onboarding.OnboardingActionButton
import chat.simplex.common.views.onboarding.ReadableText
import chat.simplex.res.MR
import dev.icerock.moko.resources.compose.painterResource
import dev.icerock.moko.resources.compose.stringResource
@@ -535,7 +536,7 @@ private fun SingleOperatorUsageConditionsView(
fun UsageConditionsDestinationView(close: () -> Unit) {
ColumnWithScrollBar(modifier = Modifier.fillMaxSize()) {
AppBarTitle(stringResource(MR.strings.operator_conditions_of_use), enableAlphaChanges = false)
Column(modifier = Modifier.weight(1f).padding(end = DEFAULT_PADDING, start = DEFAULT_PADDING, bottom = DEFAULT_PADDING, top = DEFAULT_PADDING)) {
Column(modifier = Modifier.weight(1f).padding(end = DEFAULT_PADDING, start = DEFAULT_PADDING, bottom = DEFAULT_PADDING, top = DEFAULT_PADDING_HALF)) {
ConditionsTextView(rhId)
}
AcceptConditionsButton(close)
@@ -547,7 +548,7 @@ private fun SingleOperatorUsageConditionsView(
Text(
stringResource(MR.strings.view_conditions),
color = MaterialTheme.colors.primary,
modifier = Modifier.clickable {
modifier = Modifier.padding(top = DEFAULT_PADDING_HALF).clickable {
ModalManager.start.showModalCloseable { close ->
UsageConditionsDestinationView(close)
}
@@ -555,34 +556,33 @@ private fun SingleOperatorUsageConditionsView(
)
}
ColumnWithScrollBar(modifier = Modifier.fillMaxSize()) {
AppBarTitle(String.format(stringResource(MR.strings.use_operator_x), operator.tradeName), enableAlphaChanges = false)
ColumnWithScrollBar(modifier = Modifier.fillMaxSize().padding(horizontal = DEFAULT_PADDING)) {
AppBarTitle(String.format(stringResource(MR.strings.use_operator_x), operator.tradeName), enableAlphaChanges = false, withPadding = false)
if (operator.conditionsAcceptance is ConditionsAcceptance.Accepted) {
// In current UI implementation this branch doesn't get shown - as conditions can't be opened from inside operator once accepted
Column(modifier = Modifier.weight(1f).padding(end = DEFAULT_PADDING, start = DEFAULT_PADDING, bottom = DEFAULT_PADDING)) {
ConditionsTextView(rhId)
}
} else if (operatorsWithConditionsAccepted.isNotEmpty()) {
SectionItemView {
Text(String.format(stringResource(MR.strings.operator_conditions_accepted_for_some), operatorsWithConditionsAccepted.joinToString(", ") { it.legalName_ }))
}
SectionItemView {
Text(String.format(stringResource(MR.strings.operator_same_conditions_will_be_applied), operator.legalName_))
}
ReadableText(
MR.strings.operator_conditions_accepted_for_some,
args = operatorsWithConditionsAccepted.joinToString(", ") { it.legalName_ }
)
ReadableText(
MR.strings.operator_same_conditions_will_be_applied,
args = operator.legalName_
)
ConditionsAppliedToOtherOperatorsText(userServers = userServers.value, operatorIndex = operatorIndex)
SectionItemView {
UsageConditionsNavLinkButton()
}
UsageConditionsNavLinkButton()
Spacer(Modifier.fillMaxWidth().weight(1f))
AcceptConditionsButton(close)
} else {
SectionItemView {
Text(String.format(stringResource(MR.strings.operator_in_order_to_use_accept_conditions, operator.legalName_)))
}
SectionItemView {
ConditionsAppliedToOtherOperatorsText(userServers = userServers.value, operatorIndex = operatorIndex)
}
ReadableText(
MR.strings.operator_in_order_to_use_accept_conditions,
args = operator.legalName_
)
ConditionsAppliedToOtherOperatorsText(userServers = userServers.value, operatorIndex = operatorIndex)
Column(modifier = Modifier.weight(1f).padding(end = DEFAULT_PADDING, start = DEFAULT_PADDING, bottom = DEFAULT_PADDING)) {
ConditionsTextView(rhId)
}
@@ -625,11 +625,8 @@ fun ConditionsTextView(
Box(
modifier = Modifier
.fillMaxSize()
.clip(RoundedCornerShape(12.dp))
.border(border = BorderStroke(1.dp, CurrentColors.value.colors.secondary.copy(alpha = 0.6f)), shape = RoundedCornerShape(12.dp))
.verticalScroll(scrollState)
.background(
color = MaterialTheme.colors.background.mixWith(MaterialTheme.colors.onBackground, 0.97f),
)
.padding(8.dp)
) {
Text(
@@ -670,11 +667,7 @@ private fun ConditionsAppliedToOtherOperatorsText(userServers: List<UserOperator
}
if (otherOperatorsToApply.value.isNotEmpty()) {
SectionItemView {
Text(
String.format(stringResource(MR.strings.operators_conditions_will_also_apply), otherOperatorsToApply.value.joinToString(", ") { it.legalName_ }),
)
}
ReadableText(MR.strings.operator_conditions_will_be_applied)
}
}
@@ -1696,13 +1696,13 @@
<string name="operator_use_operator_toggle_description">Use operator</string>
<string name="use_operator_x">Use operator %s</string>
<string name="operator_conditions_failed_to_load">Current conditions text couldn\'t be loaded, you can review conditions via this link:</string>
<string name="operator_conditions_accepted_for_some">Conditions are already accepted for following operator(s): %s.</string>
<string name="operator_same_conditions_will_be_applied">Same conditions will apply to operator %s.</string>
<string name="operators_conditions_will_also_apply">Conditions will also apply for following operator(s) you use: %s.</string>
<string name="operator_conditions_accepted_for_some"><![CDATA[Conditions are already accepted for following operator(s): <b>%s</b>.]]></string>
<string name="operator_conditions_will_be_applied"><![CDATA[These conditions will also apply for: <b>%s</b>.]]></string>
<string name="operator_same_conditions_will_be_applied"><![CDATA[Same conditions will apply to operator: <b>%s</b>.]]></string>
<string name="view_conditions">View conditions</string>
<string name="accept_conditions">Accept conditions</string>
<string name="operator_conditions_of_use">Conditions of use</string>
<string name="operator_in_order_to_use_accept_conditions">In order to use operator %s, accept conditions of use.</string>
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[To use the servers of <b>%s</b>, accept conditions of use.]]></string>
<string name="operator_use_for_messages">Use for messages</string>
<string name="operator_use_for_messages_receiving">For receiving</string>
<string name="operator_use_for_messages_private_routing">For private routing</string>