parent
c00610cb2c
commit
ab10b5493b
|
@ -67,6 +67,7 @@
|
||||||
@import "./views/groups/_GroupUserSettings.scss";
|
@import "./views/groups/_GroupUserSettings.scss";
|
||||||
@import "./views/login/_InteractiveAuthEntryComponents.scss";
|
@import "./views/login/_InteractiveAuthEntryComponents.scss";
|
||||||
@import "./views/login/_ServerConfig.scss";
|
@import "./views/login/_ServerConfig.scss";
|
||||||
|
@import "./views/messages/_CreateEvent.scss";
|
||||||
@import "./views/messages/_DateSeparator.scss";
|
@import "./views/messages/_DateSeparator.scss";
|
||||||
@import "./views/messages/_MEmoteBody.scss";
|
@import "./views/messages/_MEmoteBody.scss";
|
||||||
@import "./views/messages/_MFileBody.scss";
|
@import "./views/messages/_MFileBody.scss";
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
Copyright 2018 New Vector Ltd
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.mx_CreateEvent {
|
||||||
|
background-color: $info-plinth-bg-color;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mx_CreateEvent_image {
|
||||||
|
float: left;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mx_CreateEvent_header {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mx_CreateEvent_link {
|
||||||
|
}
|
|
@ -0,0 +1,64 @@
|
||||||
|
/*
|
||||||
|
Copyright 2018 New Vector Ltd
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import dis from '../../../dispatcher';
|
||||||
|
import sdk from '../../../index';
|
||||||
|
import { makeEventPermalink } from '../../../matrix-to';
|
||||||
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
|
module.exports = React.createClass({
|
||||||
|
displayName: 'RoomCreate',
|
||||||
|
|
||||||
|
propTypes: {
|
||||||
|
/* the MatrixEvent to show */
|
||||||
|
mxEvent: PropTypes.object.isRequired,
|
||||||
|
},
|
||||||
|
|
||||||
|
_onLinkClicked: function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
const predecessor = this.props.mxEvent.getContent()['predecessor'];
|
||||||
|
|
||||||
|
dis.dispatch({
|
||||||
|
action: 'view_room',
|
||||||
|
event_id: predecessor['event_id'],
|
||||||
|
highlighted: true,
|
||||||
|
room_id: predecessor['room_id'],
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function() {
|
||||||
|
const predecessor = this.props.mxEvent.getContent()['predecessor'];
|
||||||
|
if (predecessor === undefined) {
|
||||||
|
return <div />; // We should never have been instaniated in this case
|
||||||
|
}
|
||||||
|
return <div className="mx_CreateEvent">
|
||||||
|
<img className="mx_CreateEvent_image" src="img/room-continuation.svg" />
|
||||||
|
<div className="mx_CreateEvent_header">
|
||||||
|
{_t("This room is a continuation of another conversation.")}
|
||||||
|
</div>
|
||||||
|
<a className="mx_CreateEvent_link"
|
||||||
|
href={makeEventPermalink(predecessor['room_id'], predecessor['event_id'])}
|
||||||
|
onClick={this._onLinkClicked}
|
||||||
|
>
|
||||||
|
{_t("Click here to see older messages.")}
|
||||||
|
</a>
|
||||||
|
</div>;
|
||||||
|
},
|
||||||
|
});
|
|
@ -47,6 +47,7 @@ const eventTileTypes = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const stateEventTileTypes = {
|
const stateEventTileTypes = {
|
||||||
|
'm.room.create': 'messages.RoomCreate',
|
||||||
'm.room.member': 'messages.TextualEvent',
|
'm.room.member': 'messages.TextualEvent',
|
||||||
'm.room.name': 'messages.TextualEvent',
|
'm.room.name': 'messages.TextualEvent',
|
||||||
'm.room.avatar': 'messages.RoomAvatarEvent',
|
'm.room.avatar': 'messages.RoomAvatarEvent',
|
||||||
|
@ -483,7 +484,7 @@ module.exports = withMatrixClient(React.createClass({
|
||||||
const eventType = this.props.mxEvent.getType();
|
const eventType = this.props.mxEvent.getType();
|
||||||
|
|
||||||
// Info messages are basically information about commands processed on a room
|
// Info messages are basically information about commands processed on a room
|
||||||
const isInfoMessage = (eventType !== 'm.room.message' && eventType !== 'm.sticker');
|
const isInfoMessage = (eventType !== 'm.room.message' && eventType !== 'm.sticker' && eventType != 'm.room.create');
|
||||||
|
|
||||||
const tileHandler = getHandlerTile(this.props.mxEvent);
|
const tileHandler = getHandlerTile(this.props.mxEvent);
|
||||||
// This shouldn't happen: the caller should check we support this type
|
// This shouldn't happen: the caller should check we support this type
|
||||||
|
@ -535,6 +536,9 @@ module.exports = withMatrixClient(React.createClass({
|
||||||
if (this.props.tileShape === "notif") {
|
if (this.props.tileShape === "notif") {
|
||||||
avatarSize = 24;
|
avatarSize = 24;
|
||||||
needsSenderProfile = true;
|
needsSenderProfile = true;
|
||||||
|
} else if (tileHandler === 'messages.RoomCreate') {
|
||||||
|
avatarSize = 0;
|
||||||
|
needsSenderProfile = false;
|
||||||
} else if (isInfoMessage) {
|
} else if (isInfoMessage) {
|
||||||
// a small avatar, with no sender profile, for
|
// a small avatar, with no sender profile, for
|
||||||
// joins/parts/etc
|
// joins/parts/etc
|
||||||
|
@ -745,6 +749,8 @@ module.exports.haveTileForEvent = function(e) {
|
||||||
if (handler === undefined) return false;
|
if (handler === undefined) return false;
|
||||||
if (handler === 'messages.TextualEvent') {
|
if (handler === 'messages.TextualEvent') {
|
||||||
return TextForEvent.textForEvent(e) !== '';
|
return TextForEvent.textForEvent(e) !== '';
|
||||||
|
} else if (handler === 'messages.RoomCreate') {
|
||||||
|
return Boolean(e.getContent()['predecessor']);
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,6 +205,7 @@
|
||||||
"Authentication check failed: incorrect password?": "Authentication check failed: incorrect password?",
|
"Authentication check failed: incorrect password?": "Authentication check failed: incorrect password?",
|
||||||
"Failed to join room": "Failed to join room",
|
"Failed to join room": "Failed to join room",
|
||||||
"Message Pinning": "Message Pinning",
|
"Message Pinning": "Message Pinning",
|
||||||
|
"Increase performance by only loading room members on first view": "Increase performance by only loading room members on first view",
|
||||||
"Disable Emoji suggestions while typing": "Disable Emoji suggestions while typing",
|
"Disable Emoji suggestions while typing": "Disable Emoji suggestions while typing",
|
||||||
"Use compact timeline layout": "Use compact timeline layout",
|
"Use compact timeline layout": "Use compact timeline layout",
|
||||||
"Hide removed messages": "Hide removed messages",
|
"Hide removed messages": "Hide removed messages",
|
||||||
|
@ -543,10 +544,6 @@
|
||||||
"Internal room ID: ": "Internal room ID: ",
|
"Internal room ID: ": "Internal room ID: ",
|
||||||
"Room version number: ": "Room version number: ",
|
"Room version number: ": "Room version number: ",
|
||||||
"Add a topic": "Add a topic",
|
"Add a topic": "Add a topic",
|
||||||
"There is a known vulnerability affecting this room.": "There is a known vulnerability affecting this room.",
|
|
||||||
"This room version is vulnerable to malicious modification of room state.": "This room version is vulnerable to malicious modification of room state.",
|
|
||||||
"Click here to upgrade to the latest room version and ensure room integrity is protected.": "Click here to upgrade to the latest room version and ensure room integrity is protected.",
|
|
||||||
"Only room administrators will see this warning": "Only room administrators will see this warning",
|
|
||||||
"Search…": "Search…",
|
"Search…": "Search…",
|
||||||
"This Room": "This Room",
|
"This Room": "This Room",
|
||||||
"All Rooms": "All Rooms",
|
"All Rooms": "All Rooms",
|
||||||
|
@ -603,6 +600,8 @@
|
||||||
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s changed the avatar for %(roomName)s",
|
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s changed the avatar for %(roomName)s",
|
||||||
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removed the room avatar.",
|
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removed the room avatar.",
|
||||||
"%(senderDisplayName)s changed the room avatar to <img/>": "%(senderDisplayName)s changed the room avatar to <img/>",
|
"%(senderDisplayName)s changed the room avatar to <img/>": "%(senderDisplayName)s changed the room avatar to <img/>",
|
||||||
|
"This room is a continuation of another conversation.": "This room is a continuation of another conversation.",
|
||||||
|
"Click here to see older messages.": "Click here to see older messages.",
|
||||||
"Copied!": "Copied!",
|
"Copied!": "Copied!",
|
||||||
"Failed to copy": "Failed to copy",
|
"Failed to copy": "Failed to copy",
|
||||||
"Add an Integration": "Add an Integration",
|
"Add an Integration": "Add an Integration",
|
||||||
|
@ -865,12 +864,6 @@
|
||||||
"Ignore request": "Ignore request",
|
"Ignore request": "Ignore request",
|
||||||
"Loading device info...": "Loading device info...",
|
"Loading device info...": "Loading device info...",
|
||||||
"Encryption key request": "Encryption key request",
|
"Encryption key request": "Encryption key request",
|
||||||
"Upgrade Room Version": "Upgrade Room Version",
|
|
||||||
"Upgrading this room requires closing down the current instance of the room and creating a new room it its place. To give room members the best possible experience, we will:": "Upgrading this room requires closing down the current instance of the room and creating a new room it its place. To give room members the best possible experience, we will:",
|
|
||||||
"Create a new room with the same name, description and avatar": "Create a new room with the same name, description and avatar",
|
|
||||||
"Update any local room aliases to point to the new room": "Update any local room aliases to point to the new room",
|
|
||||||
"Stop users from speaking in the old version of the room, and post a message advising users to move to the new room": "Stop users from speaking in the old version of the room, and post a message advising users to move to the new room",
|
|
||||||
"Put a link back to the old room at the start of the new room so people can see old messages": "Put a link back to the old room at the start of the new room so people can see old messages",
|
|
||||||
"Sign out": "Sign out",
|
"Sign out": "Sign out",
|
||||||
"Log out and remove encryption keys?": "Log out and remove encryption keys?",
|
"Log out and remove encryption keys?": "Log out and remove encryption keys?",
|
||||||
"Clear Storage and Sign Out": "Clear Storage and Sign Out",
|
"Clear Storage and Sign Out": "Clear Storage and Sign Out",
|
||||||
|
@ -1121,6 +1114,8 @@
|
||||||
"Labs": "Labs",
|
"Labs": "Labs",
|
||||||
"These are experimental features that may break in unexpected ways": "These are experimental features that may break in unexpected ways",
|
"These are experimental features that may break in unexpected ways": "These are experimental features that may break in unexpected ways",
|
||||||
"Use with caution": "Use with caution",
|
"Use with caution": "Use with caution",
|
||||||
|
"Lazy loading members not supported": "Lazy loading members not supported",
|
||||||
|
"Lazy loading is not supported by your current homeserver.": "Lazy loading is not supported by your current homeserver.",
|
||||||
"Deactivate my account": "Deactivate my account",
|
"Deactivate my account": "Deactivate my account",
|
||||||
"Clear Cache": "Clear Cache",
|
"Clear Cache": "Clear Cache",
|
||||||
"Clear Cache and Reload": "Clear Cache and Reload",
|
"Clear Cache and Reload": "Clear Cache and Reload",
|
||||||
|
@ -1231,8 +1226,5 @@
|
||||||
"Import": "Import",
|
"Import": "Import",
|
||||||
"Failed to set direct chat tag": "Failed to set direct chat tag",
|
"Failed to set direct chat tag": "Failed to set direct chat tag",
|
||||||
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
|
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
|
||||||
"Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
|
"Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room"
|
||||||
"Increase performance by only loading room members on first view": "Increase performance by only loading room members on first view",
|
|
||||||
"Lazy loading members not supported": "Lazy load members not supported",
|
|
||||||
"Lazy loading is not supported by your current homeserver.": "Lazy loading is not supported by your current homeserver."
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue