Move sidebar left, add collapse toggle and remembered sections

- Course outline sidebar now sits on the left of the player instead
  of the right (mobile stacking order unchanged - video still first).
- Collapsible to a slim rail via a toggle button, remembered per
  device, for a full-width player when wanted.
- Which sections a user has manually expanded is now remembered
  (keyed by the section's path) and shared between the lesson-page
  sidebar and the dashboard's course view, so re-opening a course
  doesn't reset everything back to collapsed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 09:41:52 -04:00
co-authored by Claude Sonnet 5
parent 0ed531503e
commit becbb0b419
6 changed files with 156 additions and 34 deletions
+8 -5
View File
@@ -225,12 +225,15 @@ silently stay blank instead of erroring.
**Playback & progress**
- Video/audio player with resize, playback-speed presets, and resume-from-
last-position
- Course outline sidebar on the lesson page: every section and lesson in
the course (videos and documents alike - a standalone PDF/doc is its own
entry, same as a video), one click to jump anywhere without backing out
to the course page first. The current lesson's section opens
automatically and scrolls into view; sticky and independently
- Course outline sidebar on the lesson page (left side): every section and
lesson in the course (videos and documents alike - a standalone PDF/doc
is its own entry, same as a video), one click to jump anywhere without
backing out to the course page first. The current lesson's section
opens automatically and scrolls into view; sticky and independently
scrollable on desktop, stacks below the player on narrow viewports.
Collapsible to a slim rail (remembered per device) for a full-width
player, and which sections you've manually expanded is remembered too,
so re-opening a course doesn't reset everything back to collapsed.
Shares its rendering with the loaded-course dashboard view (`templates/
_course_tree.html`), so the two always look and behave the same.
- Auto-play next lesson when one ends, with a cancelable few-second