from django.contrib import admin
from .models import SiteSettings


@admin.register(SiteSettings)
class SiteSettingsAdmin(admin.ModelAdmin):
    fieldsets = (
        ('Branding', {
            'fields': ('site_name', 'site_tagline', 'rc_number', 'favicon')
        }),
        ('Contact Information', {
            'fields': ('email', 'notification_emails', 'phone_1', 'phone_2', 'whatsapp', 'address'),
            'description': '📧 Add personal emails in "Notification Emails" to receive enquiry alerts instantly.'
        }),

        ('Social Media', {
            'fields': ('facebook_url', 'instagram_url', 'twitter_url', 'linkedin_url', 'youtube_url')
        }),
        ('Footer & Map', {
            'fields': ('footer_text', 'google_maps_embed')
        }),
        ('SEO Defaults', {
            'fields': ('meta_title', 'meta_description')
        }),
    )

    def has_add_permission(self, request):
        # Only allow one settings row — remove the "Add" button
        return not SiteSettings.objects.exists()

    def has_delete_permission(self, request, obj=None):
        return False
