
from django.contrib import admin
from .models import SiteTraffic, ProductAnalytics, Banner, UserSession, ShopSettings


@admin.register(SiteTraffic)
class SiteTrafficAdmin(admin.ModelAdmin):
    list_display = ['date', 'page_views', 'unique_visitors', 'bounce_rate', 'session_duration']
    list_filter = ['date']
    readonly_fields = ['date']


@admin.register(ProductAnalytics)
class ProductAnalyticsAdmin(admin.ModelAdmin):
    list_display = ['product', 'date', 'views', 'clicks', 'cart_additions', 'purchases', 'revenue']
    list_filter = ['date', 'product__category']
    search_fields = ['product__name']
    readonly_fields = ['date']


@admin.register(Banner)
class BannerAdmin(admin.ModelAdmin):
    list_display = ['title', 'banner_type', 'placement', 'is_active', 'start_date', 'end_date', 'display_order']
    list_filter = ['banner_type', 'placement', 'is_active']
    search_fields = ['title', 'description']
    list_editable = ['is_active', 'display_order']


@admin.register(UserSession)
class UserSessionAdmin(admin.ModelAdmin):
    list_display = ['session_key', 'user', 'ip_address', 'created_at', 'last_activity', 'page_views']
    list_filter = ['created_at', 'last_activity']
    search_fields = ['user__username', 'ip_address']
    readonly_fields = ['session_key', 'created_at']


@admin.register(ShopSettings)
class ShopSettingsAdmin(admin.ModelAdmin):
    list_display = ['shop', 'tagline', 'featured_products_count', 'products_per_page']
    fields = [
        'shop', 'tagline', 'welcome_message', 
        'featured_products_count', 'products_per_page',
        'enable_reviews', 'enable_wishlist', 'enable_compare',
        'social_facebook', 'social_twitter', 'social_instagram', 'social_youtube',
        'google_analytics_id', 'facebook_pixel_id'
    ]
