import Foundation
import GenAPI
import Localization

public extension APIError {
    /// Get appropriate error message for insufficientCredits error based on billing info
    /// - Parameter billingInfo: Current billing info (optional)
    /// - Returns: Localized error message for the specific insufficientCredits scenario
    func insufficientCreditsMessage(billingInfo: SubscriptionInfoResponse?) -> String {
        if billingInfo?.isPastDue == true {
            return L10n.FeatureCreateClip.paymentPastDue
        } else if billingInfo?.plan == nil {
            return L10n.FeatureCreateClip.insufficientCredits
        } else {
            return L10n.FeatureCreateClip.insufficientCreditsSubscriber
        }
    }
}
