opf/openproject

View on GitHub
app/views/homescreen/blocks/_projects.html.erb

Summary

Maintainability
Test Coverage
<%= render 'homescreen/blocks/header', title: t(:label_project_plural) %>

<% if @favorite_projects.any? %>
  <p class="widget-box--additional-info"><%= t('projects.lists.favored') %></p>
  <ul class="widget-box--arrow-links">
    <% @favorite_projects.each do |project| %>
      <li>
        <%= render(Primer::Beta::Octicon.new(
          icon: "star-fill",
          classes: "op-primer--star-icon",
          "aria-label": I18n.t(:label_favorite))) %>

        <%= link_to project, project_path(project),
                    title: short_project_description(project),
                    data: { test_selector: "favorite-project" } %>
      </li>
    <% end %>
  </ul>
<% end %>

<% if @newest_projects.empty? %>
  <p class="widget-box--additional-info">
    <%= t('homescreen.additional.no_visible_projects') %>
  </p>
<% else  %>
  <p class="widget-box--additional-info"><%= t('homescreen.additional.projects') %></p>
  <ul class="widget-box--arrow-links">
    <% @newest_projects.each do |project| %>
    <li>
      <%= link_to project, project_path(project), title: short_project_description(project) %>
      <small>(<%= format_date(project.created_at) %>)</small>
    </li>
    <% end %>
  </ul>
<% end %>

<div class="widget-box--blocks--buttons">
  <% if User.current.allowed_globally?(:add_project) %>
    <%= link_to new_project_path,
          { class: 'button -primary',
            aria: {label: t(:label_project_new)},
            title: t(:label_project_new)} do %>
      <%= op_icon('button--icon icon-add') %>
      <span class="button--text"><%= Project.model_name.human %></span>
    <% end %>
  <% end %>

  <%# If any project exists %>
  <% unless @newest_projects.empty? %>
    <%= link_to t(:label_project_view_all), projects_path,
                class: 'button -highlight-inverted',
                title: t(:label_project_view_all) %>
  <% end %>
</div>