"""
Site Configuration Admin
"""
from django.contrib import admin
from django.utils.html import format_html
from .models import SocialMediaPost, HeroImage


@admin.register(HeroImage)
class HeroImageAdmin(admin.ModelAdmin):
    list_display = ('image_preview', 'position', 'display_order', 'is_active', 'link')
    list_filter = ('position', 'is_active')
    list_editable = ('display_order', 'is_active')
    search_fields = ('link',)
    
    def image_preview(self, obj):
        if obj.image:
            return format_html('<img src="{}" style="width: 50px; height: auto;" />', obj.image.url)
        return ""
    image_preview.short_description = 'Preview'





@admin.register(SocialMediaPost)
class SocialMediaPostAdmin(admin.ModelAdmin):
    list_display = ('platform', 'caption_preview', 'is_featured', 'is_active', 'display_order', 'created_at')
    list_filter = ('platform', 'is_featured', 'is_active')
    search_fields = ('caption',)
    list_editable = ('is_featured', 'is_active', 'display_order')
    
    fieldsets = (
        ('Post Information', {
            'fields': ('platform', 'post_url', 'embed_code')
        }),
        ('Content', {
            'fields': ('image', 'caption')
        }),
        ('Display Settings', {
            'fields': ('is_featured', 'is_active', 'display_order')
        }),
    )
    
    def caption_preview(self, obj):
        return obj.caption[:50] + '...' if len(obj.caption) > 50 else obj.caption
    caption_preview.short_description = 'Caption'


# Unregister default Site admin to avoid confusion
try:
    from django.contrib.sites.models import Site
    admin.site.unregister(Site)
except admin.sites.NotRegistered:
    pass
