privatechatview patch

This commit is contained in:
cheykrym 2025-10-22 03:51:34 +03:00
parent 6d8b322688
commit 266742e15d

View File

@ -128,7 +128,7 @@ struct PrivateChatView: View {
private func messageRow(for message: MessageItem) -> some View { private func messageRow(for message: MessageItem) -> some View {
let isCurrentUser = currentUserId.map { $0 == message.senderId } ?? false let isCurrentUser = currentUserId.map { $0 == message.senderId } ?? false
return HStack { return HStack(alignment: .bottom, spacing: 12) {
if isCurrentUser { Spacer(minLength: 32) } if isCurrentUser { Spacer(minLength: 32) }
VStack(alignment: isCurrentUser ? .trailing : .leading, spacing: 6) { VStack(alignment: isCurrentUser ? .trailing : .leading, spacing: 6) {
@ -141,7 +141,7 @@ struct PrivateChatView: View {
Text(contentText(for: message)) Text(contentText(for: message))
.font(.body) .font(.body)
.foregroundColor(isCurrentUser ? .white : .primary) .foregroundColor(isCurrentUser ? .white : .primary)
.frame(maxWidth: .infinity, alignment: isCurrentUser ? .trailing : .leading) .multilineTextAlignment(isCurrentUser ? .trailing : .leading)
Text(timestamp(for: message)) Text(timestamp(for: message))
.font(.caption2) .font(.caption2)
@ -151,12 +151,18 @@ struct PrivateChatView: View {
.padding(.horizontal, 12) .padding(.horizontal, 12)
.background(isCurrentUser ? Color.accentColor : Color(.secondarySystemBackground)) .background(isCurrentUser ? Color.accentColor : Color(.secondarySystemBackground))
.clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous)) .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous))
.frame(maxWidth: messageBubbleMaxWidth, alignment: isCurrentUser ? .trailing : .leading)
.fixedSize(horizontal: false, vertical: true)
if !isCurrentUser { Spacer(minLength: 32) } if !isCurrentUser { Spacer(minLength: 32) }
} }
.padding(.horizontal, 16) .padding(.horizontal, 16)
} }
private var messageBubbleMaxWidth: CGFloat {
min(UIScreen.main.bounds.width * 0.72, 360)
}
private func senderName(for message: MessageItem) -> String { private func senderName(for message: MessageItem) -> String {
if let full = message.senderData?.fullName, !full.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { if let full = message.senderData?.fullName, !full.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
return full return full