from django.contrib import admin

from apps.core.models import AboutPage, AppVersion, SupportContact, TermsPage


@admin.register(AppVersion)
class AppVersionAdmin(admin.ModelAdmin):
    list_display = ["platform", "latest_version", "minimum_version", "is_force_update", "updated_at"]
    list_editable = ["latest_version", "minimum_version", "is_force_update"]


@admin.register(AboutPage)
class AboutPageAdmin(admin.ModelAdmin):
    list_display = ["__str__", "version_label", "updated_at"]

    def has_add_permission(self, request):
        # Only allow one instance
        return not AboutPage.objects.exists()


@admin.register(TermsPage)
class TermsPageAdmin(admin.ModelAdmin):
    list_display = ["__str__", "version_label", "updated_at"]

    def has_add_permission(self, request):
        return not TermsPage.objects.exists()


@admin.register(SupportContact)
class SupportContactAdmin(admin.ModelAdmin):
    list_display = ["__str__", "whatsapp_number", "instagram_handle", "phone_number", "updated_at"]

    def has_add_permission(self, request):
        return not SupportContact.objects.exists()
