from django.contrib import admin

from .models import (
    BlogCategory,
    BlogTag,
    BlogPost,
    BlogSEO,
    BlogLike
)
admin.site.register(BlogSEO)

@admin.register(BlogCategory)
class BlogCategoryAdmin(admin.ModelAdmin):

    list_display = (
        "name",
        "slug",
        "is_active",
    )

    prepopulated_fields = {
        "slug": ("name",)
    }

@admin.register(BlogTag)
class BlogTagAdmin(admin.ModelAdmin):

    list_display = (
        "name",
        "slug",
    )

    prepopulated_fields = {
        "slug": ("name",)
    }

class BlogSEOInline(admin.StackedInline):
    model = BlogSEO
    extra = 0
    
@admin.register(BlogPost)
class BlogPostAdmin(admin.ModelAdmin):

    list_display = (
        "title",
        "author",
        "category",
        "status",
        "is_featured",
        "published_at",
    )

    list_filter = (
        "status",
        "category",
        "is_featured",
    )

    search_fields = (
        "title",
        "excerpt",
        "content",
    )

    filter_horizontal = (
        "tags",
    )

    readonly_fields = (
        "views_count",
        "created_at",
        "updated_at",
    )

    prepopulated_fields = {
        "slug": ("title",)
    }

admin.site.register(BlogLike)