lujanfernaud/prevy

View on GitHub
app/views/events/show.html.erb

Summary

Maintainability
Test Coverage
<!-- Main Content & Sidebar -->

<div class="container-fluid bg-light">
  <div class="container">

    <%= render partial: "application/breadcrumbs" %>

    <div class="row">
      <div class="col-md-12 mt-2">

        <div class="row">
          <%= render "event_main_content", group: @group, event: @event %>
          <%= render "event_sidebar", group: @group, event: @event %>
        </div><!-- /.row -->

      </div>
    </div>
  </div>
</div>

<!-- Comments -->

<div class="container-fluid bg-light pt-4" id="comments">
  <div class="container mb-2rem pb-1">

    <h2 class="text-center mt-2 mb-2rem pt-2 pb-2">
      Comments
    </h2>

    <div class="comments-container mb-2">
      <% unless @comments.empty? %>
        <%= render partial: "groups/topics/comments/comment",
          collection: @comments,
          locals: { comments: @comments, group: @group } %>
      <% else %>
        <div class="box topic-box p-4">
          <p class="lead text-center mb-0">
            So far there are no comments. You can be the first commenter!
          </p>
        </div>
      <% end %>
    </div>

    <%= form_for @comment,
      url: group_topic_comments_path(@group, @event.topic, @comment, origin: controller_name) do |f| %>
      <%= render "error_messages", object: @comment %>

      <div class="form-group box comment-box--event p-4 mb-0">
        <div class="form-group mb-0">
          <%= f.hidden_field :body, required: true %>
          <trix-editor input="topic_comment_body"
            class="form-control trix-editor-topic trix-editor--event-comment">
          </trix-editor>
        </div>

        <%= f.submit "Submit a new comment",
          class: "btn btn-primary btn-block btn-lg mt-4
            white-space-normal" %>
      </div>
    <% end %>

  </div>
</div>

<!-- Random Attendees -->

<div class="container-fluid bg-light">
  <div class="container attendees-container pb-4">

    <div class="row mt-2">
      <div class="col-md-12">

        <h2 class="text-center">
          <%= @event.attendees_title_with_count %>
        </h2>

        <% unless @event.attendees.empty? %>

          <div class="row d-flex justify-content-center mt-1rem mb-2rem">
            <%= render partial: "groups/user",
              collection: @event.random_attendees, as: :user,
              locals: {
                object: @event,
                group:  @event.group,
                path:   "event_attendee_path"
              }, cached: true %>
          </div>

        <% else %>

          <h3 class="h5 text-center mt-5 mb-2rem pb-3">
            <% if current_user == @event.organizer %>
              So far there are no attendees. We need to promote this!
            <% else %>
              So far there are no attendees. You can be the first one!
            <% end %>
          </h3>

        <% end %>

        <% if @event.attendees_count > Event::RANDOM_ATTENDEES %>
          <div class="text-center mb-4">
            <%= link_to "See all attendees", event_attendees_path(@event) %>
          </div>
        <% end %>

      </div>
    </div>

  </div>
</div>

<!-- Map -->

<% cache @event.address do %>

  <div id="map" class="container-fluid p-0"
    data-token="<%= Figaro.env.mapbox_access_token %>"
    data-latitude="<%= @event.latitude %>"
    data-longitude="<%= @event.longitude %>"
    data-event-title="<%= @event.title %>"
    data-marker-url="<%= asset_path('leaflet/marker-icon-violet.png') %>"
    data-marker-2x-url="<%= asset_path('leaflet/marker-icon-2x-violet.png') %>"
    data-shadow-url="<%= asset_path('leaflet/marker-shadow.png') %>">
  </div>

<% end %>