import SwiftUI struct ConversationRowView: View { let conversation: Conversation let currentUserId: String let isOnline: Bool let unreadCount: Int var body: some View { HStack(spacing: 12) { // Avatar ZStack(alignment: .bottomTrailing) { CircularAvatarView( name: conversation.displayName(currentUserId: currentUserId), size: 44, isGroup: conversation.isGroup ) if isOnline && !conversation.isGroup { OnlineDotOverlay(size: 12) } } VStack(alignment: .leading, spacing: 2) { HStack { if conversation.isFavorite { Image(systemName: "star.fill") .font(.caption2) .foregroundStyle(.yellow) } Text(conversation.displayName(currentUserId: currentUserId)) .font(unreadCount > 0 ? .body.bold() : .body) .lineLimit(1) } if conversation.isGroup { Text("\(conversation.members.count) members") .font(.caption) .foregroundStyle(.secondary) } } Spacer() if unreadCount > 0 { Text("\(unreadCount)") .font(.caption2.bold()) .foregroundStyle(.white) .padding(.horizontal, 8) .padding(.vertical, 2) .background(Color.blue) .clipShape(Capsule()) } } .padding(.vertical, 4) } }