diff --git a/src/main/kotlin/org/briarproject/briar/desktop/paul/views/PrivateMessageView.kt b/src/main/kotlin/org/briarproject/briar/desktop/paul/views/PrivateMessageView.kt index f5cd8ac01be1a4f17e297532345406f949c100de..147b3f5eef2e7913b310a0e8a5a66897b6164ff8 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/paul/views/PrivateMessageView.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/paul/views/PrivateMessageView.kt @@ -61,11 +61,13 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.drawscope.withTransform import androidx.compose.ui.graphics.imageFromResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.input.TextFieldValue +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -251,6 +253,19 @@ fun SearchTextField(searchValue: String, onValueChange: (String) -> Unit, onCont ) } +@Composable +fun ProfileCircle(bitmap: ImageBitmap, size: Dp) { + Row() { + Image( + bitmap = bitmap, + "image", + modifier = Modifier.size(size).align(Alignment.CenterVertically).clip( + CircleShape + ).border(2.dp, color = Color.White, CircleShape) + ) + } +} + @Composable fun ContactCard(contact: Contact, selContact: Contact, onSel: (Contact) -> Unit, drawDetails: Boolean) { var bgColor = briarBlack @@ -264,13 +279,7 @@ fun ContactCard(contact: Contact, selContact: Contact, onSel: (Contact) -> Unit, ) { Row(modifier = Modifier.align(Alignment.CenterVertically).padding(horizontal = 16.dp)) { // TODO Pull profile pictures - Image( - bitmap = imageFromResource("images/profile_images/p0.png"), - "image", - modifier = Modifier.size(36.dp).align(Alignment.CenterVertically).clip( - CircleShape - ).border(2.dp, color = Color.White, CircleShape) - ) + ProfileCircle(imageFromResource("images/profile_images/p0.png"), 36.dp) // Draw notification badges if (drawDetails) { androidx.compose.foundation.Canvas( @@ -549,16 +558,7 @@ fun MsgColumnHeader( ) { Box(modifier = Modifier.fillMaxWidth().height(HEADER_SIZE + 1.dp)) { Row(modifier = Modifier.align(Alignment.Center)) { - Image( - // TODO Fix profile picture resources - bitmap = imageFromResource("images/profile_images/p0.png"), - "sel_contact_prof", - modifier = Modifier.size(36.dp).align( - Alignment.CenterVertically - ).clip( - CircleShape - ).border(2.dp, color = Color.White, CircleShape) - ) + ProfileCircle(imageFromResource("images/profile_images/p0.png"), 36.dp) androidx.compose.foundation.Canvas( modifier = Modifier.align(Alignment.CenterVertically), onDraw = { @@ -696,14 +696,7 @@ fun ContactDrawerMakeIntro(currContact: Contact, contacts: List<Contact>, setInf // Divider(color = divider, modifier = Modifier.fillMaxWidth().height(1.dp) ) Row(Modifier.fillMaxWidth().padding(12.dp), horizontalArrangement = Arrangement.SpaceAround) { Column(Modifier.align(Alignment.CenterVertically)) { - Image( - // TODO Proper profile pic - bitmap = imageFromResource("images/profile_images/p0.png"), - "image", - modifier = Modifier.size(40.dp).align(Alignment.CenterHorizontally).clip( - CircleShape - ).border(2.dp, color = Color.White, CircleShape) - ) + ProfileCircle(imageFromResource("images/profile_images/p0.png"), 40.dp) Text( currContact.author.name, color = Color.White, @@ -714,13 +707,7 @@ fun ContactDrawerMakeIntro(currContact: Contact, contacts: List<Contact>, setInf Icon(Icons.Filled.SwapHoriz, "swap", tint = Color.White, modifier = Modifier.size(48.dp)) Column(Modifier.align(Alignment.CenterVertically)) { // TODO Profile pic again - Image( - bitmap = imageFromResource("images/profile_images/p0.png"), - "image", - modifier = Modifier.size(40.dp).align(Alignment.CenterHorizontally).clip( - CircleShape - ).border(2.dp, color = Color.White, CircleShape) - ) + ProfileCircle(imageFromResource("images/profile_images/p0.png"), 40.dp) Text( introContact.author.name, color = Color.White, @@ -829,6 +816,5 @@ fun ChatState(id: ContactId): MutableState<UiState<Chat>> { state.value = UiState.Success(chat) onDispose { } } - return state }