diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index 717948ce1..3288fd662 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb @@ -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 diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index 6a191b795..df3b36965 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -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) diff --git a/app/views/events/_day.html.erb b/app/views/events/_day.html.erb index 97e165062..9bbfb115b 100644 --- a/app/views/events/_day.html.erb +++ b/app/views/events/_day.html.erb @@ -1,18 +1,21 @@
No activity for this day.
+ <%= 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 %>No activity
+No activity for <%= (latest - earliest).seconds.in_days.round + 1 %> days
+No more activity.
+<% end %>