package com.suno.android.common_ui.models import androidx.compose.ui.graphics.Color import com.suno.android.common_core_utils.Id import com.suno.android.common_core_utils.model.Url /** * Data class representing a promotional banner with all styling and content information. * * @property id The id associated with this promo * @property title Optional main title text * @property titleColor Optional color of the title text * @property subtitle Optional subtitle text * @property subtitleColor Color of the subtitle text * @property tagText Optional tag label (e.g., "LIMITED OFFER") * @property tagBackgroundColor Background color of the tag * @property tagTextColor Text color of the tag * @property ctaLabel Optional call-to-action button label * @property ctaBackgroundColor Background color of the CTA button * @property ctaTextColor Text color of the CTA button * @property backgroundImageUrl Optional URL for background image (probably landscape) * @property backgroundImageUrlMobile Optional URL for background image designed for mobile viewing (probably portrait) * @property backgroundColor Fallback background color (used when no image or while loading) * @property onCtaClick Callback invoked when the CTA button is clicked */ data class Promo( val id: Id, val title: String? = null, val titleColor: Color? = null, val subtitle: String? = null, val subtitleColor: Color? = null, val tagText: String? = null, val tagBackgroundColor: Color? = null, val tagTextColor: Color? = null, val ctaLabel: String? = null, val ctaBackgroundColor: Color? = null, val ctaTextColor: Color? = null, val backgroundImageUrl: Url? = null, val backgroundImageUrlMobile: Url? = null, val backgroundColor: Color? = null, val onCtaClick: () -> Unit = {}, )