diff --git a/src/component-index.js b/src/component-index.js index 3d814035e8..3a9042df06 100644 --- a/src/component-index.js +++ b/src/component-index.js @@ -32,6 +32,7 @@ module.exports.components['structures.RoomSubList'] = require('./components/stru module.exports.components['structures.ViewSource'] = require('./components/structures/ViewSource'); module.exports.components['views.elements.ImageView'] = require('./components/views/elements/ImageView'); module.exports.components['views.elements.Spinner'] = require('./components/views/elements/Spinner'); +module.exports.components['views.globals.GuestWarningBar'] = require('./components/views/globals/GuestWarningBar'); module.exports.components['views.globals.MatrixToolbar'] = require('./components/views/globals/MatrixToolbar'); module.exports.components['views.login.VectorCustomServerDialog'] = require('./components/views/login/VectorCustomServerDialog'); module.exports.components['views.login.VectorLoginFooter'] = require('./components/views/login/VectorLoginFooter'); diff --git a/src/components/views/globals/GuestWarningBar.js b/src/components/views/globals/GuestWarningBar.js new file mode 100644 index 0000000000..88940f353b --- /dev/null +++ b/src/components/views/globals/GuestWarningBar.js @@ -0,0 +1,44 @@ +/* +Copyright 2016 OpenMarket 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. +*/ + +var React = require('react'); +var dis = require('matrix-react-sdk/lib/dispatcher') + +module.exports = React.createClass({ + displayName: 'GuestWarningBar', + + onRegisterClicked: function() { + dis.dispatch({'action': 'logout'}); + dis.dispatch({'action': 'start_registration'}); + }, + + onLoginClicked: function() { + dis.dispatch({'action': 'logout'}); + dis.dispatch({'action': 'start_login'}); + }, + + render: function() { + return ( +
+ /!\ +
+ You are using Vector as a guest. Register or log in to access more rooms and features. +
+
+ ); + } +}); + diff --git a/src/skins/vector/css/matrix-react-sdk/structures/MatrixChat.css b/src/skins/vector/css/matrix-react-sdk/structures/MatrixChat.css index 88d558debe..47db997c38 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/MatrixChat.css +++ b/src/skins/vector/css/matrix-react-sdk/structures/MatrixChat.css @@ -50,6 +50,16 @@ limitations under the License. height: 40px; } +.mx_GuestWarningBar { + -webkit-box-ordinal-group: 1; + -moz-box-ordinal-group: 1; + -ms-flex-order: 1; + -webkit-order: 1; + order: 1; + + height: 40px; +} + .mx_MatrixChat_toolbarShowing { height: auto; } diff --git a/src/skins/vector/css/vector-web/views/globals/GuestWarningBar.css b/src/skins/vector/css/vector-web/views/globals/GuestWarningBar.css new file mode 100644 index 0000000000..717d75afe4 --- /dev/null +++ b/src/skins/vector/css/vector-web/views/globals/GuestWarningBar.css @@ -0,0 +1,41 @@ +/* +Copyright 2015, 2016 OpenMarket 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_GuestWarningBar { + background-color: #76cfa6; + color: #fff; + + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-align-items: center; + align-items: center; +} + +.mx_GuestWarningBar_warning { + margin-left: 16px; + margin-right: 8px; + margin-top: -2px; +} + +.mx_GuestWarningBar a { + color: #fff ! important; + text-decoration: underline ! important; + cursor: pointer; +} +