18F/identity-idp

View on GitHub
app/components/language_picker_component.html.erb

Summary

Maintainability
Test Coverage
<%= content_tag(:div, **tag_options, class: css_class) do %>
  <%= content_tag(
        :button,
        class: 'usa-accordion__button language-picker__label',
        aria: {
          controls: "language-picker-#{unique_id}",
          expanded: false,
        },
      ) do %>
    <%= render IconComponent.new(icon: :language) %>
    <span id="language-picker-description-<%= unique_id %>" class="language-picker__label-text">
      <%= t('i18n.language') %>
    </span>
    <%= render IconComponent.new(icon: :expand_more, size: 3, class: 'language-picker__expander') %>
  <% end %>
  <ul
    id="language-picker-<%= unique_id %>"
    aria-describedby="language-picker-description-<%= unique_id %>"
    class="usa-accordion__content language-picker__list"
    hidden
  >
    <% locale_urls.each do |locale, url| %>
      <li>
        <%= content_tag(:a, href: url, lang: locale) { t("i18n.locale.#{locale}") } %>
      </li>
    <% end %>
  </ul>
<% end %>