WIP: refactor message views to swift-ui

pull/874/head
ryanzhao 2 years ago
parent 39e316eb51
commit d2c05fc88d

@ -40,6 +40,14 @@ struct MessageInfoView: View {
MessageBubble( MessageBubble(
messageViewModel: messageViewModel messageViewModel: messageViewModel
) )
.background(
RoundedRectangle(cornerRadius: Self.cornerRadius)
.fill(
themeColor: (messageViewModel.variant == .standardIncoming || messageViewModel.variant == .standardIncomingDeleted ?
.messageBubble_incomingBackground :
.messageBubble_outgoingBackground)
)
)
.frame( .frame(
maxWidth: .infinity, maxWidth: .infinity,
maxHeight: .infinity, maxHeight: .infinity,
@ -362,48 +370,43 @@ struct MessageBubble: View {
static private let cornerRadius: CGFloat = 18 static private let cornerRadius: CGFloat = 18
let messageViewModel: MessageViewModel let messageViewModel: MessageViewModel
var bubbleBackgroundColor: ThemeValue {
messageViewModel.variant == .standardIncoming || messageViewModel.variant == .standardIncomingDeleted ? var bodyLabelTextColor: ThemeValue {
.messageBubble_incomingBackground : messageViewModel.variant == .standardOutgoing ?
.messageBubble_outgoingBackground .messageBubble_outgoingText :
.messageBubble_incomingText
} }
var body: some View { var body: some View {
ZStack { ZStack {
// switch messageViewModel.cellType { switch messageViewModel.cellType {
// case .typingIndicator, .dateHeader, .unreadMarker: break case .textOnlyMessage:
// let inset: CGFloat = 12
// case .textOnlyMessage: let maxWidth: CGFloat = (VisibleMessageCell.getMaxWidth(for: messageViewModel) - 2 * inset)
// let inset: CGFloat = 12
// let maxWidth: CGFloat = (VisibleMessageCell.getMaxWidth(for: messageViewModel) - 2 * inset) if let linkPreview: LinkPreview = messageViewModel.linkPreview {
// switch linkPreview.variant {
// if let linkPreview: LinkPreview = messageViewModel.linkPreview { case .standard:
// switch linkPreview.variant { LinkPreviewView_SwiftUI(
// case .standard: state: LinkPreview.SentState(
// LinkPreviewView_SwiftUI( linkPreview: linkPreview,
// state: LinkPreview.SentState( imageAttachment: messageViewModel.linkPreviewAttachment
// linkPreview: linkPreview, ),
// imageAttachment: messageViewModel.linkPreviewAttachment isOutgoing: (messageViewModel.variant == .standardOutgoing),
// ), maxWidth: maxWidth,
// isOutgoing: (messageViewModel.variant == .standardOutgoing), messageViewModel: messageViewModel,
// maxWidth: maxWidth, bodyLabelTextColor: bodyLabelTextColor,
// messageViewModel: messageViewModel, lastSearchText: nil
// bodyLabelTextColor: nil, )
// lastSearchText: nil
// ) case .openGroupInvitation:
// OpenGroupInvitationView_SwiftUI(
// case .openGroupInvitation: name: (linkPreview.title ?? ""),
// let openGroupInvitationView: OpenGroupInvitationView = OpenGroupInvitationView( url: linkPreview.url,
// name: (linkPreview.title ?? ""), textColor: bodyLabelTextColor,
// url: linkPreview.url, isOutgoing: (messageViewModel.variant == .standardOutgoing))
// textColor: bodyLabelTextColor, }
// isOutgoing: (cellViewModel.variant == .standardOutgoing) }
// )
// bubbleView.addSubview(openGroupInvitationView)
// bubbleView.pin(to: openGroupInvitationView)
// snContentView.addArrangedSubview(bubbleBackgroundView)
// }
// }
// else { // else {
// // Stack view // // Stack view
// let stackView = UIStackView(arrangedSubviews: []) // let stackView = UIStackView(arrangedSubviews: [])
@ -411,7 +414,7 @@ struct MessageBubble: View {
// stackView.spacing = 2 // stackView.spacing = 2
// //
// // Quote view // // Quote view
// if let quote: Quote = cellViewModel.quote { // if let quote: Quote = messageViewModel.quote {
// let hInset: CGFloat = 2 // let hInset: CGFloat = 2
// let quoteView: QuoteView = QuoteView( // let quoteView: QuoteView = QuoteView(
// for: .regular, // for: .regular,
@ -548,11 +551,9 @@ struct MessageBubble: View {
// snContentView.addArrangedSubview(bubbleBackgroundView) // snContentView.addArrangedSubview(bubbleBackgroundView)
// } // }
default: EmptyView()
}
} }
.background(
RoundedRectangle(cornerRadius: Self.cornerRadius)
.fill(themeColor: bubbleBackgroundColor)
)
} }
} }

Loading…
Cancel
Save