//
//  ConversationListItem.swift
//  lichunWebsocket
//
//  List item component for conversation preview
//

import SwiftUI

struct ConversationListItem: View {
    let person: Person
    let lastMessage: ConversationMessage?
    let action: () -> Void

    var body: some View {
        Button(action: action) {
            HStack(spacing: AppSpacing.md) {
                // Avatar
                CharacterAvatar(
                    person: person,
                    size: 60,
                    showBorder: false,
                    showGlow: false
                )

                // Message Info
                VStack(alignment: .leading, spacing: AppSpacing.xs) {
                    HStack {
                        Text(person.firstname + " " + person.lastname)
                            .font(.appHeadline)
                            .foregroundColor(AppColors.primaryText)
                        Spacer()
                        if let lastMessage = lastMessage {
                            Text("\(lastMessage.date) \(lastMessage.time)")
                                .font(.appCaption)
                                .foregroundColor(AppColors.secondaryText)
                        }
                    }

                    Text(lastMessage?.message ?? "No recent messages.")
                        .font(.appBody)
                        .foregroundColor(AppColors.secondaryText)
                        .lineLimit(1)
                }
            }
            .padding(.vertical, AppSpacing.sm)
        }
        .buttonStyle(PlainButtonStyle())
    }
}

// MARK: - Preview
// Preview removed - requires proper model initialization
