from django.contrib import admin
from modeltranslation.admin import TranslationAdmin
from django.urls import reverse, path
from django.shortcuts import redirect
from .models import Navbar, Footer

# --- Admin for Navbar ---
class SingletonNavbarAdmin(TranslationAdmin):
    def has_add_permission(self, request):
        return not Navbar.objects.exists()

    def has_delete_permission(self, request, obj=None):
        return False

    def changelist_view(self, request, extra_context=None):
        instance = Navbar.objects.first()
        if instance:
            return redirect(reverse('admin:footer_navbar_change', args=[instance.id]))
        return redirect('/admin/')

    fieldsets = (
        ("Navbar Settings", {
            'fields': ('site_name', 'site_logo'),
        }),
    )


class SingletonFooterAdmin(TranslationAdmin):
    def has_add_permission(self, request):
        return not Footer.objects.exists()

    def has_delete_permission(self, request, obj=None):
        return False

    def changelist_view(self, request, extra_context=None):
        obj = Footer.objects.first()
        if obj:
            return redirect(reverse('admin:footer_footer_change', args=[obj.id]))
        return redirect('/admin/')

    fieldsets = (
        ("Logo & About Section", {
            'fields': ('logo', 'about_title', 'about_text')
        }),
        ("Important Links", {
            'fields': (
                'important_title',
                'important_link_1_name', 'important_link_1_url',
                'important_link_2_name', 'important_link_2_url',
                'important_link_3_name', 'important_link_3_url',
                'important_link_4_name', 'important_link_4_url',
            )
        }),
        ("Services Section", {
            'fields': (
                'services_title',
                'service_1_name', 'service_1_url',
                'service_2_name', 'service_2_url',
                'service_3_name', 'service_3_url',
                'service_4_name', 'service_4_url',
            )
        }),
        ("Contact Information", {
            'fields': ('contact_title', 'contact_email', 'contact_phone')
        }),
        ("Social Media Links", {
            'fields': ('twitter', 'facebook', 'instagram', 'linkedin')
        }),
        ("Copyright", {
            'fields': ('copyright_text',)
        }),
        ("Trusted Section", {
            'fields': ('trusted_logo', 'trusted_text', 'trusted_subtext')
        }),
        ("Tax Section", {
            'fields': ('tax_text', 'tax_number', 'vat_logo')
        }),

    )

admin.site.register(Footer, SingletonFooterAdmin)
admin.site.register(Navbar, SingletonNavbarAdmin)

