diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsBottomSheet.kt index 355ac5a699..0432ab0090 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsBottomSheet.kt @@ -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 = {} + ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsView.kt index c922ab4d16..951fda3903 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/PendingParticipantsView.kt @@ -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) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt index b6bb8aab6b..062cfd1a47 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt @@ -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)) ) } }