From 25a7fb07a321aff4697bfcdbaa515310ce14a38f Mon Sep 17 00:00:00 2001 From: Krombel Date: Fri, 20 Oct 2017 11:59:32 +0000 Subject: [PATCH 001/108] Translated using Weblate (German) Currently translated at 99.5% (214 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 0c1ce7b98c..40ba5dc1ce 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -208,5 +208,10 @@ "You must specify an event type!": "Du musst einen Event-Typ spezifizieren!", "Show message in desktop notification": "Nachricht in der Desktop-Benachrichtigung anzeigen", "Pin Message": "Nachricht anheften", - "Unpin Message": "Nachricht losheften" + "Unpin Message": "Nachricht losheften", + "Add rooms to this community": "Füge Räume dieser Community hinzu", + "Edit": "Editieren", + "Register": "Registrieren", + "Rooms": "Räume", + "Invite to this community": "Zu dieser Community einladen" } From 3e435e45817729077f9dbc1a8990e5747252a734 Mon Sep 17 00:00:00 2001 From: Szimszon Date: Fri, 20 Oct 2017 13:50:58 +0000 Subject: [PATCH 002/108] Translated using Weblate (Hungarian) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/hu/ --- src/i18n/strings/hu.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 81e11fc33a..5a90710ed8 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -208,5 +208,11 @@ "You must specify an event type!": "Meg kell határoznod az esemény típusát!", "Show message in desktop notification": "Üzenetek megmutatása az asztali értesítésekben", "Pin Message": "Üzenet kitűzése", - "Unpin Message": "Üzenet levétele" + "Unpin Message": "Üzenet levétele", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Bejelentkezhetsz más Matrix szerverbe ha használhatod a saját szerver opciót és megadod egy másik szerver URL-jét.
Ezzel egy másik szerveren egy már meglévő fiókot tudsz használni.

Beállíthatsz egyedi azonosító szervert de akkor nem tudsz másokat e-mail cím alapján meghívni és téged sem tudnak.", + "Edit": "Szerkeszt", + "Register": "Regisztrál", + "Rooms": "Szobák", + "Invite to this community": "Meghívás ebbe a közösségbe", + "Add rooms to this community": "Szobák hozzáadása ehhez a közösséghez" } From 060b5d100fdae5fefb747e18fe3a1dd39c2db59d Mon Sep 17 00:00:00 2001 From: Krombel Date: Fri, 20 Oct 2017 11:59:32 +0000 Subject: [PATCH 003/108] Translated using Weblate (German) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 40ba5dc1ce..6f029da540 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -213,5 +213,6 @@ "Edit": "Editieren", "Register": "Registrieren", "Rooms": "Räume", - "Invite to this community": "Zu dieser Community einladen" + "Invite to this community": "Zu dieser Community einladen", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Die benutzerdefinierten Server-Einstellungen kannst du verwenden, um dich auf anderen Matrix-Servern anzumelden, indem du eine abweichende Heimserver-URL eingibst.
Somit ist es möglich, Riot mit einem bereits bestehendem Matrix-Benutzerkonto auf einem anderen Heimserver zu verwenden.

Außerdem kannst du einen benutzerdefinierten Identitätsserver eingeben. Allerdings kannst du in diesem Fall Benutzer nicht mehr per E-Mail-Adresse einladen und auch selbst nicht mehr per E-Mail-Adresse eingeladen werden." } From 6fa2d356300767c17d2bd26968b8cad4c6089455 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 20 Oct 2017 18:41:39 +0100 Subject: [PATCH 004/108] support concept of default theme --- config.sample.json | 1 + src/vector/index.html | 3 +-- src/vector/index.js | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/config.sample.json b/config.sample.json index a4477ea1ed..a63783348b 100644 --- a/config.sample.json +++ b/config.sample.json @@ -7,6 +7,7 @@ "bug_report_endpoint_url": "https://riot.im/bugreports/submit", "enableLabs": true, "default_federate": true, + "default_theme": "light", "roomDirectory": { "servers": [ "matrix.org" diff --git a/src/vector/index.html b/src/vector/index.html index 49c2979ed1..864377eea4 100644 --- a/src/vector/index.html +++ b/src/vector/index.html @@ -25,9 +25,8 @@ var match = file.match(/^bundles\/.*?\/theme-(.*)\.css$/); if (match) { var title = match[1].charAt(0).toUpperCase() + match[1].slice(1); - var light = match[1] == 'light'; %> - <% } else { %> diff --git a/src/vector/index.js b/src/vector/index.js index a08397ce5a..f775d1b3cd 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -281,6 +281,23 @@ async function loadApp() { configError = e; } + // as quickly as we possibly can, set a default theme... + const styleElements = Object.create(null); + let a; + for (let i = 0; (a = document.getElementsByTagName("link")[i]); i++) { + const href = a.getAttribute("href"); + // shouldn't we be using the 'title' tag rather than the href? + const match = href.match(/^bundles\/.*\/theme-(.*)\.css$/); + if (match) { + if (match[1] === (configJson.default_theme || 'light')) { + // remove the alternative flag off the stylesheet + a.setAttribute("rel", "stylesheet"); + } + } + } + // XXX: do we also need to call MatrixChat.setTheme here to do any random fixups (e.g. svg tint) + + if (window.localStorage && window.localStorage.getItem('mx_accepts_unsupported_browser')) { console.log('User has previously accepted risks in using an unsupported browser'); validBrowser = true; From cd31e6532b14adcf18ddecee1fa15ddde1d2cb68 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 20 Oct 2017 18:43:06 +0100 Subject: [PATCH 005/108] initial wip theme --- src/skins/vector/css/_common.scss | 14 +- src/skins/vector/css/themes/_base.scss | 6 + src/skins/vector/css/themes/_status.scss | 155 +++++++++++++++++++++++ src/skins/vector/css/themes/status.scss | 3 + webpack.config.js | 1 + 5 files changed, 170 insertions(+), 9 deletions(-) create mode 100644 src/skins/vector/css/themes/_status.scss create mode 100644 src/skins/vector/css/themes/status.scss diff --git a/src/skins/vector/css/_common.scss b/src/skins/vector/css/_common.scss index bf742cd0c5..0802c1cab2 100644 --- a/src/skins/vector/css/_common.scss +++ b/src/skins/vector/css/_common.scss @@ -23,12 +23,7 @@ html { } body { - /* Open Sans lacks combining diacritics, so these will fall through - to the next font. Helevetica's diacritics however do not combine - nicely with Open Sans (on OSX, at least) and result in a huge - horizontal mess. Arial empirically gets it right, hence prioritising - Arial here. */ - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; font-size: 15px; background-color: $primary-bg-color; color: $primary-fg-color; @@ -73,7 +68,7 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus { /* Required by Firefox */ textarea { - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; } /* Prevent ugly dotted highlight around selected elements in Firefox */ @@ -211,7 +206,7 @@ textarea { border: solid 1px $accent-color; font-weight: 600; font-size: 14px; - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; margin-left: 0px; margin-right: 8px; padding-left: 1.5em; @@ -304,7 +299,8 @@ textarea { } .changelog_text { - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + // why on earth is this needed? and with the wrong namespacing? >:( + font-family: $font-family; } .mx_Beta { diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index a13c517bd0..a67d200158 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -1,3 +1,9 @@ +/* Open Sans lacks combining diacritics, so these will fall through + to the next font. Helevetica's diacritics however do not combine + nicely with Open Sans (on OSX, at least) and result in a huge + horizontal mess. Arial empirically gets it right, hence prioritising + Arial here. */ +$font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; // typical text (dark-on-white in light skin) $primary-fg-color: #454545; diff --git a/src/skins/vector/css/themes/_status.scss b/src/skins/vector/css/themes/_status.scss new file mode 100644 index 0000000000..b1d8b0ef2e --- /dev/null +++ b/src/skins/vector/css/themes/_status.scss @@ -0,0 +1,155 @@ +@font-face { + font-family:PostGrotesk-Medium; + src:url(../fonts/PostGrotesk-Medium.eot); + src:url(../fonts/PostGrotesk-Medium.eot?#iefix) format("embedded-opentype"),url(../fonts/PostGrotesk-Medium.woff) format("woff"),url(../fonts/PostGrotesk-Medium.svg#PostGrotesk-Medium) format("svg"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family:PostGrotesk-Book; + src:url(../fonts/PostGrotesk-Book.eot); + src:url(../fonts/PostGrotesk-Book.eot?#iefix) format("embedded-opentype"),url(../fonts/PostGrotesk-Book.woff) format("woff"),url(../fonts/PostGrotesk-Book.svg#PostGrotesk-Book) format("svg"); + font-weight: 400; + font-style: normal; +} + +// We deliberately prioritise Arial over Helvetica here due to diacritic problems (see _base.scss) +// N.B. that the status.im website uses: +// font-family:PostGrotesk-Book,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; +// ...but can't be bothered to work out how the apple fonts & segoe interact, so keepingn it simple for now. + +$font-family: PostGrotesk-Book, Arial, Helvetica, Sans-Serif; + +// typical text (dark-on-white in light skin) +$primary-fg-color: #70808D; +$primary-bg-color: #EEF2F5; + +// ***** Status theme specifics ****** +$header-color: #49555F; +$header-font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; + +h1,h2,h3,h4,h5 { + color: $header-color; + font-family: $header-font-family; + font-weight: 400 ! important; +} + +// used for dialog box text +$light-fg-color: #747474; + +// used for focusing form controls +$focus-bg-color: #dddddd; + +// button UI (white-on-green in light skin) +$accent-fg-color: #ffffff; +$accent-color: #76CFA6; + +$selection-fg-color: $primary-bg-color; + +$focus-brightness: 125%; + +// red warning colour +$warning-color: #ff0064; +$mention-user-pill-bg-color: #ff0064; +$other-user-pill-bg-color: rgba(0, 0, 0, 0.1); + +$group-alert-color: #774f7e; + +$preview-bar-bg-color: #f7f7f7; + +// left-panel style muted accent color +$secondary-accent-color: #eaf5f0; + +// used by RoomDirectory permissions +$plinth-bg-color: $secondary-accent-color; + +// used by RoomDropTarget +$droptarget-bg-color: rgba(255,255,255,0.5); + +// used by AddressSelector +$selected-color: #eaf5f0; + +// selected for hoverover & selected event tiles +$event-selected-color: #f7f7f7; + +// used for the hairline dividers in RoomView +$primary-hairline-color: #e5e5e5; + +// used for the border of input text fields +$input-border-color: #f0f0f0; + +// apart from login forms, which have stronger border +$strong-input-border-color: #c7c7c7; + +// used for UserSettings EditableText +$input-underline-color: rgba(151, 151, 151, 0.5); +$input-fg-color: rgba(74, 74, 74, 0.9); + +// context menus +$menu-border-color: rgba(187, 187, 187, 0.5); +$menu-bg-color: #f6f6f6; + +$avatar-initial-color: #ffffff; + +$h3-color: #3d3b39; + +$dialog-background-bg-color: #e9e9e9; +$lightbox-background-bg-color: #000; + +$greyed-fg-color: #888; + +$neutral-badge-color: #dbdbdb; + +$preview-widget-bar-color: #ddd; +$preview-widget-fg-color: $greyed-fg-color; + +$blockquote-bar-color: #ddd; +$blockquote-fg-color: #777; + +$settings-grey-fg-color: #a2a2a2; + +$voip-decline-color: #f48080; +$voip-accept-color: #80f480; + +$rte-bg-color: #e9e9e9; +$rte-code-bg-color: rgba(0, 0, 0, 0.04); +$rte-room-pill-color: #aaa; + +// ******************** + +$roomtile-name-color: rgba(69, 69, 69, 0.8); +$roomtile-selected-bg-color: rgba(255, 255, 255, 0.8); +$roomtile-focused-bg-color: rgba(255, 255, 255, 0.9); + +$roomsublist-label-fg-color: $h3-color; +$roomsublist-label-bg-color: #d3efe1; + +// ******************** + +// event tile lifecycle +$event-encrypting-color: #abddbc; +$event-sending-color: #ddd; +$event-notsent-color: #f44; + +// event redaction +$event-redacted-img: url('../../img/redacted.jpg'); + +// event timestamp +$event-timestamp-color: #acacac; + +$edit-button-url: "../../img/icon_context_message.svg"; +$copy-button-url: "../../img/icon_copy_message.svg"; + +// e2e +$e2e-verified-color: #76cfa5; // N.B. *NOT* the same as $accent-color +$e2e-unverified-color: #e8bf37; +$e2e-warning-color: #ba6363; + +/*** ImageView ***/ +$lightbox-bg-color: #454545; +$lightbox-fg-color: #ffffff; +$lightbox-border-color: #ffffff; + +// unused? +$progressbar-color: #000; diff --git a/src/skins/vector/css/themes/status.scss b/src/skins/vector/css/themes/status.scss new file mode 100644 index 0000000000..391026b2b7 --- /dev/null +++ b/src/skins/vector/css/themes/status.scss @@ -0,0 +1,3 @@ +@import "_base.scss"; +@import "_status.scss"; +@import "../_components.scss"; diff --git a/webpack.config.js b/webpack.config.js index 5d4fef72a9..1e134495ce 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -20,6 +20,7 @@ module.exports = { // CSS themes "theme-light": "./src/skins/vector/css/themes/light.scss", "theme-dark": "./src/skins/vector/css/themes/dark.scss", + "theme-status": "./src/skins/vector/css/themes/status.scss", }, module: { preLoaders: [ From 9d56f7e214ab6749b9017858ff5f7010a7ce752a Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 20 Oct 2017 19:35:34 +0000 Subject: [PATCH 006/108] Translated using Weblate (Russian) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/ --- src/i18n/strings/ru.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 658fab9712..c4cac2d0cb 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -208,5 +208,11 @@ "You must specify an event type!": "Необходимо указать тип мероприятия!", "Show message in desktop notification": "Показывать сообщение в уведомлении на рабочем столе", "Pin Message": "Закрепить сообщение", - "Unpin Message": "Открепить сообщение" + "Unpin Message": "Открепить сообщение", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Вы можете использовать пользовательские параметры сервера для входа на другие сервера Matrix, указав другой URL-адрес домашнего сервера.
Это позволяет использовать Riot с существующей учетной записью Matrix на другом домашнем сервере.

Кроме того, можно установить пользовательский сервер идентификации, однако вы не сможете ни пригласить других пользователей, ни быть приглашенным, используя адрес электронной почты, .", + "Edit": "Редактировать", + "Register": "Регистрация", + "Rooms": "Комнаты", + "Invite to this community": "Пригласить в это сообщество", + "Add rooms to this community": "Добавить комнаты в это сообщество" } From b28192cc0b63f24b7a00033d53b1725ae9edb64b Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 22 Oct 2017 15:21:58 +0100 Subject: [PATCH 007/108] fix (C) --- src/header | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/header b/src/header index 060709b82e..6d367b04e8 100644 --- a/src/header +++ b/src/header @@ -1,5 +1,5 @@ /* -Copyright 2015, 2016 OpenMarket Ltd +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. From 01b3d6128c685765f727bcb89d30d501fb770515 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 22 Oct 2017 17:03:39 +0100 Subject: [PATCH 008/108] move status theme into a dedicated dir, and make fonts work --- scripts/copy-res.js | 2 +- src/skins/vector/css/themes/status.scss | 3 - .../themes/status/css/_StatusLogin.scss | 291 ++++++++++++++++++ .../vector/themes/status/css/_status.scss | 155 ++++++++++ .../vector/themes/status/css/status.scss | 4 + src/skins/vector/themes/status/fonts/README | 1 + webpack.config.js | 2 +- 7 files changed, 453 insertions(+), 5 deletions(-) delete mode 100644 src/skins/vector/css/themes/status.scss create mode 100644 src/skins/vector/themes/status/css/_StatusLogin.scss create mode 100644 src/skins/vector/themes/status/css/_status.scss create mode 100644 src/skins/vector/themes/status/css/status.scss create mode 100644 src/skins/vector/themes/status/fonts/README diff --git a/scripts/copy-res.js b/scripts/copy-res.js index b461d030fd..c4b80709ae 100755 --- a/scripts/copy-res.js +++ b/scripts/copy-res.js @@ -45,7 +45,7 @@ const COPY_LIST = [ ["res/home/**", "webapp/home"], ["res/{media,vector-icons}/**", "webapp"], ["res/flags/*", "webapp/flags/"], - ["src/skins/vector/{fonts,img}/**", "webapp"], + ["src/skins/vector/{fonts,img,themes}/**", "webapp"], ["node_modules/emojione/assets/svg/*", "webapp/emojione/svg/"], ["node_modules/emojione/assets/png/*", "webapp/emojione/png/"], ["./config.json", "webapp", { directwatch: 1 }], diff --git a/src/skins/vector/css/themes/status.scss b/src/skins/vector/css/themes/status.scss deleted file mode 100644 index 391026b2b7..0000000000 --- a/src/skins/vector/css/themes/status.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "_base.scss"; -@import "_status.scss"; -@import "../_components.scss"; diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss new file mode 100644 index 0000000000..38c8a5ef5c --- /dev/null +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -0,0 +1,291 @@ +/* +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. +*/ + +// overrides for mx_Login* specific to Status. +// Ideally this would be all Status prefixes for a Status specific version of the component +// but given we're not doing Status as a dedicated 'skin' yet... +.mx_Login { + width: 100%; + height: 100%; + + display: flex; + align-items: center; + justify-content: center; + + overflow: auto; +} + +.mx_Login h2 { + color: $primary-fg-color; + font-weight: 300; + margin-top: 32px; + margin-bottom: 20px; +} + +.mx_Login_box { + width: 300px; + min-height: 450px; + padding-top: 50px; + padding-bottom: 50px; + margin: auto; +} + +.mx_Login_logo { + text-align: center; + height: 150px; + margin-bottom: 45px; +} + +.mx_Login_logo img { + max-height: 100% +} + +.mx_Login_support { + text-align: center; + font-size: 13px; + margin-top: 0px; + opacity: 0.7; +} + +.mx_Login_field { + width: 280px; + border-radius: 3px; + border: 1px solid $strong-input-border-color; + font-weight: 300; + font-size: 13px; + padding: 9px; + margin-bottom: 14px; +} + +.mx_Login_field_disabled { + opacity: 0.3; +} + +.mx_Login_fieldLabel { + margin-top: -10px; + margin-left: 8px; + margin-bottom: 14px; + font-size: 13px; + opacity: 0.8; +} + +.mx_Login_submit { + margin-top: 35px; + margin-bottom: 24px; + width: 100%; + border-radius: 40px; + height: 40px; + border: 0px; + background-color: $accent-color; + font-size: 15px; + color: $accent-fg-color; +} + +.mx_Login_submit:disabled { + opacity: 0.3; +} + +.mx_Login_label { + font-size: 13px; + opacity: 0.8; +} + +.mx_Login_checkbox, +.mx_Login_radio { + margin-right: 10px; +} + +.mx_Login_create { + display: block; + text-align: center; + width: 100%; + font-size: 13px; + opacity: 0.8; +} + +.mx_Login_create:link { + color: $primary-fg-color; +} + +.mx_Login_links { + display: block; + text-align: center; + margin-top: 15px; + width: 100%; + font-size: 13px; + opacity: 0.8; +} + +.mx_Login_links a:link { + color: $primary-fg-color; +} + +.mx_Login_prompt { + padding-top: 15px; + padding-bottom: 15px; + font-size: 13px; +} + +.mx_Login_forgot { + font-size: 13px; + opacity: 0.8; +} + +.mx_Login_forgot:link { + color: $primary-fg-color; +} + +.mx_Login_loader { + display: inline; + position: relative; + top: 2px; + left: 8px; +} + +.mx_Login_loader .mx_Spinner { + display: inline; +} + +.mx_Login_loader .mx_Spinner img { + width: 16px; + height: 16px; +} + +.mx_Login_error { + color: $warning-color; + font-weight: bold; + text-align: center; +/* + height: 24px; +*/ + margin-top: 12px; + margin-bottom: 12px; +} + +.mx_Login_type_container { + display: flex; + margin-bottom: 14px; +} + +.mx_Login_type_label { + flex-grow: 1; + line-height: 35px; +} + +.mx_Login_type_dropdown { + display: inline-block; + min-width: 170px; + align-self: flex-end; + flex: 1 1 auto; +} + +.mx_Login_field_group { + display: flex; +} + +.mx_Login_field_prefix { + height: 34px; + padding: 0px 5px; + line-height: 33px; + + background-color: #eee; + border: 1px solid #c7c7c7; + border-right: 0px; + border-radius: 3px 0px 0px 3px; + + text-align: center; +} + +.mx_Login_field_suffix { + height: 34px; + padding: 0px 5px; + line-height: 33px; + + background-color: #eee; + border: 1px solid #c7c7c7; + border-left: 0px; + border-radius: 0px 3px 3px 0px; + + text-align: center; + flex-grow: 1; +} + +.mx_Login_username { + height: 16px; + flex-shrink: 1; + min-width: 0px; + border-radius: 3px; +} + +.mx_Login_phoneNumberField { + height: 16px; +} + +.mx_Login_field_has_prefix { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +.mx_Login_field_has_suffix { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; +} + +.mx_Login_phoneSection { + display:flex; +} + +.mx_Login_phoneCountry { + margin-bottom: 14px; + width: 150px; + + /* To override mx_Login_field_prefix */ + text-align: left; + padding: 0px; + background-color: $primary-bg-color; +} + +.mx_Login_field_prefix .mx_Dropdown_input { + /* To use prefix border instead of dropdown border */ + border: 0; +} + +.mx_Login_phoneCountry .mx_Dropdown_option { + /* + To match height of mx_Login_field + 33px + 2px border from mx_Dropdown_option = 35px + */ + height: 33px; + line-height: 33px; +} + +.mx_Login_phoneCountry .mx_Dropdown_option img { + margin: 3px; + vertical-align: top; +} + +.mx_Login_language { + margin-left: auto; + margin-right: auto; + min-width: 60%; +} + +.mx_Login_language_div { + display: flex; + margin-top: 12px; + margin-bottom: 12px; +} + diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss new file mode 100644 index 0000000000..d2ccee0d27 --- /dev/null +++ b/src/skins/vector/themes/status/css/_status.scss @@ -0,0 +1,155 @@ +@font-face { + font-family:PostGrotesk-Medium; + src:url('https://status.im/fonts/PostGrotesk-Medium.eot'); + src:url('https://status.im/fonts/PostGrotesk-Medium.eot?#iefix') format("embedded-opentype"),url('https://status.im/fonts/PostGrotesk-Medium.woff') format("woff"),url('https://status.im/fonts/PostGrotesk-Medium.svg#PostGrotesk-Medium') format("svg"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family:PostGrotesk-Book; + src:url('https://status.im/fonts/PostGrotesk-Book.eot'); + src:url('https://status.im/fonts/PostGrotesk-Book.eot?#iefix') format("embedded-opentype"),url('https://status.im/fonts/PostGrotesk-Book.woff') format("woff"),url('https://status.im/fonts/PostGrotesk-Book.svg#PostGrotesk-Book') format("svg"); + font-weight: 400; + font-style: normal; +} + +// We deliberately prioritise Arial over Helvetica here due to diacritic problems (see _base.scss) +// N.B. that the status.im website uses: +// font-family:PostGrotesk-Book,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; +// ...but can't be bothered to work out how the apple fonts & segoe interact, so keepingn it simple for now. + +$font-family: PostGrotesk-Book, Arial, Helvetica, Sans-Serif; + +// typical text (dark-on-white in light skin) +$primary-fg-color: #70808D; +$primary-bg-color: #EEF2F5; + +// ***** Status theme specifics ****** +$header-color: #49555F; +$header-font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; + +h1,h2,h3,h4,h5 { + color: $header-color; + font-family: $header-font-family; + font-weight: 400 ! important; +} + +// used for dialog box text +$light-fg-color: #747474; + +// used for focusing form controls +$focus-bg-color: #dddddd; + +// button UI (white-on-green in light skin) +$accent-fg-color: #ffffff; +$accent-color: #76CFA6; + +$selection-fg-color: $primary-bg-color; + +$focus-brightness: 125%; + +// red warning colour +$warning-color: #ff0064; +$mention-user-pill-bg-color: #ff0064; +$other-user-pill-bg-color: rgba(0, 0, 0, 0.1); + +$group-alert-color: #774f7e; + +$preview-bar-bg-color: #f7f7f7; + +// left-panel style muted accent color +$secondary-accent-color: #eaf5f0; + +// used by RoomDirectory permissions +$plinth-bg-color: $secondary-accent-color; + +// used by RoomDropTarget +$droptarget-bg-color: rgba(255,255,255,0.5); + +// used by AddressSelector +$selected-color: #eaf5f0; + +// selected for hoverover & selected event tiles +$event-selected-color: #f7f7f7; + +// used for the hairline dividers in RoomView +$primary-hairline-color: #e5e5e5; + +// used for the border of input text fields +$input-border-color: #f0f0f0; + +// apart from login forms, which have stronger border +$strong-input-border-color: #c7c7c7; + +// used for UserSettings EditableText +$input-underline-color: rgba(151, 151, 151, 0.5); +$input-fg-color: rgba(74, 74, 74, 0.9); + +// context menus +$menu-border-color: rgba(187, 187, 187, 0.5); +$menu-bg-color: #f6f6f6; + +$avatar-initial-color: #ffffff; + +$h3-color: #3d3b39; + +$dialog-background-bg-color: #e9e9e9; +$lightbox-background-bg-color: #000; + +$greyed-fg-color: #888; + +$neutral-badge-color: #dbdbdb; + +$preview-widget-bar-color: #ddd; +$preview-widget-fg-color: $greyed-fg-color; + +$blockquote-bar-color: #ddd; +$blockquote-fg-color: #777; + +$settings-grey-fg-color: #a2a2a2; + +$voip-decline-color: #f48080; +$voip-accept-color: #80f480; + +$rte-bg-color: #e9e9e9; +$rte-code-bg-color: rgba(0, 0, 0, 0.04); +$rte-room-pill-color: #aaa; + +// ******************** + +$roomtile-name-color: rgba(69, 69, 69, 0.8); +$roomtile-selected-bg-color: rgba(255, 255, 255, 0.8); +$roomtile-focused-bg-color: rgba(255, 255, 255, 0.9); + +$roomsublist-label-fg-color: $h3-color; +$roomsublist-label-bg-color: #d3efe1; + +// ******************** + +// event tile lifecycle +$event-encrypting-color: #abddbc; +$event-sending-color: #ddd; +$event-notsent-color: #f44; + +// event redaction +$event-redacted-img: url('../../img/redacted.jpg'); + +// event timestamp +$event-timestamp-color: #acacac; + +$edit-button-url: "../../img/icon_context_message.svg"; +$copy-button-url: "../../img/icon_copy_message.svg"; + +// e2e +$e2e-verified-color: #76cfa5; // N.B. *NOT* the same as $accent-color +$e2e-unverified-color: #e8bf37; +$e2e-warning-color: #ba6363; + +/*** ImageView ***/ +$lightbox-bg-color: #454545; +$lightbox-fg-color: #ffffff; +$lightbox-border-color: #ffffff; + +// unused? +$progressbar-color: #000; diff --git a/src/skins/vector/themes/status/css/status.scss b/src/skins/vector/themes/status/css/status.scss new file mode 100644 index 0000000000..09f5c78f17 --- /dev/null +++ b/src/skins/vector/themes/status/css/status.scss @@ -0,0 +1,4 @@ +@import "../../../css/themes/_base.scss"; +@import "_status.scss"; +@import "../../../css/_components.scss"; +@import "_StatusLogin.scss"; diff --git a/src/skins/vector/themes/status/fonts/README b/src/skins/vector/themes/status/fonts/README new file mode 100644 index 0000000000..d7900145ed --- /dev/null +++ b/src/skins/vector/themes/status/fonts/README @@ -0,0 +1 @@ +We link out to status.im for fonts, although ideally we'd put them here. diff --git a/webpack.config.js b/webpack.config.js index 1e134495ce..2df82d9b23 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -20,7 +20,7 @@ module.exports = { // CSS themes "theme-light": "./src/skins/vector/css/themes/light.scss", "theme-dark": "./src/skins/vector/css/themes/dark.scss", - "theme-status": "./src/skins/vector/css/themes/status.scss", + "theme-status": "./src/skins/vector/themes/status/css/status.scss", }, module: { preLoaders: [ From 190811ac1cbf25e5af84414475c99fb83c1de27f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Mon, 23 Oct 2017 00:57:02 +0100 Subject: [PATCH 009/108] WIP --- docs/skinning thoughts.md | 68 ++++++++ .../views/login/VectorLoginFooter.js | 3 + .../views/login/VectorLoginHeader.js | 6 +- .../structures/login/_Login.scss | 1 - src/skins/vector/css/themes/_status.scss | 155 ------------------ .../themes/status/css/_StatusLogin.scss | 74 ++++++--- .../vector/themes/status/css/_status.scss | 7 +- src/skins/vector/themes/status/img/logo.svg | 16 ++ 8 files changed, 149 insertions(+), 181 deletions(-) create mode 100644 docs/skinning thoughts.md delete mode 100644 src/skins/vector/css/themes/_status.scss create mode 100644 src/skins/vector/themes/status/img/logo.svg diff --git a/docs/skinning thoughts.md b/docs/skinning thoughts.md new file mode 100644 index 0000000000..bbaf18a284 --- /dev/null +++ b/docs/skinning thoughts.md @@ -0,0 +1,68 @@ +== Skinning refactor == + +matrix-react-sdk + - base images + - base CSS + - all the components needed to build a workable app (including the top layer) + +riot-web: the riot skin + - riot-specific classes (e.g. login header/footer) + - riot-specific themes + - light + - dark + +i.e. the only things which should go into riot-web are bits which apply vector-specific skinning +specifically "Stuff that any other brand would not want to use. (e.g. riot logos, links, T&Cs)" + - Questions: + - Electron app? (should probably be a separate repo in its own right? but might as well go here for now) + - index.html & index.js? (should be in matrix-react-sdk, given the SDK is useless without them?) + +ideally matrix-react-sdk itself should ship with a default skin which actually works built in. + +status skin (can go in the same app for now) + - has status theme + - which inherits from riot light theme + - how do we share graphics between skins? + - shove them into react-sdk, or... + - guess we do ../../vector/img + - this means keeping the skin name in the images (unless /img is a shortcut to the right skin's images) + +out of scope: + - making the components more independent, so they can be used in isolation. + - that said, the bits which should probably be used by being embeded into a different app: + - login/reg + - RoomView + RoomSettings + - MessageComposer + - RoomList + - MemberList + - MemberInfo + - Voip UI + - UserSettings + - sharing different js-sdks between the different isolated modules + +other changes: + - how do we handle i18n? + - each skin should really be its own i18n project. As long as all the commonality stuff is in matrix-react-sdk this shouldn't be too bad. + - ability to associate components with a given skin + - skins/vector/src <-- components + - skins/vector/css + - skins/vector/img + - skins/vector/fonts + - gather together themes (per skin) into a single place too + - skins/vector/themes/foo/css + - skins/vector/themes/foo/img + - skins/vector/themes/foo/fonts + - ideally riot-web would contain almost nothing but skins/vector directory. + - ability to entirely replace CSS rather than override it for a given theme + - e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`. + +random thoughts; + - should we be able to change the entire skin at runtime (more like wordpress) - to the extent of replacing entire components? + - might pose security issues if a theme can be swapped out to replace MatrixChat or other fundamental functionality at runtime + - if so, perhaps skins & themes should converge... + +----------------- + +Immediate plan for Status: + * Implement it as a theme for the riot skin + * Ideally move skins to a sensible level (possibly even including src?) diff --git a/src/components/views/login/VectorLoginFooter.js b/src/components/views/login/VectorLoginFooter.js index b04dcdb597..5a97f524df 100644 --- a/src/components/views/login/VectorLoginFooter.js +++ b/src/components/views/login/VectorLoginFooter.js @@ -18,6 +18,7 @@ limitations under the License. var React = require('react'); import { _t } from 'matrix-react-sdk/lib/languageHandler'; +import UserSettingsStore from 'matrix-react-sdk/lib/UserSettingsStore'; module.exports = React.createClass({ displayName: 'VectorLoginFooter', @@ -26,6 +27,8 @@ module.exports = React.createClass({ }, render: function() { + if (UserSettingsStore.getTheme() === 'status') return
; + return (
blog  ·   diff --git a/src/components/views/login/VectorLoginHeader.js b/src/components/views/login/VectorLoginHeader.js index 3aa8811c40..71093a96c2 100644 --- a/src/components/views/login/VectorLoginHeader.js +++ b/src/components/views/login/VectorLoginHeader.js @@ -33,8 +33,10 @@ module.exports = React.createClass({ render: function() { return ( -
- Riot +
+
+ Riot +
); } diff --git a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss index 86ab39be1b..63f483a56e 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss @@ -26,7 +26,6 @@ limitations under the License. } .mx_Login h2 { - color: $primary-fg-color; font-weight: 300; margin-top: 32px; margin-bottom: 20px; diff --git a/src/skins/vector/css/themes/_status.scss b/src/skins/vector/css/themes/_status.scss deleted file mode 100644 index b1d8b0ef2e..0000000000 --- a/src/skins/vector/css/themes/_status.scss +++ /dev/null @@ -1,155 +0,0 @@ -@font-face { - font-family:PostGrotesk-Medium; - src:url(../fonts/PostGrotesk-Medium.eot); - src:url(../fonts/PostGrotesk-Medium.eot?#iefix) format("embedded-opentype"),url(../fonts/PostGrotesk-Medium.woff) format("woff"),url(../fonts/PostGrotesk-Medium.svg#PostGrotesk-Medium) format("svg"); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family:PostGrotesk-Book; - src:url(../fonts/PostGrotesk-Book.eot); - src:url(../fonts/PostGrotesk-Book.eot?#iefix) format("embedded-opentype"),url(../fonts/PostGrotesk-Book.woff) format("woff"),url(../fonts/PostGrotesk-Book.svg#PostGrotesk-Book) format("svg"); - font-weight: 400; - font-style: normal; -} - -// We deliberately prioritise Arial over Helvetica here due to diacritic problems (see _base.scss) -// N.B. that the status.im website uses: -// font-family:PostGrotesk-Book,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; -// ...but can't be bothered to work out how the apple fonts & segoe interact, so keepingn it simple for now. - -$font-family: PostGrotesk-Book, Arial, Helvetica, Sans-Serif; - -// typical text (dark-on-white in light skin) -$primary-fg-color: #70808D; -$primary-bg-color: #EEF2F5; - -// ***** Status theme specifics ****** -$header-color: #49555F; -$header-font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; - -h1,h2,h3,h4,h5 { - color: $header-color; - font-family: $header-font-family; - font-weight: 400 ! important; -} - -// used for dialog box text -$light-fg-color: #747474; - -// used for focusing form controls -$focus-bg-color: #dddddd; - -// button UI (white-on-green in light skin) -$accent-fg-color: #ffffff; -$accent-color: #76CFA6; - -$selection-fg-color: $primary-bg-color; - -$focus-brightness: 125%; - -// red warning colour -$warning-color: #ff0064; -$mention-user-pill-bg-color: #ff0064; -$other-user-pill-bg-color: rgba(0, 0, 0, 0.1); - -$group-alert-color: #774f7e; - -$preview-bar-bg-color: #f7f7f7; - -// left-panel style muted accent color -$secondary-accent-color: #eaf5f0; - -// used by RoomDirectory permissions -$plinth-bg-color: $secondary-accent-color; - -// used by RoomDropTarget -$droptarget-bg-color: rgba(255,255,255,0.5); - -// used by AddressSelector -$selected-color: #eaf5f0; - -// selected for hoverover & selected event tiles -$event-selected-color: #f7f7f7; - -// used for the hairline dividers in RoomView -$primary-hairline-color: #e5e5e5; - -// used for the border of input text fields -$input-border-color: #f0f0f0; - -// apart from login forms, which have stronger border -$strong-input-border-color: #c7c7c7; - -// used for UserSettings EditableText -$input-underline-color: rgba(151, 151, 151, 0.5); -$input-fg-color: rgba(74, 74, 74, 0.9); - -// context menus -$menu-border-color: rgba(187, 187, 187, 0.5); -$menu-bg-color: #f6f6f6; - -$avatar-initial-color: #ffffff; - -$h3-color: #3d3b39; - -$dialog-background-bg-color: #e9e9e9; -$lightbox-background-bg-color: #000; - -$greyed-fg-color: #888; - -$neutral-badge-color: #dbdbdb; - -$preview-widget-bar-color: #ddd; -$preview-widget-fg-color: $greyed-fg-color; - -$blockquote-bar-color: #ddd; -$blockquote-fg-color: #777; - -$settings-grey-fg-color: #a2a2a2; - -$voip-decline-color: #f48080; -$voip-accept-color: #80f480; - -$rte-bg-color: #e9e9e9; -$rte-code-bg-color: rgba(0, 0, 0, 0.04); -$rte-room-pill-color: #aaa; - -// ******************** - -$roomtile-name-color: rgba(69, 69, 69, 0.8); -$roomtile-selected-bg-color: rgba(255, 255, 255, 0.8); -$roomtile-focused-bg-color: rgba(255, 255, 255, 0.9); - -$roomsublist-label-fg-color: $h3-color; -$roomsublist-label-bg-color: #d3efe1; - -// ******************** - -// event tile lifecycle -$event-encrypting-color: #abddbc; -$event-sending-color: #ddd; -$event-notsent-color: #f44; - -// event redaction -$event-redacted-img: url('../../img/redacted.jpg'); - -// event timestamp -$event-timestamp-color: #acacac; - -$edit-button-url: "../../img/icon_context_message.svg"; -$copy-button-url: "../../img/icon_copy_message.svg"; - -// e2e -$e2e-verified-color: #76cfa5; // N.B. *NOT* the same as $accent-color -$e2e-unverified-color: #e8bf37; -$e2e-warning-color: #ba6363; - -/*** ImageView ***/ -$lightbox-bg-color: #454545; -$lightbox-fg-color: #ffffff; -$lightbox-border-color: #ffffff; - -// unused? -$progressbar-color: #000; diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 38c8a5ef5c..7cdc69394b 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -17,40 +17,70 @@ limitations under the License. // overrides for mx_Login* specific to Status. // Ideally this would be all Status prefixes for a Status specific version of the component // but given we're not doing Status as a dedicated 'skin' yet... -.mx_Login { - width: 100%; - height: 100%; - display: flex; +.mx_Login { + flex-direction: column; align-items: center; justify-content: center; - - overflow: auto; -} - -.mx_Login h2 { - color: $primary-fg-color; - font-weight: 300; - margin-top: 32px; - margin-bottom: 20px; } .mx_Login_box { - width: 300px; - min-height: 450px; - padding-top: 50px; - padding-bottom: 50px; - margin: auto; + width: 350px; + min-height: initial; + padding-top: 20px; + padding-bottom: 10px; + padding-left: 33px; + padding-right: 33px; + border-radius: 8px; + margin: initial; + background-color: $form-bg-color; + box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); + position: relative; } .mx_Login_logo { - text-align: center; - height: 150px; - margin-bottom: 45px; + background-color: #fff; + width: 74px; + height: 74px; + border-radius: 37px; + box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5); + position: absolute; + top: -36px; + left: 50%; + margin-left: -36px; } .mx_Login_logo img { - max-height: 100% + width: 36px; + height: 36px; + padding: 19px; +} + +.mx_Login_box h2 { + text-align: center; + color: $form-fg-color; + font-size: 25px; +} + +.mx_LoginPageHeader_brand { + position: absolute; + top: 30px; + left: 30px; +} + +.mx_LoginPageHeader_title { + text-align: center; + margin-top: 90px; + margin-bottom: 50px; +} + +.mx_LoginPageHeader_title h1 { + font-size: 29px; + margin-bottom: 3px; +} + +.mx_LoginPageHeader_subtitle { + font-size: 18px; } .mx_Login_support { diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index d2ccee0d27..eb8f1d941b 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -25,7 +25,7 @@ $font-family: PostGrotesk-Book, Arial, Helvetica, Sans-Serif; $primary-fg-color: #70808D; $primary-bg-color: #EEF2F5; -// ***** Status theme specifics ****** +// ***** Start of Status theme specifics ****** $header-color: #49555F; $header-font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; @@ -35,6 +35,11 @@ h1,h2,h3,h4,h5 { font-weight: 400 ! important; } +$form-bg-color: #4360DF; +$form-fg-color: #ffffff; + +// ***** End of Status theme specifics ****** + // used for dialog box text $light-fg-color: #747474; diff --git a/src/skins/vector/themes/status/img/logo.svg b/src/skins/vector/themes/status/img/logo.svg new file mode 100644 index 0000000000..68e4a77a5c --- /dev/null +++ b/src/skins/vector/themes/status/img/logo.svg @@ -0,0 +1,16 @@ + + + + Status logo + Created with Sketch. + + + + + \ No newline at end of file From 16cd69f7ddf7efe0305a6c2ca03b60cc6c17c2d4 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Mon, 23 Oct 2017 01:09:06 +0000 Subject: [PATCH 010/108] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 881adc7aa1..a986adcdf7 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -208,5 +208,11 @@ "You must specify an event type!": "您必須指定事件類型!", "Show message in desktop notification": "在桌面通知中顯示訊息", "Pin Message": "釘選訊息", - "Unpin Message": "取消釘選訊息" + "Unpin Message": "取消釘選訊息", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "您可以使用自訂的伺服器選項,並指定不同的家伺服器 URL 來登入其他的 Matrix 伺服器。
這讓您可以在不同的伺服器上以既有的 Matrix 帳號使用 Riot。

您也可以設定一個自訂的識別伺服器,但您可能無法透過電子郵件地址來邀請使用者,或是讓別人透過電子郵件邀請您。", + "Edit": "編輯", + "Register": "註冊", + "Rooms": "聊天室", + "Invite to this community": "邀請至此社群", + "Add rooms to this community": "新增聊天室到此社群" } From 146a75f7e7d35ccdb12723ec697ed6c6c5bfe998 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Sun, 22 Oct 2017 13:46:55 +0000 Subject: [PATCH 011/108] Translated using Weblate (German) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 6f029da540..969db6900b 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -11,7 +11,7 @@ "The Home Server may be too old to support third party networks": "Der Home-Server ist eventuell zu alt, um Drittanbieter-Netzwerke zu unterstützen", "Directory": "Raum-Verzeichnis", "Search for a room": "Nach einem Raum suchen", - "No rooms to show": "Keine Räume anzuzeigen", + "No rooms to show": "Keine anzeigbaren Räume vorhanden", "World readable": "Lesbar für die Welt", "Guests can join": "Gäste können beitreten", "You are not receiving desktop notifications": "Du erhältst keine Desktop-Benachrichtigungen", @@ -209,10 +209,10 @@ "Show message in desktop notification": "Nachricht in der Desktop-Benachrichtigung anzeigen", "Pin Message": "Nachricht anheften", "Unpin Message": "Nachricht losheften", - "Add rooms to this community": "Füge Räume dieser Community hinzu", + "Add rooms to this community": "Räume zu dieser Community hinzufügen", "Edit": "Editieren", "Register": "Registrieren", "Rooms": "Räume", - "Invite to this community": "Zu dieser Community einladen", + "Invite to this community": "In diese Community einladen", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Die benutzerdefinierten Server-Einstellungen kannst du verwenden, um dich auf anderen Matrix-Servern anzumelden, indem du eine abweichende Heimserver-URL eingibst.
Somit ist es möglich, Riot mit einem bereits bestehendem Matrix-Benutzerkonto auf einem anderen Heimserver zu verwenden.

Außerdem kannst du einen benutzerdefinierten Identitätsserver eingeben. Allerdings kannst du in diesem Fall Benutzer nicht mehr per E-Mail-Adresse einladen und auch selbst nicht mehr per E-Mail-Adresse eingeladen werden." } From 61e06d8cf35540b42933dc9a9b7e5876e6098b99 Mon Sep 17 00:00:00 2001 From: Jan Kudrik Date: Mon, 23 Oct 2017 15:38:42 +0000 Subject: [PATCH 012/108] Translated using Weblate (Czech) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 8d9d9305d7..e9a244a487 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -58,7 +58,7 @@ "No update available.": "Není dostupná žádná aktualizace.", "Downloading update...": "Stahování aktualizace...", "Welcome to Riot.im": "Vítá vás Riot.im", - "Enable desktop notifications": "Zapnout upozornění na desktopu", + "Enable desktop notifications": "Zapnout upozornění na ploše", "Enable email notifications": "Zapnout upozornění přes e-mail", "Enable notifications for this account": "Zapnout upozornění na tomto účtu", "#example": "#příklad", @@ -202,5 +202,17 @@ "You must specify an event type!": "Musíte určit typ události!", "Event sent!": "Událost odeslána!", "Failed to send custom event.": "Nepodařilo se odeslat vlastní událost.", - "Send Custom Event": "Odeslat vlastní událost" + "Send Custom Event": "Odeslat vlastní událost", + "Show message in desktop notification": "Zobrazovat zprávu v upozornění na ploše", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Přes vlastní serverové volby se můžete přihlásit k dalším Matrix serverům tak, že zadáte jinou adresu domovského serveru.
Díky tomu můžete v Riotu používat Matrix účet z jiného domovského serveru.

Můžete nastavit i vlastní server identit, ale pak už nebudete moci zvát ani být zván/a skrze e-mailovou adresu.", + "Edit": "Upravit", + "Pin Message": "Připíchnout zprávu", + "Register": "Zaregistrovat", + "Rooms": "Místnosti", + "Invite to this community": "Pozvat do této komunity", + "Add rooms to this community": "Přidat místnosti do této komunity", + "State Key": "Stavový klíč", + "Send Custom State Event": "Poslat vlastní stavovou událost", + "Explore Room State": "Prohlížet stav místnosti", + "Unpin Message": "Odepnout zprávu" } From e2924d30dfcfa3160bf912f6c5593c934c70508c Mon Sep 17 00:00:00 2001 From: Balaji Date: Tue, 24 Oct 2017 14:29:26 +0000 Subject: [PATCH 013/108] Translated using Weblate (Tamil) Currently translated at 78.6% (169 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ta/ --- src/i18n/strings/ta.json | 43 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/ta.json b/src/i18n/strings/ta.json index 2d3c512036..dc6a593e3b 100644 --- a/src/i18n/strings/ta.json +++ b/src/i18n/strings/ta.json @@ -18,7 +18,7 @@ "%(appName)s via %(browserName)s on %(osName)s": "%(osName)s -ல் %(browserName)s -ன் வழியாக %(appName)s", "Call invitation": "அழைப்பிற்கான விண்ணப்பம்", "Can't update user notification settings": "பயனர் அறிவிப்பு அமைப்புகளை மாற்ற முடியவில்லை", - "Couldn't find a matching Matrix room": "பொருத்தமான Matrix அறை புலப்படவில்லை", + "Couldn't find a matching Matrix room": "பொருத்தமான Matrix அறை கிடைக்கவில்லை", "Custom Server Options": "விருப்பிற்கேற்ற வழங்கி இடப்புகள்", "delete the alias.": "மாற்றை அழி.", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "அறை மாற்று %(alias)s -ஐ அழித்து, %(name)s -ஐ அடைவிலிருந்து நீக்க வேண்டுமா?", @@ -43,7 +43,7 @@ "Favourite": "விருப்பமான", "Files": "கோப்புகள்", "Filter room names": "அறை பெயர்களை வடிகட்டு", - "Forget": "மறத்தல்", + "Forget": "மற", "Guests can join": "விருந்தினர்கள் சேரலாம்", "Hide panel": "பலகத்தை மறை", "Invite to this room": "இந்த அறைக்கு அழை", @@ -70,7 +70,7 @@ "Messages containing my display name": "என் காட்சி பெயர் கொண்ட செய்திகள்", "more": "அதிகம்", "Mute": "முடக்கு", - "No rooms to show": "காண்பதற்கான அறை இல்லை", + "No rooms to show": "காண்பிக்க எந்த அறையும் இல்லை", "Messages containing keywords": "முக்கிய கொண்ட செய்திகள்", "Messages containing my user name": "என் பயனர் பெயர் கொண்ட செய்திகள்", "Messages in group chats": "குழு அரட்டைகளில் உள்ள செய்திகள்", @@ -133,5 +133,40 @@ "You cannot delete this image. (%(code)s)": "இந்த படத்தை நீங்கள் அழிக்க முடியாது. (%(code)s)", "You cannot delete this message. (%(code)s)": "இந்த செய்தியை நீங்கள் அழிக்க முடியாது. (%(code)s)", "You are not receiving desktop notifications": "திரை அறிவிப்புகளை நீங்கள் பெறவில்லை", - "Bug report sent": "வழு அறிக்கை அனுப்பப்பட்டது" + "Bug report sent": "வழு அறிக்கை அனுப்பப்பட்டது", + "You need to be using HTTPS to place a screen-sharing call.": "நீங்கள் திரைபகிர்வு அழைப்பை மேற்க்கொள்ள HTTPS-ஐ பயன்படுத்த வேண்டும்.", + "OK": "சரி", + "Show message in desktop notification": "திரை அறிவிப்புகளில் செய்தியை காண்பிக்கவும்", + "Sunday": "ஞாயிறு", + "Monday": "திங்கள்", + "Tuesday": "செவ்வாய்", + "Wednesday": "புதன்", + "Thursday": "வியாழன்", + "Friday": "வெள்ளி", + "Saturday": "சனி", + "Today": "இன்று", + "Yesterday": "நேற்று", + "No update available.": "எந்த புதுப்பிப்பும் இல்லை.", + "Warning": "எச்சரிக்கை", + "Thank you!": "உங்களுக்கு நன்றி", + "Back": "பின்", + "Event sent!": "நிகழ்வு அனுப்பப்பட்டது", + "Event Type": "நிகழ்வு வகை", + "Event Content": "நிகழ்வு உள்ளடக்கம்", + "Edit": "தொகு", + "You have successfully set a password!": "நீங்கள் வெற்றிகரமாக கடவுச்சொல்லை அமைத்துவிட்டீர்கள்", + "You have successfully set a password and an email address!": "நீங்கள் வெற்றிகரமாக கடவுச்சொல் மற்றும் மின்னஞ்சல் முகவரியை அமைத்துவிட்டீர்கள்", + "Continue": "தொடரவும்", + "Please set a password!": "தயவு செய்து கடவுச்சொல்லை அமைக்கவும்", + "Couldn't load home page": "முதற்பக்கத்தை நிரலேற்ற முடியவில்லை", + "Register": "பதிவு செய்", + "Rooms": "அறைகள்", + "Add rooms to this community": "அறைகளை இந்த சமூகத்தில் சேர்க்கவும்", + "Welcome to Riot.im": "Riot.im -ற்க்கு வரவேற்க்கிறோம்", + "Search the room directory": "அறை அடைவில் தேடவும்", + "Chat with Riot Bot": "Riot இயங்கியிடம் உரையாடவும்", + "Matrix technical discussions": "Matrix தொழில்நுட்ப விவாதங்கள்", + "Running Matrix services": "இருப்பிலிருக்கும் Matrix சேவைகள்", + "Building services on Matrix": "Matrix- ல் சேவைகளைக் கட்டமைக்க", + "Contributing code to Matrix and Riot": "Matrix மற்றும் Riot -ற்க்கு நிரல் பங்களிக்க" } From 313f4f03b775327c48e1694fb1d19875377a7093 Mon Sep 17 00:00:00 2001 From: Ruben Barkow Date: Tue, 24 Oct 2017 22:08:28 +0000 Subject: [PATCH 014/108] Translated using Weblate (German) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 969db6900b..e98e3735f7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -12,7 +12,7 @@ "Directory": "Raum-Verzeichnis", "Search for a room": "Nach einem Raum suchen", "No rooms to show": "Keine anzeigbaren Räume vorhanden", - "World readable": "Lesbar für die Welt", + "World readable": "Lesbar für alle", "Guests can join": "Gäste können beitreten", "You are not receiving desktop notifications": "Du erhältst keine Desktop-Benachrichtigungen", "Enable them now": "Aktiviere diese jetzt", @@ -177,7 +177,7 @@ "You have successfully set a password!": "Du hast erfolgreich ein Passwort gesetzt!", "You can now return to your account after signing out, and sign in on other devices.": "Du kannst nun zu deinem Konto zurückkehren nach dem du dich an anderen Geräten ab- und angemeldet hast.", "Continue": "Fortfahren", - "Please set a password!": "Bitte ein Passwort einrichten!", + "Please set a password!": "Bitte setze ein Passwort!", "This will allow you to return to your account after signing out, and sign in on other devices.": "Dies erlaubt dir, dich wieder an deinem Konto anzumelden, nachdem du dich abgemeldet hast.", "Dev chat for the Dendrite dev team": "Entwickler-Chat für das Dendrite-Entwickler-Team", "General discussion about Matrix and Riot": "Allgemeine Diskussion über Matrix und Riot", @@ -208,7 +208,7 @@ "You must specify an event type!": "Du musst einen Event-Typ spezifizieren!", "Show message in desktop notification": "Nachricht in der Desktop-Benachrichtigung anzeigen", "Pin Message": "Nachricht anheften", - "Unpin Message": "Nachricht losheften", + "Unpin Message": "Nachricht lösen", "Add rooms to this community": "Räume zu dieser Community hinzufügen", "Edit": "Editieren", "Register": "Registrieren", From b053f08991260755cb2015313bdcbe988363a83d Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 24 Oct 2017 23:42:52 +0100 Subject: [PATCH 015/108] switch to a LoginPage wrapper component > > as it's much nicer in the CSS to wrap the LoginBox as needed rather than have separate header & footer divs floating above and below it which need to be correctly vertically centered --- .../themes/status/css/_StatusLogin.scss | 553 ++++++++++-------- .../vector/themes/status/css/_status.scss | 6 +- 2 files changed, 298 insertions(+), 261 deletions(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 7cdc69394b..a32251f517 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -18,304 +18,337 @@ limitations under the License. // Ideally this would be all Status prefixes for a Status specific version of the component // but given we're not doing Status as a dedicated 'skin' yet... -.mx_Login { - flex-direction: column; +.mx_StatusLogin { + + width: 100%; + height: 100%; + + display: flex; align-items: center; justify-content: center; -} -.mx_Login_box { - width: 350px; - min-height: initial; - padding-top: 20px; - padding-bottom: 10px; - padding-left: 33px; - padding-right: 33px; - border-radius: 8px; - margin: initial; - background-color: $form-bg-color; - box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); - position: relative; -} + overflow: auto; -.mx_Login_logo { - background-color: #fff; - width: 74px; - height: 74px; - border-radius: 37px; - box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5); - position: absolute; - top: -36px; - left: 50%; - margin-left: -36px; -} + .mx_StatusLogin_brand { + position: absolute; + top: 30px; + left: 30px; + } -.mx_Login_logo img { - width: 36px; - height: 36px; - padding: 19px; -} + .mx_StatusLogin_content { + margin: auto; + } -.mx_Login_box h2 { - text-align: center; - color: $form-fg-color; - font-size: 25px; -} + .mx_StatusLogin_header { + text-align: center; + margin-top: 70px; + margin-bottom: 50px; + } -.mx_LoginPageHeader_brand { - position: absolute; - top: 30px; - left: 30px; -} + .mx_StatusLogin_header h1 { + font-size: 29px; + margin-bottom: 3px; + } -.mx_LoginPageHeader_title { - text-align: center; - margin-top: 90px; - margin-bottom: 50px; -} + .mx_StatusLogin_subtitle { + font-size: 18px; + } -.mx_LoginPageHeader_title h1 { - font-size: 29px; - margin-bottom: 3px; -} + .mx_StatusLogin_footer { + margin-top: 30px; + margin-bottom: 30px; + text-align: center; + font-size: 16px; + color: $footer-color; + } -.mx_LoginPageHeader_subtitle { - font-size: 18px; -} + .mx_StatusLogin_footer p { + margin-top: 0.5em; + margin-bottom: 0.5em; + } -.mx_Login_support { - text-align: center; - font-size: 13px; - margin-top: 0px; - opacity: 0.7; -} + .mx_StatusLogin_footer_cta { + color: $callout-color; + font-family: $header-font-family; + letter-spacing: 1px; + font-size: 13px; + text-transform: uppercase; + text-decoration: none; + } -.mx_Login_field { - width: 280px; - border-radius: 3px; - border: 1px solid $strong-input-border-color; - font-weight: 300; - font-size: 13px; - padding: 9px; - margin-bottom: 14px; -} + // overrides of .mx_Login -.mx_Login_field_disabled { - opacity: 0.3; -} + .mx_Login_box { + width: 350px; + min-height: initial; + padding-top: 20px; + padding-bottom: 10px; + padding-left: 33px; + padding-right: 33px; + border-radius: 8px; + background-color: $form-bg-color; + box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); + position: relative; + } -.mx_Login_fieldLabel { - margin-top: -10px; - margin-left: 8px; - margin-bottom: 14px; - font-size: 13px; - opacity: 0.8; -} + .mx_Login_logo { + background-color: #fff; + width: 74px; + height: 74px; + border-radius: 37px; + box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5); + position: absolute; + top: -36px; + left: 50%; + margin-left: -36px; + } -.mx_Login_submit { - margin-top: 35px; - margin-bottom: 24px; - width: 100%; - border-radius: 40px; - height: 40px; - border: 0px; - background-color: $accent-color; - font-size: 15px; - color: $accent-fg-color; -} + .mx_Login_logo img { + width: 36px; + height: 36px; + padding: 19px; + } -.mx_Login_submit:disabled { - opacity: 0.3; -} + .mx_Login_box h2 { + text-align: center; + color: $form-fg-color; + font-size: 25px; + } -.mx_Login_label { - font-size: 13px; - opacity: 0.8; -} + .mx_Login_support { + text-align: center; + font-size: 13px; + margin-top: 0px; + opacity: 0.7; + } -.mx_Login_checkbox, -.mx_Login_radio { - margin-right: 10px; -} + .mx_Login_field { + width: 280px; + border-radius: 3px; + border: 1px solid $strong-input-border-color; + font-weight: 300; + font-size: 13px; + padding: 9px; + margin-bottom: 14px; + } -.mx_Login_create { - display: block; - text-align: center; - width: 100%; - font-size: 13px; - opacity: 0.8; -} + .mx_Login_field_disabled { + opacity: 0.3; + } -.mx_Login_create:link { - color: $primary-fg-color; -} + .mx_Login_fieldLabel { + margin-top: -10px; + margin-left: 8px; + margin-bottom: 14px; + font-size: 13px; + opacity: 0.8; + } -.mx_Login_links { - display: block; - text-align: center; - margin-top: 15px; - width: 100%; - font-size: 13px; - opacity: 0.8; -} + .mx_Login_submit { + margin-top: 35px; + margin-bottom: 24px; + width: 100%; + border-radius: 40px; + height: 40px; + border: 0px; + background-color: $accent-color; + font-size: 15px; + color: $accent-fg-color; + } -.mx_Login_links a:link { - color: $primary-fg-color; -} + .mx_Login_submit:disabled { + opacity: 0.3; + } -.mx_Login_prompt { - padding-top: 15px; - padding-bottom: 15px; - font-size: 13px; -} + .mx_Login_label { + font-size: 13px; + opacity: 0.8; + } -.mx_Login_forgot { - font-size: 13px; - opacity: 0.8; -} + .mx_Login_checkbox, + .mx_Login_radio { + margin-right: 10px; + } -.mx_Login_forgot:link { - color: $primary-fg-color; -} + .mx_Login_create { + display: block; + text-align: center; + width: 100%; + font-size: 13px; + opacity: 0.8; + } -.mx_Login_loader { - display: inline; - position: relative; - top: 2px; - left: 8px; -} + .mx_Login_create:link { + color: $primary-fg-color; + } -.mx_Login_loader .mx_Spinner { - display: inline; -} + .mx_Login_links { + display: block; + text-align: center; + margin-top: 15px; + width: 100%; + font-size: 13px; + opacity: 0.8; + } -.mx_Login_loader .mx_Spinner img { - width: 16px; - height: 16px; -} + .mx_Login_links a:link { + color: $primary-fg-color; + } -.mx_Login_error { - color: $warning-color; - font-weight: bold; - text-align: center; -/* - height: 24px; -*/ - margin-top: 12px; - margin-bottom: 12px; -} + .mx_Login_prompt { + padding-top: 15px; + padding-bottom: 15px; + font-size: 13px; + } -.mx_Login_type_container { - display: flex; - margin-bottom: 14px; -} + .mx_Login_forgot { + font-size: 13px; + opacity: 0.8; + } -.mx_Login_type_label { - flex-grow: 1; - line-height: 35px; -} + .mx_Login_forgot:link { + color: $primary-fg-color; + } -.mx_Login_type_dropdown { - display: inline-block; - min-width: 170px; - align-self: flex-end; - flex: 1 1 auto; -} + .mx_Login_loader { + display: inline; + position: relative; + top: 2px; + left: 8px; + } -.mx_Login_field_group { - display: flex; -} + .mx_Login_loader .mx_Spinner { + display: inline; + } -.mx_Login_field_prefix { - height: 34px; - padding: 0px 5px; - line-height: 33px; + .mx_Login_loader .mx_Spinner img { + width: 16px; + height: 16px; + } - background-color: #eee; - border: 1px solid #c7c7c7; - border-right: 0px; - border-radius: 3px 0px 0px 3px; - - text-align: center; -} - -.mx_Login_field_suffix { - height: 34px; - padding: 0px 5px; - line-height: 33px; - - background-color: #eee; - border: 1px solid #c7c7c7; - border-left: 0px; - border-radius: 0px 3px 3px 0px; - - text-align: center; - flex-grow: 1; -} - -.mx_Login_username { - height: 16px; - flex-shrink: 1; - min-width: 0px; - border-radius: 3px; -} - -.mx_Login_phoneNumberField { - height: 16px; -} - -.mx_Login_field_has_prefix { - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; -} - -.mx_Login_field_has_suffix { - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; -} - -.mx_Login_phoneSection { - display:flex; -} - -.mx_Login_phoneCountry { - margin-bottom: 14px; - width: 150px; - - /* To override mx_Login_field_prefix */ - text-align: left; - padding: 0px; - background-color: $primary-bg-color; -} - -.mx_Login_field_prefix .mx_Dropdown_input { - /* To use prefix border instead of dropdown border */ - border: 0; -} - -.mx_Login_phoneCountry .mx_Dropdown_option { + .mx_Login_error { + color: $warning-color; + font-weight: bold; + text-align: center; /* - To match height of mx_Login_field - 33px + 2px border from mx_Dropdown_option = 35px + height: 24px; */ - height: 33px; - line-height: 33px; -} + margin-top: 12px; + margin-bottom: 12px; + } -.mx_Login_phoneCountry .mx_Dropdown_option img { - margin: 3px; - vertical-align: top; -} + .mx_Login_type_container { + display: flex; + margin-bottom: 14px; + } -.mx_Login_language { - margin-left: auto; - margin-right: auto; - min-width: 60%; -} + .mx_Login_type_label { + flex-grow: 1; + line-height: 35px; + } -.mx_Login_language_div { - display: flex; - margin-top: 12px; - margin-bottom: 12px; -} + .mx_Login_type_dropdown { + display: inline-block; + min-width: 170px; + align-self: flex-end; + flex: 1 1 auto; + } + .mx_Login_field_group { + display: flex; + } + + .mx_Login_field_prefix { + height: 34px; + padding: 0px 5px; + line-height: 33px; + + background-color: #eee; + border: 1px solid #c7c7c7; + border-right: 0px; + border-radius: 3px 0px 0px 3px; + + text-align: center; + } + + .mx_Login_field_suffix { + height: 34px; + padding: 0px 5px; + line-height: 33px; + + background-color: #eee; + border: 1px solid #c7c7c7; + border-left: 0px; + border-radius: 0px 3px 3px 0px; + + text-align: center; + flex-grow: 1; + } + + .mx_Login_username { + height: 16px; + flex-shrink: 1; + min-width: 0px; + border-radius: 3px; + } + + .mx_Login_phoneNumberField { + height: 16px; + } + + .mx_Login_field_has_prefix { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + } + + .mx_Login_field_has_suffix { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + } + + .mx_Login_phoneSection { + display:flex; + } + + .mx_Login_phoneCountry { + margin-bottom: 14px; + width: 150px; + + /* To override mx_Login_field_prefix */ + text-align: left; + padding: 0px; + background-color: $primary-bg-color; + } + + .mx_Login_field_prefix .mx_Dropdown_input { + /* To use prefix border instead of dropdown border */ + border: 0; + } + + .mx_Login_phoneCountry .mx_Dropdown_option { + /* + To match height of mx_Login_field + 33px + 2px border from mx_Dropdown_option = 35px + */ + height: 33px; + line-height: 33px; + } + + .mx_Login_phoneCountry .mx_Dropdown_option img { + margin: 3px; + vertical-align: top; + } + + .mx_Login_language { + margin-left: auto; + margin-right: auto; + min-width: 60%; + } + + .mx_Login_language_div { + display: flex; + margin-top: 12px; + margin-bottom: 12px; + } + +} diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index eb8f1d941b..ceffa7a919 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -29,13 +29,17 @@ $primary-bg-color: #EEF2F5; $header-color: #49555F; $header-font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; +$footer-color: #8D99A4; + h1,h2,h3,h4,h5 { color: $header-color; font-family: $header-font-family; font-weight: 400 ! important; } -$form-bg-color: #4360DF; +$callout-color: #4360DF; // or #4957b8 from status.im homepage + +$form-bg-color: $callout-color; $form-fg-color: #ffffff; // ***** End of Status theme specifics ****** From 73e7fe27646f14e07e32f877b62cebf6d4bfec9b Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 01:30:39 +0100 Subject: [PATCH 016/108] finishish login page --- .../structures/login/_Login.scss | 1 - .../themes/status/css/_StatusLogin.scss | 78 +++++++++++-------- .../vector/themes/status/css/_status.scss | 26 ++++++- 3 files changed, 70 insertions(+), 35 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss index 63f483a56e..dca1422534 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss @@ -223,7 +223,6 @@ limitations under the License. height: 16px; flex-shrink: 1; min-width: 0px; - border-radius: 3px; } .mx_Login_phoneNumberField { diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index a32251f517..44a9e0a2e6 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -54,6 +54,10 @@ limitations under the License. font-size: 18px; } + .mx_StatusLogin_subtitle a { + color: $riot-link-color; + } + .mx_StatusLogin_footer { margin-top: 30px; margin-bottom: 30px; @@ -73,22 +77,22 @@ limitations under the License. letter-spacing: 1px; font-size: 13px; text-transform: uppercase; - text-decoration: none; } // overrides of .mx_Login .mx_Login_box { - width: 350px; + width: 330px; min-height: initial; - padding-top: 20px; - padding-bottom: 10px; - padding-left: 33px; - padding-right: 33px; + padding-top: 40px; + padding-bottom: 20px; + padding-left: 10px; + padding-right: 10px; border-radius: 8px; background-color: $form-bg-color; box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); position: relative; + text-align: center; } .mx_Login_logo { @@ -123,15 +127,31 @@ limitations under the License. } .mx_Login_field { - width: 280px; - border-radius: 3px; - border: 1px solid $strong-input-border-color; + width: 260px; + height: 27px; + padding: 9px 20px 9px 20px; + border-radius: 10px; + text-align: left; + border: none; + background-color: $form-field-bg-color; + color: $form-field-fg-color; font-weight: 300; - font-size: 13px; - padding: 9px; + font-size: 15px; margin-bottom: 14px; } + .mx_Login_field::-webkit-input-placeholder { + font-family: $font-family; + color: $form-field-fg-color; + opacity: 0.6; + } + + .mx_Login_field::-moz-placeholder { + font-family: $font-family; + color: $form-field-fg-color; + opacity: 0.6; + } + .mx_Login_field_disabled { opacity: 0.3; } @@ -145,15 +165,10 @@ limitations under the License. } .mx_Login_submit { - margin-top: 35px; - margin-bottom: 24px; - width: 100%; - border-radius: 40px; - height: 40px; - border: 0px; - background-color: $accent-color; - font-size: 15px; - color: $accent-fg-color; + @mixin mx_DialogButton; + width: 200px; + margin-top: 13px; + margin-bottom: 18px; } .mx_Login_submit:disabled { @@ -174,18 +189,19 @@ limitations under the License. display: block; text-align: center; width: 100%; - font-size: 13px; - opacity: 0.8; + font-size: 15px; + opacity: 1.0; } .mx_Login_create:link { - color: $primary-fg-color; + color: $form-fg-color; } .mx_Login_links { display: block; text-align: center; - margin-top: 15px; + margin-top: 10px; + margin-bottom: 10px; width: 100%; font-size: 13px; opacity: 0.8; @@ -202,12 +218,13 @@ limitations under the License. } .mx_Login_forgot { + display: block; font-size: 13px; opacity: 0.8; } .mx_Login_forgot:link { - color: $primary-fg-color; + color: $form-fg-color; } .mx_Login_loader { @@ -228,13 +245,12 @@ limitations under the License. .mx_Login_error { color: $warning-color; - font-weight: bold; + font-size: 18px; + width: 250px; + margin: auto; text-align: center; - /* - height: 24px; - */ margin-top: 12px; - margin-bottom: 12px; + margin-bottom: 16px; } .mx_Login_type_container { @@ -286,10 +302,8 @@ limitations under the License. } .mx_Login_username { - height: 16px; flex-shrink: 1; min-width: 0px; - border-radius: 3px; } .mx_Login_phoneNumberField { diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index ceffa7a919..b3680f7e5c 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -31,6 +31,12 @@ $header-font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; $footer-color: #8D99A4; +$riot-link-color: #A26988; + +a { + text-decoration: none; +} + h1,h2,h3,h4,h5 { color: $header-color; font-family: $header-font-family; @@ -42,8 +48,12 @@ $callout-color: #4360DF; // or #4957b8 from status.im homepage $form-bg-color: $callout-color; $form-fg-color: #ffffff; +$form-field-bg-color: rgba(244, 242, 247, 0.12); +$form-field-fg-color: #ffffff; + // ***** End of Status theme specifics ****** + // used for dialog box text $light-fg-color: #747474; @@ -52,14 +62,14 @@ $focus-bg-color: #dddddd; // button UI (white-on-green in light skin) $accent-fg-color: #ffffff; -$accent-color: #76CFA6; +$accent-color: #6CC1F6; $selection-fg-color: $primary-bg-color; $focus-brightness: 125%; // red warning colour -$warning-color: #ff0064; +$warning-color: #F69E98; $mention-user-pill-bg-color: #ff0064; $other-user-pill-bg-color: rgba(0, 0, 0, 0.1); @@ -162,3 +172,15 @@ $lightbox-border-color: #ffffff; // unused? $progressbar-color: #000; + +@define-mixin mx_DialogButton { + border-radius: 8px; + height: 45px; + border: 1px solid rgba(199, 206, 209, 0.12); + background-color: $accent-color; + font-size: 13px; + font-family: $header-font-family; + text-transform: uppercase; + letter-spacing: 1px; + color: $accent-fg-color; +} From 29cfbba2ce76287e91b6b8fc5c8e59da7f4460a1 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 02:04:17 +0100 Subject: [PATCH 017/108] tweak error layout --- src/skins/vector/themes/status/css/_StatusLogin.scss | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 44a9e0a2e6..ad64546f87 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -117,6 +117,7 @@ limitations under the License. text-align: center; color: $form-fg-color; font-size: 25px; + margin-bottom: 24px; } .mx_Login_support { @@ -132,7 +133,7 @@ limitations under the License. padding: 9px 20px 9px 20px; border-radius: 10px; text-align: left; - border: none; + border: 1px solid transparent; background-color: $form-field-bg-color; color: $form-field-fg-color; font-weight: 300; @@ -247,6 +248,10 @@ limitations under the License. color: $warning-color; font-size: 18px; width: 250px; + height: 44px; + display: flex; + justify-content: center; + align-items: center; margin: auto; text-align: center; margin-top: 12px; From eedcda1d0e224cbab9c6d806f9243dd009824c71 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 02:18:04 +0100 Subject: [PATCH 018/108] add dotty background --- src/skins/vector/themes/status/img/dot.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/skins/vector/themes/status/img/dot.svg diff --git a/src/skins/vector/themes/status/img/dot.svg b/src/skins/vector/themes/status/img/dot.svg new file mode 100644 index 0000000000..45df23c049 --- /dev/null +++ b/src/skins/vector/themes/status/img/dot.svg @@ -0,0 +1 @@ +Artboard \ No newline at end of file From 9d86716b0f958c72e785af835ae94ca93f343c66 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 02:26:53 +0100 Subject: [PATCH 019/108] remove non-overridden stuff, and add dot svg --- .../themes/status/css/_StatusLogin.scss | 160 +----------------- 1 file changed, 1 insertion(+), 159 deletions(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index ad64546f87..a3f3b0ef3b 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -90,6 +90,7 @@ limitations under the License. padding-right: 10px; border-radius: 8px; background-color: $form-bg-color; + background-image: url(../../themes/status/img/dot.svg); box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); position: relative; text-align: center; @@ -120,13 +121,6 @@ limitations under the License. margin-bottom: 24px; } - .mx_Login_support { - text-align: center; - font-size: 13px; - margin-top: 0px; - opacity: 0.7; - } - .mx_Login_field { width: 260px; height: 27px; @@ -157,14 +151,6 @@ limitations under the License. opacity: 0.3; } - .mx_Login_fieldLabel { - margin-top: -10px; - margin-left: 8px; - margin-bottom: 14px; - font-size: 13px; - opacity: 0.8; - } - .mx_Login_submit { @mixin mx_DialogButton; width: 200px; @@ -176,16 +162,6 @@ limitations under the License. opacity: 0.3; } - .mx_Login_label { - font-size: 13px; - opacity: 0.8; - } - - .mx_Login_checkbox, - .mx_Login_radio { - margin-right: 10px; - } - .mx_Login_create { display: block; text-align: center; @@ -212,12 +188,6 @@ limitations under the License. color: $primary-fg-color; } - .mx_Login_prompt { - padding-top: 15px; - padding-bottom: 15px; - font-size: 13px; - } - .mx_Login_forgot { display: block; font-size: 13px; @@ -228,22 +198,6 @@ limitations under the License. color: $form-fg-color; } - .mx_Login_loader { - display: inline; - position: relative; - top: 2px; - left: 8px; - } - - .mx_Login_loader .mx_Spinner { - display: inline; - } - - .mx_Login_loader .mx_Spinner img { - width: 16px; - height: 16px; - } - .mx_Login_error { color: $warning-color; font-size: 18px; @@ -258,116 +212,4 @@ limitations under the License. margin-bottom: 16px; } - .mx_Login_type_container { - display: flex; - margin-bottom: 14px; - } - - .mx_Login_type_label { - flex-grow: 1; - line-height: 35px; - } - - .mx_Login_type_dropdown { - display: inline-block; - min-width: 170px; - align-self: flex-end; - flex: 1 1 auto; - } - - .mx_Login_field_group { - display: flex; - } - - .mx_Login_field_prefix { - height: 34px; - padding: 0px 5px; - line-height: 33px; - - background-color: #eee; - border: 1px solid #c7c7c7; - border-right: 0px; - border-radius: 3px 0px 0px 3px; - - text-align: center; - } - - .mx_Login_field_suffix { - height: 34px; - padding: 0px 5px; - line-height: 33px; - - background-color: #eee; - border: 1px solid #c7c7c7; - border-left: 0px; - border-radius: 0px 3px 3px 0px; - - text-align: center; - flex-grow: 1; - } - - .mx_Login_username { - flex-shrink: 1; - min-width: 0px; - } - - .mx_Login_phoneNumberField { - height: 16px; - } - - .mx_Login_field_has_prefix { - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; - } - - .mx_Login_field_has_suffix { - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; - } - - .mx_Login_phoneSection { - display:flex; - } - - .mx_Login_phoneCountry { - margin-bottom: 14px; - width: 150px; - - /* To override mx_Login_field_prefix */ - text-align: left; - padding: 0px; - background-color: $primary-bg-color; - } - - .mx_Login_field_prefix .mx_Dropdown_input { - /* To use prefix border instead of dropdown border */ - border: 0; - } - - .mx_Login_phoneCountry .mx_Dropdown_option { - /* - To match height of mx_Login_field - 33px + 2px border from mx_Dropdown_option = 35px - */ - height: 33px; - line-height: 33px; - } - - .mx_Login_phoneCountry .mx_Dropdown_option img { - margin: 3px; - vertical-align: top; - } - - .mx_Login_language { - margin-left: auto; - margin-right: auto; - min-width: 60%; - } - - .mx_Login_language_div { - display: flex; - margin-top: 12px; - margin-bottom: 12px; - } - } From a3b82bcd3d1133f6e64a46715325e2cbcd0da77a Mon Sep 17 00:00:00 2001 From: Bamstam Date: Tue, 24 Oct 2017 22:18:58 +0000 Subject: [PATCH 020/108] Translated using Weblate (German) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index e98e3735f7..5cebf0c812 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -208,7 +208,7 @@ "You must specify an event type!": "Du musst einen Event-Typ spezifizieren!", "Show message in desktop notification": "Nachricht in der Desktop-Benachrichtigung anzeigen", "Pin Message": "Nachricht anheften", - "Unpin Message": "Nachricht lösen", + "Unpin Message": "Nachricht nicht mehr anheften", "Add rooms to this community": "Räume zu dieser Community hinzufügen", "Edit": "Editieren", "Register": "Registrieren", From 4a8729dd1d12b765d8b37f19cd33a2f7bbc748ac Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 25 Oct 2017 15:51:19 +0000 Subject: [PATCH 021/108] Translated using Weblate (German) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 5cebf0c812..7e3916427a 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -81,7 +81,7 @@ "Source URL": "Quell-URL", "Unable to look up room ID from server": "Es ist nicht möglich, die Raum-ID auf dem Server nachzuschlagen", "Unhide Preview": "Vorschau wieder anzeigen", - "Uploaded on %(date)s by %(user)s": "Hochgeladen am %(date)s von %(user)s", + "Uploaded on %(date)s by %(user)s": "Hochgeladen: %(date)s von %(user)s", "View Decrypted Source": "Entschlüsselten Quellcode ansehen", "View Source": "Quellcode ansehen", "You cannot delete this image. (%(code)s)": "Das Bild kann nicht gelöscht werden. (%(code)s)", From 79a9f2168b2961281263e6a656f4c3b4cfc41823 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 22:47:55 +0100 Subject: [PATCH 022/108] get rid of hardcoded font --- .../vector/img/button-text-formatting.svg | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/skins/vector/img/button-text-formatting.svg b/src/skins/vector/img/button-text-formatting.svg index d3fc3f5f54..d697010d40 100644 --- a/src/skins/vector/img/button-text-formatting.svg +++ b/src/skins/vector/img/button-text-formatting.svg @@ -1,18 +1,21 @@ - - - - F69CBF5F-0BEC-47E8-B1DF-125D6376C0C9 - Created with sketchtool. - - - - - - - A - a - - - - - \ No newline at end of file + + + + + + + + + + + + From 953398b486e9e866dd9330004aab092377bb5006 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 22:48:13 +0100 Subject: [PATCH 023/108] statusify main chat --- .../structures/_SearchBox.scss | 2 +- .../views/dialogs/_ChatInviteDialog.scss | 2 +- .../dialogs/_ConfirmUserActionDialog.scss | 2 +- .../views/dialogs/_EncryptedEventDialog.scss | 2 +- .../views/dialogs/_UnknownDeviceDialog.scss | 2 +- .../views/rooms/_MemberList.scss | 2 +- .../views/rooms/_MessageComposer.scss | 4 +- .../views/rooms/_SearchableEntityList.scss | 2 +- src/skins/vector/css/themes/_base.scss | 2 +- src/skins/vector/css/themes/_dark.scss | 1 + .../vector-web/structures/_RoomSubList.scss | 6 +-- .../vector/themes/status/css/_status.scss | 46 ++++++++++++++++--- 12 files changed, 55 insertions(+), 18 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_SearchBox.scss b/src/skins/vector/css/matrix-react-sdk/structures/_SearchBox.scss index 0f34f056a5..64dec8260a 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_SearchBox.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_SearchBox.scss @@ -38,7 +38,7 @@ limitations under the License. .mx_SearchBox_search { flex: 1 1 auto; width: 0px; - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; font-size: 12px; margin-top: -2px; height: 24px; 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 a950ea8d12..84052cc9a7 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 @@ -28,7 +28,7 @@ limitations under the License. { height: 26px; font-size: 14px; - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; padding-left: 12px; padding-right: 12px; margin: 0 !important; diff --git a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_ConfirmUserActionDialog.scss b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_ConfirmUserActionDialog.scss index d12bcd3712..b859d6bf4d 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_ConfirmUserActionDialog.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_ConfirmUserActionDialog.scss @@ -34,7 +34,7 @@ limitations under the License. } .mx_ConfirmUserActionDialog_reasonField { - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; font-size: 14px; color: $primary-fg-color; background-color: $primary-bg-color; diff --git a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_EncryptedEventDialog.scss b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_EncryptedEventDialog.scss index cbc0195cac..9fb2bf525e 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_EncryptedEventDialog.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_EncryptedEventDialog.scss @@ -27,7 +27,7 @@ limitations under the License. border: solid 1px $accent-color; font-weight: 600; font-size: 14px; - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; margin-left: 0px; margin-right: 8px; padding-left: 1.5em; diff --git a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_UnknownDeviceDialog.scss b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_UnknownDeviceDialog.scss index 804b3f419e..332cd571d9 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/dialogs/_UnknownDeviceDialog.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/dialogs/_UnknownDeviceDialog.scss @@ -49,7 +49,7 @@ limitations under the License. border: solid 1px $accent-color; font-weight: 600; font-size: 13px; - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; margin-left: 0px; margin-right: 8px; padding-left: 0.5em; diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberList.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberList.scss index dd41483b6c..83fc70aefb 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberList.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberList.scss @@ -49,7 +49,7 @@ limitations under the License. .mx_MemberList_query, .mx_GroupMemberList_query, .mx_GroupRoomList_query { - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; border-radius: 3px; border: 1px solid $input-border-color; padding: 9px; diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index 14e758535e..d95f6415ec 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -138,7 +138,7 @@ limitations under the License. max-height: 120px; overflow: auto; /* needed for FF */ - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; } /* hack for FF as vertical alignment of custom placeholder text is broken */ @@ -175,6 +175,8 @@ limitations under the License. .mx_MessageComposer_formatting { cursor: pointer; margin: 0 11px; + width: 24px; + height: 18px; } .mx_MessageComposer_formatbar_wrapper { diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_SearchableEntityList.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_SearchableEntityList.scss index 6116dd92ca..37a663123d 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_SearchableEntityList.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_SearchableEntityList.scss @@ -21,7 +21,7 @@ limitations under the License. } .mx_SearchableEntityList_query { - font-family: 'Open Sans', Arial, Helvetica, Sans-Serif; + font-family: $font-family; border-radius: 3px; border: 1px solid $input-border-color; padding: 9px; diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index a67d200158..2aa9baed35 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -95,9 +95,9 @@ $rte-room-pill-color: #aaa; $roomtile-name-color: rgba(69, 69, 69, 0.8); $roomtile-selected-bg-color: rgba(255, 255, 255, 0.8); $roomtile-focused-bg-color: rgba(255, 255, 255, 0.9); - $roomsublist-label-fg-color: $h3-color; $roomsublist-label-bg-color: #d3efe1; +$roomsublist-chevron-color: $accent-color; // ******************** diff --git a/src/skins/vector/css/themes/_dark.scss b/src/skins/vector/css/themes/_dark.scss index c22c5a4442..a432f2c852 100644 --- a/src/skins/vector/css/themes/_dark.scss +++ b/src/skins/vector/css/themes/_dark.scss @@ -89,6 +89,7 @@ $roomtile-focused-bg-color: rgba(255, 255, 255, 0.2); $roomsublist-label-fg-color: $h3-color; $roomsublist-label-bg-color: #454545; +$roomsublist-chevron-color: $accent-color; // ******************** diff --git a/src/skins/vector/css/vector-web/structures/_RoomSubList.scss b/src/skins/vector/css/vector-web/structures/_RoomSubList.scss index 0d56d6c378..1a78e51731 100644 --- a/src/skins/vector/css/vector-web/structures/_RoomSubList.scss +++ b/src/skins/vector/css/vector-web/structures/_RoomSubList.scss @@ -129,7 +129,7 @@ limitations under the License. height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; - border-top: 6px solid $accent-color; + border-top: 6px solid $roomsublist-chevron-color; } .mx_RoomSubList_chevronUp { @@ -137,14 +137,14 @@ limitations under the License. height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; - border-bottom: 6px solid $accent-color; + border-bottom: 6px solid $roomsublist-chevron-color; } .mx_RoomSubList_chevronRight { width: 0; height: 0; border-top: 5px solid transparent; - border-left: 6px solid $accent-color; + border-left: 6px solid $roomsublist-chevron-color; border-bottom: 5px solid transparent; } diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index b3680f7e5c..8eceb10efd 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -78,7 +78,7 @@ $group-alert-color: #774f7e; $preview-bar-bg-color: #f7f7f7; // left-panel style muted accent color -$secondary-accent-color: #eaf5f0; +$secondary-accent-color: #586C7B; // used by RoomDirectory permissions $plinth-bg-color: $secondary-accent-color; @@ -137,12 +137,13 @@ $rte-room-pill-color: #aaa; // ******************** -$roomtile-name-color: rgba(69, 69, 69, 0.8); -$roomtile-selected-bg-color: rgba(255, 255, 255, 0.8); -$roomtile-focused-bg-color: rgba(255, 255, 255, 0.9); +$roomtile-name-color: #ffffff; +$roomtile-selected-bg-color: #465561; +$roomtile-focused-bg-color: #6d8597; -$roomsublist-label-fg-color: $h3-color; -$roomsublist-label-bg-color: #d3efe1; +$roomsublist-label-fg-color: #ffffff; +$roomsublist-label-bg-color: $secondary-accent-color; +$roomsublist-chevron-color: #ffffff; // ******************** @@ -184,3 +185,36 @@ $progressbar-color: #000; letter-spacing: 1px; color: $accent-fg-color; } + +.mx_RoomSubList_label { + font-size: 13px; + font-family: $header-font-family; + letter-spacing: 1px; +} + +// FIXME: all these ! importants are horrid - we should instead go and define +// variables or something. +.mx_SearchBox_search { + color: #fff ! important; +} + +.mx_SearchBox_search::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.6) ! important; +} + +.mx_SearchBox_search::-moz-placeholder { + color: rgba(255, 255, 255, 0.6) ! important; +} + +.mx_RoomList_emptySubListTip { + font-size: 14px ! important; + border: 1.5px dashed rgba(0,0,0,0.2) ! important; + color: #fff ! important; + background-color: transparent ! important; + border-radius: 6px ! important; + margin-left: 6px ! important; + margin-right: 6px ! important; + margin-top: 8px ! important; + margin-bottom: 7px ! important; + padding: 8px ! important; +} \ No newline at end of file From a152eba0236e8cf2fbbd3bd53d193c4b53b22a3b Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 22:55:32 +0100 Subject: [PATCH 024/108] fix panel-divider-color --- src/skins/vector/css/themes/_base.scss | 3 +++ src/skins/vector/css/themes/_dark.scss | 2 ++ src/skins/vector/css/vector-web/structures/_LeftPanel.scss | 2 +- src/skins/vector/themes/status/css/_status.scss | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index 2aa9baed35..ec4a2f3c0f 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -95,10 +95,13 @@ $rte-room-pill-color: #aaa; $roomtile-name-color: rgba(69, 69, 69, 0.8); $roomtile-selected-bg-color: rgba(255, 255, 255, 0.8); $roomtile-focused-bg-color: rgba(255, 255, 255, 0.9); + $roomsublist-label-fg-color: $h3-color; $roomsublist-label-bg-color: #d3efe1; $roomsublist-chevron-color: $accent-color; +$panel-divider-color: rgba(118, 207, 166, 0.2); + // ******************** // event tile lifecycle diff --git a/src/skins/vector/css/themes/_dark.scss b/src/skins/vector/css/themes/_dark.scss index a432f2c852..305330de82 100644 --- a/src/skins/vector/css/themes/_dark.scss +++ b/src/skins/vector/css/themes/_dark.scss @@ -91,6 +91,8 @@ $roomsublist-label-fg-color: $h3-color; $roomsublist-label-bg-color: #454545; $roomsublist-chevron-color: $accent-color; +$panel-divider-color: rgba(118, 207, 166, 0.2); + // ******************** // event tile lifecycle diff --git a/src/skins/vector/css/vector-web/structures/_LeftPanel.scss b/src/skins/vector/css/vector-web/structures/_LeftPanel.scss index 418358dd65..29786fadda 100644 --- a/src/skins/vector/css/vector-web/structures/_LeftPanel.scss +++ b/src/skins/vector/css/vector-web/structures/_LeftPanel.scss @@ -49,7 +49,7 @@ limitations under the License. .mx_LeftPanel .mx_BottomLeftMenu { order: 3; - border-top: 1px solid rgba(118, 207, 166, 0.2); + border-top: 1px solid $panel-divider-color; margin-left: 16px; /* gutter */ margin-right: 16px; /* gutter */ flex: 0 0 60px; diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index 8eceb10efd..48aa6f28e1 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -145,6 +145,8 @@ $roomsublist-label-fg-color: #ffffff; $roomsublist-label-bg-color: $secondary-accent-color; $roomsublist-chevron-color: #ffffff; +$panel-divider-color: rgba(0, 0, 0, 0.2); + // ******************** // event tile lifecycle From ea19096db368b4bde9f74f4c93b6155d30d2b859 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 25 Oct 2017 23:56:31 +0100 Subject: [PATCH 025/108] skin all the buttons --- src/skins/vector/css/_common.scss | 26 ++++--------------- .../structures/_UserSettings.scss | 23 +--------------- .../views/rooms/_MemberDeviceInfo.scss | 10 +------ .../views/rooms/_RoomHeader.scss | 16 ++---------- .../views/rooms/_RoomSettings.scss | 10 +------ src/skins/vector/css/themes/_base.scss | 24 +++++++++++++++++ .../vector/themes/status/css/_status.scss | 24 +++++++++++++++-- 7 files changed, 56 insertions(+), 77 deletions(-) diff --git a/src/skins/vector/css/_common.scss b/src/skins/vector/css/_common.scss index 0802c1cab2..d5f2c0da71 100644 --- a/src/skins/vector/css/_common.scss +++ b/src/skins/vector/css/_common.scss @@ -200,21 +200,13 @@ textarea { } .mx_Dialog button, .mx_Dialog input[type="submit"] { - border: 0px; - height: 36px; - border-radius: 40px; - border: solid 1px $accent-color; - font-weight: 600; - font-size: 14px; - font-family: $font-family; + @mixin mx_DialogButton; margin-left: 0px; margin-right: 8px; - padding-left: 1.5em; - padding-right: 1.5em; - outline: none; - cursor: pointer; + + // flip colours for the secondary ones color: $accent-color; - background-color: $primary-bg-color; + background-color: $accent-fg-color; /* align images in buttons (eg spinners) */ vertical-align: middle; @@ -282,16 +274,8 @@ textarea { color: $selection-fg-color; } -/** green button with rounded corners */ .mx_textButton { - color: $accent-fg-color; - background-color: $accent-color; - border-radius: 17px; - text-align: center; - padding-left: 1em; - padding-right: 1em; - cursor: pointer; - display: inline; + @mixin mx_DialogButton_small; } .mx_button_row { diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss b/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss index 6607253886..3b9ab39df5 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss @@ -64,30 +64,9 @@ limitations under the License. } .mx_UserSettings_button { + @mixin mx_DialogButton; display: inline; - vertical-align: middle; - border: 0px; - border-radius: 36px; - font-weight: 400; - font-size: 16px; - color: $accent-fg-color; - background-color: $accent-color; - width: auto; margin: auto; - padding: 7px; - padding-left: 1.5em; - padding-right: 1.5em; - cursor: pointer; -} - -.mx_UserSettings_button.mx_UserSettings_buttonSmall { - height: 36px; - padding: 4px; - padding-left: 7px; - padding-right: 7px; - font-size: 12px; - margin-right: 5px; - line-height: 12px; } .mx_UserSettings_button.danger { diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss index 2a5be3250d..4b1abead9e 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss @@ -26,15 +26,7 @@ limitations under the License. } .mx_MemberDeviceInfo_textButton { - color: $accent-fg-color; - background-color: $accent-color; - border-radius: 17px; - text-align: center; - padding-left: 1em; - padding-right: 1em; - border: 0px; - font-size: 14px; - cursor: pointer; + @mixin mx_DialogButton_small; margin: 2px; flex: 1; } 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 b16cf8b6a4..475dcbeaec 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 @@ -42,22 +42,10 @@ limitations under the License. } .mx_RoomHeader_textButton { - height: 36px; - background-color: $accent-color; - border-radius: 36px; + @mixin mx_DialogButton; margin-right: 8px; - color: $accent-fg-color; - line-height: 34px; - margin-top: -2px; - text-align: center; + margin-top: -5px; order: 2; - cursor: pointer; - -/* - flex: 0 0 90px; -*/ - padding-left: 12px; - padding-right: 12px; } .mx_RoomHeader_textButton_danger { diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss index 9e269ac2b5..52013a6bf4 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss @@ -22,17 +22,9 @@ limitations under the License. .mx_RoomSettings_leaveButton, .mx_RoomSettings_unbanButton { + @mixin mx_DialogButton; position: relative; - height: 36px; - background-color: $accent-color; - border-radius: 36px; margin-right: 8px; - color: $accent-fg-color; - line-height: 34px; - text-align: center; - cursor: pointer; - padding-left: 12px; - padding-right: 12px; } .mx_RoomSettings_integrationsButton_error { position: relative; diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index ec4a2f3c0f..785c246c78 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -130,3 +130,27 @@ $lightbox-border-color: #ffffff; // unused? $progressbar-color: #000; + +// ***** Mixins! ***** + +@define-mixin mx_DialogButton { + vertical-align: middle; + border: 0px; + border-radius: 36px; + height: 33px; + font-weight: 400; + font-size: 16px; + color: $accent-fg-color; + background-color: $accent-color; + width: auto; + padding: 7px; + padding-left: 1.5em; + padding-right: 1.5em; + cursor: pointer; + display: inline-block; +} + +@define-mixin mx_DialogButton_small { + @mixin mx_DialogButton; + height: auto; +} diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index 48aa6f28e1..9b858d9420 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -96,7 +96,7 @@ $event-selected-color: #f7f7f7; $primary-hairline-color: #e5e5e5; // used for the border of input text fields -$input-border-color: #f0f0f0; +$input-border-color: #c9cfd4; // apart from login forms, which have stronger border $strong-input-border-color: #c7c7c7; @@ -178,7 +178,6 @@ $progressbar-color: #000; @define-mixin mx_DialogButton { border-radius: 8px; - height: 45px; border: 1px solid rgba(199, 206, 209, 0.12); background-color: $accent-color; font-size: 13px; @@ -186,6 +185,22 @@ $progressbar-color: #000; text-transform: uppercase; letter-spacing: 1px; color: $accent-fg-color; + cursor: pointer; + outline: none; + padding: 14px; + box-sizing: border-box; + padding-left: 1.5em; + padding-right: 1.5em; + display: inline-block; +} + +@define-mixin mx_DialogButton_small { + @mixin mx_DialogButton; + height: auto; + padding-top: 7px; + padding-bottom: 7px; + padding-left: 1em; + padding-right: 1em; } .mx_RoomSubList_label { @@ -219,4 +234,9 @@ $progressbar-color: #000; margin-top: 8px ! important; margin-bottom: 7px ! important; padding: 8px ! important; +} + +.mx_RoomDirectory_perm { + font-family: $header-font-family ! important; + background-color: #fff ! important; } \ No newline at end of file From f86b616769170e9d926de469c31bfe604e14ae83 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 01:38:07 +0100 Subject: [PATCH 026/108] status homepage --- config.sample.json | 1 + res/home-status.html | 184 +++++++++++++++++++++++ scripts/copy-res.js | 1 + src/skins/vector/themes/status/img/a.png | Bin 0 -> 3779 bytes src/skins/vector/themes/status/img/d.png | Bin 0 -> 3571 bytes src/skins/vector/themes/status/img/g.png | Bin 0 -> 3904 bytes src/skins/vector/themes/status/img/i.png | Bin 0 -> 3178 bytes src/skins/vector/themes/status/img/n.png | Bin 0 -> 3669 bytes 8 files changed, 186 insertions(+) create mode 100644 res/home-status.html create mode 100644 src/skins/vector/themes/status/img/a.png create mode 100644 src/skins/vector/themes/status/img/d.png create mode 100644 src/skins/vector/themes/status/img/g.png create mode 100644 src/skins/vector/themes/status/img/i.png create mode 100644 src/skins/vector/themes/status/img/n.png diff --git a/config.sample.json b/config.sample.json index a63783348b..a4d854a6d4 100644 --- a/config.sample.json +++ b/config.sample.json @@ -7,6 +7,7 @@ "bug_report_endpoint_url": "https://riot.im/bugreports/submit", "enableLabs": true, "default_federate": true, + "welcomePageUrl": "home.html", "default_theme": "light", "roomDirectory": { "servers": [ diff --git a/res/home-status.html b/res/home-status.html new file mode 100644 index 0000000000..f90d657d8c --- /dev/null +++ b/res/home-status.html @@ -0,0 +1,184 @@ + + +
+
+
+

Welcome to Status Community Chat, powered by Riot.

+

For contributors, developers and Ethereum-enthusiasts who care about the movement for decentralization.

+
+
+ +
+

Our rooms

+

Please abide by the channels discussion categories and remain on topic to the specific category details listed.

+

Before posting please refer to our Code of Conduct

+
+ + +
+ + #announcements + Company wide announcements. + Join +
+
+ + #introductions + Newcomer introductions. + Join +
+
+ + #general + General discussions of Status. + Join +
+
+ + #dev-status + Contributing to our codebase? Building a DApp or a chatbot? We're here to help. + Join +
+
+ + #news-articles + Share news, articles related to Ethereum or projects you're excited about + Join +
+
+

+ Interested in market and cryptocurrency type discussions? +

+ Join Telegram +
+
diff --git a/scripts/copy-res.js b/scripts/copy-res.js index c4b80709ae..1a68581444 100755 --- a/scripts/copy-res.js +++ b/scripts/copy-res.js @@ -42,6 +42,7 @@ const INCLUDE_LANGS = [ const COPY_LIST = [ ["res/manifest.json", "webapp"], ["res/home.html", "webapp"], + ["res/home-status.html", "webapp"], ["res/home/**", "webapp/home"], ["res/{media,vector-icons}/**", "webapp"], ["res/flags/*", "webapp/flags/"], diff --git a/src/skins/vector/themes/status/img/a.png b/src/skins/vector/themes/status/img/a.png new file mode 100644 index 0000000000000000000000000000000000000000..defbcc4bcd9e0d1ccd9aaeb9b49fd733445ae0fe GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/src/skins/vector/themes/status/img/d.png b/src/skins/vector/themes/status/img/d.png new file mode 100644 index 0000000000000000000000000000000000000000..daeb0b0785863babae616972bed4be9acb9f8aaa GIT binary patch literal 3571 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 literal 0 HcmV?d00001 diff --git a/src/skins/vector/themes/status/img/g.png b/src/skins/vector/themes/status/img/g.png new file mode 100644 index 0000000000000000000000000000000000000000..f675a330229c983490030ae1a4dd30322d5c93ee GIT binary patch literal 3904 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 QcK`qY07*qoM6N<$g0cP!n*aa+ literal 0 HcmV?d00001 diff --git a/src/skins/vector/themes/status/img/n.png b/src/skins/vector/themes/status/img/n.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e33d41f7c9c4fc889a79d25ace2edaf6c1b176 GIT binary patch literal 3669 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 literal 0 HcmV?d00001 From 6212e805d230554beed926924f87241bd1e85fb8 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 01:52:57 +0100 Subject: [PATCH 027/108] spell out fonts --- res/home-status.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/res/home-status.html b/res/home-status.html index f90d657d8c..4bbc1aa423 100644 --- a/res/home-status.html +++ b/res/home-status.html @@ -81,7 +81,8 @@ text-transform: uppercase; color: #4360DF; font-size: 13px; - font-family: PostGrotesk-Medium; + font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; + font-weight: 600; } .mx_HomePage_room .mx_HomePage_icon { @@ -93,7 +94,7 @@ .mx_HomePage_room .mx_HomePage_name { display: block; - font-family: PostGrotesk-Medium; + font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; font-weight: 600; font-size: 15px; color: #49555F; @@ -116,7 +117,8 @@ border: 1px solid rgba(199, 206, 209, 0.12); background-color: #6CC1F6; font-size: 13px; - font-family: PostGrotesk-Medium; + font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; + font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #fff ! important; From 13c1829cd4e0ba178942850266d79d2456cbb433 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 02:09:56 +0100 Subject: [PATCH 028/108] fix droptarget --- src/skins/vector/themes/status/css/_status.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index 9b858d9420..60bbcf9ec2 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -223,7 +223,8 @@ $progressbar-color: #000; color: rgba(255, 255, 255, 0.6) ! important; } -.mx_RoomList_emptySubListTip { +.mx_RoomList_emptySubListTip, +.mx_RoomDropTarget { font-size: 14px ! important; border: 1.5px dashed rgba(0,0,0,0.2) ! important; color: #fff ! important; From ebbb677f2c71c743a3f07447f280db5050511c8a Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 26 Oct 2017 09:53:05 +0100 Subject: [PATCH 029/108] Update telegram link --- res/home-status.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/home-status.html b/res/home-status.html index 4bbc1aa423..0ce7973915 100644 --- a/res/home-status.html +++ b/res/home-status.html @@ -181,6 +181,6 @@

Interested in market and cryptocurrency type discussions?

- Join Telegram + Join Telegram
From 15466f02edfe4791b494df84c4294bcdf37d4dae Mon Sep 17 00:00:00 2001 From: Jan Kudrik Date: Wed, 25 Oct 2017 15:55:09 +0000 Subject: [PATCH 030/108] Translated using Weblate (Czech) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index e9a244a487..c409abc112 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -204,7 +204,7 @@ "Failed to send custom event.": "Nepodařilo se odeslat vlastní událost.", "Send Custom Event": "Odeslat vlastní událost", "Show message in desktop notification": "Zobrazovat zprávu v upozornění na ploše", - "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Přes vlastní serverové volby se můžete přihlásit k dalším Matrix serverům tak, že zadáte jinou adresu domovského serveru.
Díky tomu můžete v Riotu používat Matrix účet z jiného domovského serveru.

Můžete nastavit i vlastní server identit, ale pak už nebudete moci zvát ani být zván/a skrze e-mailovou adresu.", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Přes vlastní serverové volby se můžete přihlásit k dalším Matrix serverům tak, že zadáte jinou adresu domovského serveru.
Díky tomu můžete v Riotu používat Matrix účet z jiného domovského serveru.

Můžete nastavit i vlastní server identity, ale pak už nebudete moci zvát ani být zván/a skrze e-mailovou adresu.", "Edit": "Upravit", "Pin Message": "Připíchnout zprávu", "Register": "Zaregistrovat", From 0453b1c4227224ae3aed11cfe938f6eedcba312f Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 25 Oct 2017 18:38:56 +0000 Subject: [PATCH 031/108] Translated using Weblate (Russian) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/ --- src/i18n/strings/ru.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index c4cac2d0cb..f1fa0040ae 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -9,7 +9,7 @@ "Direct Chat": "Прямой чат", "Directory": "Каталог", "Dismiss": "Отказ", - "Enable audible notifications in web client": "Включить звуковые уведомления в веб клиенте", + "Enable audible notifications in web client": "Включить звуковые уведомления в веб-клиенте", "Enable desktop notifications": "Включить оповещения на рабочем столе", "Enable email notifications": "Включить уведомления по email", "Enable notifications for this account": "Включить уведомления для этой учетной записи", @@ -35,7 +35,7 @@ "Low Priority": "Низкий приоритет", "Members": "Участники", "No rooms to show": "Нет комнат для отображения", - "Noisy": "Громко", + "Noisy": "Со звуком", "Notification targets": "Цели уведомления", "Notifications": "Уведомления", "Notifications on the following keywords follow rules which can’t be displayed here:": "Уведомления по следующим ключевым словам соответствуют правилам, которые нельзя отобразить здесь:", @@ -63,7 +63,7 @@ "You are not receiving desktop notifications": "Вы не получаете уведомления на рабочем столе", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Возможно вы настроили их не в Riot, а в другом Matrix-клиенте. Настроить их в Riot не удастся, но они будут в нем применяться", "All messages": "Все сообщения", - "All messages (loud)": "Все сообщения (громко)", + "All messages (loud)": "Все сообщения (со звуком)", "Cancel Sending": "Отменить отправку", "Close": "Закрыть", "Download this file": "Скачать этот файл", @@ -120,10 +120,10 @@ "Forward Message": "Переслать сообщение", "Hide panel": "Скрыть панель", "I understand the risks and wish to continue": "Я понимаю риски и желаю продолжить", - "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Чтобы диагностировать проблемы, логи этого клиента будут отправлены вместе с этим сообщением об ошибке. Если вы предпочитаете отправить только текст выше, пожалуйста, отключите:", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Чтобы диагностировать проблемы, журналы работы этого клиента будут отправлены вместе с сообщением об ошибке. Если вы предпочитаете отправить только текст выше, пожалуйста, снимите отметку:", "Loading bug report module": "Загрузка модуля Отчет об ошибках", "Messages containing keywords": "Сообщения, содержащие определенные ключевые слова", - "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Опишите ошибку. Что вы сделали? Чего вы ожидали? Что на самом деле произошло?", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Пожалуйста, опишите ошибку. Что сделали? Чего ожидали? Что на самом деле произошло?", "Please describe the bug and/or send logs.": "Опишите ошибку и/или отправьте журналы.", "Please install Chrome or Firefox for the best experience.": "Для получения наилучшего опыта при работе с Riot, пожалуйста, установите Chrome или Firefox.", "Report a bug": "Сообщить об ошибке", @@ -133,7 +133,7 @@ "Search": "Поиск", "Search…": "Поиск.…", "Send": "Отослать", - "Send logs": "Отправить журналы", + "Send logs": "Отправка журналов", "Sorry, your browser is not able to run Riot.": "К сожалению, ваш браузер не способен запустить Riot.", "This Room": "Эта комната", "Unavailable": "Недоступен", From 8f0f34e7616a895a4339f45f65e9d0e1346fa352 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 14:42:41 +0100 Subject: [PATCH 032/108] fix buttons in other skins --- src/skins/vector/css/_common.scss | 5 ++--- src/skins/vector/css/themes/_base.scss | 9 +++++---- src/skins/vector/themes/status/css/_status.scss | 2 ++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/skins/vector/css/_common.scss b/src/skins/vector/css/_common.scss index d5f2c0da71..d1cd099224 100644 --- a/src/skins/vector/css/_common.scss +++ b/src/skins/vector/css/_common.scss @@ -205,11 +205,10 @@ textarea { margin-right: 8px; // flip colours for the secondary ones + font-weight: 600; + border: 1px solid $accent-color ! important; color: $accent-color; background-color: $accent-fg-color; - - /* align images in buttons (eg spinners) */ - vertical-align: middle; } .mx_Dialog button:focus, .mx_Dialog input[type="submit"]:focus { diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index cc7e380d95..b53cd905b0 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -137,12 +137,12 @@ $progressbar-color: #000; // ***** Mixins! ***** @define-mixin mx_DialogButton { + /* align images in buttons (eg spinners) */ vertical-align: middle; border: 0px; border-radius: 36px; - height: 33px; - font-weight: 400; - font-size: 16px; + font-family: $font-family; + font-size: 14px; color: $accent-fg-color; background-color: $accent-color; width: auto; @@ -155,5 +155,6 @@ $progressbar-color: #000; @define-mixin mx_DialogButton_small { @mixin mx_DialogButton; - height: auto; + font-size: 15px; + padding: 0px 1.5em 0px 1.5em; } diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index 60bbcf9ec2..922ac03b9e 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -177,6 +177,8 @@ $lightbox-border-color: #ffffff; $progressbar-color: #000; @define-mixin mx_DialogButton { + /* align images in buttons (eg spinners) */ + vertical-align: middle; border-radius: 8px; border: 1px solid rgba(199, 206, 209, 0.12); background-color: $accent-color; From a8f2980dcca2b636e36006c89e23e5e615fbce34 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 17:25:23 +0100 Subject: [PATCH 033/108] coc --- res/home-status.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/home-status.html b/res/home-status.html index 0ce7973915..95cb64a2b9 100644 --- a/res/home-status.html +++ b/res/home-status.html @@ -143,7 +143,7 @@

Our rooms

Please abide by the channels discussion categories and remain on topic to the specific category details listed.

-

Before posting please refer to our Code of Conduct

+

Before posting please refer to our Code of Conduct

From e5b1ded7e345d160369f53c50ed03bc21d4b4fdd Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 17:31:36 +0100 Subject: [PATCH 034/108] fix default colour of loginbox text --- src/skins/vector/themes/status/css/_StatusLogin.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index a3f3b0ef3b..b663258db7 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -89,6 +89,7 @@ limitations under the License. padding-left: 10px; padding-right: 10px; border-radius: 8px; + color: $form-fg-color; background-color: $form-bg-color; background-image: url(../../themes/status/img/dot.svg); box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); From ad9d78684ea36e30a3c02a546760b53093729d4d Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 18:08:36 +0100 Subject: [PATCH 035/108] tweak emptySubListTip visuals --- .../vector/css/matrix-react-sdk/views/rooms/_RoomList.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomList.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomList.scss index 35787ca0c4..d8a8d58a9c 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomList.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomList.scss @@ -50,10 +50,11 @@ limitations under the License. color: $primary-fg-color; background-color: $droptarget-bg-color; border-radius: 4px; + line-height: 16px; } .mx_RoomList_emptySubListTip .mx_RoleButton { - vertical-align: -3px; + vertical-align: -2px; } .mx_RoomList_headerButtons { From b9cf2c6b6ccdabe712b293ebe8f6b89be4506b61 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 18:08:42 +0100 Subject: [PATCH 036/108] remove 'return to app' test --- test/app-tests/loading.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/app-tests/loading.js b/test/app-tests/loading.js index 2161987688..a7e7c9851b 100644 --- a/test/app-tests/loading.js +++ b/test/app-tests/loading.js @@ -546,6 +546,8 @@ describe('loading:', function () { ); }); + /* + // ILAG renders this obsolete. I think. it('should allow us to return to the app', function() { const login = ReactTestUtils.findRenderedComponentWithType( matrixChat, sdk.getComponent('structures.login.Login') @@ -568,6 +570,7 @@ describe('loading:', function () { matrixChat, sdk.getComponent('structures.HomePage')); }); }); + */ }); }); From ca74b098671b0c666fb437eb78b5ca6af36b6233 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 18:27:34 +0100 Subject: [PATCH 037/108] fix fugly noperm error --- .../css/matrix-react-sdk/views/rooms/_MessageComposer.scss | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index d95f6415ec..c1af9e367f 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -55,10 +55,12 @@ limitations under the License. .mx_MessageComposer_noperm_error { width: 100%; height: 60px; - text-align: center; font-style: italic; color: $greyed-fg-color; -} + display: flex; + align-items: center; + justify-content: center; +}} .mx_MessageComposer_input_wrapper { flex: 1; From 50b348c68e41cd34b3a7f2e631e358c4f1f0ca74 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 26 Oct 2017 18:59:05 +0100 Subject: [PATCH 038/108] try for slightly prettier redaction --- .../views/rooms/_EventTile.scss | 23 +++++++++---------- .../views/rooms/_MessageComposer.scss | 2 +- src/skins/vector/css/themes/_base.scss | 3 ++- src/skins/vector/css/themes/_dark.scss | 3 ++- .../vector/themes/status/css/_status.scss | 3 ++- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss index bb0ca9594b..cfc46e85ab 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_EventTile.scss @@ -156,18 +156,17 @@ limitations under the License. .mx_EventTile_redacted .mx_EventTile_line .mx_UnknownBody { display: block; width: 100%; - height: 36px; - background-image: $event-redacted-img; - background-repeat: no-repeat; - background-size: contain; -} - -.mx_EventTile.mx_EventTile_redacted .mx_EventTile_line { - /* - Prevent changing colour of the background because - $event-redacted-img matches $primary-bg-color - */ - background-color: initial !important; + height: 22px; + width: 250px; + border-radius: 11px; + background: repeating-linear-gradient( + -45deg, + $event-redacted-fg-color, + $event-redacted-fg-color 3px, + transparent 3px, + transparent 6px + ); + box-shadow: 0px 0px 3px $event-redacted-border-color inset; } .mx_EventTile_highlight, diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss index c1af9e367f..4a84d161bb 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MessageComposer.scss @@ -60,7 +60,7 @@ limitations under the License. display: flex; align-items: center; justify-content: center; -}} +} .mx_MessageComposer_input_wrapper { flex: 1; diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index b53cd905b0..6df64cb8e7 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -113,7 +113,8 @@ $event-sending-color: #ddd; $event-notsent-color: #f44; // event redaction -$event-redacted-img: url('../../img/redacted.jpg'); +$event-redacted-fg-color: #e2e2e2; +$event-redacted-border-color: #cccccc; // event timestamp $event-timestamp-color: #acacac; diff --git a/src/skins/vector/css/themes/_dark.scss b/src/skins/vector/css/themes/_dark.scss index 8e6a65fefb..73f1bafa1c 100644 --- a/src/skins/vector/css/themes/_dark.scss +++ b/src/skins/vector/css/themes/_dark.scss @@ -104,7 +104,8 @@ $event-sending-color: #888; $event-notsent-color: #f44; // event redaction -$event-redacted-img: url('../../img/redacted-dark.jpg'); +$event-redacted-fg-color: #606060; +$event-redacted-border-color: #000000; // event timestamp $event-timestamp-color: #acacac; diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index 922ac03b9e..e8bfae2f47 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -155,7 +155,8 @@ $event-sending-color: #ddd; $event-notsent-color: #f44; // event redaction -$event-redacted-img: url('../../img/redacted.jpg'); +$event-redacted-fg-color: #e2e2e2; +$event-redacted-border-color: #cccccc; // event timestamp $event-timestamp-color: #acacac; From 468f8ccab812c106c9cb2265ad07386199af0462 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 00:02:52 +0100 Subject: [PATCH 039/108] dirty hack to make FF work --- src/vector/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vector/index.html b/src/vector/index.html index 864377eea4..290520390a 100644 --- a/src/vector/index.html +++ b/src/vector/index.html @@ -26,7 +26,7 @@ if (match) { var title = match[1].charAt(0).toUpperCase() + match[1].slice(1); %> - <% } else { %> From 26d142f89334d4186d0c0525c1195e56b40bda7d Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 00:14:12 +0100 Subject: [PATCH 040/108] fix snafu on login submit button --- .../css/matrix-react-sdk/structures/login/_Login.scss | 9 ++------- src/skins/vector/themes/status/css/_StatusLogin.scss | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss index dca1422534..aae572e8d7 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss @@ -79,15 +79,10 @@ limitations under the License. } .mx_Login_submit { + @mixin mx_DialogButton; + width: 100%; margin-top: 35px; margin-bottom: 24px; - width: 100%; - border-radius: 40px; - height: 40px; - border: 0px; - background-color: $accent-color; - font-size: 15px; - color: $accent-fg-color; } .mx_Login_submit:disabled { diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index b663258db7..c9af7c8ae8 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -153,7 +153,6 @@ limitations under the License. } .mx_Login_submit { - @mixin mx_DialogButton; width: 200px; margin-top: 13px; margin-bottom: 18px; From 1798bff8f572294c1a2cf1951c1a4fc0bfbfa4a1 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 01:02:43 +0100 Subject: [PATCH 041/108] cosmetic fixes & hoverovers --- src/skins/vector/css/_common.scss | 8 ++++++++ .../matrix-react-sdk/structures/_UserSettings.scss | 4 ++++ .../css/matrix-react-sdk/structures/login/_Login.scss | 7 +++++-- .../views/rooms/_MemberDeviceInfo.scss | 4 ++++ .../css/matrix-react-sdk/views/rooms/_RoomHeader.scss | 4 ++++ .../matrix-react-sdk/views/rooms/_RoomSettings.scss | 6 ++++++ src/skins/vector/css/themes/_base.scss | 3 +++ src/skins/vector/themes/status/css/_StatusLogin.scss | 11 ++++++++--- src/skins/vector/themes/status/css/_status.scss | 11 +++++++++++ 9 files changed, 53 insertions(+), 5 deletions(-) diff --git a/src/skins/vector/css/_common.scss b/src/skins/vector/css/_common.scss index d1cd099224..876c5b97e3 100644 --- a/src/skins/vector/css/_common.scss +++ b/src/skins/vector/css/_common.scss @@ -211,6 +211,10 @@ textarea { background-color: $accent-fg-color; } +.mx_Dialog button:hover, .mx_Dialog input[type="submit"]:hover { + @mixin mx_DialogButton_hover; +} + .mx_Dialog button:focus, .mx_Dialog input[type="submit"]:focus { filter: brightness($focus-brightness); } @@ -277,6 +281,10 @@ textarea { @mixin mx_DialogButton_small; } +.mx_textButton:hover { + @mixin mx_DialogButton_hover; +} + .mx_button_row { margin-top: 69px; } diff --git a/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss b/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss index 3b9ab39df5..f6341dd6cd 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/_UserSettings.scss @@ -69,6 +69,10 @@ limitations under the License. margin: auto; } +.mx_UserSettings_button:hover { + @mixin mx_DialogButton_hover; +} + .mx_UserSettings_button.danger { background-color: $warning-color; } diff --git a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss index aae572e8d7..84b8306a74 100644 --- a/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss +++ b/src/skins/vector/css/matrix-react-sdk/structures/login/_Login.scss @@ -85,6 +85,10 @@ limitations under the License. margin-bottom: 24px; } +.mx_Login_submit:hover { + @mixin mx_DialogButton_hover; +} + .mx_Login_submit:disabled { opacity: 0.3; } @@ -131,8 +135,7 @@ limitations under the License. } .mx_Login_forgot { - font-size: 13px; - opacity: 0.8; + font-size: 15px; } .mx_Login_forgot:link { diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss index 4b1abead9e..5888820e0d 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_MemberDeviceInfo.scss @@ -31,6 +31,10 @@ limitations under the License. flex: 1; } +.mx_MemberDeviceInfo_textButton:hover { + @mixin mx_DialogButton_hover; +} + .mx_MemberDeviceInfo_deviceId { font-size: 13px; } 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 5b78703aa6..8dbad92a44 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 @@ -48,6 +48,10 @@ limitations under the License. order: 2; } +.mx_RoomHeader_textButton:hover { + @mixin mx_DialogButton_hover; +} + .mx_RoomHeader_textButton_danger { background-color: $warning-color; } diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss index 52013a6bf4..4013af4c7c 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_RoomSettings.scss @@ -26,6 +26,12 @@ limitations under the License. position: relative; margin-right: 8px; } + +.mx_RoomSettings_leaveButton:hover, +.mx_RoomSettings_unbanButton:hover { + @mixin mx_DialogButton_hover; +} + .mx_RoomSettings_integrationsButton_error { position: relative; cursor: not-allowed; diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index 6df64cb8e7..a8bb4d89e1 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -154,6 +154,9 @@ $progressbar-color: #000; display: inline-block; } +@define-mixin mx_DialogButton_hover { +} + @define-mixin mx_DialogButton_small { @mixin mx_DialogButton; font-size: 15px; diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index c9af7c8ae8..fcbc2e17b9 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -102,7 +102,7 @@ limitations under the License. width: 74px; height: 74px; border-radius: 37px; - box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5); + box-shadow: 0px 5px 16px 0px rgba(0,0,0,0.2); position: absolute; top: -36px; left: 50%; @@ -134,6 +134,12 @@ limitations under the License. font-weight: 300; font-size: 15px; margin-bottom: 14px; + transition: background-color .2s ease; + } + + .mx_Login_field:focus { + border: 1px solid transparent; + background-color: $form-field-bg-hover-color; } .mx_Login_field::-webkit-input-placeholder { @@ -190,8 +196,7 @@ limitations under the License. .mx_Login_forgot { display: block; - font-size: 13px; - opacity: 0.8; + font-size: 15px; } .mx_Login_forgot:link { diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index e8bfae2f47..fa2a64c7da 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -37,6 +37,10 @@ a { text-decoration: none; } +a:hover { + text-decoration: underline; +} + h1,h2,h3,h4,h5 { color: $header-color; font-family: $header-font-family; @@ -49,6 +53,7 @@ $form-bg-color: $callout-color; $form-fg-color: #ffffff; $form-field-bg-color: rgba(244, 242, 247, 0.12); +$form-field-bg-hover-color: rgba(255, 255, 255, 0.2); $form-field-fg-color: #ffffff; // ***** End of Status theme specifics ****** @@ -63,6 +68,7 @@ $focus-bg-color: #dddddd; // button UI (white-on-green in light skin) $accent-fg-color: #ffffff; $accent-color: #6CC1F6; +$accent-hover-color: #84cfff; $selection-fg-color: $primary-bg-color; @@ -195,6 +201,11 @@ $progressbar-color: #000; padding-left: 1.5em; padding-right: 1.5em; display: inline-block; + transition: background-color .2s ease; +} + +@define-mixin mx_DialogButton_hover { + background-color: $accent-hover-color; } @define-mixin mx_DialogButton_small { From b65ee5f28e2ac8d6c519bbc793c5c00e6ecd05ea Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 01:09:46 +0100 Subject: [PATCH 042/108] tg hoverover --- res/home-status.html | 6 ++++++ src/skins/vector/themes/status/css/_StatusLogin.scss | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/res/home-status.html b/res/home-status.html index 95cb64a2b9..7d50470a22 100644 --- a/res/home-status.html +++ b/res/home-status.html @@ -83,6 +83,12 @@ font-size: 13px; font-family: PostGrotesk-Medium, Arial, Helvetica, Sans-Serif; font-weight: 600; + opacity: 1.0; + transition: opacity .2s ease; +} + +.mx_HomePage_telegram a:hover { + opacity: 0.5; } .mx_HomePage_room .mx_HomePage_icon { diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index fcbc2e17b9..d652b9348e 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -77,6 +77,13 @@ limitations under the License. letter-spacing: 1px; font-size: 13px; text-transform: uppercase; + opacity: 1.0; + transition: opacity .2s ease; + } + + .mx_StatusLogin_footer_cta:hover { + opacity: 0.5; + text-decoration: none; } // overrides of .mx_Login From 3ffebfbf0b54f4794e6879445440c63c51b172b6 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 01:24:11 +0100 Subject: [PATCH 043/108] fix spacing of login aux buttons --- src/skins/vector/themes/status/css/_StatusLogin.scss | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index d652b9348e..603b7ece92 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -165,10 +165,14 @@ limitations under the License. opacity: 0.3; } + .mx_Login_prompt { + font-size: 16px; + } + .mx_Login_submit { width: 200px; margin-top: 13px; - margin-bottom: 18px; + margin-bottom: 10px; } .mx_Login_submit:disabled { @@ -176,6 +180,7 @@ limitations under the License. } .mx_Login_create { + margin-top: 10px; display: block; text-align: center; width: 100%; From ca0092469bd7477d6c78862d04ba0cee367e810a Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 01:31:14 +0100 Subject: [PATCH 044/108] tweak spacing for login --- src/skins/vector/themes/status/css/_StatusLogin.scss | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 603b7ece92..0cced779d2 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -91,7 +91,7 @@ limitations under the License. .mx_Login_box { width: 330px; min-height: initial; - padding-top: 40px; + padding-top: 50px; padding-bottom: 20px; padding-left: 10px; padding-right: 10px; @@ -126,6 +126,7 @@ limitations under the License. text-align: center; color: $form-fg-color; font-size: 25px; + margin-top: 5px; margin-bottom: 24px; } @@ -170,7 +171,8 @@ limitations under the License. } .mx_Login_submit { - width: 200px; + min-width: 200px; + width: auto; margin-top: 13px; margin-bottom: 10px; } From c26aaa8d01e49fc0abeae523c67f24fd7313cedd Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 01:35:06 +0100 Subject: [PATCH 045/108] revert previous & fix font size --- src/skins/vector/themes/status/css/_StatusLogin.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 0cced779d2..e6a0584fdc 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -91,12 +91,13 @@ limitations under the License. .mx_Login_box { width: 330px; min-height: initial; - padding-top: 50px; + padding-top: 40px; padding-bottom: 20px; padding-left: 10px; padding-right: 10px; border-radius: 8px; color: $form-fg-color; + font-size: 16px; background-color: $form-bg-color; background-image: url(../../themes/status/img/dot.svg); box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); @@ -126,7 +127,6 @@ limitations under the License. text-align: center; color: $form-fg-color; font-size: 25px; - margin-top: 5px; margin-bottom: 24px; } From de3a384513cb840b2cbd1c3da8665b0b93acf570 Mon Sep 17 00:00:00 2001 From: Jan Kudrik Date: Thu, 26 Oct 2017 14:38:00 +0000 Subject: [PATCH 046/108] Translated using Weblate (Czech) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index c409abc112..d3387257bc 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -138,7 +138,7 @@ "Uploading report": "Nahrávám hlášení", "View Decrypted Source": "Zobrazit dešifrovaný zdroj", "When I'm invited to a room": "Pokud jsem pozván do místnosti", - "World readable": "Viditelné pro všechny", + "World readable": "Světu čitelné", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Snad jste je nastavili v jiném klientu než Riot. V Riotu je nemůžete upravit, ale přesto platí", "Error encountered (%(errorDetail)s).": "Nastala chyba (%(errorDetail)s).", "You need to be using HTTPS to place a screen-sharing call.": "Pro uskutečnění hovoru se sdílením obrazovky musíte používat HTTPS.", From ce2d40b775958f122a808684b8231e1aa4260e51 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 10:47:15 +0100 Subject: [PATCH 047/108] more tweaks from Denis --- src/skins/vector/themes/status/css/_StatusLogin.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index e6a0584fdc..4bf4617925 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -98,6 +98,7 @@ limitations under the License. border-radius: 8px; color: $form-fg-color; font-size: 16px; + line-height: 25px; background-color: $form-bg-color; background-image: url(../../themes/status/img/dot.svg); box-shadow: 0px 5px 16px 0px rgba(25,12,46,0.16); @@ -133,7 +134,7 @@ limitations under the License. .mx_Login_field { width: 260px; height: 27px; - padding: 9px 20px 9px 20px; + padding: 8px 20px 10px 20px; border-radius: 10px; text-align: left; border: 1px solid transparent; From 7e9b63822bb0560f1cdca4f35a5c3bc9d8a543a6 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 11:11:59 +0100 Subject: [PATCH 048/108] fix visited state of links --- .../themes/status/css/_StatusLogin.scss | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 4bf4617925..3619d612e6 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -191,24 +191,13 @@ limitations under the License. opacity: 1.0; } - .mx_Login_create:link { + .mx_Login_create:link, + .mx_Login_create:hover, + .mx_Login_create:visited + { color: $form-fg-color; } - .mx_Login_links { - display: block; - text-align: center; - margin-top: 10px; - margin-bottom: 10px; - width: 100%; - font-size: 13px; - opacity: 0.8; - } - - .mx_Login_links a:link { - color: $primary-fg-color; - } - .mx_Login_forgot { display: block; font-size: 15px; From d4696345d124d5c95bcca2aa5b5c8930cf6e598f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 12:17:04 +0100 Subject: [PATCH 049/108] fix more visited state of links --- src/skins/vector/themes/status/css/_StatusLogin.scss | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 3619d612e6..8c7d9b26b6 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -203,7 +203,10 @@ limitations under the License. font-size: 15px; } - .mx_Login_forgot:link { + .mx_Login_forgot:link, + .mx_Login_forgot:hover, + .mx_Login_forgot:visited + { color: $form-fg-color; } From 8ad9728bef511255845eec8d8d48810194101981 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 14:23:33 +0100 Subject: [PATCH 050/108] css for HS userid warnings --- src/skins/vector/themes/status/css/_StatusLogin.scss | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/themes/status/css/_StatusLogin.scss b/src/skins/vector/themes/status/css/_StatusLogin.scss index 8c7d9b26b6..6872727423 100644 --- a/src/skins/vector/themes/status/css/_StatusLogin.scss +++ b/src/skins/vector/themes/status/css/_StatusLogin.scss @@ -213,7 +213,7 @@ limitations under the License. .mx_Login_error { color: $warning-color; font-size: 18px; - width: 250px; + width: 300px; height: 44px; display: flex; justify-content: center; @@ -224,4 +224,9 @@ limitations under the License. margin-bottom: 16px; } + .mx_Login_smallError { + font-size: 13px; + line-height: initial; + } + } From 0a81419978dcc7d7e5a38a12fc66945d6081ba4c Mon Sep 17 00:00:00 2001 From: Debendra Oli Date: Fri, 27 Oct 2017 14:00:39 +0000 Subject: [PATCH 051/108] Added translation using Weblate (Nepali) --- src/i18n/strings/ne.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/ne.json diff --git a/src/i18n/strings/ne.json b/src/i18n/strings/ne.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/src/i18n/strings/ne.json @@ -0,0 +1 @@ +{} \ No newline at end of file From c971aab4531ee913f73b4e661e57ba22f6ab3452 Mon Sep 17 00:00:00 2001 From: Krombel Date: Fri, 27 Oct 2017 14:31:10 +0000 Subject: [PATCH 052/108] Translated using Weblate (German) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 7e3916427a..36177accc7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -11,7 +11,7 @@ "The Home Server may be too old to support third party networks": "Der Home-Server ist eventuell zu alt, um Drittanbieter-Netzwerke zu unterstützen", "Directory": "Raum-Verzeichnis", "Search for a room": "Nach einem Raum suchen", - "No rooms to show": "Keine anzeigbaren Räume vorhanden", + "No rooms to show": "Keine anzeigbaren Räume", "World readable": "Lesbar für alle", "Guests can join": "Gäste können beitreten", "You are not receiving desktop notifications": "Du erhältst keine Desktop-Benachrichtigungen", From 5063fef4f5de8c22c778710409f72006aa3a9748 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 27 Oct 2017 19:08:35 +0100 Subject: [PATCH 053/108] Redirect to instructions page if user on mobile --- src/vector/index.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/vector/index.js b/src/vector/index.js index f775d1b3cd..4a44cbdc5f 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -250,16 +250,20 @@ async function loadApp() { if (!preventRedirect) { if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) { - if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { + window.location = "https://status.im/join-riot.html"; + return; + /*if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { window.location = "https://itunes.apple.com/us/app/vector.im/id1083446067"; return; - } + }*/ } else if (/Android/.test(navigator.userAgent)) { - if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { + window.location = "https://status.im/join-riot.html"; + return; + /*if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { window.location = "https://play.google.com/store/apps/details?id=im.vector.alpha"; return; - } + }*/ } } From b87fad991f0b2471d729411ffebf7f7636d8451f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 22:47:51 +0100 Subject: [PATCH 054/108] get rid of hardcoded colour >:( --- .../vector/css/matrix-react-sdk/views/avatars/_BaseAvatar.scss | 2 +- src/skins/vector/css/themes/_base.scss | 1 + src/skins/vector/css/themes/_dark.scss | 1 + src/skins/vector/themes/status/css/_status.scss | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/avatars/_BaseAvatar.scss b/src/skins/vector/css/matrix-react-sdk/views/avatars/_BaseAvatar.scss index 320efda043..ee2d9c190f 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/avatars/_BaseAvatar.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/avatars/_BaseAvatar.scss @@ -31,5 +31,5 @@ limitations under the License. .mx_BaseAvatar_image { border-radius: 40px; vertical-align: top; - background-color: #fff; + background-color: $avatar-bg-color; } diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index a8bb4d89e1..ce9bec301f 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -68,6 +68,7 @@ $menu-border-color: rgba(187, 187, 187, 0.5); $menu-bg-color: #f6f6f6; $avatar-initial-color: #ffffff; +$avatar-bg-color: #ffffff; $h3-color: #3d3b39; diff --git a/src/skins/vector/css/themes/_dark.scss b/src/skins/vector/css/themes/_dark.scss index 73f1bafa1c..987ce066f9 100644 --- a/src/skins/vector/css/themes/_dark.scss +++ b/src/skins/vector/css/themes/_dark.scss @@ -60,6 +60,7 @@ $menu-border-color: rgba(187, 187, 187, 0.5); $menu-bg-color: #373737; $avatar-initial-color: #2d2d2d; +$avatar-bg-color: #ffffff; $h3-color: $primary-fg-color; diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index fa2a64c7da..409bca665f 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -116,6 +116,7 @@ $menu-border-color: rgba(187, 187, 187, 0.5); $menu-bg-color: #f6f6f6; $avatar-initial-color: #ffffff; +$avatar-bg-color: transparent; $h3-color: #3d3b39; From 5d3caf81577039ec81bda93a18614c8538d7b214 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 27 Oct 2017 23:45:10 +0100 Subject: [PATCH 055/108] tweak badges --- src/skins/vector/themes/status/css/_status.scss | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index 409bca665f..6b205b5823 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -255,4 +255,11 @@ $progressbar-color: #000; .mx_RoomDirectory_perm { font-family: $header-font-family ! important; background-color: #fff ! important; -} \ No newline at end of file +} + +.mx_RoomTile_badge, +.mx_RoomSubList_badge { + height: 12px ! important; + padding-top: 1px ! important; + padding-bottom: 1px ! important; +} From 71fc072301d742cddaf7dbd11287321b67b2989c Mon Sep 17 00:00:00 2001 From: Jan Kudrik Date: Sat, 28 Oct 2017 10:25:06 +0000 Subject: [PATCH 056/108] Translated using Weblate (Czech) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index d3387257bc..f2f7e2e09d 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -31,7 +31,7 @@ "Hide panel": "Skrýt panel", "I understand the risks and wish to continue": "Rozumím rizikům a přeji si pokračovat", "Keywords": "Klíčová slova", - "Leave": "Opustit", + "Leave": "Odejít", "Loading bug report module": "Nahrává se modul nahlašování chyb", "Low Priority": "Nízká priorita", "Mentions only": "Pouze zmínky", @@ -54,7 +54,7 @@ "Continue": "Pokračovat", "Please set a password!": "Prosím nastavte si heslo!", "You have successfully set a password!": "Úspěšně jste si nastavili heslo!", - "Failed to change password. Is your password correct?": "Nepodařilo se změnit heslo. Je vaše heslo správné?", + "Failed to change password. Is your password correct?": "Nepodařilo se změnit heslo. Zadáváte své heslo správně?", "No update available.": "Není dostupná žádná aktualizace.", "Downloading update...": "Stahování aktualizace...", "Welcome to Riot.im": "Vítá vás Riot.im", @@ -64,7 +64,7 @@ "#example": "#příklad", "Off": "Vypnout", "On": "Zapnout", - "Operation failed": "Chyba operace", + "Operation failed": "Operace se nezdařila", "Remove %(name)s from the directory?": "Odebrat %(name)s z adresáře?", "Remove": "Odebrat", "remove %(name)s from the directory.": "odebrat %(name)s z adresáře.", From 58b9b04e35664298fedd7725554dab7cc84db5b5 Mon Sep 17 00:00:00 2001 From: grrgui Date: Fri, 27 Oct 2017 21:54:41 +0000 Subject: [PATCH 057/108] Translated using Weblate (French) Currently translated at 96.2% (207 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 44f6a1215f..c757b43064 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -95,7 +95,7 @@ "Unable to join network": "Impossible de rejoindre le réseau", "Unable to look up room ID from server": "Impossible de récupérer l'ID du salon sur le serveur", "Unhide Preview": "Dévoiler l'aperçu", - "Unnamed room": "Salon anonyme", + "Unnamed room": "Salon sans nom", "Uploaded on %(date)s by %(user)s": "Téléchargé le %(date)s par %(user)s", "View Decrypted Source": "Voir la source déchiffrée", "When I'm invited to a room": "Quand je suis invité dans un salon", @@ -205,5 +205,6 @@ "Send Custom Event": "Envoyer l'événement personnalisé", "Send Custom State Event": "Envoyer l'événement d'état personnalisé", "Explore Room State": "Parcourir l'état du salon", - "State Key": "Clé d'état" + "State Key": "Clé d'état", + "Unpin Message": "Dépingler le message" } From d86841c1c858da3c5898ee1fa36de33aca0c9c83 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Mon, 30 Oct 2017 11:58:42 +0000 Subject: [PATCH 058/108] Translated using Weblate (German) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 36177accc7..adec4fc99b 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -125,16 +125,16 @@ "Failed to send report: ": "Senden des Reports fehlgeschlagen: ", "Forward Message": "Nachricht weiterleiten", "Hide panel": "Panel verbergen", - "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Um Probleme zu diagnostizieren werden mit diesem Fehlerbericht Protokolle von diesem Client gesendet. Wenn du nur obigen text senden willst, deselektiere folgendes:", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Zur Diagnose von Softwareproblemen werden mit diesem Fehlerbericht auch Log-Dateien übermittelt. Wenn nur der oben eingegebene Text übermittelt werden soll, bitte die nachfolgende Auswahl entsprechend abwählen:", "Loading bug report module": "Lade Fehlerbericht-Modul", - "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bitte den Fehler (vorzugsweise auf Englisch) beschreiben. Was hast du gemacht? Was sollte passieren? Was ist tatsächlich passiert?", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bitte den Softwarefehler (vorzugsweise auf Englisch) beschreiben. Was hast du gemacht? Was sollte passieren? Was ist tatsächlich passiert?", "Please describe the bug and/or send logs.": "Bitte den Fehler beschreiben und/oder Log-Dateien übermitteln.", - "Report a bug": "Einen Fehler melden", + "Report a bug": "Einen Softwarefehler melden", "Riot Desktop on %(platformName)s": "Riot Desktop auf %(platformName)s", "Riot is not supported on mobile web. Install the app?": "Riot wird im mobilen Web nicht unterstützt. App installieren?", "Search": "Suchen", "Search…": "Suchen…", - "Send": "Sende", + "Send": "Senden", "Send logs": "Logdateien übermitteln", "This Room": "In diesem Raum", "Unavailable": "Nicht verfügbar", From cd6a3d2293666c15603b723f50b5f392b4992b75 Mon Sep 17 00:00:00 2001 From: Enrico Bacis Date: Mon, 30 Oct 2017 11:32:47 +0000 Subject: [PATCH 059/108] Translated using Weblate (Italian) Currently translated at 96.7% (208 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 096366c60e..a162340fbc 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -205,5 +205,7 @@ "Event sent!": "Evento inviato!", "Event Type": "Tipo di Evento", "Event Content": "Contenuto dell'Evento", - "State Key": "Chiave dello Stato" + "State Key": "Chiave dello Stato", + "Show message in desktop notification": "Mostra i messaggi nelle notifiche desktop", + "Edit": "Modifica" } From 2d69595bebc30d5f161d79aa6910df415386fd98 Mon Sep 17 00:00:00 2001 From: Walter Date: Fri, 27 Oct 2017 17:05:49 +0000 Subject: [PATCH 060/108] Translated using Weblate (Ukrainian) Currently translated at 99.5% (214 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/uk/ --- src/i18n/strings/uk.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index b017389e0a..e1ea461439 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -39,7 +39,7 @@ "Expand panel": "Розгорнути панель", "Failed to add tag %(tagName)s to room": "Не вдалось додати до кімнати мітку %(tagName)s", "Failed to change settings": "Не вдалось змінити налаштування", - "Failed to forget room %(errCode)s": "Не вдалось забути кімнату %(errCode)s", + "Failed to forget room %(errCode)s": "Не вдалось видалити кімнату %(errCode)s", "Failed to update keywords": "Не вдалось оновити ключові слова", "Failed to get protocol list from Home Server": "Не вдалось отримати перелік протоколів з Домашнього серверу", "Failed to get public room list": "Не вдалось отримати перелік прилюдних кімнат", @@ -190,7 +190,7 @@ "Checking for an update...": "Перевірка оновлень…", "Error encountered (%(errorDetail)s).": "Трапилась помилка (%(errorDetail)s).", "No update available.": "Оновлення відсутні.", - "Downloading update...": "Звантажується оновлення…", + "Downloading update...": "Звантаженя оновлення…", "Couldn't load home page": "Не вдалось завантажити домівку", "Back": "Назад", "Bug report sent": "Звіт про помилки відправлений", @@ -205,5 +205,13 @@ "Event sent!": "Захід відправлено!", "Event Type": "Тип західу", "Event Content": "Зміст заходу", - "State Key": "Ключ стану" + "State Key": "Ключ стану", + "Show message in desktop notification": "Показати повідомлення в сповіщення на робочому столі", + "Edit": "Редактувати", + "Unpin Message": "Відкріпити повідомлення", + "Pin Message": "Прикріпити повідомлення", + "Register": "Зарегіструватись", + "Rooms": "Кімнати", + "Invite to this community": "Запросити в це суспільство", + "Add rooms to this community": "Добавити кімнати в це суспільство" } From 007ff8d177f54e32a15ce25c493ebb314044e5a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Tue, 31 Oct 2017 14:51:21 +0000 Subject: [PATCH 061/108] Translated using Weblate (French) Currently translated at 96.2% (207 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index c757b43064..714b00fe5f 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -99,9 +99,9 @@ "Uploaded on %(date)s by %(user)s": "Téléchargé le %(date)s par %(user)s", "View Decrypted Source": "Voir la source déchiffrée", "When I'm invited to a room": "Quand je suis invité dans un salon", - "World readable": "Visible par tout le monde", + "World readable": "Lisible publiquement", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Vous les avez probablement configurées dans un autre client que Riot. Vous ne pouvez pas les configurer dans Riot mais elles s'appliquent quand même", - "Guests can join": "Ouvert aux visiteurs", + "Guests can join": "Les invités peuvent rejoindre le salon", "Advanced notification settings": "Paramètres de notification avancés", "customServer_text": "Vous pouvez utiliser les options de serveur personnalisées pour vous connecter à d'autres serveurs Matrix, en spécifiant une adresse de serveur d'accueil différente.
Cela permet d'utiliser Riot avec un compte Matrix existant sur un serveur d'accueil différent.

Vous pouvez aussi indiquer un serveur d'identité personnalisé mais vous ne pourrez pas inviter d'utilisateurs par e-mail ou être invité par e-mail.", "Notifications on the following keywords follow rules which can’t be displayed here:": "Les notifications pour les mots-clés suivant répondent à des critères qui ne peuvent pas être affichés ici :", From 1b7e42f5e8fece10be6e5dde81fcbbda2c9cd940 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 31 Oct 2017 22:45:19 +0000 Subject: [PATCH 062/108] add og:image --- src/skins/vector/img/logos/riot-im-logo-1.png | Bin 0 -> 14121 bytes src/vector/index.html | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/skins/vector/img/logos/riot-im-logo-1.png diff --git a/src/skins/vector/img/logos/riot-im-logo-1.png b/src/skins/vector/img/logos/riot-im-logo-1.png new file mode 100644 index 0000000000000000000000000000000000000000..768679da66cf043898dfefbff7fb6f6cb0b5f362 GIT binary patch literal 14121 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 + <% for (var i=0; i < htmlWebpackPlugin.files.css.length; i++) { var file = htmlWebpackPlugin.files.css[i]; var match = file.match(/^bundles\/.*?\/theme-(.*)\.css$/); From df58bdd5291b7e401ba01adf8fce0639d9ef6ff4 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 31 Oct 2017 22:56:57 +0000 Subject: [PATCH 063/108] use absolute url for og:image --- src/vector/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vector/index.html b/src/vector/index.html index a411cb79b6..e32f63133d 100644 --- a/src/vector/index.html +++ b/src/vector/index.html @@ -20,7 +20,7 @@ - + <% for (var i=0; i < htmlWebpackPlugin.files.css.length; i++) { var file = htmlWebpackPlugin.files.css[i]; var match = file.match(/^bundles\/.*?\/theme-(.*)\.css$/); From 8f289519e10da664c0bbc6341541e28118623912 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 1 Nov 2017 15:25:23 +0000 Subject: [PATCH 064/108] fix chevron cosmetics --- src/skins/vector/themes/status/css/_status.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/skins/vector/themes/status/css/_status.scss b/src/skins/vector/themes/status/css/_status.scss index 6b205b5823..fc62058643 100644 --- a/src/skins/vector/themes/status/css/_status.scss +++ b/src/skins/vector/themes/status/css/_status.scss @@ -263,3 +263,7 @@ $progressbar-color: #000; padding-top: 1px ! important; padding-bottom: 1px ! important; } + +.mx_RoomSubList_chevron { + top: 8px ! important; +} \ No newline at end of file From 819122c11114c4ad5bb0fc3ffe65f948bea7f835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Wed, 1 Nov 2017 20:04:13 +0000 Subject: [PATCH 065/108] Translated using Weblate (French) Currently translated at 100.0% (215 of 215 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 714b00fe5f..08684b5ad0 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -206,5 +206,13 @@ "Send Custom State Event": "Envoyer l'événement d'état personnalisé", "Explore Room State": "Parcourir l'état du salon", "State Key": "Clé d'état", - "Unpin Message": "Dépingler le message" + "Unpin Message": "Dépingler le message", + "Add rooms to this community": "Ajouter des salons à cette communauté", + "Show message in desktop notification": "Afficher le message dans les notifications de bureau", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vous pouvez utiliser les options de serveur personnalisé pour vous connecter à d'autres serveurs Matrix en précisant un serveur d'accueil différent.
Cela vous permet d'utiliser Riot avec un compte Matrix existant sur un autre serveur d'accueil.

Vous pouvez aussi renseigner un serveur d'identité personnalisé mais vous ne pourrez pas inviter d'utilisateurs avec leur adresse e-mail, ou être invité avec votre adresse e-mail.", + "Edit": "Modifier", + "Pin Message": "Épingler le message", + "Register": "S'inscrire", + "Rooms": "Salons", + "Invite to this community": "Inviter à cette communauté" } From 5a1498dec3ee192a49b43b9b08c4191bbdda25dd Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 3 Nov 2017 20:01:54 -0600 Subject: [PATCH 066/108] CSS for pinned indicators Signed-off-by: Travis Ralston --- .../css/matrix-react-sdk/views/rooms/_RoomHeader.scss | 8 ++++++-- src/skins/vector/css/themes/_base.scss | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) 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 85ad08ec82..6916298bf5 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 @@ -237,12 +237,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 1a0fa5b400..d5db1367d9 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -22,6 +22,10 @@ $warning-color: #ff0064; $mention-user-pill-bg-color: #ff0064; $other-user-pill-bg-color: rgba(0, 0, 0, 0.1); +// pinned events indicator +$pinned-unread-color: #ff0064; // $warning-color +$pinned-color: #888; + // groups $group-my-groups-placeholder-bg: #f7f7f7; $group-my-groups-placeholder-fg: #888; From 2b49b68ba58b72218b7026bb0c64b262f978c61a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Sat, 4 Nov 2017 07:26:15 +0000 Subject: [PATCH 067/108] Translated using Weblate (French) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/fr/ --- src/i18n/strings/fr.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 08684b5ad0..9e365cde0e 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -214,5 +214,8 @@ "Pin Message": "Épingler le message", "Register": "S'inscrire", "Rooms": "Salons", - "Invite to this community": "Inviter à cette communauté" + "Invite to this community": "Inviter à cette communauté", + "Toolbox": "Boîte à outils", + "Send Account Data": "Envoyer les données du compte", + "Explore Account Data": "Explorer les données du compte" } From b4b4fefffb94cfc5cca46fe81decc1dafc475f08 Mon Sep 17 00:00:00 2001 From: Andrey Date: Sat, 4 Nov 2017 08:11:00 +0000 Subject: [PATCH 068/108] Translated using Weblate (Russian) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/ru/ --- src/i18n/strings/ru.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index f1fa0040ae..48415323bd 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -214,5 +214,8 @@ "Register": "Регистрация", "Rooms": "Комнаты", "Invite to this community": "Пригласить в это сообщество", - "Add rooms to this community": "Добавить комнаты в это сообщество" + "Add rooms to this community": "Добавить комнаты в это сообщество", + "Toolbox": "Панель инструментов", + "Send Account Data": "Отправить данные аккаунта", + "Explore Account Data": "Просмотр данных аккаунта" } From adedf23cfb8e94894e5dc8ded2a031160007da63 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 4 Nov 2017 22:19:06 +0000 Subject: [PATCH 069/108] remove unnamespaced CSS fail --- src/components/views/globals/NewVersionBar.js | 2 +- src/skins/vector/css/_common.scss | 5 ----- .../vector/css/vector-web/views/globals/_MatrixToolbar.scss | 4 ++++ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/components/views/globals/NewVersionBar.js b/src/components/views/globals/NewVersionBar.js index f56d1a51b7..2aedf39204 100644 --- a/src/components/views/globals/NewVersionBar.js +++ b/src/components/views/globals/NewVersionBar.js @@ -42,7 +42,7 @@ export default React.createClass({ const QuestionDialog = sdk.getComponent('dialogs.QuestionDialog'); Modal.createTrackedDialog('Display release notes', '', QuestionDialog, { title: _t("What's New"), - description:
{releaseNotes}
, + description:
{releaseNotes}
, button: _t("Update"), onFinished: (update) => { if(update && PlatformPeg.get()) { diff --git a/src/skins/vector/css/_common.scss b/src/skins/vector/css/_common.scss index c1eb8fab00..570439543a 100644 --- a/src/skins/vector/css/_common.scss +++ b/src/skins/vector/css/_common.scss @@ -294,11 +294,6 @@ textarea { margin-top: 69px; } -.changelog_text { - // why on earth is this needed? and with the wrong namespacing? >:( - font-family: $font-family; -} - .mx_Beta { color: red; margin-right: 10px; diff --git a/src/skins/vector/css/vector-web/views/globals/_MatrixToolbar.scss b/src/skins/vector/css/vector-web/views/globals/_MatrixToolbar.scss index 1a7b1c1646..be69b15f37 100644 --- a/src/skins/vector/css/vector-web/views/globals/_MatrixToolbar.scss +++ b/src/skins/vector/css/vector-web/views/globals/_MatrixToolbar.scss @@ -56,3 +56,7 @@ limitations under the License. .mx_MatrixToolbar_action { margin-right: 16px; } + +.mx_MatrixToolbar_changelog { + white-space: pre; +} \ No newline at end of file From 9a0bbfb8715ba793590b1820413a7e8503fe1c11 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 4 Nov 2017 23:43:34 +0000 Subject: [PATCH 070/108] tint the colours in the theme rather than hardcode vector green --- src/skins/vector/css/_common.scss | 14 ++++++++++++++ src/vector/index.html | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/skins/vector/css/_common.scss b/src/skins/vector/css/_common.scss index 570439543a..8a333071cd 100644 --- a/src/skins/vector/css/_common.scss +++ b/src/skins/vector/css/_common.scss @@ -1,6 +1,7 @@ /* Copyright 2015, 2016 OpenMarket Ltd Copyright 2017 Vector Creations Ltd +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. @@ -118,6 +119,19 @@ textarea { transition: height 120ms ease-out ! important; } +// These are magic constants which are excluded from tinting, to let themes +// (which only have CSS, unlike skins) tell the app what their non-tinted +// colourscheme is by inspecting the stylesheet DOM. +// +// They are not used for layout!! +#mx_theme_accentColor { + color: $accent-color; +} + +#mx_theme_secondaryAccentColor { + color: $secondary-accent-color; +} + .mx_Dialog_wrapper { position: fixed; z-index: 4000; diff --git a/src/vector/index.html b/src/vector/index.html index e32f63133d..14efb0b201 100644 --- a/src/vector/index.html +++ b/src/vector/index.html @@ -73,5 +73,7 @@
+
{ label }
diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 230b5ae477..a96eef42b7 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/_ToolTip.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/views/elements/_ToolTip.scss b/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTip.scss new file mode 100644 index 0000000000..429ddcf544 --- /dev/null +++ b/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTip.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_ToolTip { + 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_ToolTip:hover { + opacity: 1.0; +} + +.mx_ToolTip_container { + position: relative; + top: -18px; + left: 4px; +} + +.mx_ToolTip_helpText { + width: 200px; + text-align: center; + line-height: 17px !important; +} + From 4c0e956cc1b3d64016e017f46ec33d5390a29c92 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Tue, 7 Nov 2017 15:13:17 +0000 Subject: [PATCH 082/108] Name things in a sane way --- src/skins/vector/css/_components.scss | 2 +- .../views/elements/{_ToolTip.scss => _ToolTipButton.scss} | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) rename src/skins/vector/css/matrix-react-sdk/views/elements/{_ToolTip.scss => _ToolTipButton.scss} (90%) diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index a96eef42b7..767af80589 100644 --- a/src/skins/vector/css/_components.scss +++ b/src/skins/vector/css/_components.scss @@ -35,7 +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/_ToolTip.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/views/elements/_ToolTip.scss b/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTipButton.scss similarity index 90% rename from src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTip.scss rename to src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTipButton.scss index 429ddcf544..ef9dd02b2a 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTip.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/elements/_ToolTipButton.scss @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -.mx_ToolTip { +.mx_ToolTipButton { display: inline-block; width: 11px; height: 11px; @@ -33,17 +33,17 @@ limitations under the License. cursor: pointer; } -.mx_ToolTip:hover { +.mx_ToolTipButton:hover { opacity: 1.0; } -.mx_ToolTip_container { +.mx_ToolTipButton_container { position: relative; top: -18px; left: 4px; } -.mx_ToolTip_helpText { +.mx_ToolTipButton_helpText { width: 200px; text-align: center; line-height: 17px !important; From 4c22f9a5497bd930f527c846599296b4fa40b9b1 Mon Sep 17 00:00:00 2001 From: Krombel Date: Tue, 7 Nov 2017 13:35:15 +0000 Subject: [PATCH 083/108] Translated using Weblate (German) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 1c3d6d452b..196bdc9a36 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -216,6 +216,6 @@ "Invite to this community": "In diese Community einladen", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Die benutzerdefinierten Server-Einstellungen kannst du verwenden, um dich auf anderen Matrix-Servern anzumelden, indem du eine abweichende Heimserver-URL eingibst.
Somit ist es möglich, Riot mit einem bereits bestehendem Matrix-Benutzerkonto auf einem anderen Heimserver zu verwenden.

Außerdem kannst du einen benutzerdefinierten Identitätsserver eingeben. Allerdings kannst du in diesem Fall Benutzer nicht mehr per E-Mail-Adresse einladen und auch selbst nicht mehr per E-Mail-Adresse eingeladen werden.", "Toolbox": "Werkzeugkasten", - "Explore Account Data": "Konto-Daten erkunden", + "Explore Account Data": "Daten des Benutzerkontos erkunden", "Send Account Data": "Sende Benutzerkonto-Daten" } From 1bdc666197803931fca4bd7cb72f47c11b62e5d2 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Tue, 7 Nov 2017 16:43:02 +0000 Subject: [PATCH 084/108] Adjust CSS for GroupView Part of showing the group inviter profile: https://github.com/matrix-org/matrix-react-sdk/pull/1585 --- .../css/matrix-react-sdk/structures/_GroupView.scss | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 2f7cd18720..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,7 +303,7 @@ limitations under the License. } .mx_GroupView_body .gm-scroll-view > *{ - margin: 0px 50px 11px 68px; + margin: 11px 50px 0px 68px; } .mx_GroupView_groupDesc textarea { From beddf3a2cbbbfc9b7d178d5037041e778940892a Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 7 Nov 2017 11:05:29 -0700 Subject: [PATCH 085/108] Get rid of accidental merge stuff Signed-off-by: Travis Ralston --- src/skins/vector/css/themes/_base.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/skins/vector/css/themes/_base.scss b/src/skins/vector/css/themes/_base.scss index fcc3c7b963..3a7eac5627 100644 --- a/src/skins/vector/css/themes/_base.scss +++ b/src/skins/vector/css/themes/_base.scss @@ -26,10 +26,6 @@ $other-user-pill-bg-color: rgba(0, 0, 0, 0.1); $pinned-unread-color: #ff0064; // $warning-color $pinned-color: #888; -// groups -$group-my-groups-placeholder-bg: #f7f7f7; -$group-my-groups-placeholder-fg: #888; - // informational plinth $info-plinth-bg-color: #f7f7f7; $info-plinth-fg-color: #888; From 26d9677bbe43883e393d742d8a409054a9cdb2d1 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Tue, 7 Nov 2017 18:49:28 +0000 Subject: [PATCH 086/108] CSS for adding rooms to a group with visibility Also, make chat invite error looks slightly more normal --- src/skins/vector/css/_components.scss | 1 + .../views/dialogs/_ChatInviteDialog.scss | 3 +-- .../views/dialogs/_GroupAddressPicker.scss | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 src/skins/vector/css/matrix-react-sdk/views/dialogs/_GroupAddressPicker.scss diff --git a/src/skins/vector/css/_components.scss b/src/skins/vector/css/_components.scss index 230b5ae477..4e53098335 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"; 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 a950ea8d12..8730c94f72 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; +} From 16991a8f68c976cf83d3112279308781133c0127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Wed, 8 Nov 2017 12:10:20 +0000 Subject: [PATCH 087/108] Added translation using Weblate (Slovak) --- src/i18n/strings/sk.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/sk.json diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/src/i18n/strings/sk.json @@ -0,0 +1 @@ +{} \ No newline at end of file From e90419e40d67bea6a234af393562e91fb3d1300d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Wed, 8 Nov 2017 12:11:57 +0000 Subject: [PATCH 088/108] Translated using Weblate (Slovak) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 220 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 219 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 9e26dfeeb6..d0abbe6bd0 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -1 +1,219 @@ -{} \ No newline at end of file +{ + "Riot is not supported on mobile web. Install the app?": "Riot nie je podporovaný na mobilných zariadeniach. Želáte si nainštalovať aplikáciu?", + "Collecting app version information": "Získavajú sa informácie o verzii aplikácii", + "Collecting logs": "Získavajú sa záznamy", + "Uploading report": "Prebieha odovzdanie hlásenia", + "Waiting for response from server": "Čakanie na odpoveď zo servera", + "Riot Desktop on %(platformName)s": "Riot Desktop pre %(platformName)s", + "Unknown device": "Neznáme zariadenie", + "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s cez %(browserName)s pre %(osName)s", + "You need to be using HTTPS to place a screen-sharing call.": "Ak si želáte spustiť zdieľanie obrazovky, musíte byť pripojení cez protokol HTTPS.", + "Messages containing my display name": "Správy obsahujúce moje zobrazované meno", + "Messages containing my user name": "Správy obsahujúce moje používateľské meno", + "Messages in one-to-one chats": "Správy v priamych konverzáciách", + "Messages in group chats": "Správy v skupinových konverzáciách", + "When I'm invited to a room": "Pozvania vstúpiť do miestnosti", + "Call invitation": "Audio / Video hovory", + "Messages sent by bot": "Správy odosielané robotmi", + "Error saving email notification preferences": "Chyba pri ukladaní nastavení oznamovania emailom", + "An error occurred whilst saving your email notification preferences.": "Počas ukladania vašich nastavení oznamovania emailom sa vyskytla chyba.", + "Keywords": "Kľúčové slová", + "Enter keywords separated by a comma:": "Zadajte kľúčové slová oddelené čiarkou:", + "OK": "OK", + "Failed to change settings": "Nepodarilo sa zmeniť nastavenia", + "Operation failed": "Operácia zlyhala", + "Can't update user notification settings": "Nie je možné aktualizovať používateľské nastavenia oznamovania", + "Failed to update keywords": "Nepodarilo sa aktualizovať kľúčové slová", + "Messages containing keywords": "Správy obsahujúce kľúčové slová", + "Notify for all other messages/rooms": "oznamovať všetky ostatné správy / miestnosti", + "Notify me for anything else": "Oznamovať mi všetko ostatné", + "Enable notifications for this account": "Povoliť oznámenia pre tento účet", + "All notifications are currently disabled for all targets.": "Momentálne sú zakázané všetky oznámenia pre všetky ciele.", + "Add an email address above to configure email notifications": "Ak si chcete nastaviť oznamovanie emailom, pridajte si emailovú adresu vyššie", + "Enable email notifications": "Povoliť oznamovanie emailom", + "Notifications on the following keywords follow rules which can’t be displayed here:": "Oznámenia nasledujúcich kľúčových slov sa riadia pravidlami, ktoré nie je možné zobraziť na tomto mieste:", + "Unable to fetch notification target list": "Nie je možné získať zoznam cieľov oznámení", + "Notification targets": "Ciele oznámení", + "Advanced notification settings": "Pokročilé nastavenia oznámení", + "There are advanced notifications which are not shown here": "Niektoré pokročilé oznámenia nemôžu byť zobrazené", + "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Tieto nastavenia oznámení sa použijú aj napriek tomu, že ich nemôžete meniť cez Riot. Pravdepodobne ste si ich nastavili v inej aplikácii", + "Enable desktop notifications": "Povoliť oznámenia na pracovnej ploche", + "Show message in desktop notification": "Zobraziť text správy v oznámení na pracovnej ploche", + "Enable audible notifications in web client": "Povoliť zvukové oznámenia vo webovom klientovi", + "Off": "Zakázané", + "On": "Povolené", + "Noisy": "Hlučné", + "Failed to set direct chat tag": "Nepodarilo sa nastaviť značku priama konverzácia", + "Failed to remove tag %(tagName)s from room": "Nepodarilo sa odstrániť značku %(tagName)s pre túto miestnosť", + "Failed to add tag %(tagName)s to room": "Nepodarilo sa pridať značku %(tagName)s pre túto miestnosť", + "Search…": "Hľadať…", + "Search": "Vyhľadávanie", + "This Room": "V tejto miestnosti", + "All Rooms": "Vo všetkych miestnostiach", + "Sunday": "Nedeľa", + "Monday": "Pondelok", + "Tuesday": "Utorok", + "Wednesday": "Streda", + "Thursday": "Štvrtok", + "Friday": "Piatok", + "Saturday": "Sobota", + "Today": "Dnes", + "Yesterday": "Včera", + "Custom Server Options": "Vlastné možnosti servera", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vlastné nastavenia servera môžete použiť na pripojenie k iným serverom Matrix a to zadaním URL adresy domovského servera.
Umožní vám to použiť Riot s už existujúcim Matrix účtom na akomkoľvek domovskom servery.

Môžete tiež nastaviť vlastný server totožností, no ak tak urobíte, nebudete môcť do konverzácií pozývať používateľov zadaním ich emailovej adresy, ani ostatní nebudú môcť pozvať vás zadaním vašej emailovej adresy.", + "Dismiss": "Zamietnuť", + "powered by Matrix": "poháňa Matrix", + "You are not receiving desktop notifications": "Nedostávate oznámenia na pracovnej ploche", + "Enable them now": "Povolte si ich teraz", + "What's New": "Čo Je Nové", + "Update": "Aktualizovať", + "What's new?": "Čo je nové?", + "A new version of Riot is available.": "Dostupná je nová verzia Riot.", + "To return to your account in future you need to set a password": "Aby ste sa v budúcnosti mohli vrátiť k vašemu účtu mali by ste si teraz nastaviť heslo", + "Toolbox": "Nástroje", + "Set Password": "Nastaviť Heslo", + "Error encountered (%(errorDetail)s).": "Vyskytla sa chyba (%(errorDetail)s).", + "Checking for an update...": "Kontrola dostupnosti aktualizácie...", + "No update available.": "K dispozícii nie je žiadna aktualizácia.", + "Downloading update...": "Sťahovanie aktualizácie...", + "Warning": "Upozornenie", + "Error": "Chyba", + "You cannot delete this image. (%(code)s)": "Nemôžete vymazať tento obrázok. (%(code)s)", + "Uploaded on %(date)s by %(user)s": "Nahral používateľ %(user)s dňa %(date)s", + "Remove": "Odstrániť", + "Close": "Zatvoriť", + "Download this file": "Stiahnuť tento súbor", + "Please describe the bug and/or send logs.": "Prosím, popíšte problém a / alebo pošlite záznamy.", + "Loading bug report module": "Načítanie modulu hlásenia chýb", + "Bug report sent": "Hlásenie chyby odoslané", + "Thank you!": "Ďakujeme!", + "Failed to send report: ": "Nepodarilo sa odoslať hlásenie: ", + "Cancel": "Zrušiť", + "Report a bug": "Ohlásiť chybu", + "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Prosím, Napíšte text hlásenia. Čo ste práve robili? Čo ste očakávali? Čo sa v skutočnosti udialo?", + "Describe your problem here.": "Tu popíšte váš problém.", + "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "S cieľom lepšej diagnostiky problému sa spolu s vašim hlásením odošlú záznami o činnosti programu Riot. Ak si želáte odoslať len text hlásenia, odškrtnite nasledujúce pole:", + "Send logs": "Zahrnúť záznamy", + "Send": "Poslať", + "Unavailable": "Nedostupné", + "Changelog": "Zoznam zmien", + "Back": "Naspäť", + "You must specify an event type!": "Musíte nastaviť typ udalosti!", + "Event sent!": "Udalosť odoslaná!", + "Failed to send custom event.": "Odoslanie vlastnej udalosti zlyhalo.", + "Event Type": "Typ Udalosti", + "Event Content": "Obsah Udalosti", + "State Key": "State Key", + "Edit": "Upraviť", + "Filter results": "Filtrovať výsledky", + "Send Custom Event": "Odoslať vlastnú udalosť", + "Send Account Data": "Odoslať Údaje Účtu", + "Explore Account Data": "Preskúmať Údaje účtu", + "Explore Room State": "Preskúmať Stav Miestnosti", + "Developer Tools": "Vývojárske Nástroje", + "You have successfully set a password!": "Ǔspešne ste si nastavili heslo!", + "You have successfully set a password and an email address!": "Úspešne si si nastavili heslo aj emailovú adresu!", + "You can now return to your account after signing out, and sign in on other devices.": "Odteraz sa budete k svojmu účtu vedieť vrátiť aj po odhlásení, alebo tiež prihlásiť na iných zariadeniach.", + "Remember, you can always set an email address in user settings if you change your mind.": "Všimnite si, Emailovú adresu môžete pridať aj neskôr v časti nastavenia, ak zmeníte svoj názor.", + "Continue": "Pokračovať", + "Failed to change password. Is your password correct?": "Nepodarilo sa zmeniť heslo. Zadali ste správne heslo?", + "(HTTP status %(httpStatus)s)": "(HTTP status %(httpStatus)s)", + "Please set a password!": "Prosím, nastavte si heslo!", + "This will allow you to return to your account after signing out, and sign in on other devices.": "Toto vám v budúcnosti umožní vrátiť sa k vašemu účtu aj po odhlásení, alebo tiež prihlásiť sa na iných zariadeniach.", + "You cannot delete this message. (%(code)s)": "Nemôžete vymazať túto správu. (%(code)s)", + "Resend": "Poslať znovu", + "Cancel Sending": "Zrušiť odosielanie", + "Forward Message": "Preposlať správu", + "Unpin Message": "Zrušiť pripnutie správy", + "Pin Message": "Pripnúť správu", + "View Source": "Zobraziť zdroj", + "View Decrypted Source": "Zobraziť dešifrovaný zdroj", + "Unhide Preview": "Zobraziť náhľad", + "Permalink": "Trvalý odkaz", + "Quote": "Citovať", + "Source URL": "Pôvodná URL", + "Failed to set Direct Message status of room": "Nepodarilo sa nastaviť stav miestnosti priama konverzácia", + "unknown error code": "neznámy kód chyby", + "Failed to forget room %(errCode)s": "Nepodarilo sa zabudnuť miestnosť %(errCode)s", + "All messages (loud)": "Všetky správy (hlučné)", + "All messages": "Všetky správy", + "Mentions only": "Len zmienky", + "Mute": "Umlčať", + "Leave": "Opustiť", + "Forget": "Zabudnuť", + "Reject": "Odmietnuť", + "Favourite": "Obľúbená", + "Low Priority": "Nízka priorita", + "Direct Chat": "Priama konverzácia", + "Sorry, your browser is not able to run Riot.": "Prepáčte, vo vašom prehliadači nie je možné spustiť Riot.", + "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot sa spolieha na mnohé pokročilé vlastnosti prehliadača internetu, a niektoré z nich sú vo vašom prehliadači experimentálne alebo nie sú k dispozícii vôbec.", + "Please install
Chrome or Firefox for the best experience.": "Prosím, nainštalujte si Chrome alebo Firefox , aby bol váš zážitok pri používaní Riot čo možno najlepší.", + "Safari and Opera work too.": "Safari a Opera tiež fungujú spoľahlivo.", + "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Vo vašom súčasnom prehliadači nemusí Riot vizerať ani fungovať správne a niektoré alebo všetky vlastnosti môžu chýbať. Ak to chcete vyskúšať, môžete pokračovať, no pri riešení problémov s tým spojených si budete musieť poradiť na vlastnú päsť!", + "I understand the risks and wish to continue": "Rozumiem rizikám a želám si pokračovať", + "Couldn't load home page": "Nie je možné načítať domovskú stránku", + "Login": "Prihlásiť", + "Register": "Registrovať", + "Invite to this room": "Pozvať do tejto miestnosti", + "Members": "Členovia", + "Files": "Súbory", + "Notifications": "Oznámenia", + "Rooms": "Miestnosti", + "Hide panel": "Skryť panel", + "Invite to this community": "Pozvať do tejto komunity", + "Add rooms to this community": "Pridať miestnosti do tejto komunity", + "Failed to get protocol list from Home Server": "Nepodarilo sa získať zoznam protokolov z domovského servera", + "The Home Server may be too old to support third party networks": "Domovský server môže byť natoľko zastaralý, že nepodporuje siete tretíh strán", + "Failed to get public room list": "Nepodarilo sa získať zoznam verejných miestností", + "The server may be unavailable or overloaded": "Server môže byť nedostupný alebo preťažený", + "Unnamed room": "Nepomenovaná miestnosť", + "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Vymazať alias %(alias)s a odstrániť miestnosť %(name)s z adresára?", + "Remove %(name)s from the directory?": "Odstrániť miestnosť %(name)s z adresára?", + "Remove from Directory": "Odstrániť z adresára", + "remove %(name)s from the directory.": "odstrániť %(name)s z adresára.", + "delete the alias.": "vymazať alias.", + "Unable to join network": "Nie je možné sa pripojiť k sieti", + "Riot does not know how to join a room on this network": "Riot nedokáže vstúpiť do miestnosti na tejto sieti", + "Room not found": "Miestnosť nenájdená", + "Couldn't find a matching Matrix room": "Nie je možné nájsť zodpovedajúcu Matrix miestnosť", + "Fetching third party location failed": "Nepodarilo sa získať umiestnenie tretej strany", + "Unable to look up room ID from server": "Nie je možné vyhľadať ID miestnosti na servery", + "World readable": "Viditeľná pre všetkých", + "Guests can join": "Pripojiť sa môžu aj hostia", + "Directory": "Adresár", + "No rooms to show": "Žiadne miestnosti na zobrazenie", + "Search for a room": "Vyhľadať miestnosť", + "#example": "#príklad", + "more": "viac", + "Expand panel": "Rozbaliť panel", + "Collapse panel": "Zbaliť panel", + "Filter room names": "Filtrovať názvy miestností", + "Welcome to Riot.im": "Víta vás Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralizovaný, šifrovaný chat a spolupráca na platforme [matrix]", + "Search the room directory": "Prehľadať adresár miestností", + "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Na Matrixe je k dispozícii množstvo nezávislých diskusných miestností a tiež miestnosti prepojené z iných sietí (Slack, IRC, Gitter atď). Pozrite si adresár!", + "Chat with Riot Bot": "Konverzácia s Riot Bot", + "Get started with some tips from Riot Bot!": "Začnite zopár tipmi v diskusii s Riot Bot!", + "General discussion about Matrix and Riot": "Všeobecná diskusia o Matrix a Riot", + "Discussion of all things Matrix!": "Diskusia o všetkom okolo Matrix!", + "Riot/Web & Desktop chat": "Riot/Web & Desktop chat", + "Riot/iOS & matrix-ios-sdk chat": "Riot/iOS & matrix-ios-sdk chat", + "Riot/Android & matrix-android-sdk chat": "Riot/Android & matrix-android-sdk chat", + "Matrix technical discussions": "Technické diskusie o Matrix", + "Running Matrix services": "Prevádzka služieb postavených na Matrix", + "Community-run support for Synapse": "Komunitná podpora pre Synapse", + "Admin support for Dendrite": "Administrátorská podpora pre Dendrite", + "Announcements about Synapse releases": "Oznamy o verziách Synapse", + "Support for those using and running matrix-appservice-irc": "Podpora pre používateľov a prevádzkovateľov matrix-appservice-irc", + "Building services on Matrix": "Stavba služieb na Matrix", + "Support for those using the Matrix spec": "Podpora pre konzumentov špecifikácie Matrix", + "Design and implementation of E2E in Matrix": "Návrh a implementácia E2E pre Matrix", + "Implementing VR services with Matrix": "Implementácia služieb VR s Matrix", + "Implementing VoIP services with Matrix": "Implementácia VoIP služieb s Matrix", + "Discussion of the Identity Service API": "Diskusia o API služby totožností", + "Support for those using, running and writing other bridges": "Podpora pre používateľov, prevádzkovateľov a tvorcov premostení do ďalších sietí", + "Contributing code to Matrix and Riot": "Prispievanie kódu projektom Matrix a Riot", + "Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web ", + "Dev chat for the Dendrite dev team": "Diskusia pre tím vývojárov Dendrite", + "Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web" +} From 2fa1f16284d6307f70d668838c120c1073d80f7e Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 8 Nov 2017 06:55:30 -0800 Subject: [PATCH 089/108] use new theme-aware tinter api --- src/vector/index.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/vector/index.js b/src/vector/index.js index 5e3718eada..9e05259a84 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -78,6 +78,7 @@ import {parseQs, parseQsFromFragment} from './url_utils'; import Platform from './platform'; import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; +import Tinter from 'matrix-react-sdk/lib/Tinter'; var lastLocationHashSet = null; @@ -288,19 +289,25 @@ async function loadApp() { // as quickly as we possibly can, set a default theme... const styleElements = Object.create(null); let a; + const theme = configJson.default_theme || 'light'; for (let i = 0; (a = document.getElementsByTagName("link")[i]); i++) { const href = a.getAttribute("href"); // shouldn't we be using the 'title' tag rather than the href? const match = href.match(/^bundles\/.*\/theme-(.*)\.css$/); if (match) { - if (match[1] === (configJson.default_theme || 'light')) { + if (match[1] === theme) { // remove the disabled flag off the stylesheet a.removeAttribute("disabled"); + + // in case the Tinter.tint() in MatrixChat fires before the + // CSS has actually loaded (which in practice happens) + a.onload = () => { + Tinter.setTheme(theme); + Tinter.tint(); + }; } } } - // XXX: do we also need to call MatrixChat.setTheme here to do any random fixups (e.g. svg tint) - if (window.localStorage && window.localStorage.getItem('mx_accepts_unsupported_browser')) { console.log('User has previously accepted risks in using an unsupported browser'); From e7fbad22364c72e28506ff5da3bbfcf142dfc934 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 8 Nov 2017 16:44:45 +0000 Subject: [PATCH 090/108] Increase height to avoid content from overflowing (mx_RoomHeader_name.height + mx_RoomHeader_topic.max-height) --- .../vector/css/matrix-react-sdk/views/rooms/_RoomHeader.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 6916298bf5..1f42f1afc4 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 @@ -22,7 +22,7 @@ limitations under the License. .mx_RoomHeader_wrapper { max-width: 960px; margin: auto; - height: 70px; + height: 73px; align-items: center; display: flex; } From 76570a0f14ddde4c0d444c9b3477033e9cc906d0 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 8 Nov 2017 17:02:17 +0000 Subject: [PATCH 091/108] Make long topics overflow in to a second, hidden column. --- .../vector/css/matrix-react-sdk/views/rooms/_RoomHeader.scss | 1 + 1 file changed, 1 insertion(+) 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 1f42f1afc4..7e0211b997 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 @@ -185,6 +185,7 @@ limitations under the License. overflow: hidden; text-overflow: ellipsis; border-bottom: 1px solid transparent; + column-width: 960px; } .mx_RoomHeader_avatar { From 106430f7b691ee6de0caa4ca05d94aac3c44243c Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 8 Nov 2017 19:48:53 +0000 Subject: [PATCH 092/108] Move margin to AppTile elements so that it is only present with app tiles. Comment unused classes. --- .../matrix-react-sdk/views/rooms/_AppsDrawer.scss | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss index f9c092873e..ddb9aa4a07 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss @@ -14,9 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ -.mx_AppsDrawer { - margin-bottom: 3px; -} +// .mx_AppsDrawer { +// } .mx_AppsContainer { display: flex; @@ -69,6 +68,10 @@ limitations under the License. // display: inline-block; } +.mx_AppTile, .mx_AppTileFullWidth { + margin-bottom: 3px; +} + .mx_AppTileMenuBar { // height: 15px; margin: 0; @@ -116,8 +119,8 @@ limitations under the License. display: block; } -.mx_CloseAppWidget { -} +// .mx_CloseAppWidget { +// } .mx_AppTileMenuBarWidgetPadding { margin-right: 5px; From 092ec1cc6cbd86082ca30dc96a0d6092b82a25fe Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Wed, 8 Nov 2017 20:03:35 +0000 Subject: [PATCH 093/108] Prevent long topics from overflowing fixed height header. --- .../vector/css/matrix-react-sdk/views/rooms/_RoomHeader.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 7e0211b997..79ada70b23 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 @@ -22,7 +22,7 @@ limitations under the License. .mx_RoomHeader_wrapper { max-width: 960px; margin: auto; - height: 73px; + height: 70px; align-items: center; display: flex; } @@ -176,7 +176,7 @@ limitations under the License. .mx_RoomHeader_topic { vertical-align: bottom; float: left; - max-height: 42px; + max-height: 38px; color: $settings-grey-fg-color; font-weight: 300; font-size: 13px; From 910a5f7e6c9167975cae06d2c6e3b0e5a475314b Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Wed, 8 Nov 2017 22:56:22 +0000 Subject: [PATCH 094/108] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index a986adcdf7..fc5dd6ec6d 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -214,5 +214,8 @@ "Register": "註冊", "Rooms": "聊天室", "Invite to this community": "邀請至此社群", - "Add rooms to this community": "新增聊天室到此社群" + "Add rooms to this community": "新增聊天室到此社群", + "Toolbox": "工具箱", + "Send Account Data": "傳送帳號資料", + "Explore Account Data": "探索帳號資料" } From 81b085fbb8aa6609bb24bf053ece0be8c7d35086 Mon Sep 17 00:00:00 2001 From: Xose M Date: Thu, 9 Nov 2017 06:21:24 +0000 Subject: [PATCH 095/108] Translated using Weblate (Galician) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/gl/ --- src/i18n/strings/gl.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index 700e38ac73..3fec05e9f3 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -205,5 +205,17 @@ "Set Password": "Establecer contrasinal", "Couldn't load home page": "Non se cargou a páxina de inicio", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Pode que os configurase nun cliente diferente de Riot. Non pode establecelos desde Riot pero aínda así aplicaranse", - "Riot/Android & matrix-android-sdk chat": "Chat para Riot/Android & matrix-android-sdk" + "Riot/Android & matrix-android-sdk chat": "Chat para Riot/Android & matrix-android-sdk", + "Show message in desktop notification": "Mostrar mensaxe nas notificacións de escritorio", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vostede pode utilizar as opcións de servidor personalizado para conectarse a outros servidores Matrix indicando o enderezo URL do Servidor.
Esto permítelle utilizar Riot con unha conta Matrix existente en outro servidor.

Tamén pode indicar un servidor de identidade pero non poderá convidar a usarias polo seu enderezo de correo electrónico, o ser convidada vostede por correo electrónico.", + "Toolbox": "Ferramentas", + "Edit": "Editar", + "Send Account Data": "Enviar datos da conta", + "Explore Account Data": "Explorar datos da conta", + "Unpin Message": "Non fixar mensaxe", + "Pin Message": "Fixar mensaxe", + "Register": "Rexistrar", + "Rooms": "Salas", + "Invite to this community": "Convidar a esta comunidade", + "Add rooms to this community": "Engadir salas a esta comunidade" } From d45940f204c4b570180cbf69492f61974f6080f5 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Thu, 9 Nov 2017 10:02:00 +0000 Subject: [PATCH 096/108] Don't display widget iframes whilst loading. --- .../vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss index f9c092873e..cbbc1b4c2b 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss @@ -235,3 +235,7 @@ form.mx_Custom_Widget_Form div { align-items: center; font-weight: bold; } + +.mx_AppLoading iframe { + display: none; +} From 2bb13fba7e7b6a8fd12d928e911c40ee522ee793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Such=C3=A1nek?= Date: Thu, 9 Nov 2017 15:53:31 +0000 Subject: [PATCH 097/108] Translated using Weblate (Czech) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/cs/ --- src/i18n/strings/cs.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index f2f7e2e09d..8b85502610 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -214,5 +214,8 @@ "State Key": "Stavový klíč", "Send Custom State Event": "Poslat vlastní stavovou událost", "Explore Room State": "Prohlížet stav místnosti", - "Unpin Message": "Odepnout zprávu" + "Unpin Message": "Odepnout zprávu", + "Toolbox": "Sada nástrojů", + "Send Account Data": "Poslat data o účtu", + "Explore Account Data": "Prozkoumat data o účtu" } From 405504dca4edbfd40303c2550774d319f7525783 Mon Sep 17 00:00:00 2001 From: bldrzzy Date: Thu, 9 Nov 2017 02:58:43 +0000 Subject: [PATCH 098/108] Translated using Weblate (Polish) Currently translated at 98.6% (214 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/pl/ --- src/i18n/strings/pl.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index 04868a0c42..7566963c52 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -205,5 +205,14 @@ "Event sent!": "Wydarzenie wysłane!", "Event Type": "Typ wydarzenia", "Event Content": "Zawartość wydarzenia", - "State Key": "Klucz stanu" + "State Key": "Klucz stanu", + "Toolbox": "Przybornik", + "Edit": "Edycja", + "Show message in desktop notification": "Pokaż wiadomość w notyfikacji na pulpicie", + "Unpin Message": "Odepnij Wiadomość", + "Pin Message": "Przypnij Wiadomość", + "Register": "Rejestracja", + "Rooms": "Pokoje", + "Invite to this community": "Zaproś do tej społeczności", + "Add rooms to this community": "Dodaj pokoje do tej społeczności" } From 1f524f3085e2591c3610f5e81f9af5e5c1e84064 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Wed, 8 Nov 2017 12:12:52 +0000 Subject: [PATCH 099/108] Translated using Weblate (Slovak) Currently translated at 100.0% (217 of 217 strings) Translation: Riot Web/riot-web Translate-URL: https://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index d0abbe6bd0..01ecc78819 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -213,7 +213,7 @@ "Discussion of the Identity Service API": "Diskusia o API služby totožností", "Support for those using, running and writing other bridges": "Podpora pre používateľov, prevádzkovateľov a tvorcov premostení do ďalších sietí", "Contributing code to Matrix and Riot": "Prispievanie kódu projektom Matrix a Riot", - "Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web ", + "Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web", "Dev chat for the Dendrite dev team": "Diskusia pre tím vývojárov Dendrite", "Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web" } From 63f520b5ee7fd6a8afac0a85f6693669d9a9405d Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Thu, 9 Nov 2017 22:45:35 +0000 Subject: [PATCH 100/108] Fix app tile margins. --- .../css/matrix-react-sdk/views/rooms/_AppsDrawer.scss | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss index 7d100cceb6..4a20e50e80 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss @@ -50,13 +50,16 @@ limitations under the License. .mx_AppTile { max-width: 960px; width: 50%; - margin: 0 5px 2px 0; + margin-right: 5px; border: 1px solid $primary-hairline-color; border-radius: 2px; - // height: 350px; - // display: inline-block; } +.mx_AppTile:last-child { + margin-right: 0; +} + + .mx_AppTileFullWidth { max-width: 960px; width: 100%; @@ -69,7 +72,7 @@ limitations under the License. } .mx_AppTile, .mx_AppTileFullWidth { - margin-bottom: 3px; + margin-top: 3px; } .mx_AppTileMenuBar { From bfa4f59f3d440053368bb618b8bc9d0316963a56 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Thu, 9 Nov 2017 22:47:23 +0000 Subject: [PATCH 101/108] Lint space. --- .../vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss index 4a20e50e80..0b34a02a79 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss @@ -59,7 +59,6 @@ limitations under the License. margin-right: 0; } - .mx_AppTileFullWidth { max-width: 960px; width: 100%; From cf1beb1d944a30075d00c99c35ff6c43601e23f1 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Fri, 10 Nov 2017 00:16:41 +0000 Subject: [PATCH 102/108] Fix right marign. --- .../vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss index 0b34a02a79..7fe2b03cf4 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/_AppsDrawer.scss @@ -56,7 +56,7 @@ limitations under the License. } .mx_AppTile:last-child { - margin-right: 0; + margin-right: 1px; } .mx_AppTileFullWidth { From 1008ede4d1c310a6a21e044808169297215ccb48 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 10 Nov 2017 13:42:31 +0000 Subject: [PATCH 103/108] Bump matrix-react/js-sdk deps --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7c48a8fe21..1f673c389c 100644 --- a/package.json +++ b/package.json @@ -68,8 +68,8 @@ "gfm.css": "^1.1.1", "highlight.js": "^9.0.0", "linkifyjs": "^2.1.3", - "matrix-js-sdk": "0.8.5", - "matrix-react-sdk": "0.10.7", + "matrix-js-sdk": "0.9.0-rc.1", + "matrix-react-sdk": "0.11.0-rc.1", "modernizr": "^3.1.0", "pako": "^1.0.5", "prop-types": "^15.5.10", From 0630d856f8585f4b14296c5dabe9685db6fc5111 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 10 Nov 2017 13:44:08 +0000 Subject: [PATCH 104/108] v0.13.0-rc.1 --- electron_app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron_app/package.json b/electron_app/package.json index 8494b2163f..403d059c55 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "0.12.7", + "version": "0.13.0-rc.1", "description": "A feature-rich client for Matrix.org", "author": "Vector Creations Ltd.", "dependencies": { From 277a6dee10ef23e81b8237b3094a44d0a84f9436 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 10 Nov 2017 15:38:32 +0000 Subject: [PATCH 105/108] Make groups a fully-fleged baked-in feature --- src/components/structures/BottomLeftMenu.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/components/structures/BottomLeftMenu.js b/src/components/structures/BottomLeftMenu.js index 4014261caa..5b209d28c7 100644 --- a/src/components/structures/BottomLeftMenu.js +++ b/src/components/structures/BottomLeftMenu.js @@ -170,9 +170,6 @@ module.exports = React.createClass({ const GroupsButton = sdk.getComponent('elements.GroupsButton'); const SettingsButton = sdk.getComponent('elements.SettingsButton'); - const groupsButton = UserSettingsStore.isFeatureEnabled('feature_groups') ? - : null; - return (
@@ -186,12 +183,12 @@ module.exports = React.createClass({
- { groupsButton } +
); - } + }, }); From 5abee4fddc0e448adc9b95ad1c3e0709a8af1094 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 11 Nov 2017 23:47:03 +0000 Subject: [PATCH 106/108] replace some of the status.im theme with general config options --- config.sample.json | 4 ++++ src/components/views/login/VectorLoginFooter.js | 1 + src/vector/index.js | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/config.sample.json b/config.sample.json index 9e69c1c352..016517cd2c 100644 --- a/config.sample.json +++ b/config.sample.json @@ -1,6 +1,10 @@ { "default_hs_url": "https://matrix.org", "default_is_url": "https://vector.im", + "disable_custom_urls": false, + "disable_guests": false, + "disable_login_language_selector": false, + "disable_3pid_login": false, "brand": "Riot", "integrations_ui_url": "https://scalar.vector.im/", "integrations_rest_url": "https://scalar.vector.im/api", diff --git a/src/components/views/login/VectorLoginFooter.js b/src/components/views/login/VectorLoginFooter.js index 5a97f524df..e5243f8ec6 100644 --- a/src/components/views/login/VectorLoginFooter.js +++ b/src/components/views/login/VectorLoginFooter.js @@ -27,6 +27,7 @@ module.exports = React.createClass({ }, render: function() { + // FIXME: replace this with a proper Status skin if (UserSettingsStore.getTheme() === 'status') return
; return ( diff --git a/src/vector/index.js b/src/vector/index.js index 9e05259a84..0577ac82a0 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -332,7 +332,7 @@ async function loadApp() { config={configJson} realQueryParams={params} startingFragmentQueryParams={fragparts.params} - enableGuest={true} + enableGuest={!configJson.disable_guests} onTokenLoginCompleted={onTokenLoginCompleted} initialScreenAfterLogin={getScreenFromLocation(window.location)} defaultDeviceDisplayName={platform.getDefaultDeviceDisplayName()} From 0a80774066916eff424a72933d2348a7ffb6f697 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Mon, 13 Nov 2017 16:26:26 +0000 Subject: [PATCH 107/108] unstatusify redirects --- src/vector/index.js | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/vector/index.js b/src/vector/index.js index 0577ac82a0..b85e90f632 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -251,20 +251,28 @@ async function loadApp() { if (!preventRedirect) { if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) { - window.location = "https://status.im/join-riot.html"; - return; - /*if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { - window.location = "https://itunes.apple.com/us/app/vector.im/id1083446067"; + if (UserSettingsStore.getTheme() === 'status') { + window.location = "https://status.im/join-riot.html"; return; - }*/ + } + else { + if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { + window.location = "https://itunes.apple.com/us/app/vector.im/id1083446067"; + return; + } + } } else if (/Android/.test(navigator.userAgent)) { - window.location = "https://status.im/join-riot.html"; - return; - /*if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { - window.location = "https://play.google.com/store/apps/details?id=im.vector.alpha"; + if (UserSettingsStore.getTheme() === 'status') { + window.location = "https://status.im/join-riot.html"; return; - }*/ + } + else { + if (confirm(_t("Riot is not supported on mobile web. Install the app?"))) { + window.location = "https://play.google.com/store/apps/details?id=im.vector.alpha"; + return; + } + } } } From 809dd0856ff8cfcb3f1d0c01e870606172b1bd1c Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Mon, 13 Nov 2017 16:35:39 +0000 Subject: [PATCH 108/108] add more fixmes --- src/vector/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/vector/index.js b/src/vector/index.js index b85e90f632..18c0d74f1b 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -251,6 +251,7 @@ async function loadApp() { if (!preventRedirect) { if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) { + // FIXME: ugly status hardcoding if (UserSettingsStore.getTheme() === 'status') { window.location = "https://status.im/join-riot.html"; return; @@ -263,6 +264,7 @@ async function loadApp() { } } else if (/Android/.test(navigator.userAgent)) { + // FIXME: ugly status hardcoding if (UserSettingsStore.getTheme() === 'status') { window.location = "https://status.im/join-riot.html"; return;