# gamification/admin.py

from django.contrib import admin
from .models import UserInventory, ActiveBooster, Mission, UserMission, StreakGoal, League, LeagueGroup

@admin.register(UserInventory)
class UserInventoryAdmin(admin.ModelAdmin):
    list_display = ('user', 'item', 'quantity')
    search_fields = ('user__username', 'item__name')

@admin.register(ActiveBooster)
class ActiveBoosterAdmin(admin.ModelAdmin):
    list_display = ('user', 'item', 'expires_at', 'is_active')
    list_filter = ('item',)
    search_fields = ('user__username',)

@admin.register(Mission)
class MissionAdmin(admin.ModelAdmin):
    # *** اصلاح شد: فیلد جایزه قلب اضافه و جایزه امتیاز حذف شد ***
    list_display = ('title', 'mission_type', 'goal_value', 'reward_gems', 'reward_hearts', 'reward_item', 'is_active')
    list_filter = ('mission_type', 'is_active')
    search_fields = ('title', 'description')
    list_editable = ('is_active',)

@admin.register(UserMission)
class UserMissionAdmin(admin.ModelAdmin):
    list_display = ('user', 'mission', 'status', 'current_progress', 'assigned_date')
    list_filter = ('status', 'assigned_date', 'mission')
    search_fields = ('user__username', 'mission__title')
    readonly_fields = ('user', 'mission', 'current_progress', 'assigned_date')

@admin.register(StreakGoal)
class StreakGoalAdmin(admin.ModelAdmin):
    list_display = ('title', 'duration_days', 'reward_gems', 'is_active')
    list_editable = ('is_active',)
    search_fields = ('title',)

@admin.register(League)
class LeagueAdmin(admin.ModelAdmin):
    list_display = ('level_number', 'name', 'promotion_spots', 'demotion_spots')
    ordering = ('level_number',)

@admin.register(LeagueGroup)
class LeagueGroupAdmin(admin.ModelAdmin):
    list_display = ('__str__', 'league', 'subject', 'week_start_date')
    list_filter = ('league', 'subject', 'week_start_date')
    search_fields = ('league__name', 'subject__title')
