yes i need i need my samurai
This commit is contained in:
+48
-12
@@ -5727,27 +5727,27 @@ body.layout-modern.sidebar-right-hidden .pagination-container-fluid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.content.slide-next {
|
.content.slide-next {
|
||||||
animation: contentSlideInRight 0.65s cubic-bezier(0.16, 1, 0.3, 1) both;
|
animation: contentSlideInRight 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content.slide-prev {
|
.content.slide-prev {
|
||||||
animation: contentSlideInLeft 0.65s cubic-bezier(0.16, 1, 0.3, 1) both;
|
animation: contentSlideInLeft 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content.slide-out-left {
|
.content.slide-out-left {
|
||||||
animation: contentSlideOutLeft 0.38s cubic-bezier(0.3, 0, 0.8, 1) forwards !important;
|
animation: contentSlideOutLeft 0.22s cubic-bezier(0.3, 0, 0.8, 1) forwards !important;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content.slide-out-right {
|
.content.slide-out-right {
|
||||||
animation: contentSlideOutRight 0.38s cubic-bezier(0.3, 0, 0.8, 1) forwards !important;
|
animation: contentSlideOutRight 0.22s cubic-bezier(0.3, 0, 0.8, 1) forwards !important;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes contentSlideIn {
|
@keyframes contentSlideIn {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(24px) scale(0.96);
|
transform: translateY(20px) scale(0.97);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
@@ -5757,37 +5757,45 @@ body.layout-modern.sidebar-right-hidden .pagination-container-fluid {
|
|||||||
|
|
||||||
@keyframes contentSlideInRight {
|
@keyframes contentSlideInRight {
|
||||||
0% {
|
0% {
|
||||||
transform: translateX(120px) scale(0.95);
|
opacity: 0;
|
||||||
|
transform: translateX(70px) scale(0.97);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
|
opacity: 1;
|
||||||
transform: translateX(0) scale(1);
|
transform: translateX(0) scale(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes contentSlideInLeft {
|
@keyframes contentSlideInLeft {
|
||||||
0% {
|
0% {
|
||||||
transform: translateX(-120px) scale(0.95);
|
opacity: 0;
|
||||||
|
transform: translateX(-70px) scale(0.97);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
|
opacity: 1;
|
||||||
transform: translateX(0) scale(1);
|
transform: translateX(0) scale(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes contentSlideOutLeft {
|
@keyframes contentSlideOutLeft {
|
||||||
0% {
|
0% {
|
||||||
|
opacity: 1;
|
||||||
transform: translateX(0) scale(1);
|
transform: translateX(0) scale(1);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
transform: translateX(-120px) scale(0.95);
|
opacity: 0;
|
||||||
|
transform: translateX(-70px) scale(0.97);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes contentSlideOutRight {
|
@keyframes contentSlideOutRight {
|
||||||
0% {
|
0% {
|
||||||
|
opacity: 1;
|
||||||
transform: translateX(0) scale(1);
|
transform: translateX(0) scale(1);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
transform: translateX(120px) scale(0.95);
|
opacity: 0;
|
||||||
|
transform: translateX(70px) scale(0.97);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18834,13 +18842,30 @@ body.onara-modal-open #sidebar-drag-zone {
|
|||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
overscroll-behavior: contain !important;
|
overscroll-behavior: contain !important;
|
||||||
box-sizing: border-box !important;
|
box-sizing: border-box !important;
|
||||||
animation: onaraFadeIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
opacity: 0;
|
||||||
transition: right 0.3s ease-in-out !important;
|
transform: scale(0.99);
|
||||||
|
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: default;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.onara-modal-open .onara-modal-wrapper {
|
body.onara-modal-open .onara-modal-wrapper,
|
||||||
|
.onara-modal-wrapper.onara-fade-in {
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
transform: scale(1) !important;
|
||||||
|
pointer-events: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.onara-modal-wrapper.onara-fade-out {
|
||||||
|
display: flex !important;
|
||||||
|
opacity: 0 !important;
|
||||||
|
transform: scale(0.99) !important;
|
||||||
|
pointer-events: none !important;
|
||||||
|
transition: opacity 0.24s cubic-bezier(0.3, 0, 0.8, 1),
|
||||||
|
transform 0.24s cubic-bezier(0.3, 0, 0.8, 1),
|
||||||
|
right 0.3s ease-in-out !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sidebar hidden: modal expands to right edge */
|
/* Sidebar hidden: modal expands to right edge */
|
||||||
@@ -18876,6 +18901,17 @@ body.sidebar-right-hidden .onara-modal-wrapper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes onaraFadeOut {
|
||||||
|
from {
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 0;
|
||||||
|
transform: scale(0.99);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.onara-backdrop {
|
.onara-backdrop {
|
||||||
position: absolute !important;
|
position: absolute !important;
|
||||||
top: 0 !important;
|
top: 0 !important;
|
||||||
|
|||||||
@@ -114,7 +114,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.v0ck_hidden {
|
.v0ck_hidden {
|
||||||
display: none;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v0ck_player_controls svg {
|
.v0ck_player_controls svg {
|
||||||
|
|||||||
+69
-20
@@ -1076,6 +1076,23 @@ window.cancelAnimFrame = (function () {
|
|||||||
return modal;
|
return modal;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const openOnaraModal = () => {
|
||||||
|
const modal = getOrCreateOnaraModal();
|
||||||
|
if (modal._closeTimeout) {
|
||||||
|
clearTimeout(modal._closeTimeout);
|
||||||
|
modal._closeTimeout = null;
|
||||||
|
}
|
||||||
|
modal._isClosing = false;
|
||||||
|
document.body.classList.add('onara-modal-open');
|
||||||
|
modal.style.display = 'flex';
|
||||||
|
modal.setAttribute('aria-hidden', 'false');
|
||||||
|
modal.classList.remove('onara-fade-out');
|
||||||
|
void modal.offsetWidth; // Force reflow so transition starts reliably
|
||||||
|
modal.classList.add('onara-fade-in');
|
||||||
|
return modal;
|
||||||
|
};
|
||||||
|
window.openOnaraModal = openOnaraModal;
|
||||||
|
|
||||||
const updateOnaraActiveItem = (itemid, url) => {
|
const updateOnaraActiveItem = (itemid, url) => {
|
||||||
if (!isOnaraActive()) return;
|
if (!isOnaraActive()) return;
|
||||||
// Clear onara-active from any and all elements to guarantee only 1 item is selected
|
// Clear onara-active from any and all elements to guarantee only 1 item is selected
|
||||||
@@ -1145,7 +1162,9 @@ window.cancelAnimFrame = (function () {
|
|||||||
|
|
||||||
const closeOnaraModal = (options = {}) => {
|
const closeOnaraModal = (options = {}) => {
|
||||||
const modal = document.getElementById('onara-modal');
|
const modal = document.getElementById('onara-modal');
|
||||||
if (!modal || modal.style.display === 'none') return;
|
if (!modal || modal.style.display === 'none' || modal._isClosing) return;
|
||||||
|
|
||||||
|
modal._isClosing = true;
|
||||||
|
|
||||||
// Close any auxiliary modals that may be open
|
// Close any auxiliary modals that may be open
|
||||||
const infoModal = document.getElementById('info-modal');
|
const infoModal = document.getElementById('info-modal');
|
||||||
@@ -1159,11 +1178,12 @@ window.cancelAnimFrame = (function () {
|
|||||||
if (typeof window.closeImageModal === 'function') window.closeImageModal();
|
if (typeof window.closeImageModal === 'function') window.closeImageModal();
|
||||||
document.body.classList.remove('modal-open');
|
document.body.classList.remove('modal-open');
|
||||||
|
|
||||||
stopMedia();
|
// Pause any playing media immediately
|
||||||
const mount = document.getElementById('onara-item-mount');
|
modal.querySelectorAll('video, audio').forEach(el => { try { el.pause(); } catch {} });
|
||||||
if (mount) mount.innerHTML = '';
|
|
||||||
modal.style.display = 'none';
|
// Smooth fade out
|
||||||
modal.setAttribute('aria-hidden', 'true');
|
modal.classList.remove('onara-fade-in');
|
||||||
|
modal.classList.add('onara-fade-out');
|
||||||
document.body.classList.remove('onara-modal-open');
|
document.body.classList.remove('onara-modal-open');
|
||||||
|
|
||||||
// Restore background canvas if needed
|
// Restore background canvas if needed
|
||||||
@@ -1193,6 +1213,31 @@ window.cancelAnimFrame = (function () {
|
|||||||
activeThumb.focus({ preventScroll: true });
|
activeThumb.focus({ preventScroll: true });
|
||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (modal._closeTimeout) clearTimeout(modal._closeTimeout);
|
||||||
|
if (options.immediate) {
|
||||||
|
stopMedia();
|
||||||
|
const mount = document.getElementById('onara-item-mount');
|
||||||
|
if (mount) mount.innerHTML = '';
|
||||||
|
modal.style.display = 'none';
|
||||||
|
modal.setAttribute('aria-hidden', 'true');
|
||||||
|
modal.classList.remove('onara-fade-out', 'onara-fade-in');
|
||||||
|
modal._isClosing = false;
|
||||||
|
modal._closeTimeout = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
modal._closeTimeout = setTimeout(() => {
|
||||||
|
if (!modal._isClosing) return;
|
||||||
|
stopMedia();
|
||||||
|
const mount = document.getElementById('onara-item-mount');
|
||||||
|
if (mount) mount.innerHTML = '';
|
||||||
|
modal.style.display = 'none';
|
||||||
|
modal.setAttribute('aria-hidden', 'true');
|
||||||
|
modal.classList.remove('onara-fade-out');
|
||||||
|
modal._isClosing = false;
|
||||||
|
modal._closeTimeout = null;
|
||||||
|
}, 240);
|
||||||
};
|
};
|
||||||
window.closeOnaraModal = closeOnaraModal;
|
window.closeOnaraModal = closeOnaraModal;
|
||||||
window.isOnaraActive = isOnaraActive;
|
window.isOnaraActive = isOnaraActive;
|
||||||
@@ -1891,11 +1936,7 @@ window.cancelAnimFrame = (function () {
|
|||||||
if (!isOnaraActive()) return;
|
if (!isOnaraActive()) return;
|
||||||
promoteOnaraModals();
|
promoteOnaraModals();
|
||||||
if (document.body.classList.contains('onara-modal-open')) {
|
if (document.body.classList.contains('onara-modal-open')) {
|
||||||
const modal = document.getElementById('onara-modal');
|
const modal = openOnaraModal();
|
||||||
if (modal) {
|
|
||||||
modal.style.display = 'flex';
|
|
||||||
modal.setAttribute('aria-hidden', 'false');
|
|
||||||
}
|
|
||||||
if (!window._onaraReturnUrl) {
|
if (!window._onaraReturnUrl) {
|
||||||
window._onaraReturnUrl = getOnaraBaseUrl();
|
window._onaraReturnUrl = getOnaraBaseUrl();
|
||||||
window._onaraReturnTitle = window.f0ckDomain || 'f0ck';
|
window._onaraReturnTitle = window.f0ckDomain || 'f0ck';
|
||||||
@@ -3767,9 +3808,13 @@ window.cancelAnimFrame = (function () {
|
|||||||
const _m = document.getElementById('main');
|
const _m = document.getElementById('main');
|
||||||
if (_m) ['height', 'overflow'].forEach(p => _m.style.removeProperty(p));
|
if (_m) ['height', 'overflow'].forEach(p => _m.style.removeProperty(p));
|
||||||
// Stop all media
|
// Stop all media
|
||||||
|
if (options.direction) {
|
||||||
|
document.querySelectorAll('video:not(#gchat-messages video), audio:not(#gchat-messages audio)').forEach(el => { try { el.pause(); } catch {} });
|
||||||
|
} else {
|
||||||
document.querySelectorAll('video:not(#gchat-messages video), audio:not(#gchat-messages audio)').forEach(el => { try { el.pause(); el.removeAttribute('src'); el.load(); } catch {} });
|
document.querySelectorAll('video:not(#gchat-messages video), audio:not(#gchat-messages audio)').forEach(el => { try { el.pause(); el.removeAttribute('src'); el.load(); } catch {} });
|
||||||
document.querySelectorAll('ruffle-player').forEach(el => { try { el.remove(); } catch {} });
|
document.querySelectorAll('ruffle-player').forEach(el => { try { el.remove(); } catch {} });
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Dispatch pjax:start so navigation-aware listeners (e.g. metadata modal, image modal) can react
|
// Dispatch pjax:start so navigation-aware listeners (e.g. metadata modal, image modal) can react
|
||||||
if (!options.keepMedia) {
|
if (!options.keepMedia) {
|
||||||
@@ -3789,7 +3834,11 @@ window.cancelAnimFrame = (function () {
|
|||||||
// Reverted to native-only
|
// Reverted to native-only
|
||||||
|
|
||||||
if (!options.keepMedia) {
|
if (!options.keepMedia) {
|
||||||
stopMedia(); // Abort previous media immediately
|
if (!options.direction) {
|
||||||
|
stopMedia(); // Abort previous media immediately if not sliding out
|
||||||
|
} else {
|
||||||
|
document.querySelectorAll('video:not(#gchat-messages video), audio:not(#gchat-messages audio)').forEach(el => { try { el.pause(); } catch {} });
|
||||||
|
}
|
||||||
|
|
||||||
// Fade out background canvas for smooth transition
|
// Fade out background canvas for smooth transition
|
||||||
const canvas = document.getElementById('bg');
|
const canvas = document.getElementById('bg');
|
||||||
@@ -3958,12 +4007,10 @@ window.cancelAnimFrame = (function () {
|
|||||||
let _container;
|
let _container;
|
||||||
|
|
||||||
if (useOnara) {
|
if (useOnara) {
|
||||||
const onaraModal = getOrCreateOnaraModal();
|
const onaraModal = openOnaraModal();
|
||||||
const onaraMount = document.getElementById('onara-item-mount');
|
const onaraMount = document.getElementById('onara-item-mount');
|
||||||
document.body.classList.add('onara-modal-open');
|
|
||||||
onaraModal.style.display = 'flex';
|
|
||||||
onaraModal.setAttribute('aria-hidden', 'false');
|
|
||||||
if (!options.keepMedia) {
|
if (!options.keepMedia) {
|
||||||
|
stopMedia();
|
||||||
onaraMount.innerHTML = '';
|
onaraMount.innerHTML = '';
|
||||||
}
|
}
|
||||||
_container = onaraMount;
|
_container = onaraMount;
|
||||||
@@ -3990,10 +4037,12 @@ window.cancelAnimFrame = (function () {
|
|||||||
main.className = 'item-view';
|
main.className = 'item-view';
|
||||||
ensureLayoutClass();
|
ensureLayoutClass();
|
||||||
if (window.syncNavbarHeight) window.syncNavbarHeight();
|
if (window.syncNavbarHeight) window.syncNavbarHeight();
|
||||||
|
stopMedia();
|
||||||
main.innerHTML = '';
|
main.innerHTML = '';
|
||||||
_container = main;
|
_container = main;
|
||||||
}
|
}
|
||||||
} else if (_container && !options.keepMedia) {
|
} else if (_container && !options.keepMedia) {
|
||||||
|
stopMedia();
|
||||||
_container.innerHTML = '';
|
_container.innerHTML = '';
|
||||||
_container.removeAttribute('style');
|
_container.removeAttribute('style');
|
||||||
if (main) main.className = 'item-view';
|
if (main) main.className = 'item-view';
|
||||||
@@ -4142,12 +4191,10 @@ window.cancelAnimFrame = (function () {
|
|||||||
let container;
|
let container;
|
||||||
|
|
||||||
if (useOnara) {
|
if (useOnara) {
|
||||||
const onaraModal = getOrCreateOnaraModal();
|
const onaraModal = openOnaraModal();
|
||||||
const onaraMount = document.getElementById('onara-item-mount');
|
const onaraMount = document.getElementById('onara-item-mount');
|
||||||
document.body.classList.add('onara-modal-open');
|
|
||||||
onaraModal.style.display = 'flex';
|
|
||||||
onaraModal.setAttribute('aria-hidden', 'false');
|
|
||||||
if (!options.keepMedia) {
|
if (!options.keepMedia) {
|
||||||
|
stopMedia();
|
||||||
onaraMount.innerHTML = '';
|
onaraMount.innerHTML = '';
|
||||||
}
|
}
|
||||||
container = onaraMount;
|
container = onaraMount;
|
||||||
@@ -4188,11 +4235,13 @@ window.cancelAnimFrame = (function () {
|
|||||||
// Toggle button lives permanently in body via header.html — no creation needed
|
// Toggle button lives permanently in body via header.html — no creation needed
|
||||||
|
|
||||||
// HTML goes directly into #main without outdated .container wrapper for New Layout
|
// HTML goes directly into #main without outdated .container wrapper for New Layout
|
||||||
|
stopMedia();
|
||||||
main.innerHTML = '';
|
main.innerHTML = '';
|
||||||
container = main; // HTML goes directly into #main
|
container = main; // HTML goes directly into #main
|
||||||
}
|
}
|
||||||
} else if (container && !options.keepMedia) {
|
} else if (container && !options.keepMedia) {
|
||||||
// Already in some kind of item view or compatible layout, just clear it
|
// Already in some kind of item view or compatible layout, just clear it
|
||||||
|
stopMedia();
|
||||||
container.innerHTML = '';
|
container.innerHTML = '';
|
||||||
container.removeAttribute('style'); // Ensure no carry-over styles
|
container.removeAttribute('style'); // Ensure no carry-over styles
|
||||||
if (main) main.className = 'item-view';
|
if (main) main.className = 'item-view';
|
||||||
|
|||||||
Reference in New Issue
Block a user