//
//  SQFormFieldError.swift
//  AlloVoisinsSwiftUI
//
//  Created by Victor on 22/05/2025.
//

enum SQFormFieldError: Equatable {
    case none
    case empty
    case siret
    case invalidPhoneNumber
    case confirmation
    case minCharacters(Int)
    case api(String)
    case custom(String)

    var isInError: Bool {
        self != .none
    }

    var message: String {
        switch self {
        case .none: return ""
        case .empty: return "Ce champ est obligatoire."
        case .siret: return "Le numéro SIRET doit être composé de 14 chiffres."
        case .invalidPhoneNumber: return "Le numéro de téléphone n'est pas valide."
        case .confirmation: return "Cette condition est obligatoire."
        case let .minCharacters(count): return "Ce champ doit comporter au minimum \(count) caractères."
        case let .api(message): return message
        case let .custom(message): return message
        }
    }
}
