"""
Formulários — App Ratings
===========================
"""

from django import forms

from .models import Valoracion


class ValoracionForm(forms.ModelForm):
    class Meta:
        model = Valoracion
        fields = ["estrellas", "comentario"]
        widgets = {
            "estrellas": forms.HiddenInput(),
            "comentario": forms.Textarea(
                attrs={
                    "rows": 3,
                    "maxlength": 500,
                    "placeholder": "Partilhe a sua experiência (opcional)...",
                    "class": (
                        "w-full px-4 py-3 border border-gray-200 rounded-xl "
                        "focus:ring-2 focus:ring-rosa/30 focus:border-rosa "
                        "outline-none transition text-sm resize-none"
                    ),
                }
            ),
        }

    def clean_estrellas(self):
        val = self.cleaned_data["estrellas"]
        if val < 1 or val > 5:
            raise forms.ValidationError("A pontuação deve ser entre 1 e 5.")
        return val


class RespuestaDoctorForm(forms.Form):
    respuesta = forms.CharField(
        max_length=500,
        widget=forms.Textarea(
            attrs={
                "rows": 2,
                "maxlength": 500,
                "placeholder": "Escreva a sua resposta...",
                "class": (
                    "w-full px-4 py-3 border border-gray-200 rounded-xl "
                    "focus:ring-2 focus:ring-rosa/30 focus:border-rosa "
                    "outline-none transition text-sm resize-none"
                ),
            }
        ),
    )
