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 = (
-
+
diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss
index 230b5ae477..77449d81b4 100644
--- a/src/skins/vector/css/_components.scss
+++ b/src/skins/vector/css/_components.scss
@@ -22,6 +22,7 @@
@import "./matrix-react-sdk/views/dialogs/_CreateGroupDialog.scss";
@import "./matrix-react-sdk/views/dialogs/_CreateRoomDialog.scss";
@import "./matrix-react-sdk/views/dialogs/_EncryptedEventDialog.scss";
+@import "./matrix-react-sdk/views/dialogs/_GroupAddressPicker.scss";
@import "./matrix-react-sdk/views/dialogs/_QuestionDialog.scss";
@import "./matrix-react-sdk/views/dialogs/_SetMxIdDialog.scss";
@import "./matrix-react-sdk/views/dialogs/_UnknownDeviceDialog.scss";
@@ -35,6 +36,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..300728d274 100644
--- a/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss
+++ b/src/skins/vector/css/matrix-react-sdk/structures/_GroupView.scss
@@ -213,13 +213,12 @@ limitations under the License.
.mx_GroupView_membershipSection {
color: $greyed-fg-color;
+ margin-top: 10px;
}
.mx_GroupView_membershipSubSection {
justify-content: space-between;
display: flex;
- margin-top: 2px;
- margin-bottom: 2px;
}
.mx_GroupView_membershipSection_description {
@@ -227,6 +226,10 @@ limitations under the License.
line-height: 34px;
}
+.mx_GroupView_membershipSection_description .mx_BaseAvatar {
+ margin-right: 10px;
+}
+
.mx_GroupView_membershipSection .mx_GroupView_textButton {
margin-right: 0px;
margin-top: 0px;
@@ -300,10 +303,22 @@ limitations under the License.
}
.mx_GroupView_body .gm-scroll-view > *{
- margin: 0px 50px 11px 68px;
+ margin: 11px 50px 0px 68px;
}
.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/dialogs/_ChatInviteDialog.scss b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_ChatInviteDialog.scss
index 84052cc9a7..6fc211743d 100644
--- a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_ChatInviteDialog.scss
+++ b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_ChatInviteDialog.scss
@@ -60,9 +60,8 @@ limitations under the License.
}
.mx_ChatInviteDialog_error {
- position: absolute;
+ margin-top: 10px;
color: $warning-color;
- line-height: 36px;
}
.mx_ChatInviteDialog_cancel {
diff --git a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_GroupAddressPicker.scss b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_GroupAddressPicker.scss
new file mode 100644
index 0000000000..d6c961c0ec
--- /dev/null
+++ b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_GroupAddressPicker.scss
@@ -0,0 +1,25 @@
+/*
+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_GroupAddressPicker_checkboxContainer{
+ margin-top: 10px;
+ display: flex;
+}
+
+.mx_GroupAddressPicker_checkboxContainer input[type="checkbox"] {
+ /* Stop flex from shrinking the checkbox */
+ width: 20px;
+}
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/matrix-react-sdk/views/rooms/_RoomHeader.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomHeader.scss
index 0843e74224..2d437f3f71 100644
--- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomHeader.scss
+++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomHeader.scss
@@ -229,12 +229,16 @@ limitations under the License.
position: relative;
}
-.mx_RoomHeader_unreadPinsIndicator {
+.mx_RoomHeader_pinsIndicator {
position: absolute;
right: 0;
bottom: 4px;
width: 8px;
height: 8px;
border-radius: 8px;
- background-color: $warning-color;
+ background-color: $pinned-color;
+}
+
+.mx_RoomHeader_pinsIndicatorUnread {
+ background-color: $pinned-unread-color;
}
diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss
index e1580816c6..a3346d1074 100644
--- a/src/skins/vector/css/themes/_base.scss
+++ b/src/skins/vector/css/themes/_base.scss
@@ -28,9 +28,13 @@ $warning-color: #ff0064;
$mention-user-pill-bg-color: #ff0064;
$other-user-pill-bg-color: rgba(0, 0, 0, 0.1);
-// groups
-$group-my-groups-placeholder-bg: #f7f7f7;
-$group-my-groups-placeholder-fg: #888;
+// pinned events indicator
+$pinned-unread-color: #ff0064; // $warning-color
+$pinned-color: #888;
+
+// informational plinth
+$info-plinth-bg-color: #f7f7f7;
+$info-plinth-fg-color: #888;
$preview-bar-bg-color: #f7f7f7;
diff --git a/src/skins/vector/css/themes/_dark.scss b/src/skins/vector/css/themes/_dark.scss
index 987ce066f9..595783c377 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);