from django.contrib import admin
from .models import Especies
from django.utils.html import format_html


@admin.register(Especies)
class EspeciesAdmin(admin.ModelAdmin):
    list_display = (
        'nome_popular', 'especies', 'familia', 'bioma',
        'formacao_vegetal', 'risco_extincao', 'exibir_foto'
    )
    list_filter = ('bioma', 'formacao_vegetal', 'risco_extincao', 'familia')
    search_fields = ('nome_popular', 'especies', 'familia', 'bioma')
    readonly_fields = ('exibir_foto',)
    fieldsets = (
        ('Identificação da Espécie', {
            'fields': ('nome_popular', 'especies', 'sinonimia', 'familia')
        }),
        ('Classificação e Presença', {
            'fields': ('bioma', 'formacao_vegetal', 'fitofisionomias', 'presenca_estados', 'risco_extincao')
        }),
        ('Imagem', {
            'fields': ('foto_especie', 'exibir_foto')
        }),
    )

    def exibir_foto(self, obj):
        if obj.foto_especie:
            return format_html(f'<img src="{obj.foto_especie.url}" width="100" height="100" style="object-fit:contain;border-radius:8px;">')
        return "Sem imagem"

    exibir_foto.short_description = "Foto da Espécie"
