M app/javascript/mastodon/features/direct_timeline/components/conversations_list.jsx => app/javascript/mastodon/features/direct_timeline/components/conversations_list.jsx +2 -2
@@ 55,10 55,10 @@ export default class ConversationsList extends ImmutablePureComponent {
}, 300, { leading: true });
render () {
- const { conversations, onLoadMore, ...other } = this.props;
+ const { conversations, isLoading, onLoadMore, ...other } = this.props;
return (
- <ScrollableList {...other} onLoadMore={onLoadMore && this.handleLoadOlder} ref={this.setRef}>
+ <ScrollableList {...other} isLoading={isLoading} showLoading={isLoading && conversations.isEmpty()} onLoadMore={onLoadMore && this.handleLoadOlder} ref={this.setRef}>
{conversations.map(item => (
<ConversationContainer
key={item.get('id')}
M app/javascript/mastodon/features/direct_timeline/index.jsx => app/javascript/mastodon/features/direct_timeline/index.jsx +2 -0
@@ 89,8 89,10 @@ class DirectTimeline extends React.PureComponent {
trackScroll={!pinned}
scrollKey={`direct_timeline-${columnId}`}
timelineId='direct'
+ bindToDocument={!multiColumn}
onLoadMore={this.handleLoadMore}
prepend={<div className='follow_requests-unlocked_explanation'><span><FormattedMessage id='compose_form.encryption_warning' defaultMessage='Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.' /> <a href='/terms' target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a></span></div>}
+ alwaysPrepend
emptyMessage={<FormattedMessage id='empty_column.direct' defaultMessage="You don't have any private mentions yet. When you send or receive one, it will show up here." />}
/>
M app/javascript/styles/mastodon/components.scss => app/javascript/styles/mastodon/components.scss +1 -0
@@ 4339,6 4339,7 @@ a.status-card.compact:hover {
.follow_requests-unlocked_explanation {
background: darken($ui-base-color, 4%);
contain: initial;
+ flex-grow: 0;
}
.error-column {