commit: 695439775eacea081c7257aabab39d0ec6b492dc
parent: 05cd37097c134d559550adca6cd17cf7578be94b
Author: unarist <m.unarist@gmail.com>
Date: Sun, 16 Jul 2017 00:25:04 +0900
Fix column swiping (#4211)
This fixes broken behavior and enable animation only on swiping.
Diffstat:
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/app/javascript/mastodon/features/ui/components/columns_area.js b/app/javascript/mastodon/features/ui/components/columns_area.js
@@ -33,8 +33,22 @@ export default class ColumnsArea extends ImmutablePureComponent {
children: PropTypes.node,
};
+ state = {
+ shouldAnimate: false,
+ }
+
+ componentWillReceiveProps() {
+ this.setState({ shouldAnimate: false });
+ }
+
+ componentDidMount() {
+ this.lastIndex = getIndex(this.context.router.history.location.pathname);
+ this.setState({ shouldAnimate: true });
+ }
+
componentDidUpdate() {
this.lastIndex = getIndex(this.context.router.history.location.pathname);
+ this.setState({ shouldAnimate: true });
}
handleSwipe = (index) => {
@@ -74,9 +88,10 @@ export default class ColumnsArea extends ImmutablePureComponent {
render () {
const { columns, children, singleColumn } = this.props;
+ const { shouldAnimate } = this.state;
const columnIndex = getIndex(this.context.router.history.location.pathname);
- const shouldAnimate = Math.abs(this.lastIndex - columnIndex) === 1;
+ this.pendingIndex = null;
if (singleColumn) {
return columnIndex !== -1 ? (