Merge branch 'master' into sqlcipher
This commit is contained in:
@@ -1185,11 +1185,11 @@ class CIQuote (
|
|||||||
): ItemContent {
|
): ItemContent {
|
||||||
override val text: String get() = content.text
|
override val text: String get() = content.text
|
||||||
|
|
||||||
fun sender(user: User): String? = when (chatDir) {
|
fun sender(membership: GroupMember?): String? = when (chatDir) {
|
||||||
is CIDirection.DirectSnd -> generalGetString(R.string.sender_you_pronoun)
|
is CIDirection.DirectSnd -> generalGetString(R.string.sender_you_pronoun)
|
||||||
is CIDirection.DirectRcv -> null
|
is CIDirection.DirectRcv -> null
|
||||||
is CIDirection.GroupSnd -> user.displayName
|
is CIDirection.GroupSnd -> membership?.displayName
|
||||||
is CIDirection.GroupRcv -> chatDir.groupMember.memberProfile.displayName
|
is CIDirection.GroupRcv -> chatDir.groupMember.displayName
|
||||||
null -> null
|
null -> null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -205,6 +205,6 @@ class ChatItemProvider: PreviewParameterProvider<ChatItem> {
|
|||||||
fun PreviewCIFileFramedItemView(@PreviewParameter(ChatItemProvider::class) chatItem: ChatItem) {
|
fun PreviewCIFileFramedItemView(@PreviewParameter(ChatItemProvider::class) chatItem: ChatItem) {
|
||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(User.sampleData, chatItem, showMenu = showMenu, receiveFile = {})
|
FramedItemView(ChatInfo.Direct.sampleData, chatItem, showMenu = showMenu, receiveFile = {})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ fun ChatItemView(
|
|||||||
EmojiItemView(cItem)
|
EmojiItemView(cItem)
|
||||||
} else {
|
} else {
|
||||||
val onLinkLongClick = { _: String -> showMenu.value = true }
|
val onLinkLongClick = { _: String -> showMenu.value = true }
|
||||||
FramedItemView(user, cItem, uriHandler, showMember = showMember, showMenu, receiveFile, onLinkLongClick)
|
FramedItemView(cInfo, cItem, uriHandler, showMember = showMember, showMenu, receiveFile, onLinkLongClick)
|
||||||
}
|
}
|
||||||
DropdownMenu(
|
DropdownMenu(
|
||||||
expanded = showMenu.value,
|
expanded = showMenu.value,
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ val ReceivedQuoteColorLight = Color(0x25B1B0B5)
|
|||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun FramedItemView(
|
fun FramedItemView(
|
||||||
user: User,
|
chatInfo: ChatInfo,
|
||||||
ci: ChatItem,
|
ci: ChatItem,
|
||||||
uriHandler: UriHandler? = null,
|
uriHandler: UriHandler? = null,
|
||||||
showMember: Boolean = false,
|
showMember: Boolean = false,
|
||||||
@@ -44,6 +44,10 @@ fun FramedItemView(
|
|||||||
) {
|
) {
|
||||||
val sent = ci.chatDir.sent
|
val sent = ci.chatDir.sent
|
||||||
|
|
||||||
|
fun membership(): GroupMember? {
|
||||||
|
return if (chatInfo is ChatInfo.Group) chatInfo.groupInfo.membership else null
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ciQuotedMsgView(qi: CIQuote) {
|
fun ciQuotedMsgView(qi: CIQuote) {
|
||||||
Box(
|
Box(
|
||||||
@@ -51,7 +55,7 @@ fun FramedItemView(
|
|||||||
contentAlignment = Alignment.TopStart
|
contentAlignment = Alignment.TopStart
|
||||||
) {
|
) {
|
||||||
MarkdownText(
|
MarkdownText(
|
||||||
qi.text, qi.formattedText, sender = qi.sender(user), senderBold = true, maxLines = 3,
|
qi.text, qi.formattedText, sender = qi.sender(membership()), senderBold = true, maxLines = 3,
|
||||||
style = TextStyle(fontSize = 15.sp, color = MaterialTheme.colors.onSurface)
|
style = TextStyle(fontSize = 15.sp, color = MaterialTheme.colors.onSurface)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -177,7 +181,7 @@ fun PreviewTextItemViewSnd(@PreviewParameter(EditedProvider::class) edited: Bool
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1, CIDirection.DirectSnd(), Clock.System.now(), "hello", itemEdited = edited,
|
1, CIDirection.DirectSnd(), Clock.System.now(), "hello", itemEdited = edited,
|
||||||
),
|
),
|
||||||
@@ -193,7 +197,7 @@ fun PreviewTextItemViewRcv(@PreviewParameter(EditedProvider::class) edited: Bool
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1, CIDirection.DirectRcv(), Clock.System.now(), "hello", itemEdited = edited
|
1, CIDirection.DirectRcv(), Clock.System.now(), "hello", itemEdited = edited
|
||||||
),
|
),
|
||||||
@@ -209,7 +213,7 @@ fun PreviewTextItemViewLong(@PreviewParameter(EditedProvider::class) edited: Boo
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1,
|
1,
|
||||||
CIDirection.DirectSnd(),
|
CIDirection.DirectSnd(),
|
||||||
@@ -229,7 +233,7 @@ fun PreviewTextItemViewQuote(@PreviewParameter(EditedProvider::class) edited: Bo
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1, CIDirection.DirectSnd(),
|
1, CIDirection.DirectSnd(),
|
||||||
Clock.System.now(),
|
Clock.System.now(),
|
||||||
@@ -250,7 +254,7 @@ fun PreviewTextItemViewEmoji(@PreviewParameter(EditedProvider::class) edited: Bo
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1, CIDirection.DirectSnd(),
|
1, CIDirection.DirectSnd(),
|
||||||
Clock.System.now(),
|
Clock.System.now(),
|
||||||
@@ -278,7 +282,7 @@ fun PreviewQuoteWithTextAndImage(@PreviewParameter(EditedProvider::class) edited
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1, CIDirection.DirectSnd(),
|
1, CIDirection.DirectSnd(),
|
||||||
Clock.System.now(),
|
Clock.System.now(),
|
||||||
@@ -306,7 +310,7 @@ fun PreviewQuoteWithLongTextAndImage(@PreviewParameter(EditedProvider::class) ed
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1, CIDirection.DirectSnd(),
|
1, CIDirection.DirectSnd(),
|
||||||
Clock.System.now(),
|
Clock.System.now(),
|
||||||
@@ -333,7 +337,7 @@ fun PreviewQuoteWithLongTextAndFile(@PreviewParameter(EditedProvider::class) edi
|
|||||||
val showMenu = remember { mutableStateOf(false) }
|
val showMenu = remember { mutableStateOf(false) }
|
||||||
SimpleXTheme {
|
SimpleXTheme {
|
||||||
FramedItemView(
|
FramedItemView(
|
||||||
User.sampleData,
|
ChatInfo.Direct.sampleData,
|
||||||
ChatItem.getSampleData(
|
ChatItem.getSampleData(
|
||||||
1, CIDirection.DirectSnd(),
|
1, CIDirection.DirectSnd(),
|
||||||
Clock.System.now(),
|
Clock.System.now(),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// FramedItemView.swift
|
// DeletedItemView.swift
|
||||||
// SimpleX
|
// SimpleX
|
||||||
//
|
//
|
||||||
// Created by JRoberts on 04/02/2022.
|
// Created by JRoberts on 04/02/2022.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -35,7 +35,7 @@ struct ChatItemView: View {
|
|||||||
if (chatItem.quotedItem == nil && chatItem.file == nil && isShortEmoji(chatItem.content.text)) {
|
if (chatItem.quotedItem == nil && chatItem.file == nil && isShortEmoji(chatItem.content.text)) {
|
||||||
EmojiItemView(chatItem: chatItem)
|
EmojiItemView(chatItem: chatItem)
|
||||||
} else {
|
} else {
|
||||||
FramedItemView(chatItem: chatItem, showMember: showMember, maxWidth: maxWidth)
|
FramedItemView(chatInfo: chatInfo, chatItem: chatItem, showMember: showMember, maxWidth: maxWidth)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1098,12 +1098,12 @@ public struct CIQuote: Decodable, ItemContent {
|
|||||||
|
|
||||||
public var text: String { get { content.text } }
|
public var text: String { get { content.text } }
|
||||||
|
|
||||||
public func getSender(_ currentUser: User?) -> String? {
|
public func getSender(_ membership: GroupMember?) -> String? {
|
||||||
switch (chatDir) {
|
switch (chatDir) {
|
||||||
case .directSnd: return "you"
|
case .directSnd: return "you"
|
||||||
case .directRcv: return nil
|
case .directRcv: return nil
|
||||||
case .groupSnd: return currentUser?.displayName
|
case .groupSnd: return membership?.displayName
|
||||||
case let .groupRcv(member): return member.memberProfile.displayName
|
case let .groupRcv(member): return member.displayName
|
||||||
case nil: return nil
|
case nil: return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user