{% extends "userdash_master.html" %}

{% block title %}Home{% endblock %}
{% set tag = "projects" %}
{% from "_browseheader.html" import browse_header %}
{% from "_render_repo.html" import pagination_link %}
{% from "_projectstring.html" import projectstring, projecticon %}


{% from "_render_repo.html" import render_repos_as_card, render_activity_graph %}
{% from "_render_issues.html" import render_issue_row %}
{% from "_render_pullrequests.html" import render_pullrequest_row %}


{% block userdash %}
<div class="pt-4">
  <div class="container pb-5">
    <div class="row">
      <div class="col">
        <div class="d-flex align-items-center mb-3">
          <h4 class="font-weight-bold mb-0">My Activity</h4>
          <span class="btn btn-outline-secondary disabled opacity-100 border-0 ml-auto font-weight-bold">{{ userdash_counts['repos_length'] }} {{projectstring(plural=True)}}</span>
        </div>
      </div>
    </div>
    <div class="row">
      <div class="col">
            {{ render_activity_graph(username) }}
      </div>
    </div>
    {% macro render_reponame(repo) %}
    <a class="text-semimuted font-weight-bold" href="{{ url_for('ui_ns.view_repo',
                 repo=repo.name,
                 username=repo.user.username if repo.is_fork else None,
                 namespace=repo.namespace)
               }}">
    {% if repo.is_fork %}{{ repo.user.user }}/{% endif %}{% if repo.namespace %}{{ repo.namespace }}/{% endif %}<strong>{{ repo.name }}</strong>
    </a>
    {% endmacro %}

    <div class="row">
        <div class="col">
            <div class="list-group">
            {% for log in messages%}
                <div class="list-group-item py-4 px-1 border-left-0 border-right-0">
                    <div class="d-flex">
                        <div class="d-flex align-items-center">
                            {% if log.user %}
                                {{ log.user.username | avatar(26) | safe }}
                            {% endif %}
                {% if log.issue %}
                    <span class="fa fa-exclamation-circle text-ccc fa-fw fa-2x"></span>
                {% elif log.pull_request %}
                    <span class="fa fa-arrow-circle-down fa-fw text-ccc fa-2x"></span>
                {% elif not log.pull_request and not log.issue and log.log_type == 'created'%}
                    <span class="fa {{projecticon()}} fa-fw text-ccc fa-2x"></span>
                {% elif self.log_type == 'committed' %}
                    <span class="fa fa-key fa-fw text-ccc fa-2x"></span>
                {% else %}
                    <span class="fa fa-fw text-ccc fa-2x"></span>
                {% endif%}
                        </div>
                        <div class="pl-2 flex-1">
                        {% if log.issue %}
                            {% set verb = {
                                'created': 'opened',
                                'commented': 'commented on',
                                'closed': 'closed',
                                'open': 'reopened',
                            } %}
                            <div class="d-flex">
                                <div>
                                {{log.user.username if log.user.username != username else "you"}}
                                {{verb[log.log_type]}}
                                <strong class="text-semimuted">issue #{{log.issue.id}}</strong>
                                in
                                {{render_reponame(log.project)}}
                                </div>
                                <div class="ml-auto">
                                    {{log.date_created|humanize}}
                                </div>
                            </div>
                            <div class="list-group mt-2">
                                {{render_issue_row(log.issue, log.project, log.user.username, subtitle=False)}}
                            </div>
                        {% elif log.pull_request %}
                            {% set verb = {
                                'created': 'opened',
                                'commented': 'commented on',
                                'closed': 'closed',
                                'merged': 'merged'
                            } %}
                            <div class="d-flex">
                                <div>
                                    {{log.user.username if log.user.username != username else "you"}}
                                    {{verb[log.log_type]}}
                                    <strong class="text-semimuted">PR #{{log.pull_request.id}}</strong>
                                    in
                                    {{render_reponame(log.project)}}
                                </div>
                                <div class="ml-auto">
                                    {{log.date_created|humanize}}
                                </div>
                            </div>
                            <div class="list-group mt-2">
                                {{render_pullrequest_row(log.pull_request, log.project, log.user.username, subtitle=False)}}
                            </div>
                        {% elif not log.pull_request and not log.issue and log.log_type == 'created'%}
                            <div class="d-flex">
                                <div>
                                    {{log.user.username if log.user.username != username else "you"}}
                                    created
                                    {{render_reponame(log.project)}}
                                </div>
                                <div class="ml-auto">
                                    {{log.date_created|humanize}}
                                </div>
                            </div>
                        {% elif self.log_type == 'committed' %}
                            {{log}}
                        {% else %}
                            {{log}}
                        {% endif%}
                        </div>
                    </div>
                </div>
            {% else %}
            <div class="list-group-item">
                no messages
            </div>
            {% endfor %}
            </div>
        </div>
    </div>
</div>
</div>
{% endblock %}

{% block jscripts %}
    {{ super() }}
<script type="text/javascript" nonce="{{ g.nonce }}" src="{{
  url_for('static', filename='tags.js') }}?version={{ g.version}}"></script>
<script type="text/javascript" nonce="{{ g.nonce }}">
$(document).ready(function() {
  var $acls_selectize = $('#acls-selectize').selectize({
    onInitialize: function(){
      $("#acls-filter-group .selectize-control").on('click', function(event){
        event.stopPropagation();
      })
      $("#filters-dropdown").on('click', function(event){
        event.stopPropagation();
      })
    }
  });

  var acls_selectize_control = $acls_selectize[0].selectize;

  $("#acls-selectize-reset").on('click', function(e){
    acls_selectize_control.clear();
  });

  $("#search_pattern-selectize-reset").on('click', function(e){
    $('input[name="search_pattern"]').val('');
  });

  $( "#filters_form" ).submit(function( event ) {
    if ($('select[name="acl"]').val() == ''){
      $('select[name="acl"]').prop("disabled", true);
    }
    if ($('input[name="search_pattern"]').val() == ''){
      $('input[name="search_pattern"]').prop("disabled", true);
    }
  });

});
</script>
{% endblock %}
