diff --git a/app/views/attendance_tracker/_lecture_status_icons.html.erb b/app/views/attendance_tracker/_lecture_status_icons.html.erb new file mode 100644 index 0000000..a3233c4 --- /dev/null +++ b/app/views/attendance_tracker/_lecture_status_icons.html.erb @@ -0,0 +1,47 @@ +
+ <% prep_icon_class = if lecture.prepared? + 'text-green-700' + else + 'text-slate-300' + end %> + + + <% if lecture.attended? %> + <% if lecture.entirely_attended_in_person? %> + + <% else %> + + <% end %> + <% elsif lecture.is_live? %> + + <% elsif lecture.start_time.past? %> + + <% else %> +
+ <% end %> + + <% reviewed_icon_class = if lecture.start_time.future? + 'invisible' + elsif lecture.reviewed? + 'text-green-700' + else + 'text-slate-300' + end %> + +
+ + \ No newline at end of file diff --git a/app/views/attendance_tracker/today.html.erb b/app/views/attendance_tracker/today.html.erb index acaf600..96f5e5f 100644 --- a/app/views/attendance_tracker/today.html.erb +++ b/app/views/attendance_tracker/today.html.erb @@ -5,81 +5,34 @@
- - - - - - - - - - +
+
+
Course
+
Lecture
+
Status
+
Action
+
-
<% @lectures.each do |lecture| %> - - - + - - - + - - + + <% end %> - -
CourseLectureStatusAction
+ <% status_classes = class_names({ + 'lecture-future': lecture.start_time.future?, + 'bg-green-100': lecture.attended?, + }) %> + +
+
<%= lecture.course.title %> -
+ + +
<%= lecture.title %> -
-
- <% prep_icon_class = if lecture.prepared? - 'text-green-700' - else - 'text-slate-300' - end %> - +
+ <%= render partial: 'lecture_status_icons', locals: { lecture: } %> +
- <% if lecture.attended? %> - <% if lecture.entirely_attended_in_person? %> - - <% else %> - - <% end %> - <% elsif lecture.is_live? %> - - <% elsif lecture.start_time.past? %> - - <% else %> -
- <% end %> - - <% reviewed_icon_class = if lecture.start_time.future? - 'invisible' - elsif lecture.reviewed? - 'text-green-700' - else - 'text-slate-300' - end %> - -
- - -
+
<% joinable_time = lecture.start_time - 5.minutes %> <% if joinable_time.future? %> <%= button_to "Prepare", @@ -104,17 +57,16 @@ %>
<% end %> -
+
<% if lecture.recording %> <%= link_to "Open recording", lecture.recording&.recording_url %> <% end %> -
+
diff --git a/app/views/lectures/_lecture.html.erb b/app/views/lectures/_lecture.html.erb index 67b1597..9a303f0 100644 --- a/app/views/lectures/_lecture.html.erb +++ b/app/views/lectures/_lecture.html.erb @@ -10,53 +10,7 @@ -
- <% prep_icon_class = if lecture.prepared? - 'text-green-700' - else - 'text-slate-300' - end %> - - - <% if lecture.attended? %> - <% if lecture.entirely_attended_in_person? %> - - <% else %> - - <% end %> - <% elsif lecture.is_live? %> - - <% elsif lecture.start_time.past? %> - - <% else %> -
- <% end %> - - <% reviewed_icon_class = if lecture.start_time.future? - 'invisible' - elsif lecture.reviewed? - 'text-green-700' - else - 'text-slate-300' - end %> - -
- - + <%= render partial: 'lecture_status_icons', locals: { lecture: } %>