from django.contrib import admin

from apps.analytics.models import UserEvent, UserSession


@admin.register(UserEvent)
class UserEventAdmin(admin.ModelAdmin):
    list_display = [
        "id", "user", "event_type", "screen_name",
        "target_type", "target_id", "platform", "created_at",
    ]
    list_filter = ["event_type", "platform", "screen_name", "created_at"]
    search_fields = ["user__full_name", "device_id", "screen_name", "target_name"]
    readonly_fields = ["created_at", "updated_at"]
    date_hierarchy = "created_at"


@admin.register(UserSession)
class UserSessionAdmin(admin.ModelAdmin):
    list_display = [
        "id", "user", "session_id", "platform",
        "duration_seconds", "screens_viewed", "events_count", "started_at",
    ]
    list_filter = ["platform", "started_at"]
    search_fields = ["user__full_name", "device_id", "session_id"]
    readonly_fields = ["created_at", "updated_at"]
    date_hierarchy = "started_at"
