- page_title "Account"
- if current_user.ldap_user?
  .alert.alert-info
    Some options are unavailable for LDAP accounts

.account-page
  %fieldset.update-token
    %legend
      Reset Private token
    %div
      = form_for @user, url: reset_private_token_profile_path, method: :put do |f|
        .data
          %p
            Your private token is used to access application resources without authentication.
            %br
            It can be used for atom feeds or the API.
            %span.cred
              Keep it secret!

          %p.cgray
            - if current_user.private_token
              = text_field_tag "token", current_user.private_token, class: "form-control"
              %div
                = f.submit 'Reset private token', data: { confirm: "Are you sure?" }, class: "btn btn-primary btn-build-token"
            - else
              %span You don`t have one yet. Click generate to fix it.
              = f.submit 'Generate', class: "btn success btn-build-token"

  - unless current_user.ldap_user?
    %fieldset
      - if current_user.otp_required_for_login
        %legend.text-success
          = icon('check')
          Two-factor Authentication enabled
        %div
          .pull-right
            = link_to 'Disable Two-factor Authentication', profile_two_factor_auth_path, method: :delete, class: 'btn btn-close btn-sm',
                data: { confirm: 'Are you sure?' }
          %p
            If you lose your recovery codes you can
            %strong
              = succeed ',' do
                = link_to 'generate new ones', codes_profile_two_factor_auth_path, method: :post, data: { confirm: 'Are you sure?' }
            invalidating all previous codes.

      - else
        %legend Two-factor Authentication
        %div
          %p
            Increase your account's security by enabling two-factor authentication (2FA).
          %p
            Each time you log in you’ll be required to provide your username and
            password as usual, plus a randomly-generated code from your phone.
          %div
            = link_to 'Enable Two-factor Authentication', new_profile_two_factor_auth_path, class: 'btn btn-success'

  - if show_profile_social_tab?
    %fieldset
      %legend Connected Accounts
      .oauth-buttons.append-bottom-10
        %p Click on icon to activate signin with one of the following services
        - enabled_social_providers.each do |provider|
          .btn-group
            = link_to oauth_image_tag(provider), omniauth_authorize_path(User, provider),
              method: :post, class: "btn btn-lg #{'active' if oauth_active?(provider)}"
            - if oauth_active?(provider)
              = link_to unlink_profile_account_path(provider: provider), method: :delete, class: 'btn btn-lg' do
                = icon('close')

  - if show_profile_username_tab?
    %fieldset.update-username
      %legend
        Change Username
      = form_for @user, url: update_username_profile_path,  method: :put, remote: true do |f|
        %p
          Changing your username will change path to all personal projects!
        %div
          = f.text_field :username, required: true, class: 'form-control'
          &nbsp;
        .loading-gif.hide
          %p
            = icon('spinner spin')
            Saving new username
        %p.light
          = user_url(@user)
        %div
          = f.submit 'Save username', class: "btn btn-warning"

  - if show_profile_remove_tab?
    %fieldset.remove-account
      %legend
        Remove account
      %div
        %p Deleting an account has the following effects:
        %ul
          %li All user content like authored issues, snippets, comments will be removed
          - rp = current_user.personal_projects.count
          - unless rp.zero?
            %li #{pluralize rp, 'personal project'} will be removed and cannot be restored
          - if current_user.solo_owned_groups.present?
            %li
              The following groups will be abandoned. You should transfer or remove them:
              %strong #{current_user.solo_owned_groups.map(&:name).join(', ')}
        = link_to 'Delete account', user_registration_path, data: { confirm: "REMOVE #{current_user.name}? Are you sure?" }, method: :delete, class: "btn btn-remove"

