import Foundation

enum ReviewEvent: String, CaseIterable, Identifiable {
    case comment = "COMMENT"
    case approved = "APPROVED"
    case requestChanges = "REQUEST_CHANGES"

    var id: String {
        rawValue
    }

    var title: String {
        switch self {
        case .comment:
            "Comment"
        case .approved:
            "Approve"
        case .requestChanges:
            "Reject"
        }
    }

    var systemImage: String {
        switch self {
        case .comment:
            "message"
        case .approved:
            "checkmark.circle"
        case .requestChanges:
            "xmark.circle"
        }
    }
}

enum ReviewState: String {
    case approved = "APPROVED"
    case requestChanges = "REQUEST_CHANGES"
    case comment = "COMMENT"
    case pending = "PENDING"

    var label: String {
        switch self {
        case .approved:
            "approved"
        case .requestChanges:
            "rejected"
        case .comment:
            "commented"
        case .pending:
            "pending"
        }
    }
}
