summaryrefslogtreecommitdiff
path: root/app/views/projects/buttons/_star.html.haml
blob: 4289d7afd267048685293ddba14cb16df13ff4e8 (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
- if current_user
  = link_to toggle_star_namespace_project_path(@project.namespace, @project), class: 'btn star-btn toggle-star has_tooltip', method: :post, remote: true, title: "Star project" do
    = icon('star fw')
    - if current_user.starred?(@project)
      %span.starred Unstar
    - else
      %span Star
  %div.count-with-arrow
    %span.arrow
    %span.count
      = @project.star_count

  :javascript
    $('.project-home-panel .toggle-star').on('ajax:success', function (e, data, status, xhr) {
      var $this = $(this);
      var $starSpan = $this.find('span');
      $this
        .parent()
        .find('span.count')
        .text(data.star_count);
      if($starSpan.hasClass('starred')){
        $starSpan.removeClass('starred');
        $starSpan.text('Star');
      } else {
        $starSpan.addClass('starred');
        $starSpan.text('Unstar');
      }
    })
    .on('ajax:error', function (e, xhr, status, error) {
      new Flash('Star toggle failed. Try again later.', 'alert');
    });

- else
  = link_to new_user_session_path, class: 'btn has_tooltip star-btn', title: 'You must sign in to star a project' do
    = icon('star fw')
    Star
  %div.count-with-arrow
    %span.arrow
    %span.count
      = @project.star_count