from django.contrib import admin

from apps.stores.models import Category, PaymentMethod, Store, StoreBranch, StoreReview


class StoreBranchInline(admin.TabularInline):
    model = StoreBranch
    extra = 0


@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
    list_display = ["name_en", "name_ar"]
    search_fields = ["name_en", "name_ar"]


@admin.register(PaymentMethod)
class PaymentMethodAdmin(admin.ModelAdmin):
    list_display = ["name"]


@admin.register(Store)
class StoreAdmin(admin.ModelAdmin):
    list_display = ["name_en", "rating", "is_top", "is_recommended", "is_recently_added"]
    list_filter = ["is_top", "is_recommended", "is_recently_added", "has_deals", "categories"]
    search_fields = ["name_en", "name_ar"]
    filter_horizontal = ["categories", "payment_methods"]
    inlines = [StoreBranchInline]


@admin.register(StoreReview)
class StoreReviewAdmin(admin.ModelAdmin):
    list_display = ["user", "store", "rating", "created_at"]
    list_filter = ["rating"]
