blob: d4f309aeecb166be55fa17b6cb5a4ac5ba39c862 [file] [log] [blame]
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -04001/** Variable and font definitions */
Adrien Beraud8e25afb2017-04-19 01:38:57 +02002
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -04003:root {
4 /* color definitions */
5 --ring-light-blue: rgba(59, 193, 211, 0.3);
6 --ring-dark-blue: #003b4e;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -04007
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -04008 /* main properties */
9 --bg-color: #f2f2f2; /* same as macOS client */
Sébastien Blinf4f90282017-10-03 14:07:16 -040010
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040011 /* navbar properties */
12 --navbar-height: 40px;
13 --navbar-padding-top: 8px;
14 --navbar-padding-bottom: var(--navbar-padding-top);
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -040015
16 /* message bar properties */
17 --textarea-max-height: 150px;
Sébastien Blinf4f90282017-10-03 14:07:16 -040018
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040019 /* button properties */
20 --action-icon-color: var(--ring-dark-blue);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040021 --deactivated-icon-color: #BEBEBE;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040022 --action-icon-hover-color: var(--ring-light-blue);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040023 --action-critical-icon-hover-color: rgba(211, 77, 59, 0.3); /* complementary color of ring light blue */
24 --action-critical-icon-press-color: rgba(211, 77, 59, 0.5);
25 --action-critical-icon-color: #4E1300;
26 --non-action-icon-color: #212121;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040027 --action-icon-press-color: rgba(59, 193, 211, 0.5);
Sébastien Blinf4f90282017-10-03 14:07:16 -040028
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040029 /* hairline properties */
30 --hairline-color: #d9d9d9;
31 --hairline-thickness: 0.2px;
aviau32b8dd62016-11-02 00:36:57 -040032}
33
Hugo Lefeuvre9186c602018-05-03 10:44:15 -040034@font-face {
35 font-family: emoji;
36
37 /* Fonts for text outside emoji blocks */
38 src: local('Open sans'),
39 local('Helvetica'),
40 local('Segoe UI'),
41 local('sans-serif');
42}
43
44@font-face {
45 font-family: emoji;
46
47 src: local('Noto Color Emoji'),
48 local('Android Emoji'),
49 local('Twitter Color Emoji');
50
51 /* Emoji unicode blocks */
52 unicode-range: U+1F300-1F5FF, U+1F600-1F64F, U+1F680-1F6FF, U+2600-26FF;
53}
54
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040055/** Body */
56
57body {
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -040058 --navbar-size: calc(var(--navbar-height) + var(--navbar-padding-top) + var(--navbar-padding-bottom));
59 --messagebar-size: 57px; /* FIXME clean this up */
60
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040061 margin: 0;
62 overflow: hidden;
63 background-color: var(--bg-color);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040064 padding-top: var(--navbar-size);
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040065 padding-bottom: var(--messagebar-size);
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -040066
67 /* disable selection highlight because it looks very bad */
68 -webkit-user-select: none;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040069}
70
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040071/** Navbar */
72
73.navbar-wrapper {
74 /* on top, over everything and full width */
75 position: fixed;
76 left:0; right:0;
77 z-index: 500;
78 top: 0;
79}
80
81#navbar {
82 background-color: var(--bg-color);
83 padding-right: 8px;
84 padding-left: 8px;
85 padding-top: var(--navbar-padding-top);
86 padding-bottom: var(--navbar-padding-bottom);
87 height: var(--navbar-height);
88 overflow: hidden;
89 align-items: center;
90
91 /* takes whole width */
92 left:0; right:0;
93
94 /* hairline */
95 border-bottom: var(--hairline-thickness) solid var(--hairline-color);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040096}
97
98#navbar.hiddenState {
99 visibility: hidden;
100}
101
102.svgicon {
103 display: block;
104 margin: auto;
105 height: 100%;
106}
107
108.nav-button {
109 width: 40px;
110 height: 40px;
111 align-self: center;
112 display: flex;
113 cursor: pointer;
114 border-radius: 50%;
115}
116
117.nav-button.deactivated {
118 width: 40px;
119 height: 40px;
120 align-self: center;
121 display: flex;
122 border-radius: 50%;
123 cursor: auto;
124}
125
126.nav-right {
127 float: right;
128}
129
130.nav-left {
131 float: left;
132}
133
134#nav-contactid {
135 margin: 0px;
136 margin-left: 5px;
137 padding: 0px;
138 height: 100%;
139 font-family: emoji;
140
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400141 /* enable selection (it is globally disabled in the body) */
Hugo Lefeuvreedad8832018-05-14 16:36:06 -0400142 -webkit-user-select: auto;
143}
144
145#nav-contactid.oneEntry {
146 display: flex;
147 justify-content: center;
148 align-items: center;
149}
150
151#nav-contactid-alias {
152 font-size: 14px;
153 font-weight: bold;
154 margin: 5px 0px 3px;
155}
156
157#nav-contactid-bestId {
158 font-size: 11px;
159}
160
161.oneEntry #nav-contactid-bestId {
162 visibility: hidden;
163}
164
165.action-button svg {
166 fill: var(--action-icon-color);
167}
168
169.action-button.deactivated svg {
170 fill: var(--deactivated-icon-color);
171}
172
173.non-action-button svg {
174 fill: var(--non-action-icon-color);
175}
176
177.non-action-button:hover, .action-button:hover {
178 background: var(--action-icon-hover-color);
179}
180
181.non-action-button:active, .action-button:active {
182 background: var(--action-icon-press-color);
183}
184
185.action-button.deactivated:hover, .action-button.deactivated:active {
186 background: none;
187}
188
189.action-critical-button svg {
190 fill: var(--action-critical-icon-color);
191}
192
193.action-critical-button:hover {
194 background: var(--action-critical-icon-hover-color);
195}
196
197.action-critical-button:active {
198 background: var(--action-critical-icon-press-color);
199}
200
201#navbar #addBannedContactButton, #navbar #addToConversationsButton {
202 display: none;
203}
204
205#navbar.onBannedState #addToConvButton, #navbar.onBannedState #callButtons, #navbar.onBannedState #addToConversationsButton {
206 display: none;
207}
208
209#navbar.onBannedState #addBannedContactButton {
210 display: flex;
211}
212
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400213/** Invitation bar */
214
215#invitation {
216 visibility: hidden;
217 background: var(--ring-light-blue);
218 position: absolute;
219 width: 100%;
220
221 /* hairline */
222 border-bottom: var(--hairline-thickness) solid var(--hairline-color);
223}
224
225#actions
226{
227 margin: 10px;
228 list-style: none;
229 display: flex;
230 align-items: center;
231 justify-content: center;
232}
233
234.invitation-button,
235.flat-button {
236 margin: 5px;
237 border: 0;
238 border-radius: 5px;
239 transition: all 0.3s ease;
Hugo Lefeuvreedad8832018-05-14 16:36:06 -0400240 color: #f9f9f9;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400241 padding: 10px 20px 10px 20px;
242 vertical-align: middle;
243 cursor: pointer;
244}
245
246.button-green {
247 background: #27ae60;
248}
249
250.button-green:hover {
251 background: #1f8b4c;
252}
253
254.button-red {
255 background: #dc3a37;
256}
257
258.button-red:hover {
259 background: #b02e2c;
260}
261
262#invitation #text h1 {
263 font-size: 1.5em;
264}
265
266#invitation #text {
267 text-align: center;
268 width: 90%;
269 margin: auto;
270 margin-top: 10px;
271 font-size: 0.8em;
272}
273
274/** Messaging bar */
275
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400276#sendMessage {
277 background-color: var(--bg-color);
278 display: flex;
279 position: relative;
280 padding-right: 10px;
281 padding-left: 8px;
282 overflow: hidden;
283 padding-top: 8px;
284 padding-bottom: 8px;
285 align-items: center;
286
287 position: fixed;
288 left:0; right:0;
289 z-index: 500;
290 bottom: 0;
291 /* hairline */
292 border-top: var(--hairline-thickness) solid var(--hairline-color);
293}
294
295#sendMessage.hiddenState {
296 visibility: hidden;
297}
298
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400299#message {
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400300 font-family: emoji;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400301 flex: 1;
302 background-color: var(--bg-color);
303 border: 0;
304 overflow-y: scroll;
305 color: black;
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400306 max-height: var(--textarea-max-height);
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400307 margin-right: 10px;
308 resize: none;
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400309
310 /* enable selection (it is globally disabled in the body) */
311 -webkit-user-select: auto;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400312}
313
314#message:focus,
315#message.focus {
316 outline: none;
317}
318
319#container[disabled] {
320 background-color: #ccc;
321}
322
323input[placeholder], [placeholder], *[placeholder] {
324 color: #d3d3d3;
325}
326
327/** Main chat view */
328
329#container {
330 position: relative;
331 height: 100%;
332 width: 100%;
333 display: flex;
334 flex-direction: column;
335 margin: 0;
336 padding: 0;
337 justify-content: flex-end;
338}
339
340a:link {
341 text-decoration: none;
342 color: #0e649b;
343 transition: all 0.2s ease-in-out;
344 border-bottom: dotted 1px;
345}
346
347a:hover {
348 border: 0;
349}
350
351#messages {
352 position: relative;
353 z-index: 0;
354 width: 100%;
355 overflow-y: scroll;
356 height: auto;
357 padding-top: 0.5em;
Hugo Lefeuvre0babe2b2018-06-27 12:14:27 -0400358}
359
360.last-message {
361 padding-bottom: 1em !important;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400362}
363
364/* General messages */
365
366.wc {
367 will-change: transform;
368}
369
370.message_wrapper {
371 transform: scale(0);
372 max-width: 70%;
373 margin: 8px 0 0 0;
374 display: inline-block;
375 padding: 1em;
376 border-radius: 10px;
377 position: relative;
378 -webkit-animation: talk;
379 -webkit-animation-duration: 0.3s;
380 -webkit-animation-delay: 0.1s;
381 -webkit-animation-fill-mode: forwards;
382 -webkit-animation-timing-function: ease-in-out;
383}
384
aviau32b8dd62016-11-02 00:36:57 -0400385.message {
Hugo Lefeuvre9186c602018-05-03 10:44:15 -0400386 font: 0.875em emoji;
aviau32b8dd62016-11-02 00:36:57 -0400387 margin: 0;
388 display: flex;
389 justify-content: flex-start;
390 align-items: top;
391 overflow: hidden;
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400392
393 /* enable selection (it is globally disabled in the body) */
394 -webkit-user-select: auto;
aviau32b8dd62016-11-02 00:36:57 -0400395}
396
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400397.menu_interaction
398{
399 margin: 5px;
400 padding: 10px;
401 padding-top: 0;
402 opacity: 0;
403 height: 20px;
404 transition:visibility 0.3s linear,opacity 0.3s linear;
405}
406
407.message_type_contact .menu_interaction
408{
409 display: none;
410 visibility: hidden;
411}
412
413.message_type_call .menu_interaction
414{
415 margin: auto;
416 padding: 0;
417 vertical-align: center;
418}
419
420.message_type_call .menu_interaction .dropdown
421{
422 margin-top: -17px;
423}
424
425.message:hover .menu_interaction
426{
427 display: block;
428 opacity: 1;
429}
430
431.dropdown {
432 display: none;
433 z-index: 1;
434 position: absolute;
435 background-color: #fff;
436 padding-top: 3px;
437 padding-bottom: 3px;
438}
439
440.dropdown div
441{
442 color: #111;
443 padding: 10px;
444}
445
446.dropdown div:hover
447{
448 background-color: #ddd;
449}
450
451#showmenu:checked ~ .dropdown{
452 display:block;
453}
454
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400455.message_in {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400456 padding-left: 25%;
AmarOk6286ad42017-07-14 12:11:08 -0400457}
458
aviau32b8dd62016-11-02 00:36:57 -0400459.message_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400460 padding-right: 25%;
461 flex-direction: row-reverse;
Sébastien Blinc6f3a262017-07-28 16:12:24 -0400462}
463
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400464.message_in + .message_in .sender_image {
465 opacity: 0;
466}
467
468.message_out + .message_out .sender_image {
469 opacity: 0;
470}
471
472.message_in > .message_wrapper:before {
473 content: "";
474 width: 10px;
475 height: 10px;
476 position: absolute;
477 left: -10px;
478 top: 0;
479 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E %3Cpath d= 'M10,0 L0,0 C10,0 10,10 10,10' fill='%23fdfdfd'/%3E %3C/svg%3E");
480 transform-origin: top left;
481}
482
483.message_in + .message_in > .message_wrapper:before {
484 display: none;
485}
486
487.message_out + .message_out > .message_wrapper:after {
488 display: none;
489}
490
491.message_out > .message_wrapper:after {
492 content: "";
493 width: 10px;
494 height: 10px;
495 position: absolute;
496 right: -10px;
497 top: 0;
498 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E %3Cpath d= 'M0,0 L10,0 C0,0 0,10 0,10' fill='%23cfd8dc'/%3E %3C/svg%3E");
499 transform-origin: top right;
500}
501
502.message_delivery_status {
503 margin: 10px 10px;
504 color: #A0A0A0;
505 opacity: 0;
506 -webkit-animation-name: fade-in;
507 -webkit-animation-duration: 0.2s;
508 -webkit-animation-timing-function: ease-in-out;
509 -webkit-animation-delay: 0.4s;
510 -webkit-animation-fill-mode: forwards;
511 transition: opacity 0.5s ease-in-out;
512}
513
aviau32b8dd62016-11-02 00:36:57 -0400514.message_sender {
515 display: none;
516}
517
518.sender_image {
519 border-radius: 50%;
520 transition: transform 0.2s ease-in-out;
Frédéric Guimont3e5f1b62016-11-22 11:41:38 -0500521 margin: 10px;
aviau32b8dd62016-11-02 00:36:57 -0400522}
523
524.message_in .sender_image {
525 -webkit-animation-name: enter-stage-left;
526 -webkit-animation-duration: 0.2s;
527 -webkit-animation-timing-function: ease-in-out;
528}
529
530.message_out .sender_image {
531 -webkit-animation-name: enter-stage-right;
532 -webkit-animation-duration: 0.2s;
533 -webkit-animation-timing-function: ease-in-out;
534}
535
536@-webkit-keyframes enter-stage-left {
537 from {
538 transform: translateX(-100%);
539 }
540 to {
541 transform: translateX(0);
542 }
543}
544
545@-webkit-keyframes enter-stage-right {
546 from {
547 transform: translateX(100%);
548 }
549 to {
550 transform: translateX(0);
551 }
552}
553
554.message_out > .message_wrapper {
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400555 background-color: #cfd8dc;
aviau32b8dd62016-11-02 00:36:57 -0400556 border-top-right-radius: 0;
557 transform-origin: top right;
558}
559
560.message_out + .message_out > .message_wrapper {
561 border-top-right-radius: 10px;
562}
563
564.message_in > .message_wrapper {
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400565 background-color: #fdfdfd;
aviau32b8dd62016-11-02 00:36:57 -0400566 border-top-left-radius: 0;
567 transform-origin: top left;
568}
569
570.message_in + .message_in > .message_wrapper {
571 border-top-left-radius: 10px;
572}
573
aviau32b8dd62016-11-02 00:36:57 -0400574
575@-webkit-keyframes fade-in {
576 from {
577 opacity: 0;
578 }
579 to {
580 opacity: 1;
581 }
582}
583
aviau32b8dd62016-11-02 00:36:57 -0400584@-webkit-keyframes talk {
585 from {
586 transform: scale(0);
587 }
588 to {
589 transform: scale(1);
590 }
591}
592
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400593.timestamp {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400594 display: flex;
595 justify-content: flex-start;
596 color: #333;
597 font-size: 10px;
598 padding: 5px;
aviau32b8dd62016-11-02 00:36:57 -0400599}
600
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400601.timestamp_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400602 flex-direction: row-reverse;
aviau32b8dd62016-11-02 00:36:57 -0400603}
604
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400605/* Buttons */
606
607.flat-button {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400608 flex: 1;
609 padding: 0;
aviau32b8dd62016-11-02 00:36:57 -0400610}
611
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400612.left_buttons {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400613 display: flex;
614 align-self: center;
615 max-width: 90px;
616 padding-left: 1em;
aviau32b8dd62016-11-02 00:36:57 -0400617}
618
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400619/* Status */
620
621.status_circle {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400622 fill: #A0A0A0;
623 -webkit-animation: circle-dance;
624 -webkit-animation-duration: 0.8s;
625 -webkit-animation-iteration-count: infinite;
626 -webkit-animation-direction: alternate;
627 -webkit-animation-timing-function: ease-in-out;
aviau32b8dd62016-11-02 00:36:57 -0400628}
Sébastien Blinf4f90282017-10-03 14:07:16 -0400629
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400630.anim-first {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400631 -webkit-animation-delay: 0.7s;
Sébastien Blinf4f90282017-10-03 14:07:16 -0400632}
633
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400634.anim-second {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400635 -webkit-animation-delay: 0.9s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400636}
637
638.anim-third {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400639 -webkit-animation-delay: 1.1s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400640}
641
642@-webkit-keyframes circle-dance {
643 0%,50% {
644 -webkit-transform: translateY(0);
645 fill: #A0A0A0;
646 }
647 100% {
648 -webkit-transform: translateY(-8px);
649 fill: #000;
650 }
651}
652
653.status-x {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400654 stroke-dasharray: 12;
655 stroke-dashoffset: 12;
656 -webkit-animation: dash-x;
657 -webkit-animation-duration: 0.2s;
658 -webkit-animation-fill-mode: forwards;
659 -webkit-animation-timing-function: ease-in-out;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400660}
661
662.x-first {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400663 -webkit-animation-delay: 0.7s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400664}
665
666.x-second {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400667 -webkit-animation-delay: 0.9s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400668}
669
670@-webkit-keyframes dash-x{
671 from {
672 stroke-dashoffset: 12;
673 }
674 to {
675 stroke-dashoffset: 0;
676 }
677}
678
679/* Contact + Call interactions */
680.message_type_contact .message_wrapper,
681.message_type_call .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400682 width: auto;
683 margin-left: 30%;
684 margin-right: 30%;
685 display: flex;
686 flex-wrap: wrap;
687 background-color: #f2f2f2;
688 padding: 0;
Sébastien Blinf4f90282017-10-03 14:07:16 -0400689}
690
Sébastien Blinf4f90282017-10-03 14:07:16 -0400691.message_type_contact .message_wrapper:before,
692.message_type_call .message_wrapper:before {
693 display: none;
694}
695
696.message_type_call .message_wrapper:after,
697.message_type_contact .message_wrapper:after {
698 display: none;
699}
700
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400701.message_type_contact .text,
702.message_type_call .text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400703 align-self: center;
704 font-size: 1.2em;
705 padding: 1em;
Sébastien Blinf4f90282017-10-03 14:07:16 -0400706}
707
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400708/* file interactions */
Sébastien Blinf4f90282017-10-03 14:07:16 -0400709
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400710.message_type_data_transfer .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400711 padding: 0;
712 width: 30%;
713 display: flex;
714 flex-wrap: wrap;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500715}
716
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400717.accept, .refuse {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400718 border-radius: 50%;
719 cursor: pointer;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400720}
721
722.accept svg,
723.refuse svg {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400724 padding: 8px;
725 width: 24px;
726 height: 24px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400727}
728
729.accept {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400730 fill: #219d55;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400731}
732
733.accept:hover {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400734 fill: white;
735 background: #219d55;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400736}
737
738.refuse {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400739 fill: #dc2719;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400740}
741
742.refuse:hover {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400743 fill: white;
744 background: #dc2719;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400745}
746
747.message_type_data_transfer .text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400748 padding: 1em;
749 text-align: left;
750 align-self: left;
751 max-width: calc(100% - 180px);
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400752}
753
754.message_type_data_transfer .filename {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400755 cursor: pointer;
756 font-size: 1.1em;
757 overflow: hidden;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500758}
759
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400760.message_type_data_transfer .informations {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400761 color: #555;
762 font-size: 0.8em;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500763}
764
765.message_progress_bar {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400766 width: 100%;
767 height: 1em;
768 position: relative;
769 overflow: hidden;
770 background-color: #eee;
771 border-radius: 0;
772 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500773}
774
775.message_progress_bar > span {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400776 display: inline;
777 height: 100%;
778 background-color: #01a2b8;
779 position: absolute;
780 overflow: hidden;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500781}
782
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400783/* text interactions */
784
785.message_type_text .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400786 max-width: 40%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400787}
788
789.message_type_text .message_text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400790 padding: 0px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400791}
792
793.message_text {
794 hyphens: auto; /* When webkitgtk+ will supports this, intelligent word-breaking */
795 word-break: break-word;
796 word-wrap: break-word;
797 display: block;
798}
799
800pre {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400801 font : inherit;
802 font-family : inherit;
803 font-size : inherit;
804 font-style : inherit;
805 font-variant : inherit;
806 font-weight : inherit;
807 margin: 0;
808 padding: 0;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500809}
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400810
811/* Media interactions */
812.media_wrapper img {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400813 max-width: 800px;
814 max-height: 700px;
815 margin: 5px 0 0 0;
816 border-radius: 10px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400817}
818
819.playVideo {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400820 background-color: rgba(0, 0, 0, 0.6);
821 height: 50px;
822 width: 50px;
823 border-radius: 5px;
824 float: right;
825 position: absolute;
826 top: calc(50% - 25px);
827 left: calc(50% - 25px);
828 z-index: 3;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400829}
830
831.containerVideo {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400832 width: 100%;
833 position: relative;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400834}
835
836.playVideo svg {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400837 height: 40px;
838 width: 40px;
839 margin: 5px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400840}
841
842/* Text interaction */
843.failure,
844.sending {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400845 margin: 10px 10px;
846 color: #A0A0A0;
847 opacity: 0;
848 -webkit-animation-name: fade-in;
849 -webkit-animation-duration: 0.2s;
850 -webkit-animation-timing-function: ease-in-out;
851 -webkit-animation-delay: 0.4s;
852 -webkit-animation-fill-mode: forwards;
853 transition: opacity 0.5s ease-in-out;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400854}
855
856/* Classic screens */
857@media screen and (max-width: 1920px), screen and (max-height: 1080px) {
858 .message_in {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400859 padding-left: 15%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400860 }
861
862 .message_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400863 padding-right: 15%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400864 }
865
866 .message_type_text .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400867 max-width: 60%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400868 }
869
870 /* File interactions */
871 .message_type_data_transfer .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400872 width: 40%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400873 }
874
875 /* Media interactions */
876 .media_wrapper img {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400877 max-width: 450px;
878 max-height: 450px;
879 }
880
881 .menu_interaction
882 {
883 margin: 5px;
884 padding: 2px;
885 height: 10px;
886 font-size: 0.7em;
887 transition:visibility 0.3s linear,opacity 0.3s linear;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400888 }
889}
890
891/* lower resolutions */
892@media screen and (max-width: 1000px), screen and (max-height: 480px) {
893 .message_in {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400894 padding-left: 0;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400895 }
896
897 .message_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400898 padding-right: 0;
899 }
900
901 .message_type_contact,
902 .message_type_call {
903 max-width: 100%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400904 }
905
906 .message_type_text .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400907 max-width: 90%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400908 }
909
910 /* File interactions */
911 .message_type_data_transfer .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400912 width: 70%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400913 }
914
915 /* Media interactions */
916 .media_wrapper img {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400917 max-width: 200px;
918 max-height: 200px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400919 }
920}
921
922/* Special case */
923@media screen and (max-width: 300px) {
924 .sender_image {
925 visibility: hidden;
926 display: none;
927 }
928
929 /* File interactions */
930 .message_type_data_transfer .left_buttons {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400931 max-width: 100%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400932 }
933
934 .message_type_data_transfer .text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400935 max-width: 100%;
936 padding-left: 0;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400937 }
938}
939
940.message_type_contact .message_wrapper:hover .timestamp_action,
941.message_type_call .message_wrapper:hover .timestamp_action {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400942 opacity: 1;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400943}
944
945.timestamp_action {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400946 margin: auto;
947 padding: 0;
948 vertical-align: center;
949 opacity:0;
950 transition:visibility 0.3s linear,opacity 0.3s linear;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400951}