feat: add common text style and fix weight issue on name

This commit is contained in:
0x330a 2023-11-15 12:07:07 +11:00
parent 5e349b8e2c
commit 6f3238795d
2 changed files with 43 additions and 11 deletions

View File

@ -26,6 +26,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
@ -87,13 +88,15 @@ fun LazyListScope.multiSelectMemberList(
} }
} }
val MemberNameStyle = TextStyle(fontWeight = FontWeight.Bold)
@Composable @Composable
fun RowScope.MemberName( fun RowScope.MemberName(
name: String, name: String,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) = Text( ) = Text(
text = name, text = name,
fontWeight = FontWeight.Bold, style = MemberNameStyle,
modifier = modifier modifier = modifier
.weight(1f) .weight(1f)
.align(CenterVertically) .align(CenterVertically)

View File

@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.groups.compose
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
@ -23,6 +23,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
@ -39,6 +40,7 @@ import network.loki.messenger.libsession_util.util.GroupMember
import org.session.libsession.database.StorageProtocol import org.session.libsession.database.StorageProtocol
import org.thoughtcrime.securesms.ui.Divider import org.thoughtcrime.securesms.ui.Divider
import org.thoughtcrime.securesms.ui.NavigationBar import org.thoughtcrime.securesms.ui.NavigationBar
import org.thoughtcrime.securesms.ui.PreviewTheme
@EditGroupNavGraph(start = true) @EditGroupNavGraph(start = true)
@Composable @Composable
@ -187,19 +189,23 @@ fun EditGroupView(
ContactPhoto(member.memberSessionId) ContactPhoto(member.memberSessionId)
Column(modifier = Modifier Column(modifier = Modifier
.weight(1f) .weight(1f)
.fillMaxHeight()
.padding(horizontal = 8.dp)
.align(CenterVertically)) { .align(CenterVertically)) {
Row(modifier = Modifier.fillMaxWidth().weight(1f)) { // Member's name
// Needs Text(
MemberName( text = member.memberName ?: member.memberSessionId,
name = member.memberName ?: member.memberSessionId, style = MemberNameStyle,
modifier = Modifier.align(CenterVertically).fillMaxSize() modifier = Modifier
) .fillMaxWidth()
} .padding(1.dp)
)
if (member.memberState !in listOf(MemberState.Member, MemberState.Admin)) { if (member.memberState !in listOf(MemberState.Member, MemberState.Admin)) {
Text( Text(
text = member.memberState.toString(), text = member.memberState.toString(),
modifier = Modifier.fillMaxWidth() modifier = Modifier
.weight(1f), .fillMaxWidth()
.padding(1.dp)
) )
} }
} }
@ -250,4 +256,27 @@ sealed class EditGroupViewState {
val memberStateList: List<MemberViewModel>, val memberStateList: List<MemberViewModel>,
val admin: Boolean val admin: Boolean
): EditGroupViewState() ): EditGroupViewState()
}
@Preview
@Composable
fun PreviewList() {
val oneMember = MemberViewModel(
"Test User",
"05abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
MemberState.InviteSent,
false
)
val viewState = EditGroupViewState.Group(
"Preview",
"This is a preview description",
listOf(oneMember),
false
)
PreviewTheme(themeResId = R.style.Ocean_Dark) {
EditGroupView(onBack = { /*TODO*/ }, viewState =viewState)
}
} }