mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-03-02 07:23:38 +00:00
Polish pending participants views.
This commit is contained in:
committed by
Cody Henthorne
parent
23d82a3a01
commit
463fabcbc4
@@ -16,12 +16,10 @@ import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Person
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -37,14 +35,14 @@ import androidx.compose.ui.res.colorResource
|
||||
import androidx.compose.ui.res.pluralStringResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.fragment.app.setFragmentResult
|
||||
import org.signal.core.ui.BottomSheets
|
||||
import org.signal.core.ui.Buttons
|
||||
import org.signal.core.ui.theme.SignalTheme
|
||||
import org.signal.core.ui.DarkPreview
|
||||
import org.signal.core.ui.Previews
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.components.AvatarImageView
|
||||
import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment
|
||||
@@ -132,29 +130,27 @@ class PendingParticipantsBottomSheet : ComposeBottomSheetDialogFragment() {
|
||||
}
|
||||
}
|
||||
|
||||
@Preview(showSystemUi = true)
|
||||
@DarkPreview
|
||||
@Composable
|
||||
private fun PendingParticipantsSheetPreview() {
|
||||
SignalTheme(isDarkMode = true) {
|
||||
Surface(shape = RoundedCornerShape(18.dp, 18.dp)) {
|
||||
PendingParticipantsSheet(
|
||||
pendingParticipants = listOf(
|
||||
PendingParticipantCollection.State.PENDING,
|
||||
PendingParticipantCollection.State.APPROVED,
|
||||
PendingParticipantCollection.State.DENIED
|
||||
).map {
|
||||
PendingParticipantCollection.Entry(
|
||||
recipient = Recipient.UNKNOWN,
|
||||
state = it,
|
||||
stateChangeAt = System.currentTimeMillis().milliseconds
|
||||
)
|
||||
},
|
||||
onApproveAll = {},
|
||||
onDenyAll = {},
|
||||
onApprove = {},
|
||||
onDeny = {}
|
||||
)
|
||||
}
|
||||
Previews.BottomSheetPreview {
|
||||
PendingParticipantsSheet(
|
||||
pendingParticipants = listOf(
|
||||
PendingParticipantCollection.State.PENDING,
|
||||
PendingParticipantCollection.State.APPROVED,
|
||||
PendingParticipantCollection.State.DENIED
|
||||
).map {
|
||||
PendingParticipantCollection.Entry(
|
||||
recipient = Recipient(systemContactName = "Test User"),
|
||||
state = it,
|
||||
stateChangeAt = System.currentTimeMillis().milliseconds
|
||||
)
|
||||
},
|
||||
onApproveAll = {},
|
||||
onDenyAll = {},
|
||||
onApprove = {},
|
||||
onDeny = {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,12 +60,14 @@ class PendingParticipantsView @JvmOverloads constructor(
|
||||
|
||||
name.text = SpannableStringBuilder(firstRecipient.getShortDisplayName(context))
|
||||
.append(" ")
|
||||
.append(SpanUtil.ofSize(
|
||||
SignalSymbols.getSpannedString(context, SignalSymbols.Weight.REGULAR, SignalSymbols.Glyph.CHEVRON_RIGHT),
|
||||
16
|
||||
))
|
||||
.append(
|
||||
SpanUtil.ofSize(
|
||||
SignalSymbols.getSpannedString(context, SignalSymbols.Weight.REGULAR, SignalSymbols.Glyph.CHEVRON_RIGHT),
|
||||
16
|
||||
)
|
||||
)
|
||||
name.setOnClickListener { listener?.onLaunchRecipientSheet(firstRecipient) }
|
||||
|
||||
|
||||
allow.setOnClickListener { listener?.onAllowPendingRecipient(firstRecipient) }
|
||||
reject.setOnClickListener { listener?.onRejectPendingRecipient(firstRecipient) }
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.rxjava3.subscribeAsState
|
||||
@@ -25,19 +24,22 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalInspectionMode
|
||||
import androidx.compose.ui.res.dimensionResource
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import org.signal.core.ui.BottomSheets
|
||||
import org.signal.core.ui.DarkPreview
|
||||
import org.signal.core.ui.Dividers
|
||||
import org.signal.core.ui.Previews
|
||||
import org.signal.core.ui.Rows
|
||||
import org.signal.core.ui.theme.SignalTheme
|
||||
import org.signal.core.util.getParcelableCompat
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.avatar.AvatarImage
|
||||
import org.thoughtcrime.securesms.components.AvatarImageView
|
||||
import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
@@ -100,22 +102,20 @@ class CallLinkIncomingRequestSheet : ComposeBottomSheetDialogFragment() {
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@DarkPreview
|
||||
@Composable
|
||||
private fun CallLinkIncomingRequestSheetContentPreview() {
|
||||
SignalTheme(isDarkMode = true) {
|
||||
Surface {
|
||||
CallLinkIncomingRequestSheetContent(
|
||||
state = CallLinkIncomingRequestState(
|
||||
name = "Miles Morales",
|
||||
subtitle = "+1 (555) 555-5555",
|
||||
groupsInCommon = "Member of Webheads",
|
||||
isSystemContact = true
|
||||
),
|
||||
onApproveEntry = {},
|
||||
onDenyEntry = {}
|
||||
)
|
||||
}
|
||||
Previews.BottomSheetPreview {
|
||||
CallLinkIncomingRequestSheetContent(
|
||||
state = CallLinkIncomingRequestState(
|
||||
name = "Miles Morales",
|
||||
subtitle = "+1 (555) 555-5555",
|
||||
groupsInCommon = "Member of Webheads, Group B, Group C, Group D, and 83 others.",
|
||||
isSystemContact = true
|
||||
),
|
||||
onApproveEntry = {},
|
||||
onDenyEntry = {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ private fun CallLinkIncomingRequestSheetContent(
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
item { BottomSheets.Handle() }
|
||||
item { Avatar(state.recipient) }
|
||||
item { AvatarImage(recipient = state.recipient, modifier = Modifier.size(80.dp)) }
|
||||
item {
|
||||
Title(
|
||||
recipientName = state.name,
|
||||
@@ -151,8 +151,9 @@ private fun CallLinkIncomingRequestSheetContent(
|
||||
item {
|
||||
Text(
|
||||
text = state.groupsInCommon,
|
||||
textAlign = TextAlign.Center,
|
||||
style = MaterialTheme.typography.bodyMedium,
|
||||
modifier = Modifier.padding(6.dp)
|
||||
modifier = Modifier.padding(vertical = 6.dp, horizontal = dimensionResource(R.dimen.core_ui__gutter))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user