Преглед на файлове

ui: making the security menu more compact

j8
Bettenbuk Zoltan преди 4 години
родител
ревизия
b534c4f624

+ 7
- 1
css/_e2ee.scss Целия файл

@@ -4,8 +4,13 @@
4 4
     }
5 5
 
6 6
     .description {
7
-        font-size: .8em;
7
+        font-size: 13px;
8 8
         margin: 15px 0;
9
+
10
+        .read-more {
11
+            cursor: pointer;
12
+            opacity: .7;
13
+        }
9 14
     }
10 15
 
11 16
     .key-field {
@@ -14,6 +19,7 @@
14 19
         flex-direction: row;
15 20
 
16 21
         label {
22
+            font-size: 14px;
17 23
             font-weight: 700;
18 24
         }
19 25
 

+ 4
- 0
css/_lobby.scss Целия файл

@@ -34,6 +34,10 @@
34 34
     display: flex;
35 35
     flex-direction: column;
36 36
 
37
+    .description {
38
+        font-size: 13px;
39
+    }
40
+
37 41
     .control-row {
38 42
         display: flex;
39 43
         flex-direction: row;

+ 4
- 4
css/modals/security/_security.scss Целия файл

@@ -8,6 +8,10 @@
8 8
             display: flex;
9 9
             flex-direction: column;
10 10
 
11
+            .description {
12
+                font-size: 13px;
13
+            }
14
+
11 15
             .password {
12 16
                 align-items: center;
13 17
                 display: flex;
@@ -25,10 +29,6 @@
25 29
             }
26 30
         }
27 31
 
28
-        & > :first-child:not(:last-child) {
29
-            margin-right: 24px;
30
-        }
31
-
32 32
         .separator-line {
33 33
             margin: 24px 0 24px -20px;
34 34
             padding: 0 20px;

+ 1
- 3
lang/main-el.json Целия файл

@@ -193,11 +193,9 @@
193 193
         "dismiss": "Απόρριψη",
194 194
         "displayNameRequired": "Γεια σου! Ποιο είναι το όνομα σου;",
195 195
         "done": "Έγινε",
196
-        "e2eeDescription": "<p>Η από άκρη σε άκρη κρυπτογράφηση είναι σήμερα <strong>σε ΠΕΙΡΑΜΑΤΙΚΟ στάδιο</strong>. Παρακαλώ δείτε <a href='https://jitsi.org/blog/e2ee/' target='_blank'>αυτήν την ανάρτηση</a> για λεπτομέρειες.</p><br/><p>Παρακαλώ να έχετε κατά νου ότι η ενεργοποίηση της από άκρη σε άκρη κρυπτογράφησης θα απενεργοποιήσει από την πλευρά του διακομιστή υπηρεσίες όπως: καταγραφή, live streaming και συμμετοχή μέσω τηλεφώνου. Επίσης, να έχετε κατά νου ότι η συνάντηση θα λειτουργήσει μόνο για τους ανθρώπους που συνδέονται από φυλλομετρητές με υποστήριξη για insertable streams.</p>",
197
-        "e2eeLabel": "Κλειδί",
196
+        "e2eeDescription": "Η από άκρη σε άκρη κρυπτογράφηση είναι σήμερα σε ΠΕΙΡΑΜΑΤΙΚΟ στάδιο. Παρακαλώ να έχετε κατά νου ότι η ενεργοποίηση της από άκρη σε άκρη κρυπτογράφησης θα απενεργοποιήσει από την πλευρά του διακομιστή υπηρεσίες όπως: καταγραφή, live streaming και συμμετοχή μέσω τηλεφώνου. Επίσης, να έχετε κατά νου ότι η συνάντηση θα λειτουργήσει μόνο για τους ανθρώπους που συνδέονται από φυλλομετρητές με υποστήριξη για insertable streams.",
198 197
         "e2eeNoKey": "None",
199 198
         "e2eeSet": "Set",
200
-        "e2eeTitle": "Από άκρη σε άκρη κρυπτογράφηση",
201 199
         "e2eeToggleSet": "Set key",
202 200
         "e2eeWarning": "ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Δε φαίνεται να έχουν όλοι οι συμμετέχοντες στη συνάντηση αυτή υποστήριξη για από άκρη σε άκρη κρυπτογράφηση. Αν την ενεργοποιήσετε, δεν θα μπορέσουν να σας δουν ούτε να σας ακούσουν.",
203 201
         "enterDisplayName": "Παρακαλώ εισάγετε το όνομά σας εδώ",

+ 1
- 3
lang/main-es.json Целия файл

@@ -195,9 +195,7 @@
195 195
         "dismiss": "Descartar",
196 196
         "displayNameRequired": "¡Hola! ¿Cuál es tu nombre?",
197 197
         "done": "Listo",
198
-        "e2eeDescription": "<p>El cifrado Extremo-a-Extremo es actualmente <strong>EXPERIMENTAL</strong>. Por favor lea<a href='https://jitsi.org/blog/e2ee/' target='_blank'>este artículo</a> para más detalles.</p><br/><p>Tenga en cuenta que activar el cifrado extremo-a-extremo puede deshabilitar servicios en el servidor como: grabación, transmisión en vivo y participación telefónica. Sin embargo tenga en cuenta que esta reunion solo funcionará con personas que se unan usando un navegador.</p>",
199
-        "e2eeLabel": "Clave",
200
-        "e2eeTitle": "Cifrado Extremo-a-Extremo",
198
+        "e2eeDescription": "El cifrado Extremo-a-Extremo es actualmente EXPERIMENTAL. Tenga en cuenta que activar el cifrado extremo-a-extremo puede deshabilitar servicios en el servidor como: grabación, transmisión en vivo y participación telefónica. Sin embargo tenga en cuenta que esta reunion solo funcionará con personas que se unan usando un navegador.",
201 199
         "e2eeWarning": "ATENCION: No todos los participantes de esta reunión soportan cifrado Extremo-a-Extremo. Si usted habilita el cifrado ellos no podrán verlo ni oirlo.",
202 200
         "enterDisplayName": "Por favor ingresa tu nombre aquí",
203 201
         "error": "Error",

+ 1
- 3
lang/main-esUS.json Целия файл

@@ -194,9 +194,7 @@
194 194
         "dismiss": "Descartar",
195 195
         "displayNameRequired": "¡Hola! ¿Cuál es tu nombre?",
196 196
         "done": "Listo",
197
-        "e2eeDescription": "<p>El cifrado Extremo-a-Extremo es actualmente <strong>EXPERIMENTAL</strong>. Por favor lea<a href='https://jitsi.org/blog/e2ee/' target='_blank'>este artículo</a> para más detalles.</p><br/><p>Tenga en cuenta que activar el cifrado extremo-a-extremo puede deshabilitar servicios en el servidor como: grabación, transmisión en vivo y participación telefónica. Sin embargo tenga en cuenta que esta reunion solo funcionará con personas que se unan usando un navegador.</p>",
198
-        "e2eeLabel": "Clave",
199
-        "e2eeTitle": "Cifrado Extremo-a-Exremo",
197
+        "e2eeDescription": "El cifrado Extremo-a-Extremo es actualmente EXPERIMENTAL. Tenga en cuenta que activar el cifrado extremo-a-extremo puede deshabilitar servicios en el servidor como: grabación, transmisión en vivo y participación telefónica. Sin embargo tenga en cuenta que esta reunion solo funcionará con personas que se unan usando un navegador.",
200 198
         "e2eeWarning": "ATENCION: No todos los participantes de esta reunión soportan cifrado Extremo-a-Extremo. Si usted habilita el cifrado ellos no podrán verlo ni oirlo.",
201 199
         "enterDisplayName": "Por favor ingresa tu nombre aquí",
202 200
         "error": "Error",

+ 0
- 3
lang/main-eu.json Целия файл

@@ -175,9 +175,6 @@
175 175
         "dismiss": "Baztertu",
176 176
         "displayNameRequired": "Kaixo! Zein da zure izena?",
177 177
         "done": "Eginda",
178
-        "e2eeDescription": "",
179
-        "e2eeLabel": "",
180
-        "e2eeTitle": "",
181 178
         "e2eeWarning": "",
182 179
         "enterDisplayName": "Sartu zure izena hemen",
183 180
         "error": "Errorea",

+ 1
- 3
lang/main-mr.json Целия файл

@@ -175,9 +175,7 @@
175 175
         "dismiss": "Dismiss",
176 176
         "displayNameRequired": "हाय! तुझे नाव काय आहे?",
177 177
         "done": "पूर्ण झाले",
178
-        "e2eeDescription": "<p>एंड-टू-एंड एनक्रिप्शन सध्या आहे <strong>प्रायोगिक</strong>. कृपया पहा <a href='https://jitsi.org/blog/e2ee/' target='_blank'>this post</a>तपशीलांसाठी.</p><br/><p>कृपया लक्षात ठेवा की एंड-टू-एंड एन्क्रिप्शन चालू केल्याने सर्व्हर-साइड प्रदान सेवा प्रभावीपणे अक्षम होईल: रेकॉर्डिंग, थेट प्रवाह आणि फोन सहभाग. हे देखील लक्षात ठेवा की मीटिंग केवळ समाविष्ट करण्यायोग्य प्रवाहांसाठी समर्थन असलेल्या ब्राउझरमधून सामील झालेल्या लोकांसाठीच कार्य करेल.</p>",
179
-        "e2eeLabel": "Key",
180
-        "e2eeTitle": "एंड-टू-एंड एनक्रिप्शन",
178
+        "e2eeDescription": "एंड-टू-एंड एनक्रिप्शन सध्या आहे प्रायोगिक. कृपया लक्षात ठेवा की एंड-टू-एंड एन्क्रिप्शन चालू केल्याने सर्व्हर-साइड प्रदान सेवा प्रभावीपणे अक्षम होईल: रेकॉर्डिंग, थेट प्रवाह आणि फोन सहभाग. हे देखील लक्षात ठेवा की मीटिंग केवळ समाविष्ट करण्यायोग्य प्रवाहांसाठी समर्थन असलेल्या ब्राउझरमधून सामील झालेल्या लोकांसाठीच कार्य करेल.",
181 179
         "e2eeWarning": "चेतावणी:या बैठकीतील सर्व सहभागींना एंड-टू-एंड एनक्रिप्शनसाठी समर्थन असल्याचे दिसत नाही. आपण सक्षम केल्यास ते आपल्याला पाहण्यास किंवा ऐकण्यास सक्षम राहणार नाहीत.",
182 180
         "enterDisplayName": "कृपया आपले नाव येथे प्रविष्ट करा",
183 181
         "error": "त्रुटी",

+ 1
- 3
lang/main-oc.json Целия файл

@@ -278,9 +278,7 @@
278 278
         "muteEveryoneTitle": "",
279 279
         "muteEveryoneDialog": "",
280 280
         "muteEveryoneElseTitle": "Copar lo son a totes levat {{whom}} ?",
281
-        "muteEveryoneElseDialog": "",
282
-        "e2eeTitle": "Chiframent del cap a la fin",
283
-        "e2eeLabel": "Clau"
281
+        "muteEveryoneElseDialog": ""
284 282
     },
285 283
     "dialOut": {
286 284
         "statusMessage": "ara es {{status}}"

+ 0
- 3
lang/main-sl.json Целия файл

@@ -189,9 +189,6 @@
189 189
         "dismiss": "Prekliči",
190 190
         "displayNameRequired": "Pozdravljeni! Kako vam je ime?",
191 191
         "done": "Končano",
192
-        "e2eeDescription": "<p>End-to-End Encryption is currently <strong>EXPERIMENTAL</strong>. Please see <a href='https://jitsi.org/blog/e2ee/' target='_blank'>this post</a> for details.</p><br/><p>Please keep in mind that turning on end-to-end encryption will effectively disable server-side provided services such as: recording, live streaming and phone participation. Also keep in mind that the meeting will only work for people joining from browsers with support for insertable streams.</p>",
193
-        "e2eeLabel": "Key",
194
-        "e2eeTitle": "End-to-End Encryption",
195 192
         "e2eeWarning": "WARNING: Not all participants in this meeting seem to have support for End-to-End encryption. If you enable it they won't be able to see nor hear you.",
196 193
         "enterDisplayName": "Prosimo vnesite svoje ime",
197 194
         "error": "Napaka",

+ 1
- 3
lang/main-uk.json Целия файл

@@ -180,9 +180,7 @@
180 180
         "dismiss": "Скасувати",
181 181
         "displayNameRequired": "Вітання! Як вас звати?",
182 182
         "done": "Готово",
183
-        "e2eeDescription": "<p>Наскрізне шифрування зараз в режимі<strong>ТЕСТУВАННЯ</strong>. Будь ласка, перегляньте <a href='https://jitsi.org/blog/e2ee/' target='_blank'>цю публікацію</a> для докладної інформації.</p><br/><p>Зверніть увагу, що увімкнення наскрізного шифрування призведе до вимкнення таких служб на стороні сервера: запису, живої трансляції запису в онлайні та участі у конференції за допомогою вхідного телефонного дзвінка. Також, просимо звернути увагу, що приєднання до зустрічі в такому разі буде можливе лише з браузера, який має підтримувати потоки зі вставкою (insertable streams).</p>",
184
-        "e2eeLabel": "Ключ",
185
-        "e2eeTitle": "Наскрізне шифрування",
183
+        "e2eeDescription": "Наскрізне шифрування зараз в режимі ТЕСТУВАННЯ. Зверніть увагу, що увімкнення наскрізного шифрування призведе до вимкнення таких служб на стороні сервера: запису, живої трансляції запису в онлайні та участі у конференції за допомогою вхідного телефонного дзвінка. Також, просимо звернути увагу, що приєднання до зустрічі в такому разі буде можливе лише з браузера, який має підтримувати потоки зі вставкою (insertable streams).",
186 184
         "e2eeWarning": "УВАГА: Схоже, що не всі учасники цієї зустрічі мають підтримку технології наскрізного шифрування. Якщо ви увімкнете цю функцію, то вони не зможуть ані чути, ані бачити вас.",
187 185
         "enterDisplayName": "Будь ласка, зазначте ваше ім'я",
188 186
         "error": "Помилка",

+ 3
- 3
lang/main.json Целия файл

@@ -193,10 +193,9 @@
193 193
         "dismiss": "Dismiss",
194 194
         "displayNameRequired": "Hi! What’s your name?",
195 195
         "done": "Done",
196
-        "e2eeDescription": "End-to-End Encryption is currently EXPERIMENTAL. Please see <a href='https://jitsi.org/blog/e2ee/' target='_blank'>this post</a> for details. Please keep in mind that turning on end-to-end encryption will effectively disable server-side provided services such as: recording, live streaming and phone participation. Also keep in mind that the meeting will only work for people joining from browsers with support for insertable streams.",
197
-        "e2eeLabel": "Key",
196
+        "e2eeDescription": "End-to-End Encryption is currently EXPERIMENTAL. Please keep in mind that turning on end-to-end encryption will effectively disable server-side provided services such as: recording, live streaming and phone participation. Also keep in mind that the meeting will only work for people joining from browsers with support for insertable streams.",
197
+        "e2eeLabel": "E2EE key",
198 198
         "e2eeNoKey": "None",
199
-        "e2eeTitle": "End-to-End Encryption",
200 199
         "e2eeToggleSet": "Set key",
201 200
         "e2eeSet": "Set",
202 201
         "e2eeWarning": "WARNING: Not all participants in this meeting seem to have support for End-to-End encryption. If you enable it they won't be able to see nor hear you.",
@@ -247,6 +246,7 @@
247 246
         "passwordRequired": "$t(lockRoomPasswordUppercase) required",
248 247
         "popupError": "Your browser is blocking pop-up windows from this site. Please enable pop-ups in your browser's security settings and try again.",
249 248
         "popupErrorTitle": "Pop-up blocked",
249
+        "readMore": "more",
250 250
         "recording": "Recording",
251 251
         "recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Not possible while a live stream is active",
252 252
         "recordingDisabledForGuestTooltip": "Guests can't start recordings.",

+ 30
- 6
react/features/e2ee/components/E2EESection.js Целия файл

@@ -4,7 +4,7 @@ import React, { Component } from 'react';
4 4
 import type { Dispatch } from 'redux';
5 5
 
6 6
 import { createE2EEEvent, sendAnalytics } from '../../analytics';
7
-import { translate, translateToHTML } from '../../base/i18n';
7
+import { translate } from '../../base/i18n';
8 8
 import { getParticipants } from '../../base/participants';
9 9
 import { connect } from '../../base/redux';
10 10
 import { setE2EEKey } from '../actions';
@@ -40,6 +40,11 @@ type State = {
40 40
      */
41 41
     editing: boolean,
42 42
 
43
+    /**
44
+     * True if the section description should be expanded, false otherwise.
45
+     */
46
+    expand: boolean,
47
+
43 48
     /**
44 49
      * The current E2EE key.
45 50
      */
@@ -68,10 +73,12 @@ class E2EESection extends Component<Props, State> {
68 73
 
69 74
         this.state = {
70 75
             editing: false,
76
+            expand: false,
71 77
             key: this.props._key
72 78
         };
73 79
 
74 80
         // Bind event handlers so they are only bound once for every instance.
81
+        this._onExpand = this._onExpand.bind(this);
75 82
         this._onKeyChange = this._onKeyChange.bind(this);
76 83
         this._onSet = this._onSet.bind(this);
77 84
         this._onToggleSetKey = this._onToggleSetKey.bind(this);
@@ -85,15 +92,19 @@ class E2EESection extends Component<Props, State> {
85 92
      */
86 93
     render() {
87 94
         const { _everyoneSupportsE2EE, t } = this.props;
88
-        const { editing } = this.state;
95
+        const { editing, expand } = this.state;
96
+        const description = t('dialog.e2eeDescription');
89 97
 
90 98
         return (
91 99
             <div id = 'e2ee-section'>
92
-                <p className = 'title'>
93
-                    { t('dialog.e2eeTitle') }
94
-                </p>
95 100
                 <p className = 'description'>
96
-                    { translateToHTML(t, 'dialog.e2eeDescription') }
101
+                    { expand && description }
102
+                    { !expand && description.substring(0, 100) }
103
+                    { !expand && <span
104
+                        className = 'read-more'
105
+                        onClick = { this._onExpand }>
106
+                            ... { t('dialog.readMore') }
107
+                    </span> }
97 108
                 </p>
98 109
                 {
99 110
                     !_everyoneSupportsE2EE
@@ -125,6 +136,19 @@ class E2EESection extends Component<Props, State> {
125 136
         );
126 137
     }
127 138
 
139
+    _onExpand: () => void;
140
+
141
+    /**
142
+     * Callback to be invoked when the description is expanded.
143
+     *
144
+     * @returns {void}
145
+     */
146
+    _onExpand() {
147
+        this.setState({
148
+            expand: true
149
+        });
150
+    }
151
+
128 152
     _onKeyChange: (Object) => void;
129 153
 
130 154
     /**

+ 3
- 1
react/features/lobby/components/web/LobbySection.js Целия файл

@@ -88,7 +88,9 @@ class LobbySection extends PureComponent<Props, State> {
88 88
         return (
89 89
             <>
90 90
                 <div id = 'lobby-section'>
91
-                    { t('lobby.enableDialogText') }
91
+                    <p className = 'description'>
92
+                        { t('lobby.enableDialogText') }
93
+                    </p>
92 94
                     <div className = 'control-row'>
93 95
                         <label>
94 96
                             { t('lobby.toggleLabel') }

+ 3
- 1
react/features/security/components/security-dialog/PasswordSection.js Целия файл

@@ -170,7 +170,9 @@ function PasswordSection({
170 170
 
171 171
     return (
172 172
         <div className = 'security-dialog password-section'>
173
-            { t('security.about') }
173
+            <p className = 'description'>
174
+                { t('security.about') }
175
+            </p>
174 176
             <div className = 'security-dialog password'>
175 177
                 <div
176 178
                     className = 'info-dialog info-dialog-column info-dialog-password'

Loading…
Отказ
Запис