Adds an incognito badge in every msg

This commit is contained in:
Vitor Pamplona
2023-08-11 19:46:59 -04:00
parent 8cbf07c917
commit b4d87686ac

View File

@@ -11,9 +11,11 @@ import androidx.compose.foundation.layout.Spacer
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
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.Icon
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface import androidx.compose.material.Surface
import androidx.compose.material.Text import androidx.compose.material.Text
@@ -34,6 +36,7 @@ import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.graphics.compositeOver import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.layout.onSizeChanged
import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.painterResource
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.unit.dp import androidx.compose.ui.unit.dp
@@ -43,6 +46,7 @@ import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.User import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.service.model.ChannelCreateEvent import com.vitorpamplona.amethyst.service.model.ChannelCreateEvent
import com.vitorpamplona.amethyst.service.model.ChannelMetadataEvent import com.vitorpamplona.amethyst.service.model.ChannelMetadataEvent
import com.vitorpamplona.amethyst.service.model.ChatMessageEvent
import com.vitorpamplona.amethyst.service.model.PrivateDmEvent import com.vitorpamplona.amethyst.service.model.PrivateDmEvent
import com.vitorpamplona.amethyst.ui.actions.ImmutableListOfLists import com.vitorpamplona.amethyst.ui.actions.ImmutableListOfLists
import com.vitorpamplona.amethyst.ui.actions.toImmutableListOfLists import com.vitorpamplona.amethyst.ui.actions.toImmutableListOfLists
@@ -548,6 +552,8 @@ private fun StatusRow(
) { ) {
Column(modifier = ReactionRowHeightChat) { Column(modifier = ReactionRowHeightChat) {
Row(verticalAlignment = Alignment.CenterVertically, modifier = ReactionRowHeightChat) { Row(verticalAlignment = Alignment.CenterVertically, modifier = ReactionRowHeightChat) {
IncognitoBadge(baseNote)
Spacer(modifier = StdHorzSpacer)
ChatTimeAgo(baseNote) ChatTimeAgo(baseNote)
RelayBadgesHorizontal(baseNote, accountViewModel, nav = nav) RelayBadgesHorizontal(baseNote, accountViewModel, nav = nav)
Spacer(modifier = DoubleHorzSpacer) Spacer(modifier = DoubleHorzSpacer)
@@ -574,6 +580,29 @@ private fun StatusRow(
} }
} }
@Composable
fun IncognitoBadge(baseNote: Note) {
if (baseNote.event is ChatMessageEvent) {
Icon(
painter = painterResource(id = R.drawable.incognito),
null,
modifier = Modifier
.padding(top = 1.dp)
.size(14.dp),
tint = MaterialTheme.colors.placeholderText
)
} else if (baseNote.event is PrivateDmEvent) {
Icon(
painter = painterResource(id = R.drawable.incognito_off),
null,
modifier = Modifier
.padding(top = 1.dp)
.size(14.dp),
tint = MaterialTheme.colors.placeholderText
)
}
}
@Composable @Composable
fun ChatTimeAgo(baseNote: Note) { fun ChatTimeAgo(baseNote: Note) {
val nowStr = stringResource(id = R.string.now) val nowStr = stringResource(id = R.string.now)