diff --git a/src/components/structures/RightPanel.js b/src/components/structures/RightPanel.js index dedd715f9c..240a5b2efe 100644 --- a/src/components/structures/RightPanel.js +++ b/src/components/structures/RightPanel.js @@ -127,8 +127,9 @@ module.exports = React.createClass({ }, _initGroupStore(groupId) { + if (!groupId) return; this._groupStore = GroupStoreCache.getGroupStore( - this.context.matrixClient, this.props.groupId, + this.context.matrixClient, groupId, ); this._groupStore.registerListener(this.onGroupStoreUpdated); }, diff --git a/src/components/views/rooms/RoomTooltip.js b/src/components/views/rooms/RoomTooltip.js index bbed5df8a5..714d57ca24 100644 --- a/src/components/views/rooms/RoomTooltip.js +++ b/src/components/views/rooms/RoomTooltip.js @@ -19,13 +19,16 @@ limitations under the License. var React = require('react'); var ReactDOM = require('react-dom'); var dis = require('matrix-react-sdk/lib/dispatcher'); +import classNames from 'classnames'; module.exports = React.createClass({ displayName: 'RoomTooltip', propTypes: { - // Alllow the tooltip to be styled by the parent element + // Class applied to the element used to position the tooltip className: React.PropTypes.string.isRequired, + // Class applied to the tooltip itself + tooltipClassName: React.PropTypes.string, // The tooltip is derived from either the room name or a label room: React.PropTypes.object, label: React.PropTypes.string, @@ -69,8 +72,12 @@ module.exports = React.createClass({ style.left = 6 + parent.getBoundingClientRect().right + window.pageXOffset; style.display = "block"; + const tooltipClasses = classNames( + "mx_RoomTooltip", this.props.tooltipClassName, + ); + var tooltip = ( -
+
{ label }
diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 230b5ae477..767af80589 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -35,6 +35,7 @@ @import "./matrix-react-sdk/views/elements/_ProgressBar.scss"; @import "./matrix-react-sdk/views/elements/_RichText.scss"; @import "./matrix-react-sdk/views/elements/_RoleButton.scss"; +@import "./matrix-react-sdk/views/elements/_ToolTipButton.scss"; @import "./matrix-react-sdk/views/groups/_GroupRoomList.scss"; @import "./matrix-react-sdk/views/login/_InteractiveAuthEntryComponents.scss"; @import "./matrix-react-sdk/views/login/_ServerConfig.scss"; diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss b/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss index 583ab2ce2e..2f7cd18720 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss @@ -304,6 +304,18 @@ limitations under the License. } .mx_GroupView_groupDesc textarea { - width: 50%; + width: 100%; + max-width: 100%; height: 150px; } + +.mx_GroupView_groupDesc_placeholder { + background-color: $info-plinth-bg-color; + color: $info-plinth-fg-color; + border-radius: 10px; + text-align: center; + + cursor: pointer; + padding: 100px 20px; + margin: 20px 0px; +} diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_MyGroups.scss b/src/skins/vector/css/matrix-react-sdk/structures/_MyGroups.scss index d7cbda9a9b..f76aefe383 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_MyGroups.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_MyGroups.scss @@ -87,8 +87,8 @@ limitations under the License. } .mx_MyGroups_placeholder { - background-color: $group-my-groups-placeholder-bg; - color: $group-my-groups-placeholder-fg; + background-color: $info-plinth-bg-color; + color: $info-plinth-fg-color; line-height: 400px; border-radius: 10px; text-align: center; diff --git a/src/skins/vector/css/matrix-react-sdk/views/elements/_RichText.scss b/src/skins/vector/css/matrix-react-sdk/views/elements/_RichText.scss index 8b7c8f06bb..474a123455 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/elements/_RichText.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/elements/_RichText.scss @@ -26,7 +26,8 @@ } .mx_EventTile_highlight .mx_EventTile_content .markdown-body a.mx_UserPill_me, -.mx_EventTile_content .mx_AtRoomPill { +.mx_EventTile_content .mx_AtRoomPill, +.mx_MessageComposer_input .mx_AtRoomPill { color: $accent-fg-color; background-color: $mention-user-pill-bg-color; padding-right: 5px; diff --git a/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTipButton.scss b/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTipButton.scss new file mode 100644 index 0000000000..ef9dd02b2a --- /dev/null +++ b/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTipButton.scss @@ -0,0 +1,51 @@ +/* +Copyright 2017 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_ToolTipButton { + display: inline-block; + width: 11px; + height: 11px; + margin-left: 5px; + + border: 2px solid $neutral-badge-color; + border-radius: 20px; + color: $neutral-badge-color; + + transition: opacity 0.2s ease-in; + opacity: 0.6; + + line-height: 11px; + text-align: center; + + cursor: pointer; +} + +.mx_ToolTipButton:hover { + opacity: 1.0; +} + +.mx_ToolTipButton_container { + position: relative; + top: -18px; + left: 4px; +} + +.mx_ToolTipButton_helpText { + width: 200px; + text-align: center; + line-height: 17px !important; +} + diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index d5db1367d9..fcc3c7b963 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -30,6 +30,10 @@ $pinned-color: #888; $group-my-groups-placeholder-bg: #f7f7f7; $group-my-groups-placeholder-fg: #888; +// informational plinth +$info-plinth-bg-color: #f7f7f7; +$info-plinth-fg-color: #888; + $preview-bar-bg-color: #f7f7f7; // left-panel style muted accent color diff --git a/src/skins/vector/css/themes/_dark.scss b/src/skins/vector/css/themes/_dark.scss index 034bd748ef..d6fa88d6ce 100644 --- a/src/skins/vector/css/themes/_dark.scss +++ b/src/skins/vector/css/themes/_dark.scss @@ -21,7 +21,7 @@ $focus-brightness: 200%; $warning-color: #ff0064; // groups -$group-my-groups-placeholder-bg: #454545; +$info-plinth-bg-color: #454545; $other-user-pill-bg-color: rgba(255, 255, 255, 0.1);