From 9f0f49a3997416648a739a21ae2378cc5f88a036 Mon Sep 17 00:00:00 2001 From: rmsitz Date: Mon, 24 Aug 2026 10:37:56 -0400 Subject: [PATCH] Move File Management link into the bottom tab bar Replace the dashboard-only footer link with a "Files" item in the persistent bottom tab bar (Home/Notes/Help/Settings) on every page, so it's reachable the same way everywhere instead of only from the dashboard. Co-Authored-By: Claude Sonnet 5 --- README.md | 9 +++++---- offlineu_core.py | 2 +- templates/course_dashboard.html | 21 +++------------------ templates/help.html | 3 +++ templates/notes_hub.html | 3 +++ templates/settings.html | 3 +++ templates/unsorted.html | 3 +++ 7 files changed, 21 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index b267f42..eafe2c5 100644 --- a/README.md +++ b/README.md @@ -88,10 +88,11 @@ silently stay blank instead of erroring. - Cover art: uses a manually-placed `cover`/`folder`/`thumbnail`/`thumb`/ `poster` image if a course has one, otherwise auto-generates one via `ffmpeg` from a frame of the course's first video -- **File Management** ([/unsorted](templates/unsorted.html), linked from - Settings and from a footer link on the dashboard): a dedicated page for - everything that touches files on disk, since it needs more room than a - Settings card and warrants review before anything actually changes. +- **File Management** ([/unsorted](templates/unsorted.html), its own item + ("Files") in the bottom tab bar alongside Home/Notes/Help/Settings): a + dedicated page for everything that touches files on disk, since it needs + more room than a Settings card and warrants review before anything + actually changes. - *Sort Unsorted*: drop new/incoming courses into an `Unsorted` folder at the library root, then scan proposes a destination for each one by keyword overlap against the *existing* category tree - read fresh from disk every diff --git a/offlineu_core.py b/offlineu_core.py index e2aa2d7..5dba6aa 100644 --- a/offlineu_core.py +++ b/offlineu_core.py @@ -3588,7 +3588,7 @@ def notes_hub(): @app.route('/unsorted') def unsorted_page(): """Review page for filing new courses out of the Unsorted folder - see /api/unsorted/scan for the actual proposals.""" - return render_template('unsorted.html', active_tab=None) + return render_template('unsorted.html', active_tab='files') @app.route('/library/search-transcripts') diff --git a/templates/course_dashboard.html b/templates/course_dashboard.html index c3b91c6..07cb122 100644 --- a/templates/course_dashboard.html +++ b/templates/course_dashboard.html @@ -197,21 +197,6 @@ transform: translateY(0); } - .page-footer-link { - text-align: center; - padding: 24px 0 8px; - } - .page-footer-link a { - color: var(--text-muted); - text-decoration: none; - display: inline-flex; - align-items: center; - gap: 6px; - font-size: 0.85em; - } - .page-footer-link a:hover { - color: var(--accent); - } .bottom-tab-bar { position: fixed; left: 0; @@ -1329,9 +1314,6 @@ {% endif %} {% endif %} -
diff --git a/templates/help.html b/templates/help.html index f83ad65..16d9efb 100644 --- a/templates/help.html +++ b/templates/help.html @@ -239,6 +239,9 @@ {{ icons.icon('settings', 20) }}Settings + + {{ icons.icon('folder', 20) }}Files + diff --git a/templates/notes_hub.html b/templates/notes_hub.html index 8931ade..164f874 100644 --- a/templates/notes_hub.html +++ b/templates/notes_hub.html @@ -282,6 +282,9 @@ {{ icons.icon('settings', 20) }}Settings + + {{ icons.icon('folder', 20) }}Files + diff --git a/templates/unsorted.html b/templates/unsorted.html index 0e3b335..c1f5ad0 100644 --- a/templates/unsorted.html +++ b/templates/unsorted.html @@ -562,6 +562,9 @@ {{ icons.icon('settings', 20) }}Settings + + {{ icons.icon('folder', 20) }}Files +