hgfd
This commit is contained in:
+91
-10
@@ -42,6 +42,8 @@
|
||||
--x2154: #215483;
|
||||
--bg-canvas-opacity: 1.0;
|
||||
--bg-canvas-blur: 30px;
|
||||
--bg-canvas-color: transparent;
|
||||
--bg-canvas-color-opacity: 0.0;
|
||||
--onara-bg-opacity: 0.7;
|
||||
--onara-backdrop-blur: 5px;
|
||||
--onara-grid-dim-opacity: 0.38;
|
||||
@@ -3270,6 +3272,27 @@ body.sidebar-right-hidden #sidebar-drag-zone {
|
||||
will-change: transform, box-shadow, border-color;
|
||||
}
|
||||
|
||||
/* Motion trail ghost — faint blurred echo of the eye that smears on fast movement */
|
||||
.eye-trail-ghost {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: clamp(300px, 72vmin, 700px);
|
||||
height: clamp(300px, 72vmin, 700px);
|
||||
max-width: calc(100% - 60px);
|
||||
max-height: calc(100% - 80px);
|
||||
border-radius: 50%;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-color: transparent;
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
opacity: 0;
|
||||
will-change: transform, opacity, filter;
|
||||
mix-blend-mode: screen;
|
||||
}
|
||||
|
||||
.audio-eye-inner-canvas {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
@@ -3280,6 +3303,16 @@ body.sidebar-right-hidden #sidebar-drag-zone {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.audio-void-outer-canvas {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.audio-cover-circle i {
|
||||
font-size: 3.4rem;
|
||||
color: var(--accent);
|
||||
@@ -3365,10 +3398,10 @@ body.sidebar-right-hidden #sidebar-drag-zone {
|
||||
.v0ck.v0ck_fullscreen .audio-cover-circle,
|
||||
#main:fullscreen .v0ck.v0ck_fullscreen .audio-cover-circle,
|
||||
#onara-modal:fullscreen .v0ck.v0ck_fullscreen .audio-cover-circle {
|
||||
width: clamp(260px, 56vmin, 560px);
|
||||
height: clamp(260px, 56vmin, 560px);
|
||||
max-width: calc(100% - 80px);
|
||||
max-height: calc(100% - 100px);
|
||||
width: clamp(300px, 72vmin, 700px);
|
||||
height: clamp(300px, 72vmin, 700px);
|
||||
max-width: calc(100% - 60px);
|
||||
max-height: calc(100% - 80px);
|
||||
}
|
||||
|
||||
.v0ck:fullscreen .audio-cover-circle i,
|
||||
@@ -10365,6 +10398,7 @@ div.favs div.posts {
|
||||
opacity: var(--bg-canvas-opacity, 1.0);
|
||||
filter: var(--bg-canvas-filter, none);
|
||||
-webkit-filter: var(--bg-canvas-filter, none);
|
||||
background-color: var(--bg-canvas-color, transparent);
|
||||
}
|
||||
|
||||
button#togglebg {
|
||||
@@ -20816,6 +20850,24 @@ body.onara-modal-open .posts > a.thumb.onara-active::after {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
body.onara-modal-open .posts > a.thumb.loaded {
|
||||
opacity: 1 !important;
|
||||
filter: none !important;
|
||||
z-index: 50 !important;
|
||||
position: relative !important;
|
||||
}
|
||||
|
||||
body.onara-modal-open #bg,
|
||||
body.onara-modal-open #bg.fader-in,
|
||||
body.onara-modal-open #bg.fader-out,
|
||||
body.onara-modal-open #bg.fast-fade {
|
||||
z-index: 51 !important;
|
||||
cursor: pointer !important;
|
||||
transition: none !important;
|
||||
animation: none !important;
|
||||
opacity: var(--bg-canvas-opacity, 1.0) !important;
|
||||
}
|
||||
|
||||
/* Navbar and right sidebar stay fully visible, sharp, and interactive */
|
||||
body.onara-modal-open nav.navbar {
|
||||
opacity: 1 !important;
|
||||
@@ -20885,7 +20937,7 @@ body.onara-modal-open .admin-bar.open {
|
||||
transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1),
|
||||
transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
|
||||
right 0.3s ease-in-out !important;
|
||||
cursor: default;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.onara-modal-wrapper::-webkit-scrollbar {
|
||||
@@ -20962,7 +21014,7 @@ body.sidebar-right-hidden .onara-modal-wrapper {
|
||||
height: 100% !important;
|
||||
min-height: 100% !important;
|
||||
z-index: 1 !important;
|
||||
cursor: default;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.onara-modal-content {
|
||||
@@ -20977,7 +21029,7 @@ body.sidebar-right-hidden .onara-modal-wrapper {
|
||||
flex: 1 0 auto !important;
|
||||
padding: 20px 0 80px 0 !important;
|
||||
box-sizing: border-box !important;
|
||||
cursor: default;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#onara-item-mount {
|
||||
@@ -20986,7 +21038,7 @@ body.sidebar-right-hidden .onara-modal-wrapper {
|
||||
flex-direction: column !important;
|
||||
align-items: center !important;
|
||||
justify-content: flex-start !important;
|
||||
cursor: default;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Center the item layout inside modal and make it 100% scrollable */
|
||||
@@ -21008,13 +21060,13 @@ body.layout-modern #onara-modal .item-layout-container {
|
||||
box-sizing: border-box !important;
|
||||
grid-template-columns: none !important;
|
||||
grid-template-rows: none !important;
|
||||
cursor: default;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#onara-modal .item-main-content,
|
||||
body.layout-legacy #onara-modal .item-layout-container .item-main-content,
|
||||
body.layout-modern #onara-modal .item-layout-container .item-main-content {
|
||||
cursor: default !important;
|
||||
cursor: pointer !important;
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
align-items: center !important;
|
||||
@@ -21035,6 +21087,35 @@ body.layout-modern #onara-modal .item-layout-container .item-main-content {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#onara-modal .item-main-content > *,
|
||||
#onara-modal .content,
|
||||
#onara-modal ._204863,
|
||||
#onara-modal .item_title,
|
||||
#onara-modal .item-title,
|
||||
#onara-modal .metadata,
|
||||
#onara-modal #comments-container,
|
||||
#onara-modal .item-sidebar-left,
|
||||
#onara-modal .media-object,
|
||||
#onara-modal .v0ck {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
#onara-modal a,
|
||||
#onara-modal button,
|
||||
#onara-modal .btn,
|
||||
#onara-modal [role="button"],
|
||||
#onara-modal label,
|
||||
#onara-modal .rating-tag,
|
||||
#onara-modal .sidebar-tag {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#onara-modal input,
|
||||
#onara-modal textarea,
|
||||
#onara-modal [contenteditable="true"] {
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
#onara-modal .item-main-content > * {
|
||||
width: 100% !important;
|
||||
max-width: 800px !important;
|
||||
|
||||
+10
-2
@@ -107,8 +107,16 @@
|
||||
if (canManage) {
|
||||
span.classList.add('can-cycle');
|
||||
}
|
||||
} else if (!window.f0ckSession?.is_anonymized && window.f0ckSession?.logged_in && !window.f0ckSession?.is_anon && (tag.display_name || tag.user)) {
|
||||
span.setAttribute("tooltip", tag.display_name || tag.user);
|
||||
} else {
|
||||
span.classList.add('tag-badge');
|
||||
span.setAttribute('data-tag-id', tag.id || '');
|
||||
span.setAttribute('data-tag', tag.tag);
|
||||
span.setAttribute('data-tag-normalized', tag.normalized);
|
||||
if (!window.f0ckSession?.is_anonymized && window.f0ckSession?.logged_in && !window.f0ckSession?.is_anon && (tag.display_name || tag.user)) {
|
||||
span.setAttribute("tooltip", tag.display_name || tag.user);
|
||||
}
|
||||
const isExcl = !!tag.is_excluded;
|
||||
if (isExcl) span.classList.add('tag-is-excluded');
|
||||
}
|
||||
|
||||
span.appendChild(contentEl);
|
||||
|
||||
+1177
-47
File diff suppressed because it is too large
Load Diff
+18
-12
@@ -1585,19 +1585,25 @@
|
||||
});
|
||||
};
|
||||
|
||||
setupAudioTuningSlider('onara_bg_opacity_slider', 'onara_bg_opacity_val', 'onaraBgOpacity', 0.70, v => Math.round(v * 100) + '%');
|
||||
setupAudioTuningSlider('onara_backdrop_blur_slider', 'onara_backdrop_blur_val', 'onaraBackdropBlur', 5, v => Math.round(v) + 'px');
|
||||
setupAudioTuningSlider('onara_grid_dim_slider', 'onara_grid_dim_val', 'onaraGridDim', 0.38, v => Math.round(v * 100) + '%');
|
||||
setupAudioTuningSlider('bg_canvas_opacity_slider', 'bg_canvas_opacity_val', 'bgCanvasOpacity', 1.00, v => Math.round(v * 100) + '%');
|
||||
setupAudioTuningSlider('bg_canvas_blur_slider', 'bg_canvas_blur_val', 'bgCanvasBlur', 30, v => Math.round(v) + 'px');
|
||||
setupAudioTuningSlider('bg_canvas_brightness_slider', 'bg_canvas_brightness_val', 'bgCanvasBrightness', 0.45, v => Number(v).toFixed(2) + 'x');
|
||||
setupAudioTuningSlider('bg_canvas_saturate_slider', 'bg_canvas_saturate_val', 'bgCanvasSaturate', 1.8, v => Number(v).toFixed(2) + 'x');
|
||||
setupAudioTuningSlider('bg_canvas_contrast_slider', 'bg_canvas_contrast_val', 'bgCanvasContrast', 1.1, v => Number(v).toFixed(2) + 'x');
|
||||
setupAudioTuningSlider('bg_canvas_zoom_slider', 'bg_canvas_zoom_val', 'bgCanvasZoom', 1.12, v => Number(v).toFixed(2) + 'x');
|
||||
|
||||
// Blur Engine slider — shows friendly label text instead of raw number
|
||||
const blurMethodNames = ['Canvas 2D', 'GPU CSS Filter', 'Hybrid'];
|
||||
setupAudioTuningSlider('bg_blur_method_slider', 'bg_blur_method_val', 'bgBlurMethod', 0, v => blurMethodNames[Math.round(v)] || String(Math.round(v)), v => Math.round(Number(v)));
|
||||
// Onara enable/disable toggle (localStorage only — no server round-trip needed)
|
||||
const onaraEnabledToggle = document.getElementById('onara_enabled_toggle');
|
||||
if (onaraEnabledToggle) {
|
||||
const LS_KEY = 'f0ck_onara_enabled';
|
||||
// Seed checkbox from localStorage; fall back to the server-set session value
|
||||
const stored = localStorage.getItem(LS_KEY);
|
||||
const sessionOnara = !!(window.f0ckSession?.onara);
|
||||
onaraEnabledToggle.checked = stored !== null ? stored === 'true' : sessionOnara;
|
||||
// Reflect current state into window.onara so isOnaraActive() sees it
|
||||
window.onara = onaraEnabledToggle.checked;
|
||||
|
||||
onaraEnabledToggle.addEventListener('change', () => {
|
||||
const enabled = onaraEnabledToggle.checked;
|
||||
localStorage.setItem(LS_KEY, String(enabled));
|
||||
window.onara = enabled;
|
||||
showStatus('Onara viewer ' + (enabled ? 'enabled' : 'disabled') + '.', 'success');
|
||||
});
|
||||
}
|
||||
|
||||
// Quote Emojis Toggle
|
||||
const quoteEmojisToggle = document.getElementById('quote_emojis_toggle');
|
||||
|
||||
@@ -198,7 +198,9 @@ window.escapeHtmlUpload = window.escapeHtmlUpload || ((unsafe) => {
|
||||
tag_id: item.rating_tag_id || item.tag_id || 0,
|
||||
is_oc: !!item.is_oc,
|
||||
slug: item.slug,
|
||||
visibility: item.visibility || 0
|
||||
visibility: item.visibility || 0,
|
||||
is_album: !!item.is_album,
|
||||
album_count: item.album_count || 0
|
||||
});
|
||||
}
|
||||
})
|
||||
@@ -3068,7 +3070,9 @@ window.initUploadForm = (selector) => {
|
||||
tag_id: res.tag_id ?? 0,
|
||||
is_oc: !!res.is_oc,
|
||||
slug: res.slug,
|
||||
visibility: res.visibility || 0
|
||||
visibility: res.visibility || 0,
|
||||
is_album: !!res.is_album,
|
||||
album_count: res.album_count || 0
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3320,7 +3324,9 @@ window.initUploadForm = (selector) => {
|
||||
tag_id: up.tag_id ?? 0,
|
||||
is_oc: !!up.is_oc,
|
||||
slug: up.slug,
|
||||
visibility: up.visibility || 0
|
||||
visibility: up.visibility || 0,
|
||||
is_album: !!up.is_album,
|
||||
album_count: up.album_count || 0
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+20
-2
@@ -103,12 +103,30 @@
|
||||
if (canManage) {
|
||||
span.classList.add('can-cycle');
|
||||
}
|
||||
} else if (!window.f0ckSession?.is_anonymized && window.f0ckSession?.logged_in && !window.f0ckSession?.is_anon && (tag.display_name || tag.user)) {
|
||||
span.setAttribute('tooltip', tag.display_name || tag.user);
|
||||
} else {
|
||||
span.classList.add('tag-badge');
|
||||
span.setAttribute('data-tag-id', tag.id || '');
|
||||
span.setAttribute('data-tag', tag.tag);
|
||||
span.setAttribute('data-tag-normalized', tag.normalized);
|
||||
if (!window.f0ckSession?.is_anonymized && window.f0ckSession?.logged_in && !window.f0ckSession?.is_anon && (tag.display_name || tag.user)) {
|
||||
span.setAttribute('tooltip', tag.display_name || tag.user);
|
||||
}
|
||||
const isExcl = !!tag.is_excluded;
|
||||
if (isExcl) span.classList.add('tag-is-excluded');
|
||||
}
|
||||
|
||||
span.insertAdjacentElement("beforeend", contentEl);
|
||||
|
||||
if (!isRating && tag.can_exclude) {
|
||||
const excludeBtn = document.createElement('button');
|
||||
excludeBtn.type = 'button';
|
||||
excludeBtn.className = 'tag-exclude-btn';
|
||||
excludeBtn.setAttribute('title', tag.is_excluded ? 'Excluded (click to unexclude)' : 'Exclude tag');
|
||||
excludeBtn.setAttribute('aria-label', 'Exclude tag');
|
||||
excludeBtn.innerHTML = `<i class="fa-solid ${tag.is_excluded ? 'fa-circle-check' : 'fa-ban'}"></i>`;
|
||||
span.insertAdjacentElement('beforeend', excludeBtn);
|
||||
}
|
||||
|
||||
if (window.f0ckSession && (window.f0ckSession.is_admin || window.f0ckSession.is_moderator) && !isRating) {
|
||||
const space = document.createTextNode('\u00A0'); //
|
||||
span.appendChild(space);
|
||||
|
||||
Reference in New Issue
Block a user