diff --git a/viewer/directory.py b/viewer/directory.py index e13f02c..ddd19d9 100644 --- a/viewer/directory.py +++ b/viewer/directory.py @@ -153,6 +153,22 @@ def render_directory(request, path_text, full_path): search_action_query = {"sort": sort_key, "theme": theme} + # Back (directory) and Home (root) links and thumbnails + dir_rel = None + try: + # derive directory path text relative to gallery root + dir_rel = full_path.parent.relative_to(settings.GALLERY_ROOT) + dir_text = str(dir_rel).replace("\\", "/") + except Exception: + dir_text = "" + + back_url = gallery_url( + Path(dir_text) if dir_text != "" else None, True, query_state + ) + back_thumb = get_first_image_thumbnail_url(full_path.parent) + home_url = gallery_url(None, True, query_state) + home_thumb = get_first_image_thumbnail_url(settings.GALLERY_ROOT) + context = { "path": path_text, "search_text": search_text, @@ -163,6 +179,10 @@ def render_directory(request, path_text, full_path): "breadcrumbs": build_breadcrumbs(path_text, query_state), "images": image_data, "subdirs": subdir_data, + "back_url": back_url, + "back_thumb": back_thumb, + "home_url": home_url, + "home_thumb": home_thumb, "theme_toggle_url": append_query( "/gallery/toggle-settings/", theme_toggle_query ), diff --git a/viewer/templates/gallery_view.html b/viewer/templates/gallery_view.html index a35f7d7..7da9b18 100644 --- a/viewer/templates/gallery_view.html +++ b/viewer/templates/gallery_view.html @@ -47,6 +47,28 @@ Most visited Recently visited + {% if path != '' %} +
+ + + {% if back_thumb %} + back thumb + {% else %} + + {% endif %} + Back + + + + {% if home_thumb %} + home thumb + {% else %} + + {% endif %} + Home + + {% endif %} +