from flask_wtf import FlaskForm
from wtforms import StringField
from wtforms.validators import DataRequired, Length, Optional


class CreditCardForm(FlaskForm):
    name = StringField("Card Name", validators=[DataRequired(), Length(max=200)])
    institution_name = StringField("Issuer (optional)", validators=[Optional(), Length(max=200)])
    current_balance = StringField("Current Balance ($)", validators=[DataRequired()])
    apr = StringField("APR (%)", validators=[DataRequired()])
    min_payment = StringField("Minimum Payment ($)", validators=[DataRequired()])
    credit_limit = StringField("Credit Limit ($)", validators=[Optional()])


class ExtraPaymentForm(FlaskForm):
    extra_monthly_payment = StringField("Extra Monthly Payment ($)", validators=[DataRequired()])


class ActionForm(FlaskForm):
    """Empty form for CSRF on inline action buttons."""
