Smoosh empty days together
This commit is contained in:
@@ -3,7 +3,7 @@ class EventsController < ApplicationController
|
||||
|
||||
def index
|
||||
@events = unique_events_by_hour_and_column
|
||||
@next_day = @activity_day.yesterday.strftime("%Y-%m-%d")
|
||||
@next_day = latest_event_before_today&.created_at
|
||||
end
|
||||
|
||||
private
|
||||
@@ -12,11 +12,19 @@ class EventsController < ApplicationController
|
||||
end
|
||||
|
||||
def events_by_hour_and_column
|
||||
user_events.group_by { |event| [ event.created_at.hour, helpers.event_column(event) ] }
|
||||
todays_events.group_by { |event| [ event.created_at.hour, helpers.event_column(event) ] }
|
||||
end
|
||||
|
||||
def todays_events
|
||||
user_events.where(created_at: @activity_day.all_day)
|
||||
end
|
||||
|
||||
def latest_event_before_today
|
||||
user_events.where(created_at: ...@activity_day.beginning_of_day).chronologically.last
|
||||
end
|
||||
|
||||
def user_events
|
||||
Event.where(bubble: user_bubbles).where(created_at: @activity_day.all_day)
|
||||
Event.where(bubble: user_bubbles)
|
||||
end
|
||||
|
||||
def user_bubbles
|
||||
|
||||
@@ -29,7 +29,10 @@ module EventsHelper
|
||||
end
|
||||
|
||||
def event_next_page_link(next_day)
|
||||
tag.div id: "next_page", data: { controller: "fetch-on-visible", fetch_on_visible_url_value: events_path(day: next_day) }
|
||||
if next_day
|
||||
tag.div id: "next_page",
|
||||
data: { controller: "fetch-on-visible", fetch_on_visible_url_value: events_path(day: next_day.strftime("%Y-%m-%d")) }
|
||||
end
|
||||
end
|
||||
|
||||
def render_event_grid_cells(day, columns: 4, rows: 24)
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
<div class="events--day margin-block-end-double pad-block-end">
|
||||
<h2 class="txt-x-large margin-block-end"><%= event_day_title(activity_day) %></h2>
|
||||
<% if events.any? %>
|
||||
<h2 class="txt-x-large margin-block-end"><%= event_day_title(activity_day) %></h2>
|
||||
|
||||
<div class="center events">
|
||||
<%= render_column_headers %>
|
||||
<%= render_event_grid_cells(activity_day) %>
|
||||
<%= render_time_labels(activity_day) %>
|
||||
<div class="center events">
|
||||
<%= render_column_headers %>
|
||||
<%= render_event_grid_cells(activity_day) %>
|
||||
<%= render_time_labels(activity_day) %>
|
||||
|
||||
<% events.each do | hour_column, cluster| %>
|
||||
<%= event_cluster_tag(*hour_column) do %>
|
||||
<%= render cluster %>
|
||||
<% events.each do | hour_column, cluster| %>
|
||||
<%= event_cluster_tag(*hour_column) do %>
|
||||
<%= render cluster %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p class="events--none txt-align-center">No activity for this day.</p>
|
||||
<%= render "events/empty_days", earliest: next_day&.tomorrow&.beginning_of_day, latest: activity_day.yesterday.beginning_of_day %>
|
||||
<% else %>
|
||||
<%= render "events/empty_days", earliest: next_day&.tomorrow&.beginning_of_day, latest: activity_day.beginning_of_day %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<% if earliest.present? %>
|
||||
<% if earliest == latest %>
|
||||
<div class="events--none txt-align-center">
|
||||
<h2><%= event_day_title(earliest) %></h2>
|
||||
<p>No activity</p>
|
||||
</div>
|
||||
<% elsif earliest < latest %>
|
||||
<div class="events--none txt-align-center">
|
||||
<h2><%= event_day_title(earliest) %> - <%= event_day_title(latest) %></h2>
|
||||
<p>No activity for <%= (latest - earliest).seconds.in_days.round + 1 %> days</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<p class="events--none txt-align-center">No more activity.</p>
|
||||
<% end %>
|
||||
Reference in New Issue
Block a user