This commit is contained in:
2026-09-16 17:40:52 +02:00
parent 93914ad02a
commit c8cfe07c70
9 changed files with 1142 additions and 253 deletions
+6 -3
View File
@@ -3812,7 +3812,8 @@ body.sidebar-right-hidden #sidebar-drag-zone {
margin-right: 8px;
}
.f0ck-tuner-subtab-btn {
.f0ck-tuner-subtab-btn,
.f0ck-tuner-mode-btn {
flex: 1;
display: inline-flex;
align-items: center;
@@ -3830,12 +3831,14 @@ body.sidebar-right-hidden #sidebar-drag-zone {
white-space: nowrap;
}
.f0ck-tuner-subtab-btn:hover {
.f0ck-tuner-subtab-btn:hover,
.f0ck-tuner-mode-btn:hover {
color: #fff;
background: rgba(255, 255, 255, 0.06);
}
.f0ck-tuner-subtab-btn.active {
.f0ck-tuner-subtab-btn.active,
.f0ck-tuner-mode-btn.active {
color: #000;
background: var(--accent, #99ff00);
font-weight: 700;
+616 -153
View File
File diff suppressed because it is too large Load Diff
+18 -2
View File
@@ -1615,8 +1615,13 @@
}
}
} else if (!matchedCard && identifiers.length > 0 && currentTag && !isReCenteringFeed && !tagFeedLoading) {
// Active item belongs to current tag context but is not in currently rendered slice
// (e.g. after pressing Random in tag). Center feed around this active item!
// Active item belongs to current tag context but is not in currently rendered slice.
// If this was a pool-based random navigation, skip reload — keep existing items visible.
if (window._isPoolRandomNav) {
window._isPoolRandomNav = false;
return;
}
// Non-pool navigation (next/prev): center feed around the active item
isReCenteringFeed = true;
loadTagFeed(true, identifiers[0]).finally(() => {
isReCenteringFeed = false;
@@ -2030,6 +2035,17 @@
// Reload recommendations or sync tag feed when user triggers Random (#random, #nav-random, or 'r' key)
const handleRandomAction = () => {
// If pool-based random is active, the context hasn't changed — skip reload
if (window._randomPool && window._randomPool.items && window._randomPool.items.length > 1) {
// Context is stable (same tag/hall/user) — just highlight the new item in tag feed
const tag = getCurrentTag();
if (tag && !userManuallySelectedNonTagTab) {
// Refresh highlight in tag feed without re-fetching
setTimeout(() => highlightActiveTagCard(true), 100);
}
return;
}
// Fallback: server-side random may change context, so reload
recommendationsLoaded = false;
const tag = getCurrentTag();
if (tag) {