mirror of https://github.com/vector-im/riot-web
				
				
				
			
							parent
							
								
									c00610cb2c
								
							
						
					
					
						commit
						ab10b5493b
					
				| 
						 | 
				
			
			@ -67,6 +67,7 @@
 | 
			
		|||
@import "./views/groups/_GroupUserSettings.scss";
 | 
			
		||||
@import "./views/login/_InteractiveAuthEntryComponents.scss";
 | 
			
		||||
@import "./views/login/_ServerConfig.scss";
 | 
			
		||||
@import "./views/messages/_CreateEvent.scss";
 | 
			
		||||
@import "./views/messages/_DateSeparator.scss";
 | 
			
		||||
@import "./views/messages/_MEmoteBody.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 = {
 | 
			
		||||
    'm.room.create': 'messages.RoomCreate',
 | 
			
		||||
    'm.room.member': 'messages.TextualEvent',
 | 
			
		||||
    'm.room.name': 'messages.TextualEvent',
 | 
			
		||||
    'm.room.avatar': 'messages.RoomAvatarEvent',
 | 
			
		||||
| 
						 | 
				
			
			@ -483,7 +484,7 @@ module.exports = withMatrixClient(React.createClass({
 | 
			
		|||
        const eventType = this.props.mxEvent.getType();
 | 
			
		||||
 | 
			
		||||
        // 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);
 | 
			
		||||
        // 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") {
 | 
			
		||||
            avatarSize = 24;
 | 
			
		||||
            needsSenderProfile = true;
 | 
			
		||||
        } else if (tileHandler === 'messages.RoomCreate') {
 | 
			
		||||
            avatarSize = 0;
 | 
			
		||||
            needsSenderProfile = false;
 | 
			
		||||
        } else if (isInfoMessage) {
 | 
			
		||||
            // a small avatar, with no sender profile, for
 | 
			
		||||
            // joins/parts/etc
 | 
			
		||||
| 
						 | 
				
			
			@ -745,6 +749,8 @@ module.exports.haveTileForEvent = function(e) {
 | 
			
		|||
    if (handler === undefined) return false;
 | 
			
		||||
    if (handler === 'messages.TextualEvent') {
 | 
			
		||||
        return TextForEvent.textForEvent(e) !== '';
 | 
			
		||||
    } else if (handler === 'messages.RoomCreate') {
 | 
			
		||||
        return Boolean(e.getContent()['predecessor']);
 | 
			
		||||
    } else {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -205,6 +205,7 @@
 | 
			
		|||
    "Authentication check failed: incorrect password?": "Authentication check failed: incorrect password?",
 | 
			
		||||
    "Failed to join room": "Failed to join room",
 | 
			
		||||
    "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",
 | 
			
		||||
    "Use compact timeline layout": "Use compact timeline layout",
 | 
			
		||||
    "Hide removed messages": "Hide removed messages",
 | 
			
		||||
| 
						 | 
				
			
			@ -543,10 +544,6 @@
 | 
			
		|||
    "Internal room ID: ": "Internal room ID: ",
 | 
			
		||||
    "Room version number: ": "Room version number: ",
 | 
			
		||||
    "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…",
 | 
			
		||||
    "This Room": "This Room",
 | 
			
		||||
    "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 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/>",
 | 
			
		||||
    "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!",
 | 
			
		||||
    "Failed to copy": "Failed to copy",
 | 
			
		||||
    "Add an Integration": "Add an Integration",
 | 
			
		||||
| 
						 | 
				
			
			@ -865,12 +864,6 @@
 | 
			
		|||
    "Ignore request": "Ignore request",
 | 
			
		||||
    "Loading device info...": "Loading device info...",
 | 
			
		||||
    "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",
 | 
			
		||||
    "Log out and remove encryption keys?": "Log out and remove encryption keys?",
 | 
			
		||||
    "Clear Storage and Sign Out": "Clear Storage and Sign Out",
 | 
			
		||||
| 
						 | 
				
			
			@ -1121,6 +1114,8 @@
 | 
			
		|||
    "Labs": "Labs",
 | 
			
		||||
    "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",
 | 
			
		||||
    "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",
 | 
			
		||||
    "Clear Cache": "Clear Cache",
 | 
			
		||||
    "Clear Cache and Reload": "Clear Cache and Reload",
 | 
			
		||||
| 
						 | 
				
			
			@ -1231,8 +1226,5 @@
 | 
			
		|||
    "Import": "Import",
 | 
			
		||||
    "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 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."
 | 
			
		||||
    "Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room"
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue