.tree-ref-holder
  = render 'shared/ref_switcher', destination: 'tree', path: @path

%ul.breadcrumb.repo-breadcrumb
  %li
    = link_to namespace_project_tree_path(@project.namespace, @project, @ref) do
      = @project.path
  - tree_breadcrumbs(tree, 6) do |title, path|
    %li
      - if path
        = link_to truncate(title, length: 40), namespace_project_tree_path(@project.namespace, @project, path)
      - else
        = link_to title, '#'

  - if current_user
    %li
      - if !on_top_of_branch?
        %span.btn.add-to-tree.disabled.has-tooltip{title: "You can only add files when you are on a branch", data: { container: 'body' }}
          = icon('plus')
      - else
        %span.dropdown
          %a.dropdown-toggle.btn.add-to-tree{href: '#', "data-toggle" => "dropdown"}
            = icon('plus')
          %ul.dropdown-menu
            - if can_edit_tree?
              %li
                = link_to namespace_project_new_blob_path(@project.namespace, @project, @id) do
                  = icon('pencil fw')
                  New file
              %li
                = link_to '#modal-upload-blob', { 'data-target' => '#modal-upload-blob', 'data-toggle' => 'modal'} do
                  = icon('file fw')
                  Upload file
              %li
                = link_to '#modal-create-new-dir', { 'data-target' => '#modal-create-new-dir', 'data-toggle' => 'modal'} do
                  = icon('folder fw')
                  New directory
            - elsif can?(current_user, :fork_project, @project)
              %li
                - continue_params = { to:         namespace_project_new_blob_path(@project.namespace, @project, @id),
                                      notice:     edit_in_new_fork_notice,
                                      notice_now: edit_in_new_fork_notice_now }
                - fork_path = namespace_project_forks_path(@project.namespace, @project, namespace_key:  current_user.namespace.id,
                                                                                        continue:       continue_params)
                = link_to fork_path, method: :post do
                  = icon('pencil fw')
                  New file
              %li
                - continue_params = { to:         request.fullpath,
                                      notice:     edit_in_new_fork_notice + " Try to upload a file again.",
                                      notice_now: edit_in_new_fork_notice_now }
                - fork_path = namespace_project_forks_path(@project.namespace, @project, namespace_key:  current_user.namespace.id,
                                                                                        continue:       continue_params)
                = link_to fork_path, method: :post do
                  = icon('file fw')
                  Upload file
              %li
                - continue_params = { to:         request.fullpath,
                                      notice:     edit_in_new_fork_notice + " Try to create a new directory again.",
                                      notice_now: edit_in_new_fork_notice_now }
                - fork_path = namespace_project_forks_path(@project.namespace, @project, namespace_key:  current_user.namespace.id,
                                                                                        continue:       continue_params)
                = link_to fork_path, method: :post do
                  = icon('folder fw')
                  New directory

            %li.divider
            %li
              = link_to new_namespace_project_branch_path(@project.namespace, @project) do
                = icon('code-fork fw')
                New branch
            %li
              = link_to new_namespace_project_tag_path(@project.namespace, @project) do
                = icon('tags fw')
                New tag
