from rest_framework import serializers

from apps.content.models import Banner
from apps.core.i18n import localized_field


class BannerSerializer(serializers.ModelSerializer):
    title = serializers.SerializerMethodField()
    subtitle = serializers.SerializerMethodField()
    cta_text = serializers.SerializerMethodField()

    class Meta:
        model = Banner
        fields = [
            "id", "title", "title_en", "title_ar",
            "subtitle", "subtitle_en", "subtitle_ar",
            "image", "cta_text", "cta_text_en", "cta_text_ar",
            "cta_url", "deeplink", "placement", "order", "is_active",
        ]

    def get_title(self, obj):
        return localized_field(obj, "title")

    def get_subtitle(self, obj):
        return localized_field(obj, "subtitle")

    def get_cta_text(self, obj):
        return localized_field(obj, "cta_text")
