from django.db import models

from apps.core.models import TimeStampedModel


class Banner(TimeStampedModel):
    """Promotional banner / home feed content."""

    PLACEMENT_CHOICES = [
        ("home_top", "Home Top"),
        ("tabby", "Tabby"),
        ("electronics_20", "Electronics 20%"),
        ("double_sales", "Double Sales"),
        ("general", "General"),
    ]

    title_en = models.CharField(max_length=200)
    title_ar = models.CharField(max_length=200, blank=True)
    subtitle_en = models.CharField(max_length=300, blank=True)
    subtitle_ar = models.CharField(max_length=300, blank=True)
    image = models.ImageField(upload_to="banners/", null=True, blank=True)
    cta_text_en = models.CharField(max_length=50, blank=True)
    cta_text_ar = models.CharField(max_length=50, blank=True)
    cta_url = models.URLField(blank=True)
    deeplink = models.CharField(max_length=300, blank=True)
    placement = models.CharField(max_length=30, choices=PLACEMENT_CHOICES, default="general")
    order = models.PositiveSmallIntegerField(default=0)
    is_active = models.BooleanField(default=True)

    class Meta:
        db_table = "banners"
        ordering = ["order"]

    def __str__(self):
        return self.title_en
