Implement WebGL page reserve navigation

This commit is contained in:
2026-06-08 10:25:54 +02:00
parent 3e28d7db23
commit efd1e6cfff
13 changed files with 571 additions and 52 deletions
+65
View File
@@ -2068,6 +2068,71 @@ body.webgl-mode .choice-list kbd {
opacity: 0.38;
}
#webgl_book_navigation {
position: fixed;
z-index: 52;
left: 50%;
bottom: 18px;
transform: translateX(-50%);
width: min(820px, calc(100vw - 32px));
display: grid;
grid-template-columns: 34px 34px minmax(180px, 1fr) 34px 34px;
align-items: center;
gap: 10px;
padding: 10px 12px;
box-sizing: border-box;
color: rgba(246, 231, 201, 0.94);
background: rgba(12, 9, 7, 0.62);
border: 1px solid rgba(246, 231, 201, 0.24);
border-radius: 6px;
backdrop-filter: blur(10px);
}
.webgl-book-nav-button {
width: 34px;
height: 30px;
display: grid;
place-items: center;
color: rgba(246, 231, 201, 0.94);
background: rgba(44, 28, 17, 0.74);
border: 1px solid rgba(246, 231, 201, 0.26);
border-radius: 4px;
cursor: pointer;
}
.webgl-book-nav-button:disabled {
opacity: 0.36;
cursor: var(--default-cursor, default);
}
.webgl-book-nav-slider-wrap {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(72px, auto);
align-items: center;
gap: 10px;
min-width: 0;
}
#webgl_book_nav_position {
width: 100%;
accent-color: #f0cd8e;
background:
linear-gradient(90deg,
rgba(240, 205, 142, 0.48) 0%,
rgba(240, 205, 142, 0.48) calc(var(--book-nav-written, 0) * 100%),
rgba(246, 231, 201, 0.18) calc(var(--book-nav-written, 0) * 100%),
rgba(246, 231, 201, 0.18) calc(var(--book-nav-reserve-start, 1) * 100%),
rgba(80, 40, 34, 0.58) calc(var(--book-nav-reserve-start, 1) * 100%),
rgba(80, 40, 34, 0.58) 100%);
}
.webgl-book-nav-page-label {
min-width: 72px;
text-align: right;
font-size: 13px;
line-height: 1;
}
#modal_overview {
position: fixed;
z-index: 45;