from django.contrib import admin
from .models import (
    SiteSettings, HomeHero, HomeAbout, Service, HomeCTA1,
    HomeProcess, HomeWhyChooseUs, WhyChooseUsBox, HomeCTA2,
    HomeTestimonials, Testimonial, PartnerLogo
)


@admin.register(SiteSettings)
class SiteSettingsAdmin(admin.ModelAdmin):
    fieldsets = (
        ('Brand', {'fields': ('site_name', 'tagline', 'logo', 'favicon')}),
        ('Contact', {'fields': ('phone', 'email', 'address', 'working_hours', 'google_maps_url')}),
        ('Social', {'fields': ('instagram', 'facebook', 'twitter', 'linkedin', 'youtube')}),
        ('Footer', {'fields': ('footer_tagline', 'founded_year')}),
        ('SEO / Analytics', {'fields': ('google_analytics_id', 'google_tag_manager_id', 'recaptcha_site_key', 'meta_description', 'meta_keywords')}),
    )


@admin.register(HomeHero)
class HomeHeroAdmin(admin.ModelAdmin):
    fieldsets = (
        ('Heading', {'fields': ('heading_line1', 'heading_accent', 'heading_line2')}),
        ('Body', {'fields': ('description', 'trusted_clients_count', 'trusted_clients_label')}),
        ('Media', {'fields': ('video', 'video_url', 'play_btn_url')}),
        ('Buttons', {'fields': ('portfolio_btn_text',)}),
        ('Badges', {'fields': ('badge_1', 'badge_2', 'badge_3')}),
    )


@admin.register(HomeAbout)
class HomeAboutAdmin(admin.ModelAdmin):
    pass


@admin.register(Service)
class ServiceAdmin(admin.ModelAdmin):
    list_display = ['order', 'title', 'is_active']
    list_display_links = ['title']
    list_editable = ['order', 'is_active']
    prepopulated_fields = {'slug': ('title',)}


@admin.register(HomeCTA1)
class HomeCTA1Admin(admin.ModelAdmin):
    pass


@admin.register(HomeProcess)
class HomeProcessAdmin(admin.ModelAdmin):
    pass


@admin.register(HomeWhyChooseUs)
class HomeWhyChooseUsAdmin(admin.ModelAdmin):
    pass


@admin.register(WhyChooseUsBox)
class WhyChooseUsBoxAdmin(admin.ModelAdmin):
    list_display = ['order', 'title', 'is_active']
    list_display_links = ['title']
    list_editable = ['order', 'is_active']


@admin.register(HomeCTA2)
class HomeCTA2Admin(admin.ModelAdmin):
    pass


@admin.register(HomeTestimonials)
class HomeTestimonialsAdmin(admin.ModelAdmin):
    pass


@admin.register(Testimonial)
class TestimonialAdmin(admin.ModelAdmin):
    list_display = ['name', 'company', 'show_on_home', 'order', 'is_active']
    list_editable = ['show_on_home', 'order', 'is_active']


@admin.register(PartnerLogo)
class PartnerLogoAdmin(admin.ModelAdmin):
    list_display = ['order', 'name', 'is_active']
    list_display_links = ['name']
    list_editable = ['order', 'is_active']
