18F/identity-idp

View on GitHub
app/components/password_confirmation_component.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class PasswordConfirmationComponent < BaseComponent
  attr_reader :form, :field_options, :forbidden_passwords, :tag_options

  def initialize(
    form:,
    password_label: nil,
    confirmation_label: nil,
    field_options: {},
    forbidden_passwords: [],
    **tag_options
  )
    @form = form
    @password_label = password_label
    @confirmation_label = confirmation_label
    @field_options = field_options
    @forbidden_passwords = forbidden_passwords
    @tag_options = tag_options
  end

  def password_label
    @password_label || t('forms.password')
  end

  def confirmation_label
    @confirmation_label || t('components.password_confirmation.confirm_label')
  end

  def toggle_id
    "password-confirmation-toggle-#{unique_id}"
  end

  def input_id
    "password-confirmation-input-#{unique_id}"
  end

  def input_confirmation_id
    "password-confirmation-input-confirmation-#{unique_id}"
  end
end