diff --git a/src/components/structures/RoomDirectory.js b/src/components/structures/RoomDirectory.js
index 09c15a1c..b3fb23ff 100644
--- a/src/components/structures/RoomDirectory.js
+++ b/src/components/structures/RoomDirectory.js
@@ -19,10 +19,18 @@ limitations under the License.
var React = require('react');
var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg');
+var ContentRepo = require("matrix-js-sdk").ContentRepo;
var Modal = require('matrix-react-sdk/lib/Modal');
var sdk = require('matrix-react-sdk')
var dis = require('matrix-react-sdk/lib/dispatcher');
+var linkify = require('linkifyjs');
+var linkifyString = require('linkifyjs/string');
+var linkifyMatrix = require('matrix-react-sdk/lib/linkify-matrix');
+var sanitizeHtml = require('sanitize-html');
+
+linkifyMatrix(linkify);
+
module.exports = React.createClass({
displayName: 'RoomDirectory',
@@ -64,6 +72,8 @@ module.exports = React.createClass({
},
getRows: function(filter) {
+ var BaseAvatar = sdk.getComponent('avatars.BaseAvatar');
+
if (!this.state.publicRooms) return [];
var rooms = this.state.publicRooms.filter(function(a) {
@@ -83,36 +93,44 @@ module.exports = React.createClass({
if (rooms[i].world_readable) {
guestRead = (
- [world readable]
+
World readable
);
- //
}
if (rooms[i].guest_can_join) {
guestJoin = (
- [guests allowed]
+ Guests can join
);
- //
}
perms = null;
if (guestRead || guestJoin) {
- perms = {guestRead} {guestJoin}
;
+ perms = {guestRead} {guestJoin}
;
}
- //
+ var topic = rooms[i].topic || '';
+ topic = linkifyString(sanitizeHtml(topic));
+
rows.unshift(
-
-
- { name } |
- { rooms[i].aliases[0] } |
- { rooms[i].num_joined_members } |
-
-
- {perms} { rooms[i].topic } |
-
-
+
+
+
+ |
+
+ { name }
+ { perms }
+
+ { rooms[i].aliases[0] }
+ |
+
+ { rooms[i].num_joined_members }
+ |
+
);
}
return rows;
@@ -139,15 +157,14 @@ module.exports = React.createClass({
var RoomHeader = sdk.getComponent('rooms.RoomHeader');
return (
-
+
-
-
- Room | Alias | Members |
-
- { this.getRows(this.state.roomAlias) }
+
+
+ { this.getRows(this.state.roomAlias) }
+
diff --git a/src/skins/vector/css/vector-web/structures/RoomDirectory.css b/src/skins/vector/css/vector-web/structures/RoomDirectory.css
index ca5a3501..a61e9e43 100644
--- a/src/skins/vector/css/vector-web/structures/RoomDirectory.css
+++ b/src/skins/vector/css/vector-web/structures/RoomDirectory.css
@@ -64,36 +64,61 @@ limitations under the License.
}
.mx_RoomDirectory_table {
+ font-size: 14px;
+ color: #4a4a4a;
width: 100%;
text-align: left;
table-layout: fixed;
}
-.mx_RoomDirectory_table th {
- font-weight: 400;
- font-size: 11px;
+.mx_RoomDirectory_roomAvatar {
+ width: 24px;
+ padding-left: 12px;
+ padding-right: 24px;
+ vertical-align: top;
}
-.mx_RoomDirectory_table tbody {
+.mx_RoomDirectory_roomDescription {
+ padding-bottom: 16px;
+}
+
+.mx_RoomDirectory_name {
+ display: inline-block;
+ font-weight: 600;
+}
+
+.mx_RoomDirectory_perms {
+ display: inline-block;
+}
+
+.mx_RoomDirectory_perm {
+ display: inline;
+ padding-left: 5px;
+ padding-right: 5px;
+ height: 15px;
+ border-radius: 11px;
+ background-color: #eaf5f0;
+ text-transform: uppercase;
+ font-weight: 600;
+ font-size: 11px;
+ color: #61c295;
+}
+
+.mx_RoomDirectory_topic {
+ cursor: initial;
+}
+
+.mx_RoomDirectory_alias {
+ font-size: 12px;
+ color: #b3b3b3;
+}
+
+.mx_RoomDirectory_roomMemberCount {
+ text-align: right;
+ width: 100px;
+}
+
+.mx_RoomDirectory_table tr {
+ padding-bottom: 10px;
cursor: pointer;
}
-
-.mx_RoomDirectory_table td {
- font-weight: 300;
- overflow-x: hidden;
- text-overflow: ellipsis;
-}
-
-.mx_RoomDirectory_table .mx_RoomDirectory_name {
- font-weight: 400;
-}
-
-.mx_RoomDirectory_table .mx_RoomDirectory_topic {
- font-weight: 400;
- font-size: 11px;
-}
-
-.mx_RoomDirectory_table td,
-.mx_RoomDirectory_table th, {
- padding: 6px;
-}
\ No newline at end of file
diff --git a/src/skins/vector/fonts/MyriadPro-Bold.woff b/src/skins/vector/fonts/MyriadPro-Bold.woff
deleted file mode 100644
index f30c591f..00000000
Binary files a/src/skins/vector/fonts/MyriadPro-Bold.woff and /dev/null differ
diff --git a/src/skins/vector/fonts/MyriadPro-BoldIt.woff b/src/skins/vector/fonts/MyriadPro-BoldIt.woff
deleted file mode 100644
index db605a6c..00000000
Binary files a/src/skins/vector/fonts/MyriadPro-BoldIt.woff and /dev/null differ
diff --git a/src/skins/vector/fonts/MyriadPro-It.woff b/src/skins/vector/fonts/MyriadPro-It.woff
deleted file mode 100644
index 9a133bcd..00000000
Binary files a/src/skins/vector/fonts/MyriadPro-It.woff and /dev/null differ
diff --git a/src/skins/vector/fonts/MyriadPro-Regular.woff b/src/skins/vector/fonts/MyriadPro-Regular.woff
deleted file mode 100644
index 5a95583f..00000000
Binary files a/src/skins/vector/fonts/MyriadPro-Regular.woff and /dev/null differ
diff --git a/src/skins/vector/fonts/MyriadPro-SemiBold.woff b/src/skins/vector/fonts/MyriadPro-SemiBold.woff
deleted file mode 100644
index 2a80f65d..00000000
Binary files a/src/skins/vector/fonts/MyriadPro-SemiBold.woff and /dev/null differ
diff --git a/src/skins/vector/fonts/MyriadPro.css b/src/skins/vector/fonts/MyriadPro.css
deleted file mode 100644
index 833e6828..00000000
--- a/src/skins/vector/fonts/MyriadPro.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@font-face {
- font-family: 'Myriad Pro';
- font-style: normal;
- font-weight: normal;
- src: local('Myriad Pro'), local('MyriadPro'), url(MyriadPro-Regular.woff) format('woff');
-}
-
-@font-face {
- font-family: 'Myriad Pro';
- font-style: normal;
- font-weight: 600;
- src: local('Myriad Pro SemiBold'), local('MyriadPro-SemiBold'), url(MyriadPro-SemiBold.woff) format('woff');
-}
-
-@font-face {
- font-family: 'Myriad Pro';
- font-style: normal;
- font-weight: bold;
- src: local('Myriad Pro Bold'), local('MyriadPro-Bold'), url(MyriadPro-Bold.woff) format('woff');
-}
diff --git a/src/skins/vector/fonts/OpenSans.css b/src/skins/vector/fonts/OpenSans.css
index 05be90d5..cba0081a 100644
--- a/src/skins/vector/fonts/OpenSans.css
+++ b/src/skins/vector/fonts/OpenSans.css
@@ -1,12 +1,24 @@
+/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
- src: local('Open Sans'), local('OpenSans'), url(u-WUoqrET9fUeobQW7jkRaCWcynf_cDxXwCLxiixG1c.ttf) format('truetype');
+ src: local('Open Sans'), local('OpenSans'), url(opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
+/* latin */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(opensans/v13/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
+}
+/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
- src: local('Open Sans Bold'), local('OpenSans-Bold'), url(k3k702ZOKiLJc3WVjuplzNqQynqKV_9Plp7mupa0S4g.ttf) format('truetype');
-}
+ src: local('Open Sans Bold'), local('OpenSans-Bold'), url(opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
+}
\ No newline at end of file