diff --git a/app/javascript/flavours/glitch/features/account_timeline/index.js b/app/javascript/flavours/glitch/features/account_timeline/index.js
index 415e3be20e..d683b87891 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/index.js
+++ b/app/javascript/flavours/glitch/features/account_timeline/index.js
@@ -57,10 +57,18 @@ export default class AccountTimeline extends ImmutablePureComponent {
}
}
+ handleHeaderClick = () => {
+ this.column.scrollTop();
+ }
+
handleLoadMore = maxId => {
this.props.dispatch(expandAccountTimeline(this.props.params.accountId, { maxId, withReplies: this.props.withReplies }));
}
+ setRef = c => {
+ this.column = c;
+ }
+
render () {
const { statusIds, featuredStatusIds, isLoading, hasMore } = this.props;
@@ -73,8 +81,8 @@ export default class AccountTimeline extends ImmutablePureComponent {
}
return (
-
-
+
+
}
diff --git a/app/javascript/flavours/glitch/features/followers/index.js b/app/javascript/flavours/glitch/features/followers/index.js
index 124004cb63..6bb9f60fd0 100644
--- a/app/javascript/flavours/glitch/features/followers/index.js
+++ b/app/javascript/flavours/glitch/features/followers/index.js
@@ -43,6 +43,10 @@ export default class Followers extends ImmutablePureComponent {
}
}
+ handleHeaderClick = () => {
+ this.column.scrollTop();
+ }
+
handleScroll = (e) => {
const { scrollTop, scrollHeight, clientHeight } = e.target;
@@ -61,6 +65,10 @@ export default class Followers extends ImmutablePureComponent {
return !(location.state && location.state.mastodonModalOpen);
}
+ setRef = c => {
+ this.column = c;
+ }
+
render () {
const { accountIds, hasMore } = this.props;
@@ -79,8 +87,8 @@ export default class Followers extends ImmutablePureComponent {
}
return (
-
-
+
+
diff --git a/app/javascript/flavours/glitch/features/following/index.js b/app/javascript/flavours/glitch/features/following/index.js
index 656100dadf..3f2f091a1f 100644
--- a/app/javascript/flavours/glitch/features/following/index.js
+++ b/app/javascript/flavours/glitch/features/following/index.js
@@ -43,6 +43,10 @@ export default class Following extends ImmutablePureComponent {
}
}
+ handleHeaderClick = () => {
+ this.column.scrollTop();
+ }
+
handleScroll = (e) => {
const { scrollTop, scrollHeight, clientHeight } = e.target;
@@ -61,6 +65,10 @@ export default class Following extends ImmutablePureComponent {
return !(location.state && location.state.mastodonModalOpen);
}
+ setRef = c => {
+ this.column = c;
+ }
+
render () {
const { accountIds, hasMore } = this.props;
@@ -79,8 +87,8 @@ export default class Following extends ImmutablePureComponent {
}
return (
-
-
+
+
diff --git a/app/javascript/flavours/glitch/features/status/index.js b/app/javascript/flavours/glitch/features/status/index.js
index 880372de53..73d3c7e9e3 100644
--- a/app/javascript/flavours/glitch/features/status/index.js
+++ b/app/javascript/flavours/glitch/features/status/index.js
@@ -369,6 +369,10 @@ export default class Status extends ImmutablePureComponent {
}
}
+ handleHeaderClick = () => {
+ this.column.scrollTop();
+ }
+
renderChildren (list) {
return list.map(id => (
{
+ this.column = c;
+ }
+
componentDidUpdate (prevProps) {
if (this.props.params.statusId && (this.props.params.statusId !== prevProps.params.statusId || prevProps.ancestorsIds.size < this.props.ancestorsIds.size)) {
const { status, ancestorsIds } = this.props;
@@ -452,10 +460,11 @@ export default class Status extends ImmutablePureComponent {
};
return (
-
+