from django.contrib import admin
from .models import SiteSetting, Testimonial, FAQ, TeamMember


@admin.register(SiteSetting)
class SiteSettingAdmin(admin.ModelAdmin):
    fieldsets = (
        ('Branding', {'fields': ('site_name', 'tagline', 'hero_title', 'hero_subtitle', 'hero_image', 'about_short')}),
        ('Contact', {'fields': ('phone', 'email', 'whatsapp_number', 'address')}),
        ('Social', {'fields': ('facebook', 'instagram', 'twitter', 'linkedin', 'youtube', 'tiktok')}),
        ('Trust Indicators', {'fields': ('clients_count', 'properties_sold', 'years_experience', 'locations_covered')}),
        ('Exit Popup', {'fields': ('popup_enabled', 'popup_title', 'popup_subtitle', 'popup_cta')}),
        ('Chatbot', {'fields': ('chatbot_enabled', 'chatbot_name', 'chatbot_greeting')}),
    )

    def has_add_permission(self, request):
        return not SiteSetting.objects.exists()


@admin.register(Testimonial)
class TestimonialAdmin(admin.ModelAdmin):
    list_display = ('name', 'role', 'rating', 'is_published', 'order')
    list_editable = ('is_published', 'order')
    search_fields = ('name', 'quote')


@admin.register(FAQ)
class FAQAdmin(admin.ModelAdmin):
    list_display = ('question', 'category', 'is_published', 'order')
    list_editable = ('is_published', 'order')
    search_fields = ('question', 'answer')
    list_filter = ('category', 'is_published')


@admin.register(TeamMember)
class TeamMemberAdmin(admin.ModelAdmin):
    list_display = ('name', 'role', 'is_active', 'order')
    list_editable = ('is_active', 'order')
    search_fields = ('name', 'role')
