mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-19 21:18:27 +00:00
Fix start conversation button padding
This commit is contained in:
parent
78da9bdc67
commit
28c28dc4be
@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.conversation.start.home
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.ColumnScope
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@ -11,18 +10,21 @@ import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.Surface
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.platform.rememberNestedScrollInteropConnection
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import network.loki.messenger.R
|
||||
import org.thoughtcrime.securesms.conversation.start.NullStartConversationDelegate
|
||||
import org.thoughtcrime.securesms.conversation.start.StartConversationDelegate
|
||||
import org.thoughtcrime.securesms.ui.Divider
|
||||
import org.thoughtcrime.securesms.ui.SmallItemButton
|
||||
import org.thoughtcrime.securesms.ui.ItemButton
|
||||
import org.thoughtcrime.securesms.ui.LocalDimensions
|
||||
import org.thoughtcrime.securesms.ui.LocalItemButtonMinHeight
|
||||
import org.thoughtcrime.securesms.ui.PreviewTheme
|
||||
import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider
|
||||
import org.thoughtcrime.securesms.ui.color.Colors
|
||||
@ -47,47 +49,52 @@ internal fun StartConversationScreen(
|
||||
Column(
|
||||
modifier = Modifier.verticalScroll(rememberScrollState())
|
||||
) {
|
||||
Items(accountId, delegate)
|
||||
CompositionLocalProvider(LocalItemButtonMinHeight provides 40.dp) {
|
||||
ItemButton(
|
||||
textId = R.string.messageNew,
|
||||
icon = R.drawable.ic_message,
|
||||
onClick = delegate::onNewMessageSelected)
|
||||
Divider(startIndent = LocalDimensions.current.dividerIndent)
|
||||
ItemButton(
|
||||
textId = R.string.activity_create_group_title,
|
||||
icon = R.drawable.ic_group,
|
||||
onClick = delegate::onCreateGroupSelected
|
||||
)
|
||||
Divider(startIndent = LocalDimensions.current.dividerIndent)
|
||||
ItemButton(
|
||||
textId = R.string.dialog_join_community_title,
|
||||
icon = R.drawable.ic_globe,
|
||||
onClick = delegate::onJoinCommunitySelected
|
||||
)
|
||||
Divider(startIndent = LocalDimensions.current.dividerIndent)
|
||||
ItemButton(
|
||||
textId = R.string.activity_settings_invite_button_title,
|
||||
icon = R.drawable.ic_invite_friend,
|
||||
Modifier.contentDescription(R.string.AccessibilityId_invite_friend_button),
|
||||
onClick = delegate::onInviteFriend
|
||||
)
|
||||
}
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.padding(horizontal = LocalDimensions.current.margin)
|
||||
.padding(top = LocalDimensions.current.itemSpacing)
|
||||
.padding(bottom = LocalDimensions.current.margin)
|
||||
) {
|
||||
Text(stringResource(R.string.accountIdYours), style = xl)
|
||||
Spacer(modifier = Modifier.height(LocalDimensions.current.xxxsItemSpacing))
|
||||
Text(
|
||||
text = stringResource(R.string.qrYoursDescription),
|
||||
color = LocalColors.current.textSecondary,
|
||||
style = small
|
||||
)
|
||||
Spacer(modifier = Modifier.height(LocalDimensions.current.smallItemSpacing))
|
||||
QrImage(string = accountId, Modifier.contentDescription(R.string.AccessibilityId_qr_code))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Items of the StartConversationHome screen. Use in a [Column]
|
||||
*/
|
||||
@Suppress("UnusedReceiverParameter")
|
||||
@Composable
|
||||
private fun ColumnScope.Items(
|
||||
accountId: String,
|
||||
delegate: StartConversationDelegate
|
||||
) {
|
||||
SmallItemButton(textId = R.string.messageNew, icon = R.drawable.ic_message, onClick = delegate::onNewMessageSelected)
|
||||
Divider(startIndent = LocalDimensions.current.dividerIndent)
|
||||
SmallItemButton(textId = R.string.activity_create_group_title, icon = R.drawable.ic_group, onClick = delegate::onCreateGroupSelected)
|
||||
Divider(startIndent = LocalDimensions.current.dividerIndent)
|
||||
SmallItemButton(textId = R.string.dialog_join_community_title, icon = R.drawable.ic_globe, onClick = delegate::onJoinCommunitySelected)
|
||||
Divider(startIndent = LocalDimensions.current.dividerIndent)
|
||||
SmallItemButton(textId = R.string.activity_settings_invite_button_title, icon = R.drawable.ic_invite_friend, Modifier.contentDescription(
|
||||
R.string.AccessibilityId_invite_friend_button), onClick = delegate::onInviteFriend)
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.padding(horizontal = LocalDimensions.current.margin)
|
||||
.padding(top = LocalDimensions.current.itemSpacing)
|
||||
.padding(bottom = LocalDimensions.current.margin)
|
||||
) {
|
||||
Text(stringResource(R.string.accountIdYours), style = xl)
|
||||
Spacer(modifier = Modifier.height(LocalDimensions.current.xxxsItemSpacing))
|
||||
Text(
|
||||
text = stringResource(R.string.qrYoursDescription),
|
||||
color = LocalColors.current.textSecondary,
|
||||
style = small
|
||||
)
|
||||
Spacer(modifier = Modifier.height(LocalDimensions.current.smallItemSpacing))
|
||||
QrImage(string = accountId, Modifier.contentDescription(R.string.AccessibilityId_qr_code))
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
private fun PreviewStartConversationScreen(
|
||||
|
@ -12,6 +12,7 @@ import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.BoxScope
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.IntrinsicSize
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
@ -36,6 +37,7 @@ import androidx.compose.material.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.staticCompositionLocalOf
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.drawWithContent
|
||||
@ -108,6 +110,8 @@ fun <T> OptionsCard(card: OptionsCard<T>, callbacks: Callbacks<T>) {
|
||||
}
|
||||
}
|
||||
|
||||
val LocalItemButtonMinHeight = staticCompositionLocalOf { 60.dp }
|
||||
|
||||
@Composable
|
||||
fun ItemButtonWithDrawable(
|
||||
@StringRes textId: Int,
|
||||
@ -167,7 +171,7 @@ fun ItemButton(
|
||||
@Composable
|
||||
fun ItemButton(
|
||||
text: String,
|
||||
icon: @Composable (BoxScope.() -> Unit),
|
||||
icon: @Composable BoxScope.() -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
colors: ButtonColors = transparentButtonColors(),
|
||||
onClick: () -> Unit
|
||||
@ -175,7 +179,7 @@ fun ItemButton(
|
||||
TextButton(
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
.heightIn(min = 60.dp),
|
||||
.heightIn(min = LocalItemButtonMinHeight.current),
|
||||
colors = colors,
|
||||
onClick = onClick,
|
||||
shape = RectangleShape,
|
||||
@ -183,7 +187,7 @@ fun ItemButton(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.width(80.dp)
|
||||
.height(60.dp)
|
||||
.height(LocalItemButtonMinHeight.current)
|
||||
.align(Alignment.CenterVertically)
|
||||
) {
|
||||
icon()
|
||||
@ -191,6 +195,7 @@ fun ItemButton(
|
||||
Text(
|
||||
text,
|
||||
Modifier.fillMaxWidth()
|
||||
.padding(vertical = LocalDimensions.current.xsItemSpacing)
|
||||
.align(Alignment.CenterVertically),
|
||||
style = xl
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user