summaryrefslogtreecommitdiff
path: root/app/views/projects/_home_panel.html.haml
blob: dcef4dd5b695fea40fa20284a499e2d4451d44ed (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
- empty_repo = @project.empty_repo?
- license = @project.license_anchor_data
.project-home-panel{ class: ("empty-project" if empty_repo) }
  .limit-container-width{ class: container_class }
    .project-header.d-flex.flex-row.flex-wrap.align-items-center.append-bottom-8
      .project-title-row.d-flex.align-items-center
        .avatar-container.project-avatar.float-none
          = project_icon(@project, alt: @project.name, class: 'avatar avatar-tile s24', width: 24, height: 24)
        %h1.project-title.d-flex.align-items-baseline.qa-project-name
          = @project.name
      .project-metadata.d-flex.flex-row.flex-wrap.align-items-baseline
        .project-visibility.d-inline-flex.align-items-baseline.visibility-icon.has-tooltip{ data: { container: 'body' }, title: visibility_icon_description(@project) }
          = visibility_level_icon(@project.visibility_level, fw: false, options: {class: 'icon'})
          = visibility_level_label(@project.visibility_level)
        - if license.present?
          .project-license.d-inline-flex.align-items-baseline
            = link_to_if license.link, sprite_icon('scale', size: 16, css_class: 'icon') + license.label, license.link, class: license.enabled ? 'btn btn-link btn-secondary-hover-link' : 'btn btn-link'
        - if @project.tag_list.present?
          .project-tag-list.d-inline-flex.align-items-baseline.has-tooltip{ data: { container: 'body' }, title: @project.has_extra_tags? ? @project.tag_list.join(', ') : nil }
            = sprite_icon('tag', size: 16, css_class: 'icon')
            = @project.tags_to_show
            - if @project.has_extra_tags?
              = _("+ %{count} more") % { count: @project.count_of_extra_tags_not_shown  }

    .project-home-desc
      - if @project.description.present?
        .project-description
          .project-description-markdown.read-more-container
            = markdown_field(@project, :description)
          %button.btn.btn-blank.btn-link.text-secondary.js-read-more-trigger.text-secondary.d-lg-none{ type: "button" }
            = _("Read more")

      - if can?(current_user, :read_project, @project)
        .text-secondary.prepend-top-8
          = s_('ProjectPage|Project ID: %{project_id}') % { project_id: @project.id }

      - if @project.forked?
        %p
          - if @project.fork_source
            #{ s_('ForkedFromProjectPath|Forked from') }
            = link_to project_path(@project.fork_source) do
              = fork_source_name(@project)
          - else
            - deleted_message = s_('ForkedFromProjectPath|Forked from %{project_name} (deleted)')
            = deleted_message % { project_name: fork_source_name(@project) }

    - if @project.badges.present?
      .project-badges.prepend-top-default.append-bottom-default
        - @project.badges.each do |badge|
          %a.append-right-8{ href: badge.rendered_link_url(@project),
            target: '_blank',
            rel: 'noopener noreferrer' }>
            %img.project-badge{ src: badge.rendered_image_url(@project),
              'aria-hidden': true,
              alt: 'Project badge' }>

    .project-repo-buttons.d-inline-flex.flex-wrap
      .count-buttons.d-inline-flex
        = render 'projects/buttons/star'
        = render 'projects/buttons/fork'

      - if can?(current_user, :download_code, @project)
        .project-clone-holder.d-inline-flex.d-sm-none
          = render "shared/mobile_clone_panel"

        .project-clone-holder.d-none.d-sm-inline-flex
          = render "shared/clone_panel"

        - if show_xcode_link?(@project)
          .project-action-button.project-xcode.inline
            = render "projects/buttons/xcode_link"

      - if current_user
        - if can?(current_user, :download_code, @project)
          .d-none.d-sm-inline-flex
            = render 'projects/buttons/download', project: @project, ref: @ref
          .d-none.d-sm-inline-flex
            = render 'projects/buttons/dropdown'

        .d-none.d-sm-inline-flex
          = render 'shared/notifications/button', notification_setting: @notification_setting
        .d-none.d-sm-inline-flex
          = render 'shared/members/access_request_buttons', source: @project