diff --git a/src/components/structures/RoomDirectory.js b/src/components/structures/RoomDirectory.js index 09c15a1cc9..b3fb23ff88 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
); - // World Readable } if (rooms[i].guest_can_join) { guestJoin = ( - [guests allowed] +
Guests can join
); - // 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 (
- +
- - - - - { this.getRows(this.state.roomAlias) } +
RoomAliasMembers
+ + { 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 ca5a35018b..a61e9e43aa 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 f30c591f91..0000000000 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 db605a6c73..0000000000 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 9a133bcdec..0000000000 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 5a95583f82..0000000000 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 2a80f65dbe..0000000000 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 833e68281f..0000000000 --- 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 05be90d52c..cba0081a99 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