summaryrefslogtreecommitdiff
path: root/app/views/shared/projects/_project.html.haml
blob: 7e9fb7bb4d30a06da1e33807d2384b882f74d24a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
- avatar = true unless local_assigns[:avatar] == false
- stars = true unless local_assigns[:stars] == false
- forks = false unless local_assigns[:forks] == true
- ci = false unless local_assigns[:ci] == true
- skip_namespace = false unless local_assigns[:skip_namespace] == true
- css_class = '' unless local_assigns[:css_class]
- show_last_commit_as_description = false unless local_assigns[:show_last_commit_as_description] == true && project.commit
- css_class += " no-description" if project.description.blank? && !show_last_commit_as_description
- cache_key = [project.namespace, project, controller.controller_name, controller.action_name, current_application_settings, 'v2.3']
- cache_key.push(project.commit&.sha, project.commit&.status)

%li.project-row{ class: css_class }
  = cache(cache_key) do
    .controls
      - if project.archived
        %span.label.label-warning archived
      - if project.commit.try(:status)
        %span
          = render_commit_status(project.commit)
      - if forks
        %span
          = icon('code-fork')
          = number_with_delimiter(project.forks_count)
      - if stars
        %span
          = icon('star')
          = number_with_delimiter(project.star_count)
      %span.visibility-icon.has-tooltip{ data: { container: 'body', placement: 'left' }, title: visibility_icon_description(project) }
        = visibility_level_icon(project.visibility_level, fw: true)

    .title
      = link_to project_path(project), class: dom_class(project) do
        - if avatar
          .dash-project-avatar
            .avatar-container.s40
              - if use_creator_avatar
                = image_tag avatar_icon(project.creator.email, 40), class: "avatar s40", alt:''
              - else
                = project_icon(project, alt: '', class: 'avatar project-avatar s40')
        %span.project-full-name
          %span.namespace-name
            - if project.namespace && !skip_namespace
              = project.namespace.human_name
              \/
          %span.project-name.filter-title
            = project.name

    - if show_last_commit_as_description
      .description
        = link_to_gfm project.commit.title, namespace_project_commit_path(project.namespace, project, project.commit),
          class: "commit-row-message"
    - elsif project.description.present?
      .description
        = markdown_field(project, :description)