from django.forms import Form, EmailField, CharField, PasswordInput, ChoiceField

from core.helpers.otp import get_otp_choices

class LoginForm(Form):
    email = EmailField()
    password = CharField(widget=PasswordInput)

class OTPSelectorForm(Form):
    def __init__(self, *args, **kwargs):
        otp_choices = kwargs.pop('otp_choices', [])
        super(OTPSelectorForm, self).__init__(*args, **kwargs)
        self.fields['provider'] = ChoiceField(choices=otp_choices)

class OTPVerificationForm(Form):
    token = CharField()