<script>
  $(function () {
    $('#search-handle').replaceWith($('<select>').attr({
      id: 'search-handle',
      name: 'handle',
      onchange: 'form.submit()'
    }));
    var in_user_redirect = false;
    $('#search-handle').select2({
      placeholder: '{{ _('Search by handle...') }}',
      ajax: {
        url: '{{ url('user_search_select2_ajax') }}',
        delay: 250,
        cache: true,
      },
      minimumInputLength: 1,
      escapeMarkup: function (markup) {
        return markup;
      },
      templateResult: function (data, container) {
        return $('<span>')
          .append($('<img>', {
          'class': 'user-search-image', src: data.gravatar_url,
          width: 24, height: 24
        }))
          .append($('<span>', {'class': data.display_rank + ' user-search-name'}).text(data.text))
          .append($('<a>', {href: '/user/' + data.text, 'class': 'user-redirect'})
            .append($('<i>', {'class': 'fa fa-mail-forward'}))
            .mouseover(function () {
            in_user_redirect = true;
          }).mouseout(function () {
            in_user_redirect = false;
          }));
      }
    }).on('select2:selecting', function () {
      return !in_user_redirect;
    });

    var $last = null;
    $(window).on('hashchange', function () {
      var hash = window.location.hash;
      if (hash.startsWith('#!')) {
        var $user = $('#user-' + hash.substring(2)).addClass('highlight');
        if ($user) {
          $(document).scrollTop($user.position().top - 50);
          if ($last !== null) $last.removeClass('highlight');
          $last = $user;
        }
      }
    }).trigger('hashchange');

    $('.about-td').on('click', function() {
      var max_height = $(this).css('max-height');
      if (max_height !== 'fit-content') {
        $(this).css('max-height', 'fit-content');
      }
      else {
        $(this).css('max-height', '45px');
      }
    })
  });
</script>