mirror of https://github.com/vector-im/riot-web
remove unread messages and jump to bottom from RoomStatusBar
parent
5dd5f4f1dc
commit
de4cda4572
|
@ -45,14 +45,6 @@ module.exports = React.createClass({
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// the room this statusbar is representing.
|
// the room this statusbar is representing.
|
||||||
room: PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// the number of messages which have arrived since we've been scrolled up
|
|
||||||
numUnreadMessages: PropTypes.number,
|
|
||||||
|
|
||||||
// this is true if we are fully scrolled-down, and are looking at
|
|
||||||
// the end of the live timeline.
|
|
||||||
atEndOfLiveTimeline: PropTypes.bool,
|
|
||||||
|
|
||||||
// This is true when the user is alone in the room, but has also sent a message.
|
// This is true when the user is alone in the room, but has also sent a message.
|
||||||
// Used to suggest to the user to invite someone
|
// Used to suggest to the user to invite someone
|
||||||
sentMessageAndIsAlone: PropTypes.bool,
|
sentMessageAndIsAlone: PropTypes.bool,
|
||||||
|
@ -82,9 +74,6 @@ module.exports = React.createClass({
|
||||||
// 'you are alone' bar
|
// 'you are alone' bar
|
||||||
onStopWarningClick: PropTypes.func,
|
onStopWarningClick: PropTypes.func,
|
||||||
|
|
||||||
// callback for when the user clicks on the 'scroll to bottom' button
|
|
||||||
onScrollToBottomClick: PropTypes.func,
|
|
||||||
|
|
||||||
// callback for when we do something that changes the size of the
|
// callback for when we do something that changes the size of the
|
||||||
// status bar. This is used to trigger a re-layout in the parent
|
// status bar. This is used to trigger a re-layout in the parent
|
||||||
// component.
|
// component.
|
||||||
|
@ -180,8 +169,6 @@ module.exports = React.createClass({
|
||||||
// indicate other sizes.
|
// indicate other sizes.
|
||||||
_getSize: function() {
|
_getSize: function() {
|
||||||
if (this._shouldShowConnectionError() ||
|
if (this._shouldShowConnectionError() ||
|
||||||
this.props.numUnreadMessages ||
|
|
||||||
!this.props.atEndOfLiveTimeline ||
|
|
||||||
this.props.hasActiveCall ||
|
this.props.hasActiveCall ||
|
||||||
this.props.sentMessageAndIsAlone
|
this.props.sentMessageAndIsAlone
|
||||||
) {
|
) {
|
||||||
|
@ -194,28 +181,6 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
// return suitable content for the image on the left of the status bar.
|
// return suitable content for the image on the left of the status bar.
|
||||||
_getIndicator: function() {
|
_getIndicator: function() {
|
||||||
if (this.props.numUnreadMessages) {
|
|
||||||
return (
|
|
||||||
<div className="mx_RoomStatusBar_scrollDownIndicator"
|
|
||||||
onClick={this.props.onScrollToBottomClick}>
|
|
||||||
<img src={require("../../../res/img/newmessages.svg")} width="24" height="24"
|
|
||||||
alt="" />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
|
|
||||||
if (!this.props.atEndOfLiveTimeline) {
|
|
||||||
return (
|
|
||||||
<AccessibleButton className="mx_RoomStatusBar_scrollDownIndicator"
|
|
||||||
onClick={this.props.onScrollToBottomClick}>
|
|
||||||
<img src={require("../../../res/img/scrolldown.svg")} width="24" height="24"
|
|
||||||
alt={_t("Scroll to bottom of page")}
|
|
||||||
title={_t("Scroll to bottom of page")} />
|
|
||||||
</AccessibleButton>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.props.hasActiveCall) {
|
if (this.props.hasActiveCall) {
|
||||||
const TintableSvg = sdk.getComponent("elements.TintableSvg");
|
const TintableSvg = sdk.getComponent("elements.TintableSvg");
|
||||||
return (
|
return (
|
||||||
|
@ -231,9 +196,7 @@ module.exports = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
_shouldShowConnectionError: function() {
|
_shouldShowConnectionError: function() {
|
||||||
// no conn bar trumps unread count since you can't get unread messages
|
// no conn bar trumps the "some not sent" msg since you can't resend without
|
||||||
// without a connection! (technically may already have some but meh)
|
|
||||||
// It also trumps the "some not sent" msg since you can't resend without
|
|
||||||
// a connection!
|
// a connection!
|
||||||
// There's one situation in which we don't show this 'no connection' bar, and that's
|
// There's one situation in which we don't show this 'no connection' bar, and that's
|
||||||
// if it's a resource limit exceeded error: those are shown in the top bar.
|
// if it's a resource limit exceeded error: those are shown in the top bar.
|
||||||
|
@ -363,20 +326,6 @@ module.exports = React.createClass({
|
||||||
return this._getUnsentMessageContent();
|
return this._getUnsentMessageContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// unread count trumps who is typing since the unread count is only
|
|
||||||
// set when you've scrolled up
|
|
||||||
if (this.props.numUnreadMessages) {
|
|
||||||
// MUST use var name "count" for pluralization to kick in
|
|
||||||
const unreadMsgs = _t("%(count)s new messages", {count: this.props.numUnreadMessages});
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="mx_RoomStatusBar_unreadMessagesBar"
|
|
||||||
onClick={this.props.onScrollToBottomClick}>
|
|
||||||
{ unreadMsgs }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.props.hasActiveCall) {
|
if (this.props.hasActiveCall) {
|
||||||
return (
|
return (
|
||||||
<div className="mx_RoomStatusBar_callBar">
|
<div className="mx_RoomStatusBar_callBar">
|
||||||
|
|
|
@ -1651,14 +1651,11 @@ module.exports = React.createClass({
|
||||||
isStatusAreaExpanded = this.state.statusBarVisible;
|
isStatusAreaExpanded = this.state.statusBarVisible;
|
||||||
statusBar = <RoomStatusBar
|
statusBar = <RoomStatusBar
|
||||||
room={this.state.room}
|
room={this.state.room}
|
||||||
numUnreadMessages={this.state.numUnreadMessages}
|
|
||||||
atEndOfLiveTimeline={this.state.atEndOfLiveTimeline}
|
|
||||||
sentMessageAndIsAlone={this.state.isAlone}
|
sentMessageAndIsAlone={this.state.isAlone}
|
||||||
hasActiveCall={inCall}
|
hasActiveCall={inCall}
|
||||||
isPeeking={myMembership !== "join"}
|
isPeeking={myMembership !== "join"}
|
||||||
onInviteClick={this.onInviteButtonClick}
|
onInviteClick={this.onInviteButtonClick}
|
||||||
onStopWarningClick={this.onStopAloneWarningClick}
|
onStopWarningClick={this.onStopAloneWarningClick}
|
||||||
onScrollToBottomClick={this.jumpToLiveTimeline}
|
|
||||||
onResize={this.onChildResize}
|
onResize={this.onChildResize}
|
||||||
onVisible={this.onStatusBarVisible}
|
onVisible={this.onStatusBarVisible}
|
||||||
onHidden={this.onStatusBarHidden}
|
onHidden={this.onStatusBarHidden}
|
||||||
|
|
Loading…
Reference in New Issue