diff --git a/app/views/attendance_tracker/_course_table.erb b/app/views/attendance_tracker/_course_table.erb index caa233a..a144479 100644 --- a/app/views/attendance_tracker/_course_table.erb +++ b/app/views/attendance_tracker/_course_table.erb @@ -1,42 +1,27 @@
-
+
Lecture
+
Date
Status
Action
Recording
<% course.lectures.sort_by(&:start_time).group_by(&:week_number).each do |(week_number, lectures)| %> -
+
Week <%= week_number %> + +
+ <% total_for_week = lectures.sum { |lecture| lecture.total_overall_time }.seconds %> + <%# TODO: Improve this figure, atm it is for lectures in week, not time spent in week (ie + prepping for lecture next week will count in next week not current week) %> + <% if total_for_week > 0 %> + (Total <%= humanise_duration(lectures.sum { |lecture| lecture.total_overall_time }.seconds) %> + ) + <% end %> +
- <% lectures.each do |lecture| %> - <% status_classes = class_names({ - 'lecture-future': lecture.start_time.future?, - 'bg-purple-100': lecture == @current_lecture, - 'bg-green-100': lecture.attended?, - }) %> - -
-
- <%= lecture.title %> -
- -
- <%= render partial: 'lecture_status_icons', locals: { lecture: } %> -
- -
- <%= render partial: 'lecture_action', locals: { lecture: } %> -
- -
- <% if lecture.recording %> - <%= link_to "Open recording", lecture.recording&.recording_url %> - <% end %> -
-
- <% end %> + <%= render lectures, { div: true } %> <% end %> -
\ No newline at end of file +
diff --git a/app/views/attendance_tracker/course_focus.html.erb b/app/views/attendance_tracker/course_focus.html.erb index 737bed4..6afe7f6 100644 --- a/app/views/attendance_tracker/course_focus.html.erb +++ b/app/views/attendance_tracker/course_focus.html.erb @@ -8,14 +8,6 @@ <% end %>
-
-
-
-
-
- <%= render partial: 'course_table', locals: { course: @course, current_lecture: @current_lecture } %> -
-
-
-
+
+ <%= render partial: 'course_table', locals: { course: @course, current_lecture: @current_lecture } %>
diff --git a/app/views/attendance_tracker/overview.erb b/app/views/attendance_tracker/overview.erb index 048bc38..5464086 100644 --- a/app/views/attendance_tracker/overview.erb +++ b/app/views/attendance_tracker/overview.erb @@ -2,13 +2,21 @@

Overview

-
+
<% @courses.each do |course| %> -
-
-
- <%= render partial: 'course_table', locals: { course: course } %> -
+
+
+

<%= course.title %>

+ + <% if course.homepage.present? %> + + + + <% end %> +
+ +
+ <%= render partial: 'course_table', locals: { course: course, current_lecture: @current_lecture } %>
<% end %> diff --git a/app/views/attendance_tracker/today.html.erb b/app/views/attendance_tracker/today.html.erb index 894c501..1fa3a0f 100644 --- a/app/views/attendance_tracker/today.html.erb +++ b/app/views/attendance_tracker/today.html.erb @@ -27,11 +27,11 @@
- <%= render partial: 'lecture_status_icons', locals: { lecture: } %> + <%= render partial: 'lectures/lecture_status_icons', locals: { lecture: } %>
- <%= render partial: 'lecture_action', locals: { lecture: } %> + <%= render partial: 'lectures/lecture_action', locals: { lecture: } %>
<% end %> diff --git a/app/views/lectures/_lecture.html.erb b/app/views/lectures/_lecture.html.erb index dc743ac..295fbbb 100644 --- a/app/views/lectures/_lecture.html.erb +++ b/app/views/lectures/_lecture.html.erb @@ -1,63 +1,109 @@ - - - <%= lecture.title %> +<% if local_assigns[:div] %> + <% status_classes = class_names({ + 'lecture-future': lecture.start_time.future?, + 'bg-purple-100': lecture == @current_lecture, + 'bg-green-100': lecture.attended?, + }) %> - <% if lecture.online %> - - <% end %> - +
+
+ <%= lecture.title %> - - <%= lecture.start_time.to_fs(:dmy) %> + <% if lecture.online %> + + <% end %> +
- - +
+ <%= lecture.start_time.to_fs(:dmy) %> - - <%= render partial: 'lecture_status_icons', locals: { lecture: } %> - + +
- - <% joinable_time = lecture.start_time - 5.minutes %> - <% if joinable_time.future? %> - <%= button_to "Prepare", - lecture_start_preparation_path(id: lecture.id), - class: 'action-button' - %> - <% elsif joinable_time.past? && !lecture.attended? %> - <% start_label = if lecture.is_live? then - "Join" - else - "Start" - end %> - <%= button_to start_label, - lectures_start_path(id: lecture.id), - class: 'action-button' - %> - <% else %> -
- <%= button_to "Review", - lecture_start_review_path(id: lecture.id), +
+ <%= render partial: 'lectures/lecture_status_icons', locals: { lecture: } %> +
+ +
+ <%= render partial: 'lectures/lecture_action', locals: { lecture: } %> +
+ +
+ <% if lecture.recording %> + <%= link_to "Open recording", lecture.recording&.recording_url %> + <% end %> +
+
+<% else %> + + + <%= lecture.title %> + + <% if lecture.online %> + + <% end %> + + + + <%= lecture.start_time.to_fs(:dmy) %> + + + + + + <%= render partial: 'lectures/lecture_status_icons', locals: { lecture: } %> + + + + <% joinable_time = lecture.start_time - 5.minutes %> + <% if joinable_time.future? %> + <%= button_to "Prepare", + lecture_start_preparation_path(id: lecture.id), class: 'action-button' %> -
- <% end %> - + <% elsif joinable_time.past? && !lecture.attended? %> + <% start_label = if lecture.is_live? then + "Join" + else + "Start" + end %> + <%= button_to start_label, + lectures_start_path(id: lecture.id), + class: 'action-button' + %> + <% else %> +
+ <%= button_to "Review", + lecture_start_review_path(id: lecture.id), + class: 'action-button' + %> +
+ <% end %> + - - <% if lecture.recording %> - <%= link_to "Open recording", lecture.recording&.recording_url %> - <% end %> - - + + <% if lecture.recording %> + <%= link_to "Open recording", lecture.recording&.recording_url %> + <% end %> + + +<% end %> diff --git a/app/views/attendance_tracker/_lecture_action.html.erb b/app/views/lectures/_lecture_action.html.erb similarity index 100% rename from app/views/attendance_tracker/_lecture_action.html.erb rename to app/views/lectures/_lecture_action.html.erb diff --git a/app/views/attendance_tracker/_lecture_status_icons.html.erb b/app/views/lectures/_lecture_status_icons.html.erb similarity index 100% rename from app/views/attendance_tracker/_lecture_status_icons.html.erb rename to app/views/lectures/_lecture_status_icons.html.erb