decePub no longer looks at the system's "reduce motion" setting, so everything moves the same way whatever it says: - a GIF video in a post plays by itself, muted and looping, instead of waiting for a tap; it now also starts on a page just opened, before the first tap, where the browser used to hold it still; - animated custom emoji move in the emoji picker instead of showing a still picture; - the globe turns by itself while no located post is in view, flies to the posts, and its pulses, arcs and Sun move; - going back to the top of a feed scrolls smoothly; - tooltips, dropdowns, menus, folding sections, toasts, loading spinners, placeholders, progress bars, radio buttons and ratings keep their animations: the build now takes daisyUI's reduce-motion rules out of the stylesheet (tools/css/motion.py, run after every Tailwind build, in watch mode too). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W4YtEKqxKjKyHkFzuRVMNA
This commit is contained in:
1 parent
eb4ea2947c
commit
697b2c8897
11 files changed
+113
-55
No files matched your search
+4
-10
@@ -108,6 +108,10 @@ document.addEventListener("click", event => {
|
||||
window.logFromJs(e.message, "openThread")
|
||||
}
|
||||
})
|
||||
document.addEventListener("loadstart", event => {
|
||||
if (event.target instanceof HTMLVideoElement && event.target.hasAttribute("muted"))
|
||||
event.target.muted = true
|
||||
}, { capture: true })
|
||||
// The Back button (a popstate) as opposed to the app's own navigation: Blazor's location-changing handlers can't tell
|
||||
// them apart, and MainLayout lets Back close an open overlay but lets the app's navigation through. Registered for the
|
||||
// capture phase, so it runs before Blazor's own listener.
|
||||
@@ -136,16 +140,6 @@ window.revealActive = strip => {
|
||||
window.logFromJs(e.message, "revealActive")
|
||||
}
|
||||
}
|
||||
// the reader asked for less motion: what would move by itself (a gifv) waits for a tap
|
||||
window.prefersReducedMotion = () => {
|
||||
try {
|
||||
return window.matchMedia("(prefers-reduced-motion: reduce)").matches
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
window.logFromJs(e.message, "prefersReducedMotion")
|
||||
return false
|
||||
}
|
||||
}
|
||||
// text put on the clipboard (the recovery codes of two-factor sign-in); false when the browser refused it
|
||||
window.copyText = async text => {
|
||||
try {
|
||||
|
||||
Reference in new issue
Block a user