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)
    }
}
