diff --git a/frontend/src/lib/components/file/FileViewer.svelte b/frontend/src/lib/components/file/FileViewer.svelte
index abc5283..d49eec3 100644
--- a/frontend/src/lib/components/file/FileViewer.svelte
+++ b/frontend/src/lib/components/file/FileViewer.svelte
@@ -499,39 +499,43 @@
{/if}
-
+
{#if prevId}
{/if}
{#if nextId}
{/if}
@@ -777,7 +781,7 @@
.preview-busy {
position: absolute;
inset: 0;
- z-index: 2;
+ z-index: 4; /* above the nav zones — an in-flight replace blocks paging */
display: flex;
flex-direction: column;
align-items: center;
@@ -818,33 +822,58 @@
background-color: #1a1010;
}
- /* ---- Nav buttons ---- */
- .nav-btn {
+ /* ---- Nav zones ----
+ Each covers the full-height left/right portion of the preview so paging
+ only needs a tap on that side, not a precise hit on the arrow. They sit
+ above the image, so over a full-width image the sides page and the centre
+ still opens the original. The dark hint gradient shows on hover only, to
+ keep photos clean on touch where there is no hover. */
+ .nav-zone {
position: absolute;
- top: 50%;
- transform: translateY(-50%);
- width: 40px;
- height: 40px;
- border-radius: 50%;
+ top: 0;
+ bottom: 0;
+ width: 30%;
+ max-width: 220px;
border: none;
- background-color: rgba(0, 0, 0, 0.55);
- color: #fff;
+ background: none;
+ padding: 0 12px;
display: flex;
align-items: center;
- justify-content: center;
cursor: pointer;
- transition: background-color 0.15s;
- }
-
- .nav-btn:hover {
- background-color: rgba(0, 0, 0, 0.8);
+ z-index: 3;
+ -webkit-tap-highlight-color: transparent;
}
.nav-prev {
- left: 10px;
+ left: 0;
+ justify-content: flex-start;
}
.nav-next {
- right: 10px;
+ right: 0;
+ justify-content: flex-end;
+ }
+
+ .nav-prev:hover {
+ background: linear-gradient(to right, rgba(0, 0, 0, 0.3), transparent);
+ }
+ .nav-next:hover {
+ background: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent);
+ }
+
+ .nav-chip {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ background-color: rgba(0, 0, 0, 0.55);
+ color: #fff;
+ transition: background-color 0.15s;
+ }
+
+ .nav-zone:hover .nav-chip {
+ background-color: rgba(0, 0, 0, 0.8);
}
/* ---- Metadata panel ---- */