From 6efc28aac894b46900408e019a4cb33e14029b27 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Mon, 27 May 2019 00:24:57 -0700 Subject: [PATCH] fix: fix reduceMotion of svelte slide transition (#1237) fixes #1236 --- src/routes/_components/compose/ComposeBox.html | 2 +- src/routes/_transitions/slide.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 src/routes/_transitions/slide.js diff --git a/src/routes/_components/compose/ComposeBox.html b/src/routes/_components/compose/ComposeBox.html index b1a3c050..d5a3883d 100644 --- a/src/routes/_components/compose/ComposeBox.html +++ b/src/routes/_components/compose/ComposeBox.html @@ -98,7 +98,7 @@ import { measureText } from '../../_utils/measureText' import { POST_PRIVACY_OPTIONS } from '../../_static/statuses' import { store } from '../../_store/store' - import { slide } from 'svelte-transitions' + import { slide } from '../../_transitions/slide' import { postStatus, insertHandleForReply, setReplySpoiler, setReplyVisibility } from '../../_actions/compose' import { classname } from '../../_utils/classname' import { POLL_EXPIRY_DEFAULT } from '../../_static/polls' diff --git a/src/routes/_transitions/slide.js b/src/routes/_transitions/slide.js new file mode 100644 index 00000000..7f5bfaee --- /dev/null +++ b/src/routes/_transitions/slide.js @@ -0,0 +1,17 @@ +import { slide as svelteSlide } from 'svelte-transitions' +import { store } from '../_store/store' +import noop from 'lodash-es/noop' + +// same as svelte-transitions, but respecting reduceMotion +export function slide (node, ref) { + let { reduceMotion } = store.get() + if (reduceMotion) { + return { + delay: 0, + duration: 1, // setting to 0 causes some kind of built-in duration + easing: _ => _, + css: noop + } + } + return svelteSlide(node, ref) +}