// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

/// API response schema for modals.
/// 
/// This is what the frontend receives - translated content, no internal metadata.
/// ID is the UUID.
/// Order comes from ModalSetMembership, not from modal content.
public struct ModalsGraphicSchema: Codable, Equatable, Identifiable {
    public var heroBackgroundColor: String?
    public var heroBackgroundImgUrl: String?
    public var heroBackgroundImgUrlMobile: String?
    public var id: String?
    public var order: Int?
    /// ModalsCtaSchema
    ///
    /// CTA (Call-to-action) schema for API response
    public var primaryCta: ModalsCtaSchema?
    public var subtitleText: LocalStringSchema?
    /// ModalsTagSchema
    ///
    /// Tag schema for API response
    public var tag: ModalsTagSchema?
    public var titleText: LocalStringSchema?

    public init(heroBackgroundColor: String? = nil, heroBackgroundImgUrl: String? = nil, heroBackgroundImgUrlMobile: String? = nil, id: String? = nil, order: Int? = nil, primaryCta: ModalsCtaSchema? = nil, subtitleText: LocalStringSchema? = nil, tag: ModalsTagSchema? = nil, titleText: LocalStringSchema? = nil) {
        self.heroBackgroundColor = heroBackgroundColor
        self.heroBackgroundImgUrl = heroBackgroundImgUrl
        self.heroBackgroundImgUrlMobile = heroBackgroundImgUrlMobile
        self.id = id
        self.order = order
        self.primaryCta = primaryCta
        self.subtitleText = subtitleText
        self.tag = tag
        self.titleText = titleText
    }
}
