gfds
This commit is contained in:
+64
-19
@@ -594,14 +594,7 @@
|
||||
info
|
||||
};
|
||||
|
||||
slider.addEventListener('input', (e) => {
|
||||
const val = parseInt(e.target.value, 10);
|
||||
settings.yank = isNaN(val) ? 0 : Math.min(100, Math.max(0, val));
|
||||
// Yank drives the underlying advanced parameters
|
||||
updateAdvancedFromYank();
|
||||
saveSettings();
|
||||
applySettingsToRuntime();
|
||||
});
|
||||
slider.addEventListener('input', (e) => setYank(e.target.value));
|
||||
|
||||
function toggleEnabledFromUI(targetController) {
|
||||
settings.enabled = !settings.enabled;
|
||||
@@ -697,7 +690,9 @@
|
||||
// Never show it just because sidebar .webm stickers exist.
|
||||
const primaryVideo = document.getElementById('my-video') ||
|
||||
document.querySelector('video.viewer, video.v0ck_video');
|
||||
ui.floatingBadge.style.display = (swfButtons.length === 0 && !!primaryVideo) ? 'block' : 'none';
|
||||
// Retired: the settings live in the sidebar Tuner (Flash Yank tab) now, so no floating fallback badge
|
||||
void primaryVideo;
|
||||
ui.floatingBadge.style.display = 'none';
|
||||
|
||||
// Style both (if they exist)
|
||||
[ui.floatingBadge, ...swfButtons].forEach(b => {
|
||||
@@ -739,19 +734,69 @@
|
||||
}
|
||||
if (!currentController) return;
|
||||
|
||||
settings.enabled = !settings.enabled;
|
||||
if (settings.enabled) currentController.enable();
|
||||
else currentController.disable();
|
||||
|
||||
saveSettings();
|
||||
updateUIFromSettings();
|
||||
|
||||
if (typeof window.flashMessage === 'function') {
|
||||
window.flashMessage(`Flash Yank ${settings.enabled ? 'enabled' : 'disabled'}`, 2000, settings.enabled ? 'success' : 'info');
|
||||
}
|
||||
setEnabled(!settings.enabled);
|
||||
});
|
||||
}
|
||||
|
||||
// ---------- Public API (sidebar Tuner → Flash Yank) ----------
|
||||
// The in-player "SWF" button is gone; the Tuner pane drives the filter through this API and
|
||||
// listens to 'f0ck:flashyank_changed' (also fired by the 's' hotkey) to stay in sync.
|
||||
|
||||
function findController() {
|
||||
if (currentController) return currentController;
|
||||
const mainVid = document.getElementById('my-video') || document.querySelector('video.v0ck_video, video.viewer, video');
|
||||
if (!mainVid) return null;
|
||||
if (!mainVid.__flashFilterController) setupVideo(mainVid);
|
||||
return mainVid.__flashFilterController || null;
|
||||
}
|
||||
|
||||
function getState() {
|
||||
return {
|
||||
enabled: !!settings.enabled,
|
||||
yank: settings.yank,
|
||||
width: currentConfig.internalWidth,
|
||||
fps: currentConfig.fps,
|
||||
colors: Math.pow(currentConfig.paletteLevels, 3),
|
||||
available: isItemPage() && document.querySelectorAll('video').length > 0
|
||||
};
|
||||
}
|
||||
|
||||
function emitChange() {
|
||||
window.dispatchEvent(new CustomEvent('f0ck:flashyank_changed', { detail: getState() }));
|
||||
}
|
||||
|
||||
function setEnabled(on, { silent = false } = {}) {
|
||||
settings.enabled = !!on;
|
||||
saveSettings();
|
||||
const controller = findController();
|
||||
if (controller) {
|
||||
if (settings.enabled) controller.enable();
|
||||
else controller.disable();
|
||||
}
|
||||
updateUIFromSettings();
|
||||
emitChange();
|
||||
if (!silent && typeof window.flashMessage === 'function') {
|
||||
window.flashMessage('Flash Yank ' + (settings.enabled ? 'enabled' : 'disabled'), 2000, settings.enabled ? 'success' : 'info');
|
||||
}
|
||||
}
|
||||
|
||||
function setYank(value) {
|
||||
const v = parseInt(value, 10);
|
||||
settings.yank = isNaN(v) ? 0 : Math.min(100, Math.max(0, v));
|
||||
updateAdvancedFromYank();
|
||||
saveSettings();
|
||||
applySettingsToRuntime();
|
||||
emitChange();
|
||||
}
|
||||
|
||||
window.f0ckFlashYank = {
|
||||
getState,
|
||||
setEnabled: (on) => setEnabled(on),
|
||||
toggle: () => setEnabled(!settings.enabled),
|
||||
setYank,
|
||||
defaults: { yank: DEFAULT_SETTINGS.yank }
|
||||
};
|
||||
|
||||
// ---------- Bootstrapping ----------
|
||||
|
||||
function onReady(fn) {
|
||||
|
||||
Reference in New Issue
Block a user