from django.db import models
from django.utils import timezone

class QuickAction(models.Model):
    name = models.CharField(max_length=100)
    icon = models.ImageField(upload_to="quick_actions/")
    url = models.URLField()
    active = models.BooleanField(default=False)
    order = models.PositiveIntegerField(default=0)

    def __str__(self):
        return self.name


class PromoBanner(models.Model):
    image = models.ImageField(upload_to="promo_banners/")
    start_date = models.DateField()
    end_date = models.DateField()
    active = models.BooleanField(default=True)
    order = models.PositiveIntegerField(default=0)

    def __str__(self):
        return f"Banner {self.pk}"


class ExploreItem(models.Model):
    title = models.CharField(max_length=100)
    icon_class = models.CharField(max_length=100, help_text="e.g., 'fas fa-bolt'")
    url = models.URLField()
    path = models.CharField(max_length=200, help_text="Relative path, e.g. '/recharge'")
    active = models.BooleanField(default=True)
    order = models.PositiveIntegerField(default=0)
    
    def __str__(self):
        return self.title


class Voucher(models.Model):
    brand = models.CharField(max_length=100)
    image = models.ImageField(upload_to="vouchers/")
    url = models.URLField()
    active = models.BooleanField(default=True)

    def __str__(self):
        return self.brand


class ThinBanner(models.Model):
    image = models.ImageField(upload_to="thin_banners/")
    active = models.BooleanField(default=True)
    order = models.PositiveIntegerField(default=0)
    
    def __str__(self):
        return f"ThinBanner {self.pk}"
    

from django.db import models
from django.conf import settings
from django.utils import timezone

class Wallet(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

    main_balance = models.DecimalField(max_digits=10, decimal_places=2, default=0)
    cashback = models.DecimalField(max_digits=10, decimal_places=2, default=0)
    external_balance = models.DecimalField(max_digits=10, decimal_places=2, default=0)

    lifetime_cashback = models.DecimalField(max_digits=10, decimal_places=2, default=0)
    cashback_today = models.DecimalField(max_digits=10, decimal_places=2, default=0)

    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return f"Wallet of {self.user.mobile_number}"
