from django import forms


class LotterySimulatorForm(forms.Form):
    lottery_type = forms.ChoiceField(
        label="Escolha a Loteria",
        choices=[],
        widget=forms.Select(
            attrs={
                "class": "form-select form-select-lg",
            }
        ),
    )
    draws_to_consider = forms.ChoiceField(
        label="Basear em quantos sorteios passados?",
        choices=[
            (10, "Últimos 10"),
            (50, "Últimos 50"),
            (100, "Últimos 100"),
            (500, "Últimos 500"),
            (0, "Histórico Completo (Desde o 1º Sorteio)"),
        ],
        initial=0,
        widget=forms.Select(
            attrs={
                "class": "form-select",
            }
        ),
    )
    games_to_generate = forms.ChoiceField(
        label="Quantidade de Combinações",
        choices=[
            (1, "1 Jogo"),
            (5, "5 Jogos"),
            (10, "10 Jogos"),
            (50, "50 Jogos"),
            (100, "100 Jogos"),
            (1000000000000, "1 Trilhão (Simulação IA)"),
            (10000000000000, "10 Trilhões (Simulação Massiva)"),
            (30000000000000, "30 Trilhões (Simulação Elite)"),
            (60000000000000, "60 Trilhões (Poder Máximo)"),
        ],
        initial=5,
        widget=forms.Select(
            attrs={
                "class": "form-select",
            }
        ),
    )

    def __init__(self, *args, **kwargs):
        lottery_choices = kwargs.pop("lottery_choices", [])
        super().__init__(*args, **kwargs)
        self.fields["lottery_type"].choices = lottery_choices
