//
//  DraftsModel.swift
//  damus
//
//  Created by Terry Yiu on 2/12/23.
//

import Foundation

class DraftArtifacts: Equatable {
    var content: NSMutableAttributedString
    var media: [UploadedMedia]
    
    init(content: NSMutableAttributedString = NSMutableAttributedString(string: ""), media: [UploadedMedia] = []) {
        self.content = content
        self.media = media
    }
    
    static func == (lhs: DraftArtifacts, rhs: DraftArtifacts) -> Bool {
        return (
            lhs.media == rhs.media &&
            lhs.content.string == rhs.content.string    // Comparing the text content is not perfect but acceptable in this case because attributes for our post editor are determined purely from text content
        )
    }
}

class Drafts: ObservableObject {
    @Published var post: DraftArtifacts? = nil
    @Published var replies: [NostrEvent: DraftArtifacts] = [:]
    @Published var quotes: [NostrEvent: DraftArtifacts] = [:]
}
