Build 9945bc5f7
15
00fd86fe12871b707998bf7214820fdd.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M256,55.05c-41.43,0-75.02,33.59-75.02,75.02v100.89l150.04-81.8
|
||||||
|
v-19.09C331.02,88.64,297.43,55.05,256,55.05z"/>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M237.46,444.93L237.46,444.93z"/>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M274.54,444.93L274.54,444.93z"/>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M274.54,444.93c62.37-8.99,110.29-62.66,110.29-127.51
|
||||||
|
l-26.71,0.79c0,56.4-45.72,102.12-102.12,102.12c-44.12,0-81.71-27.98-95.97-67.17l-0.001-0.002l27.46-14.971l0.001,0.003
|
||||||
|
c11.71,26.19,37.98,44.43,68.51,44.43c41.43,0,75.02-33.59,75.02-75.02l0.001-47.667L481.5,177.89l-22.98-42.14L30.5,369.11
|
||||||
|
l22.98,42.14l83.149-45.333l0.001,0.003c16.91,41.62,54.96,72.39,100.83,79.01v27.24h-73.4c-10.41,0-18.85,8.44-18.85,18.85v-2.93
|
||||||
|
c0,10.42,8.44,18.86,18.85,18.86h183.88c10.41,0,18.85-8.44,18.85-18.86v2.93c0-10.41-8.44-18.85-18.85-18.85h-73.4V444.93z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
13
077f1c5bd335be073c48c340b01f58bc.svg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<g id="Layer_2" display="none">
|
||||||
|
<rect x="-109.5" y="-86.5" display="inline" stroke="#000000" stroke-miterlimit="10" width="721" height="687"/>
|
||||||
|
</g>
|
||||||
|
<path fill="#FFB000" d="M430.81,103.5H81.19c-15.31,0-27.69,12.38-27.69,27.69v264.56c0,15.3,12.38,27.69,27.69,27.69h55.37v83.06
|
||||||
|
l124.6-83.06h169.65c15.31,0,27.69-12.39,27.69-27.69V131.19C458.5,115.88,446.12,103.5,430.81,103.5z"/>
|
||||||
|
<line fill="none" x1="349.5" y1="241.48" x2="349.5" y2="288.23"/>
|
||||||
|
<line fill="none" x1="162.5" y1="288.23" x2="162.5" y2="241.48"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 988 B |
30
0ce7650c4d5a52a5323868f75588e1c7.svg
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<g opacity="0.9">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path fill="#13A354" d="M170.907,136.328c-12.249,5.827-22.271,21.695-22.271,35.259l-0.001,168.823
|
||||||
|
c0,13.565,10.022,29.431,22.271,35.259l153.775,73.163c12.249,5.827,22.271-0.502,22.271-14.067l0.002-357.53
|
||||||
|
c0-13.565-10.022-19.895-22.271-14.067L170.907,136.328z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g opacity="0.9">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path fill="#13A354" d="M67.18,171.09c0-13.565,11.098-24.663,24.663-24.663h6.734c13.565,0,24.663,11.098,24.663,24.663V340.91
|
||||||
|
c0,13.565-11.098,24.663-24.663,24.663h-6.734c-13.565,0-24.663-11.098-24.663-24.663C67.18,340.91,67.18,171.09,67.18,171.09z"
|
||||||
|
/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M424.835,406.492L403.143,384.8
|
||||||
|
c71.02-71.02,71.019-186.579,0.001-257.599l21.693-21.693C507.818,188.49,507.818,323.511,424.835,406.492z"/>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M382.838,362.074l-21.693-21.693
|
||||||
|
c46.527-46.527,46.527-122.233,0.001-168.764l21.693-21.693C441.327,208.415,441.327,303.586,382.838,362.074z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
44
18e00168e2eeff800227594e26818681.svg
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||||
|
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
<metadata>
|
||||||
|
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||||
|
</metadata>
|
||||||
|
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path d="M3245 6924 c-230 -22 -403 -51 -577 -94 -1229 -307 -2191 -1269
|
||||||
|
-2498 -2498 -30 -123 -60 -282 -82 -442 -17 -128 -17 -652 0 -780 76 -553 226
|
||||||
|
-984 498 -1422 510 -824 1365 -1403 2314 -1567 235 -41 302 -46 600 -46 298 0
|
||||||
|
365 5 600 46 949 164 1804 743 2314 1567 272 438 422 869 498 1422 17 128 17
|
||||||
|
652 0 780 -88 645 -296 1171 -654 1652 -564 758 -1367 1229 -2323 1364 -105
|
||||||
|
14 -594 27 -690 18z m559 -75 c553 -44 1107 -241 1585 -566 185 -126 309 -229
|
||||||
|
487 -407 281 -282 462 -531 638 -882 255 -509 369 -1057 344 -1657 -29 -692
|
||||||
|
-275 -1352 -719 -1923 -106 -137 -392 -426 -526 -532 -515 -406 -1066 -639
|
||||||
|
-1718 -724 -134 -17 -656 -17 -790 0 -652 85 -1203 318 -1718 724 -134 106
|
||||||
|
-420 395 -526 532 -444 571 -690 1231 -719 1923 -21 502 54 959 229 1400 122
|
||||||
|
308 301 614 511 877 105 130 374 399 504 504 524 420 1161 678 1810 732 224
|
||||||
|
18 368 18 608 -1z"/>
|
||||||
|
<path d="M4199 6540 c-103 -18 -191 -76 -229 -151 -39 -75 -42 -136 -39 -874
|
||||||
|
2 -701 2 -711 -19 -776 -39 -118 -103 -189 -210 -230 -80 -31 -265 -38 -347
|
||||||
|
-14 -177 51 -255 131 -288 295 -13 64 -15 180 -10 810 6 803 9 755 -49 820
|
||||||
|
-76 84 -161 110 -351 110 -167 0 -235 -10 -366 -52 -350 -112 -616 -367 -711
|
||||||
|
-683 -51 -169 -60 -312 -60 -992 l0 -542 -83 -39 c-252 -118 -482 -353 -631
|
||||||
|
-645 -228 -447 -268 -1030 -105 -1522 137 -410 404 -754 704 -905 135 -68 229
|
||||||
|
-91 375 -91 184 0 257 34 277 129 9 40 11 3221 3 3822 -5 385 -1 446 41 607
|
||||||
|
25 93 77 196 131 258 49 56 145 104 222 112 l58 6 -3 -634 c-4 -721 -7 -697
|
||||||
|
78 -868 113 -229 305 -340 643 -371 188 -18 526 -8 645 18 173 39 278 88 376
|
||||||
|
179 96 89 157 199 195 353 18 70 19 115 15 699 l-3 624 69 -5 c76 -6 157 -37
|
||||||
|
210 -82 68 -58 129 -179 158 -315 35 -167 37 -312 30 -2171 -3 -1004 -7 -1897
|
||||||
|
-8 -1985 -1 -186 11 -246 67 -311 l34 -40 -63 -47 c-35 -25 -104 -70 -152 -99
|
||||||
|
l-88 -53 -317 -3 -317 -3 -12 23 c-35 69 -138 141 -264 184 -74 25 -93 27
|
||||||
|
-245 28 -183 1 -245 -10 -356 -64 -296 -144 -264 -436 62 -551 74 -26 210 -49
|
||||||
|
290 -49 89 0 220 25 301 58 80 32 100 45 159 102 l43 41 313 -1 c337 0 378 4
|
||||||
|
476 54 122 62 480 320 502 361 9 17 35 30 99 50 434 134 750 509 885 1050 78
|
||||||
|
314 85 646 21 970 -35 173 -75 289 -160 460 -147 296 -337 496 -596 630 -58
|
||||||
|
30 -112 61 -119 70 -17 20 -17 43 -1 460 15 397 10 685 -14 825 -43 239 -118
|
||||||
|
414 -244 568 -110 134 -428 303 -691 367 -112 27 -261 38 -331 25z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
BIN
195ad531e2d729dbb80bb4524be18d78.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
23
22ecf0ecde1ae2a6281265174b7fa355.svg
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="500px" height="500px" viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve">
|
||||||
|
<circle opacity="0.9" fill="#498BEA" cx="251" cy="251" r="220.5"/>
|
||||||
|
<polyline fill="none" points="99.791,300.202 99.796,300.204 99.791,300.202 "/>
|
||||||
|
<polyline fill="none" points="99.778,300.195 99.791,300.202 99.778,300.195 "/>
|
||||||
|
<path fill="none" d="M97.411,298.878c0,0,1.015,0.564,2.368,1.316C98.08,299.25,97.411,298.878,97.411,298.878"/>
|
||||||
|
<path fill="none" d="M106.531,303.949c0,0-0.416-0.231-1.069-0.595C106.213,303.773,106.531,303.949,106.531,303.949"/>
|
||||||
|
<path fill="#23F989" d="M337.612,59.919c-4.905,0-9.316,1.517-12.945,5.058c-7.931,27.762,9.146,74.055,25.5,96.048
|
||||||
|
c6.699,9.009,12.578,12.377,17.915,12.377c7.906,0,14.623-7.388,21.066-14.776c6.442-7.388,12.609-14.776,19.408-14.776
|
||||||
|
c1.818,0,3.679,0.527,5.605,1.724c53.736,33.392-18.666,159.777-27.039,210.195c-3.151,18.973-2.259,33.045,7.249,33.045
|
||||||
|
c4.623,0,11.283-3.326,20.507-11.033c6.21-5.189,11.409-10.881,15.782-16.978c4.759-7.773,9.025-15.872,12.763-24.266
|
||||||
|
c11.227-29.939,11.15-64.966,14.293-96.686c0.981-9.898,0.979-19.504,0.091-28.832C445.025,144.13,400.642,88.453,340.794,60.12
|
||||||
|
C339.713,59.987,338.653,59.919,337.612,59.919L337.612,59.919z M209.648,56.667c-7.021,0-14.122,0.964-20.635,2.356
|
||||||
|
c-19.353,4.136-44.914,12.647-67.527,25.105c-23.729,18.412-43.419,41.78-57.523,68.549c-18.871,54.658-21.116,115.784,37.89,148.67
|
||||||
|
c-0.712-0.396-1.421-0.79-2.056-1.143c0.594,0.33,1.313,0.73,2.172,1.208l0,0l0,0c39.173,21.779,26.567,85.227,38.65,129.369
|
||||||
|
c32.037,19.636,69.719,30.954,110.049,30.954c0.739,0,1.471-0.004,2.208-0.011c16.799-6.085,29.972-15.224,33.896-26.794
|
||||||
|
c10.072-29.697-91.125-84.76-109.682-98.713c-49.417-37.156-74.483-69.395-2.836-108.562c19.88-10.867,75.456-15.07,62.608-50.012
|
||||||
|
c-9.18-24.969-65.033-47.174-31.991-73.63c9.854-7.89,52.435-8.663,43.061-27.409C240.32,61.379,225.173,56.667,209.648,56.667
|
||||||
|
L209.648,56.667z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
15
296b612d2847da52749549f73d0c3664.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path fill="#00B4DF" d="M256,55.05c-41.43,0-75.02,33.59-75.02,75.02v100.89l150.04-81.8v-19.09
|
||||||
|
C331.02,88.64,297.43,55.05,256,55.05z"/>
|
||||||
|
<path fill="#FFD700" d="M237.46,444.93L237.46,444.93z"/>
|
||||||
|
<path fill="#FFD700" d="M274.54,444.93L274.54,444.93z"/>
|
||||||
|
<path fill="#00B4DF" d="M274.54,444.93c62.37-8.99,110.29-62.66,110.29-127.51l-26.71,0.79c0,56.4-45.72,102.12-102.12,102.12
|
||||||
|
c-44.12,0-81.71-27.98-95.97-67.17l-0.001-0.002l27.46-14.971l0.001,0.003c11.71,26.19,37.98,44.43,68.51,44.43
|
||||||
|
c41.43,0,75.02-33.59,75.02-75.02l0.001-47.667L481.5,177.89l-22.98-42.14L30.5,369.11l22.98,42.14l83.149-45.333l0.001,0.003
|
||||||
|
c16.91,41.62,54.96,72.39,100.83,79.01v27.24h-73.4c-10.41,0-18.85,8.44-18.85,18.85v-2.93c0,10.42,8.44,18.86,18.85,18.86h183.88
|
||||||
|
c10.41,0,18.85-8.44,18.85-18.86v2.93c0-10.41-8.44-18.85-18.85-18.85h-73.4V444.93z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
14
32785c1d21b0050be9168487542b8c3d.svg
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M256.104,59.479c63.393,0,114.783,51.39,114.783,114.783
|
||||||
|
s-51.39,114.783-114.783,114.783s-114.783-51.39-114.783-114.783S192.711,59.479,256.104,59.479z M256.104,239.852
|
||||||
|
c102.91,0,186.335,60.066,186.335,134.161s-83.425,134.161-186.335,134.161S69.769,448.108,69.769,374.013
|
||||||
|
S153.194,239.852,256.104,239.852z"/>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M439.061,251.956l-33.312-22.57
|
||||||
|
c39.665-56.785,25.166-137.337-26.215-173.23l22.57-32.313C487.432,83.446,499.041,166.086,439.061,251.956z"/>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M111.561,23.827l22.593,32.297
|
||||||
|
c-51.367,35.93-68.125,116.506-28.431,173.255L73.426,251.97C12.513,164.889,24.48,84.74,111.561,23.827z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
469
33b990984178a1246982bd7dd605f350.css
Normal file
@ -0,0 +1,469 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
html, body {
|
||||||
|
background-color: #2c2c2c;
|
||||||
|
color: #bbb;
|
||||||
|
font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
|
||||||
|
margin: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
#container {
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
.channel-root-container {
|
||||||
|
text-size: 16px;
|
||||||
|
margin-left: 2px;
|
||||||
|
background-color: #1c1c1c;
|
||||||
|
border: 1px solid #555;
|
||||||
|
float: left;
|
||||||
|
border-radius: 3px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto; }
|
||||||
|
|
||||||
|
.toolbar-horizontal ~ .channel-root-container {
|
||||||
|
margin-top: 2px;
|
||||||
|
width: calc(59% - 6px);
|
||||||
|
height: calc(98% - 38px); }
|
||||||
|
|
||||||
|
.toolbar-vertical ~ .channel-root-container {
|
||||||
|
margin-top: 1%;
|
||||||
|
width: calc(59% - 6px);
|
||||||
|
height: calc(98% - 6px); }
|
||||||
|
|
||||||
|
.chat {
|
||||||
|
margin-right: 2px;
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.toolbar-horizontal ~ .chat {
|
||||||
|
margin-top: 2px;
|
||||||
|
margin-left: 1%;
|
||||||
|
width: 39%;
|
||||||
|
height: calc(98% - 38px); }
|
||||||
|
|
||||||
|
.toolbar-vertical ~ .chat {
|
||||||
|
margin-top: 1%;
|
||||||
|
margin-left: 2px;
|
||||||
|
width: calc(39% - 36px);
|
||||||
|
height: calc(98% - 4px); }
|
||||||
|
|
||||||
|
.log {
|
||||||
|
background-color: #1c1c1c;
|
||||||
|
height: calc(100% - 42px);
|
||||||
|
padding: 5px;
|
||||||
|
border: 1px #555 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: scroll; }
|
||||||
|
|
||||||
|
.branch img {
|
||||||
|
height: 19px; }
|
||||||
|
|
||||||
|
.branch {
|
||||||
|
float: left;
|
||||||
|
padding-top: 3px;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
background-color: #1c1c1c; }
|
||||||
|
|
||||||
|
.channel-sub {
|
||||||
|
margin-left: 9px;
|
||||||
|
border-left: 1px transparent solid;
|
||||||
|
padding-left: 9px; }
|
||||||
|
|
||||||
|
.channel-wrapper:nth-last-child(n + 2) > .branch:not(:empty) + .channel-sub {
|
||||||
|
border-left: 1px #555 solid; }
|
||||||
|
|
||||||
|
.channel-tree,
|
||||||
|
.user-wrapper {
|
||||||
|
margin-left: 9px; }
|
||||||
|
|
||||||
|
.channel-tree,
|
||||||
|
.user-tree {
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.channel-tree::before,
|
||||||
|
.user-tree::before {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 9px;
|
||||||
|
border-left: 1px #555 solid;
|
||||||
|
border-bottom: 1px #555 solid;
|
||||||
|
height: 14px; }
|
||||||
|
|
||||||
|
.channel-wrapper:nth-last-child(n + 2) > .channel-tree:after,
|
||||||
|
.user-wrapper:nth-last-child(n + 2) .user-tree:after {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 0px;
|
||||||
|
border-left: 1px #555 solid;
|
||||||
|
height: 14px; }
|
||||||
|
|
||||||
|
.user {
|
||||||
|
margin-left: 9px; }
|
||||||
|
|
||||||
|
.user-avatar, .user-talk {
|
||||||
|
vertical-align: middle; }
|
||||||
|
|
||||||
|
.user-avatar-talk-on {
|
||||||
|
filter: drop-shadow(1px 1px 1px green) drop-shadow(1px -1px 1px green) drop-shadow(-1px 1px 1px green) drop-shadow(-1px -1px 1px green); }
|
||||||
|
|
||||||
|
.user-avatar-talk-whisper {
|
||||||
|
filter: drop-shadow(1px 1px 1px purple) drop-shadow(1px -1px 1px purple) drop-shadow(-1px 1px 1px purple) drop-shadow(-1px -1px 1px purple); }
|
||||||
|
|
||||||
|
.user-avatar-talk-shout {
|
||||||
|
filter: drop-shadow(1px 1px 1px cyan) drop-shadow(1px -1px 1px cyan) drop-shadow(-1px 1px 1px cyan) drop-shadow(-1px -1px 1px cyan); }
|
||||||
|
|
||||||
|
.user-status, .channel-status {
|
||||||
|
float: right; }
|
||||||
|
|
||||||
|
.user, .channel {
|
||||||
|
height: 23px;
|
||||||
|
line-height: 23px;
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid transparent; }
|
||||||
|
|
||||||
|
.selected {
|
||||||
|
background-color: #557 !important;
|
||||||
|
border: 1px solid #777;
|
||||||
|
border-radius: 3px; }
|
||||||
|
|
||||||
|
.user:hover, .channel:hover {
|
||||||
|
background-color: #555; }
|
||||||
|
|
||||||
|
.thisClient {
|
||||||
|
font-weight: bold; }
|
||||||
|
|
||||||
|
.currentChannel {
|
||||||
|
font-weight: bold; }
|
||||||
|
|
||||||
|
.user-status img, .channel-status img {
|
||||||
|
margin-top: 2px;
|
||||||
|
width: 19px;
|
||||||
|
height: 19px; }
|
||||||
|
|
||||||
|
.channel img, .user img {
|
||||||
|
width: auto;
|
||||||
|
height: 19px; }
|
||||||
|
|
||||||
|
.channel-name, .user-name {
|
||||||
|
display: inline; }
|
||||||
|
|
||||||
|
.channel:hover .tooltip, .user:hover .tooltip {
|
||||||
|
visibility: visible;
|
||||||
|
height: auto;
|
||||||
|
transition-delay: 1s; }
|
||||||
|
|
||||||
|
.tooltip {
|
||||||
|
visibility: hidden;
|
||||||
|
height: 0px;
|
||||||
|
background: #1c1c1c;
|
||||||
|
border: 1px solid #777;
|
||||||
|
margin-top: 16px;
|
||||||
|
margin-left: 30px;
|
||||||
|
padding: 10px;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 100; }
|
||||||
|
|
||||||
|
.context-menu {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 50;
|
||||||
|
background: #2c2c2c;
|
||||||
|
border: 1px solid #555;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none; }
|
||||||
|
.context-menu > li {
|
||||||
|
padding: 5px 20px;
|
||||||
|
padding-left: 10px; }
|
||||||
|
.context-menu > li::before {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
padding-right: 5px;
|
||||||
|
content: ''; }
|
||||||
|
.context-menu > li.checked::before {
|
||||||
|
content: '\2713'; }
|
||||||
|
.context-menu > li:hover {
|
||||||
|
background: #557; }
|
||||||
|
.context-menu > li.disabled {
|
||||||
|
background: #2c2c2c;
|
||||||
|
color: #555; }
|
||||||
|
|
||||||
|
.avatar-view {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 200;
|
||||||
|
max-width: 90%;
|
||||||
|
max-height: 90%;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto; }
|
||||||
|
|
||||||
|
.toolbar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center; }
|
||||||
|
|
||||||
|
.toolbar img {
|
||||||
|
height: 28px;
|
||||||
|
width: 28px;
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: 3px; }
|
||||||
|
|
||||||
|
.toolbar img:hover {
|
||||||
|
border: 1px solid #557;
|
||||||
|
background-color: #557; }
|
||||||
|
|
||||||
|
.toolbar .tb-active {
|
||||||
|
border: 1px solid #555;
|
||||||
|
background-color: #555; }
|
||||||
|
|
||||||
|
.toolbar-horizontal {
|
||||||
|
flex-direction: row;
|
||||||
|
height: 36px;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-left: 1%;
|
||||||
|
padding-left: 5px; }
|
||||||
|
|
||||||
|
.toolbar-vertical {
|
||||||
|
flex-direction: column;
|
||||||
|
width: 36px;
|
||||||
|
margin-top: 1%;
|
||||||
|
margin-left: 4px;
|
||||||
|
padding-top: 5px;
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.toolbar-horizontal > * {
|
||||||
|
margin-right: 5px; }
|
||||||
|
|
||||||
|
.toolbar-vertical > * {
|
||||||
|
margin-bottom: 5px; }
|
||||||
|
|
||||||
|
.divider {
|
||||||
|
display: inline-block; }
|
||||||
|
|
||||||
|
.toolbar-horizontal .divider {
|
||||||
|
height: 32px;
|
||||||
|
border-left: 1px #555 solid; }
|
||||||
|
|
||||||
|
.toolbar-vertical .divider {
|
||||||
|
width: 32px;
|
||||||
|
border-top: 1px #555 solid; }
|
||||||
|
|
||||||
|
.toolbar-horizontal .handle-horizontal {
|
||||||
|
width: auto !important;
|
||||||
|
border: none !important;
|
||||||
|
background-color: #2c2c2c !important; }
|
||||||
|
|
||||||
|
.toolbar-horizontal .handle-vertical {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.toolbar-vertical .handle-vertical {
|
||||||
|
height: auto !important;
|
||||||
|
border: none !important;
|
||||||
|
background-color: #2c2c2c !important; }
|
||||||
|
|
||||||
|
.toolbar-vertical .handle-horizontal {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.channel-icon .channel-icon-active {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.channel-tag {
|
||||||
|
font-weight: bold;
|
||||||
|
color: orange; }
|
||||||
|
|
||||||
|
.user-tag {
|
||||||
|
font-weight: bold;
|
||||||
|
color: green; }
|
||||||
|
|
||||||
|
#message-box {
|
||||||
|
width: 100%;
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
color: #bbb;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
padding: 0;
|
||||||
|
height: 20px; }
|
||||||
|
|
||||||
|
form {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0; }
|
||||||
|
|
||||||
|
.message-content p {
|
||||||
|
margin: 0; }
|
||||||
|
|
||||||
|
.tb-information.disabled, .tb-record, .tb-comment {
|
||||||
|
filter: grayscale(100%); }
|
||||||
|
|
||||||
|
.dialog-header {
|
||||||
|
height: 20px;
|
||||||
|
width: calc(100% - 10px);
|
||||||
|
padding: 5px;
|
||||||
|
text-align: center;
|
||||||
|
color: #1c1c1c;
|
||||||
|
background-color: #777;
|
||||||
|
border-bottom: 1px solid #555; }
|
||||||
|
|
||||||
|
.dialog-footer {
|
||||||
|
width: calc(100% - 20px);
|
||||||
|
margin: 10px; }
|
||||||
|
|
||||||
|
.dialog-submit {
|
||||||
|
float: right; }
|
||||||
|
|
||||||
|
.dialog-close, .dialog-submit {
|
||||||
|
width: 45%;
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px #777 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #1c1c1c;
|
||||||
|
color: #bbb;
|
||||||
|
padding: 1px; }
|
||||||
|
|
||||||
|
.connect-dialog table {
|
||||||
|
text-align: center;
|
||||||
|
width: 100%; }
|
||||||
|
|
||||||
|
.dialog {
|
||||||
|
position: absolute;
|
||||||
|
max-height: calc(100% - 20px);
|
||||||
|
max-width: calc(100% - 20px);
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
overflow: auto;
|
||||||
|
background-color: #2c2c2c;
|
||||||
|
color: #bbb;
|
||||||
|
border: 1px #777 solid;
|
||||||
|
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
|
||||||
|
z-index: 20; }
|
||||||
|
|
||||||
|
.settings-dialog table {
|
||||||
|
width: 100%;
|
||||||
|
padding: 5px; }
|
||||||
|
|
||||||
|
.settings-dialog td {
|
||||||
|
width: 50%; }
|
||||||
|
|
||||||
|
.settings-dialog table select {
|
||||||
|
width: 100%; }
|
||||||
|
|
||||||
|
.settings-dialog table input {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0px; }
|
||||||
|
|
||||||
|
.settings-dialog table input[type="checkbox"] {
|
||||||
|
width: auto;
|
||||||
|
margin: auto; }
|
||||||
|
|
||||||
|
.settings-dialog .mic-volume-container {
|
||||||
|
height: 10px;
|
||||||
|
border: 3px solid #bbb; }
|
||||||
|
|
||||||
|
.settings-dialog .mic-volume {
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
.join-dialog {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px; }
|
||||||
|
|
||||||
|
.join-dialog .dialog-submit {
|
||||||
|
float: none;
|
||||||
|
width: 200px;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(50% - 10px);
|
||||||
|
left: calc(50% - 100px); }
|
||||||
|
|
||||||
|
.connect-dialog input[type=text], select {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px #777 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #1c1c1c;
|
||||||
|
color: #bbb;
|
||||||
|
padding: 2px;
|
||||||
|
width: calc(100% - 8px); }
|
||||||
|
|
||||||
|
.connect-dialog input[type=password] {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px #777 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #1c1c1c;
|
||||||
|
color: #bbb;
|
||||||
|
padding: 2px;
|
||||||
|
width: calc(100% - 8px); }
|
||||||
|
|
||||||
|
.connection-info-dialog h3 {
|
||||||
|
margin-bottom: 5px; }
|
||||||
|
|
||||||
|
.connection-info-dialog .dialog-content {
|
||||||
|
padding-left: 20px; }
|
||||||
|
|
||||||
|
/****************/
|
||||||
|
/* Minimal view */
|
||||||
|
/****************/
|
||||||
|
.minimal .toolbar-horizontal ~ .channel-root-container {
|
||||||
|
width: calc(98% - 6px); }
|
||||||
|
|
||||||
|
.minimal .toolbar-vertical ~ .channel-root-container {
|
||||||
|
width: calc(98% - 42px); }
|
||||||
|
|
||||||
|
.minimal .handle-horizontal {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .handle-vertical {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .divider {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-connect {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-information {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-record {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-comment {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-settings {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-sourcecode {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .chat {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .channel-wrapper {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .channel {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .user-tree {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .user-wrapper {
|
||||||
|
margin-left: 0px; }
|
||||||
|
|
||||||
|
.minimal .user {
|
||||||
|
margin-left: 0px;
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
border: none;
|
||||||
|
height: 19px;
|
||||||
|
line-height: 19px; }
|
||||||
|
|
||||||
|
.minimal .user-status {
|
||||||
|
height: 19px; }
|
||||||
|
|
||||||
|
.dialog-header {
|
||||||
|
color: #000;
|
||||||
|
font-weight: bold; }
|
24
50dddae19e7bf601b168f46a1303674b.svg
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
||||||
|
<path fill="#44A3F2" d="M21.521,10.146c-0.41-0.059-0.846-0.428-0.973-0.82l-0.609-1.481c-0.191-0.365-0.146-0.935,0.1-1.264
|
||||||
|
l0.99-1.318c0.246-0.33,0.227-0.854-0.047-1.162l-1.084-1.086c-0.309-0.272-0.832-0.293-1.164-0.045l-1.316,0.988
|
||||||
|
c-0.33,0.248-0.898,0.293-1.264,0.101l-1.48-0.609c-0.395-0.126-0.764-0.562-0.82-0.971L13.62,0.85
|
||||||
|
c-0.057-0.409-0.441-0.778-0.85-0.822c0,0-0.255-0.026-0.77-0.026c-0.514,0-0.769,0.026-0.769,0.026
|
||||||
|
c-0.41,0.044-0.794,0.413-0.852,0.822l-0.233,1.629c-0.058,0.409-0.427,0.845-0.82,0.971l-1.48,0.609
|
||||||
|
C7.48,4.25,6.912,4.206,6.582,3.958L5.264,2.969C4.934,2.721,4.41,2.741,4.101,3.014L3.017,4.1C2.745,4.409,2.723,4.932,2.971,5.262
|
||||||
|
L3.959,6.58c0.249,0.33,0.293,0.899,0.102,1.264L3.45,9.326c-0.125,0.393-0.562,0.762-0.971,0.82L0.85,10.377
|
||||||
|
c-0.408,0.059-0.777,0.442-0.82,0.853c0,0-0.027,0.255-0.027,0.77s0.027,0.77,0.027,0.77c0.043,0.411,0.412,0.793,0.82,0.852
|
||||||
|
l1.629,0.232c0.408,0.059,0.846,0.428,0.971,0.82l0.611,1.48c0.191,0.365,0.146,0.936-0.102,1.264l-0.988,1.318
|
||||||
|
c-0.248,0.33-0.308,0.779-0.132,0.994c0.175,0.217,0.677,0.752,0.678,0.754c0.001,0.002,0.171,0.156,0.375,0.344
|
||||||
|
c0.204,0.188,1.042,0.449,1.372,0.203l1.317-0.99c0.33-0.246,0.898-0.293,1.264-0.1l1.48,0.609c0.394,0.125,0.763,0.562,0.82,0.971
|
||||||
|
l0.233,1.629c0.058,0.408,0.441,0.779,0.852,0.822c0,0,0.255,0.027,0.769,0.027c0.515,0,0.77-0.027,0.77-0.027
|
||||||
|
c0.409-0.043,0.793-0.414,0.85-0.822l0.234-1.629c0.057-0.408,0.426-0.846,0.82-0.971l1.48-0.611
|
||||||
|
c0.365-0.191,0.934-0.146,1.264,0.102l1.318,0.99c0.332,0.246,0.854,0.227,1.164-0.047l1.082-1.084
|
||||||
|
c0.273-0.311,0.293-0.834,0.047-1.164l-0.99-1.318c-0.246-0.328-0.291-0.898-0.1-1.264l0.609-1.48
|
||||||
|
c0.127-0.393,0.562-0.762,0.973-0.82l1.627-0.232c0.41-0.059,0.779-0.441,0.822-0.852c0,0,0.027-0.255,0.027-0.77
|
||||||
|
c0-0.515-0.027-0.77-0.027-0.77c-0.043-0.41-0.412-0.794-0.822-0.853C23.147,10.377,21.521,10.146,21.521,10.146z M12,15
|
||||||
|
c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3s3,1.344,3,3S13.656,15,12,15z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
BIN
5b70c2cbbd6e9258a632c70b03381627.png
Normal file
After Width: | Height: | Size: 15 KiB |
7
6d73bb785aa06bf0c436ad6f7cc6262a.svg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="500px" height="500px" viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve">
|
||||||
|
<polygon fill="#FFB000" points="183.5,304.5 399.492,171.635 426.925,207.307 165.648,408.365 53.075,261.981 88.747,234.549 "/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 603 B |
3
71edeaefdc2f5a19dc84298669af6962.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg height="1024" width="1024" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M512 0C229.25 0 0 229.25 0 512c0 226.25 146.688 418.125 350.156 485.812 25.594 4.688 34.938-11.125 34.938-24.625 0-12.188-0.469-52.562-0.719-95.312C242 908.812 211.906 817.5 211.906 817.5c-23.312-59.125-56.844-74.875-56.844-74.875-46.531-31.75 3.53-31.125 3.53-31.125 51.406 3.562 78.47 52.75 78.47 52.75 45.688 78.25 119.875 55.625 149 42.5 4.654-33 17.904-55.625 32.5-68.375C304.906 725.438 185.344 681.5 185.344 485.312c0-55.938 19.969-101.562 52.656-137.406-5.219-13-22.844-65.094 5.062-135.562 0 0 42.938-13.75 140.812 52.5 40.812-11.406 84.594-17.031 128.125-17.219 43.5 0.188 87.312 5.875 128.188 17.281 97.688-66.312 140.688-52.5 140.688-52.5 28 70.531 10.375 122.562 5.125 135.5 32.812 35.844 52.625 81.469 52.625 137.406 0 196.688-119.75 240-233.812 252.688 18.438 15.875 34.75 47 34.75 94.75 0 68.438-0.688 123.625-0.688 140.5 0 13.625 9.312 29.562 35.25 24.562C877.438 930 1024 738.125 1024 512 1024 229.25 794.75 0 512 0z" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
12
7b86c879d50808c66816ed3338f26557.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="500px" height="500px" viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve">
|
||||||
|
<path opacity="0.85" fill="#EA4335" enable-background="new " d="M366.566,249.441c0.229,64.494-51.64,116.898-115.929,117.123
|
||||||
|
c-64.571,0.227-117.042-51.708-117.203-116.005c-0.162-64.701,51.523-116.88,116.016-117.124
|
||||||
|
C314.081,133.191,366.336,184.951,366.566,249.441z"/>
|
||||||
|
<path opacity="0.85" fill="#EA4335" enable-background="new " d="M250,70.443c-99.165,0-179.557,80.392-179.557,179.557
|
||||||
|
S150.835,429.557,250,429.557S429.557,349.165,429.557,250S349.165,70.443,250,70.443z M250,399.837
|
||||||
|
c-83.303,0-150.82-67.518-150.82-150.82S166.697,98.196,250,98.196s150.82,67.528,150.82,150.82S333.303,399.837,250,399.837z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
28
7dd33815bcb23cf9a0cd851c2145e169.css
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
.loading-container {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #2c2c2c;
|
||||||
|
z-index: 1000; }
|
||||||
|
|
||||||
|
.loading-circle {
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(50% - 40px);
|
||||||
|
left: calc(50% - 40px);
|
||||||
|
border-radius: 100%;
|
||||||
|
border: 10px solid #222;
|
||||||
|
border-top-color: #888;
|
||||||
|
animation: spin 1s infinite linear; }
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg); } }
|
||||||
|
|
||||||
|
.loaded {
|
||||||
|
top: -100%;
|
||||||
|
transition: top 1s;
|
||||||
|
transition-delay: 2s; }
|
BIN
7e20ba1e3b8980a164c5f557a0470919.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
80250154041d2e9f6d50a91181409f21.png
Normal file
After Width: | Height: | Size: 41 KiB |
13
82747b4bbd0cfe92292f74cd27f2763e.svg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="500px" height="500px" viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve">
|
||||||
|
<path fill="#FFB000" d="M337.29,101.836c0,46.914-37.998,84.902-84.901,84.902s-84.901-37.986-84.901-84.902
|
||||||
|
c0-46.903,37.998-84.89,84.901-84.89S337.29,54.933,337.29,101.836z"/>
|
||||||
|
<g enable-background="new ">
|
||||||
|
<path fill="#FFB000" d="M226.993,482.412c-28.762,0-52.295-13.074-52.295-41.836v-91.919c0-28.763-13.849-83.48-30.347-99.142
|
||||||
|
c-16.497-15.661-6.216-15.463,22.418-18.175l38.792-0.537c35.622,0,70.72,0.468,93.525,7.067s31.463,22.459,31.463,35.245
|
||||||
|
c0,12.785,0,46.779,0,75.542v91.919c0,28.763-23.533,41.836-52.295,41.836H226.993z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1020 B |
23
86d4f1d7547270ff26f08a9271e7edcb.svg
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="501px" height="500px" viewBox="0 0 501 500" enable-background="new 0 0 501 500" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<path fill="#00B3DD" d="M454.834,306.256l-56.578,56.578l-39.73-39.73l56.578-56.578c25.283-25.283,16.478-75.227-10.938-102.642
|
||||||
|
c-27.415-27.415-77.359-36.221-102.642-10.938l-56.578,56.578l-39.73-39.729l56.578-56.578
|
||||||
|
c45.486-45.486,129.69-35.294,179.012,14.028S500.32,260.77,454.834,306.256z"/>
|
||||||
|
<path fill="#00B3DD" d="M357.822,403.269l-57.616,57.616c-45.486,45.486-129.69,35.294-179.011-14.028
|
||||||
|
S61.68,313.332,107.166,267.846l57.616-57.617l39.73,39.73l-57.616,57.616c-25.284,25.284-16.478,75.227,10.938,102.642
|
||||||
|
c27.415,27.415,77.359,36.221,102.642,10.938l57.616-57.616L357.822,403.269z"/>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path fill="#00B3DD" d="M199.269,358.123c-7.077-7.077-5.983-19.752,2.431-28.166L323.54,208.119
|
||||||
|
c8.414-8.414,21.089-9.507,28.166-2.431l10.661,10.661c7.077,7.077,5.983,19.752-2.431,28.166L238.097,366.353
|
||||||
|
c-8.414,8.414-21.089,9.508-28.166,2.431L199.269,358.123z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
9
8b61e99b17ef88afd479b3fc990e5b9d.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<browserconfig>
|
||||||
|
<msapplication>
|
||||||
|
<tile>
|
||||||
|
<square150x150logo src="93a6487986f6662d71baf41fdeaf0196.png"/>
|
||||||
|
<TileColor>#da532c</TileColor>
|
||||||
|
</tile>
|
||||||
|
</msapplication>
|
||||||
|
</browserconfig>
|
16
8f75583a16890ab851fc3f121fc63f89.svg
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="141.732px" height="141.732px" viewBox="0 0 141.732 141.732" enable-background="new 0 0 141.732 141.732"
|
||||||
|
xml:space="preserve">
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M65.466,121.756L65.466,121.756z"/>
|
||||||
|
<path opacity="0.9" fill="#13A354" enable-background="new " d="M76.266,121.756L76.266,121.756z"/>
|
||||||
|
<path opacity="0.9" fill="#34A853" enable-background="new " d="M48.816,81.758c0,13.483,9.3,21.85,22.05,21.85
|
||||||
|
c12.067,0,21.85-9.783,21.85-21.85V67.875V35.612v-5.56c0-12.067-9.783-21.85-21.85-21.85s-22.05,9.783-22.05,21.85v37.689
|
||||||
|
C48.816,67.741,48.816,81.758,48.816,81.758z"/>
|
||||||
|
<path opacity="0.9" fill="#34A853" enable-background="new " d="M65.466,121.756v7.934H41.263c-3.032,0-5.49,2.458-5.49,5.49
|
||||||
|
v-0.941c0,3.035,2.458,5.493,5.49,5.493h59.206c3.032,0,5.49-2.458,5.49-5.493v0.941c0-3.032-2.458-5.49-5.49-5.49H76.266v-7.934
|
||||||
|
c18.165-2.619,32.122-18.135,32.122-37.023h-7.779c0,16.427-13.316,29.858-29.743,29.858c-16.387,0-29.67-13.431-29.67-29.858h-7.76
|
||||||
|
c0,18.888,13.923,34.404,32.044,37.023"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
15
9171288d67adc4805412883901d2f180.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M256,55.05c-41.43,0-75.02,33.59-75.02,75.02v100.89
|
||||||
|
l150.04-81.8v-19.09C331.02,88.64,297.43,55.05,256,55.05z"/>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M237.46,444.93L237.46,444.93z"/>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M274.54,444.93L274.54,444.93z"/>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M274.54,444.93c62.37-8.99,110.29-62.66,110.29-127.51
|
||||||
|
l-26.71,0.79c0,56.4-45.72,102.12-102.12,102.12c-44.12,0-81.71-27.98-95.97-67.17l-0.001-0.002l27.46-14.971l0.001,0.003
|
||||||
|
c11.71,26.19,37.98,44.43,68.51,44.43c41.43,0,75.02-33.59,75.02-75.02l0.001-47.667L481.5,177.89l-22.98-42.14L30.5,369.11
|
||||||
|
l22.98,42.14l83.149-45.333l0.001,0.003c16.91,41.62,54.96,72.39,100.83,79.01v27.24h-73.4c-10.41,0-18.85,8.44-18.85,18.85v-2.93
|
||||||
|
c0,10.42,8.44,18.86,18.85,18.86h183.88c10.41,0,18.85-8.44,18.85-18.86v2.93c0-10.41-8.44-18.85-18.85-18.85h-73.4V444.93z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
BIN
93a6487986f6662d71baf41fdeaf0196.png
Normal file
After Width: | Height: | Size: 11 KiB |
7
972a0ac8cf8526580a216210a364cc60.svg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
|
||||||
|
<polyline fill="#7F7F7F" points="10,4 22,16 10,28 "/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 525 B |
465
9a1869e4318916bf5e05546eda8d5c43.css
Normal file
@ -0,0 +1,465 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
html, body {
|
||||||
|
background-color: #eee;
|
||||||
|
color: #000;
|
||||||
|
font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
|
||||||
|
margin: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
#container {
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
.channel-root-container {
|
||||||
|
text-size: 16px;
|
||||||
|
margin-left: 2px;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #d3d3d3;
|
||||||
|
float: left;
|
||||||
|
border-radius: 3px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto; }
|
||||||
|
|
||||||
|
.toolbar-horizontal ~ .channel-root-container {
|
||||||
|
margin-top: 2px;
|
||||||
|
width: calc(59% - 6px);
|
||||||
|
height: calc(98% - 38px); }
|
||||||
|
|
||||||
|
.toolbar-vertical ~ .channel-root-container {
|
||||||
|
margin-top: 1%;
|
||||||
|
width: calc(59% - 6px);
|
||||||
|
height: calc(98% - 6px); }
|
||||||
|
|
||||||
|
.chat {
|
||||||
|
margin-right: 2px;
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.toolbar-horizontal ~ .chat {
|
||||||
|
margin-top: 2px;
|
||||||
|
margin-left: 1%;
|
||||||
|
width: 39%;
|
||||||
|
height: calc(98% - 38px); }
|
||||||
|
|
||||||
|
.toolbar-vertical ~ .chat {
|
||||||
|
margin-top: 1%;
|
||||||
|
margin-left: 2px;
|
||||||
|
width: calc(39% - 36px);
|
||||||
|
height: calc(98% - 4px); }
|
||||||
|
|
||||||
|
.log {
|
||||||
|
background-color: #fff;
|
||||||
|
height: calc(100% - 42px);
|
||||||
|
padding: 5px;
|
||||||
|
border: 1px #d3d3d3 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: scroll; }
|
||||||
|
|
||||||
|
.branch img {
|
||||||
|
height: 19px; }
|
||||||
|
|
||||||
|
.branch {
|
||||||
|
float: left;
|
||||||
|
padding-top: 3px;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
background-color: #fff; }
|
||||||
|
|
||||||
|
.channel-sub {
|
||||||
|
margin-left: 9px;
|
||||||
|
border-left: 1px transparent solid;
|
||||||
|
padding-left: 9px; }
|
||||||
|
|
||||||
|
.channel-wrapper:nth-last-child(n + 2) > .branch:not(:empty) + .channel-sub {
|
||||||
|
border-left: 1px #d3d3d3 solid; }
|
||||||
|
|
||||||
|
.channel-tree,
|
||||||
|
.user-wrapper {
|
||||||
|
margin-left: 9px; }
|
||||||
|
|
||||||
|
.channel-tree,
|
||||||
|
.user-tree {
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.channel-tree::before,
|
||||||
|
.user-tree::before {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 9px;
|
||||||
|
border-left: 1px #d3d3d3 solid;
|
||||||
|
border-bottom: 1px #d3d3d3 solid;
|
||||||
|
height: 14px; }
|
||||||
|
|
||||||
|
.channel-wrapper:nth-last-child(n + 2) > .channel-tree:after,
|
||||||
|
.user-wrapper:nth-last-child(n + 2) .user-tree:after {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 0px;
|
||||||
|
border-left: 1px #d3d3d3 solid;
|
||||||
|
height: 14px; }
|
||||||
|
|
||||||
|
.user {
|
||||||
|
margin-left: 9px; }
|
||||||
|
|
||||||
|
.user-avatar, .user-talk {
|
||||||
|
vertical-align: middle; }
|
||||||
|
|
||||||
|
.user-avatar-talk-on {
|
||||||
|
filter: drop-shadow(1px 1px 1px green) drop-shadow(1px -1px 1px green) drop-shadow(-1px 1px 1px green) drop-shadow(-1px -1px 1px green); }
|
||||||
|
|
||||||
|
.user-avatar-talk-whisper {
|
||||||
|
filter: drop-shadow(1px 1px 1px purple) drop-shadow(1px -1px 1px purple) drop-shadow(-1px 1px 1px purple) drop-shadow(-1px -1px 1px purple); }
|
||||||
|
|
||||||
|
.user-avatar-talk-shout {
|
||||||
|
filter: drop-shadow(1px 1px 1px cyan) drop-shadow(1px -1px 1px cyan) drop-shadow(-1px 1px 1px cyan) drop-shadow(-1px -1px 1px cyan); }
|
||||||
|
|
||||||
|
.user-status, .channel-status {
|
||||||
|
float: right; }
|
||||||
|
|
||||||
|
.user, .channel {
|
||||||
|
height: 23px;
|
||||||
|
line-height: 23px;
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid transparent; }
|
||||||
|
|
||||||
|
.selected {
|
||||||
|
background-color: lightblue !important;
|
||||||
|
border: 1px solid #888;
|
||||||
|
border-radius: 3px; }
|
||||||
|
|
||||||
|
.user:hover, .channel:hover {
|
||||||
|
background-color: #d3d3d3; }
|
||||||
|
|
||||||
|
.thisClient {
|
||||||
|
font-weight: bold; }
|
||||||
|
|
||||||
|
.currentChannel {
|
||||||
|
font-weight: bold; }
|
||||||
|
|
||||||
|
.user-status img, .channel-status img {
|
||||||
|
margin-top: 2px;
|
||||||
|
width: 19px;
|
||||||
|
height: 19px; }
|
||||||
|
|
||||||
|
.channel img, .user img {
|
||||||
|
width: auto;
|
||||||
|
height: 19px; }
|
||||||
|
|
||||||
|
.channel-name, .user-name {
|
||||||
|
display: inline; }
|
||||||
|
|
||||||
|
.channel:hover .tooltip, .user:hover .tooltip {
|
||||||
|
visibility: visible;
|
||||||
|
height: auto;
|
||||||
|
transition-delay: 1s; }
|
||||||
|
|
||||||
|
.tooltip {
|
||||||
|
visibility: hidden;
|
||||||
|
height: 0px;
|
||||||
|
background: #fff;
|
||||||
|
border: 1px solid #888;
|
||||||
|
margin-top: 16px;
|
||||||
|
margin-left: 30px;
|
||||||
|
padding: 10px;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 100; }
|
||||||
|
|
||||||
|
.context-menu {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 50;
|
||||||
|
background: #eee;
|
||||||
|
border: 1px solid #d3d3d3;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none; }
|
||||||
|
.context-menu > li {
|
||||||
|
padding: 5px 20px;
|
||||||
|
padding-left: 10px; }
|
||||||
|
.context-menu > li::before {
|
||||||
|
display: inline-block;
|
||||||
|
width: 10px;
|
||||||
|
padding-right: 5px;
|
||||||
|
content: ''; }
|
||||||
|
.context-menu > li.checked::before {
|
||||||
|
content: '\2713'; }
|
||||||
|
.context-menu > li:hover {
|
||||||
|
background: #d3d3d3; }
|
||||||
|
.context-menu > li.disabled {
|
||||||
|
background: #eee;
|
||||||
|
color: #a9a9a9; }
|
||||||
|
|
||||||
|
.avatar-view {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 200;
|
||||||
|
max-width: 90%;
|
||||||
|
max-height: 90%;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto; }
|
||||||
|
|
||||||
|
.toolbar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center; }
|
||||||
|
|
||||||
|
.toolbar img {
|
||||||
|
height: 28px;
|
||||||
|
width: 28px;
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: 3px; }
|
||||||
|
|
||||||
|
.toolbar img:hover {
|
||||||
|
border: 1px solid #d3d3d3;
|
||||||
|
background-color: #a9a9a9; }
|
||||||
|
|
||||||
|
.toolbar .tb-active {
|
||||||
|
border: 1px solid #fff;
|
||||||
|
background-color: #d3d3d3; }
|
||||||
|
|
||||||
|
.toolbar-horizontal {
|
||||||
|
flex-direction: row;
|
||||||
|
height: 36px;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-left: 1%;
|
||||||
|
padding-left: 5px; }
|
||||||
|
|
||||||
|
.toolbar-vertical {
|
||||||
|
flex-direction: column;
|
||||||
|
width: 36px;
|
||||||
|
margin-top: 1%;
|
||||||
|
margin-left: 4px;
|
||||||
|
padding-top: 5px;
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.toolbar-horizontal > * {
|
||||||
|
margin-right: 5px; }
|
||||||
|
|
||||||
|
.toolbar-vertical > * {
|
||||||
|
margin-bottom: 5px; }
|
||||||
|
|
||||||
|
.divider {
|
||||||
|
display: inline-block; }
|
||||||
|
|
||||||
|
.toolbar-horizontal .divider {
|
||||||
|
height: 32px;
|
||||||
|
border-left: 1px #d3d3d3 solid; }
|
||||||
|
|
||||||
|
.toolbar-vertical .divider {
|
||||||
|
width: 32px;
|
||||||
|
border-top: 1px #d3d3d3 solid; }
|
||||||
|
|
||||||
|
.toolbar-horizontal .handle-horizontal {
|
||||||
|
width: auto !important;
|
||||||
|
border: none !important;
|
||||||
|
background-color: #eee !important; }
|
||||||
|
|
||||||
|
.toolbar-horizontal .handle-vertical {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.toolbar-vertical .handle-vertical {
|
||||||
|
height: auto !important;
|
||||||
|
border: none !important;
|
||||||
|
background-color: #eee !important; }
|
||||||
|
|
||||||
|
.toolbar-vertical .handle-horizontal {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.channel-icon .channel-icon-active {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.channel-tag {
|
||||||
|
font-weight: bold;
|
||||||
|
color: orange; }
|
||||||
|
|
||||||
|
.user-tag {
|
||||||
|
font-weight: bold;
|
||||||
|
color: green; }
|
||||||
|
|
||||||
|
#message-box {
|
||||||
|
width: 100%;
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
color: #000;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
padding: 0;
|
||||||
|
height: 20px; }
|
||||||
|
|
||||||
|
form {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0; }
|
||||||
|
|
||||||
|
.message-content p {
|
||||||
|
margin: 0; }
|
||||||
|
|
||||||
|
.tb-information.disabled, .tb-record, .tb-comment {
|
||||||
|
filter: grayscale(100%); }
|
||||||
|
|
||||||
|
.dialog-header {
|
||||||
|
height: 20px;
|
||||||
|
width: calc(100% - 10px);
|
||||||
|
padding: 5px;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #888;
|
||||||
|
border-bottom: 1px solid #a9a9a9; }
|
||||||
|
|
||||||
|
.dialog-footer {
|
||||||
|
width: calc(100% - 20px);
|
||||||
|
margin: 10px; }
|
||||||
|
|
||||||
|
.dialog-submit {
|
||||||
|
float: right; }
|
||||||
|
|
||||||
|
.dialog-close, .dialog-submit {
|
||||||
|
width: 45%;
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px #888 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #fff;
|
||||||
|
color: #000;
|
||||||
|
padding: 1px; }
|
||||||
|
|
||||||
|
.connect-dialog table {
|
||||||
|
text-align: center;
|
||||||
|
width: 100%; }
|
||||||
|
|
||||||
|
.dialog {
|
||||||
|
position: absolute;
|
||||||
|
max-height: calc(100% - 20px);
|
||||||
|
max-width: calc(100% - 20px);
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
overflow: auto;
|
||||||
|
background-color: #eee;
|
||||||
|
color: #000;
|
||||||
|
border: 1px #888 solid;
|
||||||
|
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
|
||||||
|
z-index: 20; }
|
||||||
|
|
||||||
|
.settings-dialog table {
|
||||||
|
width: 100%;
|
||||||
|
padding: 5px; }
|
||||||
|
|
||||||
|
.settings-dialog td {
|
||||||
|
width: 50%; }
|
||||||
|
|
||||||
|
.settings-dialog table select {
|
||||||
|
width: 100%; }
|
||||||
|
|
||||||
|
.settings-dialog table input {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0px; }
|
||||||
|
|
||||||
|
.settings-dialog table input[type="checkbox"] {
|
||||||
|
width: auto;
|
||||||
|
margin: auto; }
|
||||||
|
|
||||||
|
.settings-dialog .mic-volume-container {
|
||||||
|
height: 10px;
|
||||||
|
border: 3px solid #000; }
|
||||||
|
|
||||||
|
.settings-dialog .mic-volume {
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
.join-dialog {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px; }
|
||||||
|
|
||||||
|
.join-dialog .dialog-submit {
|
||||||
|
float: none;
|
||||||
|
width: 200px;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(50% - 10px);
|
||||||
|
left: calc(50% - 100px); }
|
||||||
|
|
||||||
|
.connect-dialog input[type=text], select {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px #888 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #fff;
|
||||||
|
color: #000;
|
||||||
|
padding: 2px;
|
||||||
|
width: calc(100% - 8px); }
|
||||||
|
|
||||||
|
.connect-dialog input[type=password] {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px #888 solid;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #fff;
|
||||||
|
color: #000;
|
||||||
|
padding: 2px;
|
||||||
|
width: calc(100% - 8px); }
|
||||||
|
|
||||||
|
.connection-info-dialog h3 {
|
||||||
|
margin-bottom: 5px; }
|
||||||
|
|
||||||
|
.connection-info-dialog .dialog-content {
|
||||||
|
padding-left: 20px; }
|
||||||
|
|
||||||
|
/****************/
|
||||||
|
/* Minimal view */
|
||||||
|
/****************/
|
||||||
|
.minimal .toolbar-horizontal ~ .channel-root-container {
|
||||||
|
width: calc(98% - 6px); }
|
||||||
|
|
||||||
|
.minimal .toolbar-vertical ~ .channel-root-container {
|
||||||
|
width: calc(98% - 42px); }
|
||||||
|
|
||||||
|
.minimal .handle-horizontal {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .handle-vertical {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .divider {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-connect {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-information {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-record {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-comment {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-settings {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .tb-sourcecode {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .chat {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .channel-wrapper {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .channel {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .user-tree {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.minimal .user-wrapper {
|
||||||
|
margin-left: 0px; }
|
||||||
|
|
||||||
|
.minimal .user {
|
||||||
|
margin-left: 0px;
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
border: none;
|
||||||
|
height: 19px;
|
||||||
|
line-height: 19px; }
|
||||||
|
|
||||||
|
.minimal .user-status {
|
||||||
|
height: 19px; }
|
11
9ae3dac014f51d714254cf522602cec0.svg
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="500px" height="200px" viewBox="0 0 500 200" enable-background="new 0 0 500 200" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<rect x="204" y="55" opacity="0.75" fill="#7F7F7F" enable-background="new " width="90" height="90"/>
|
||||||
|
<rect x="345" y="55" opacity="0.75" fill="#7F7F7F" enable-background="new " width="90" height="90"/>
|
||||||
|
<rect x="65" y="55" opacity="0.75" fill="#7F7F7F" enable-background="new " width="90" height="90"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 800 B |
28
9cda20ca6e5077b6999771c9a8a3cec5.css
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
.loading-container {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #eee;
|
||||||
|
z-index: 1000; }
|
||||||
|
|
||||||
|
.loading-circle {
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(50% - 40px);
|
||||||
|
left: calc(50% - 40px);
|
||||||
|
border-radius: 100%;
|
||||||
|
border: 10px solid #ddd;
|
||||||
|
border-top-color: #999;
|
||||||
|
animation: spin 1s infinite linear; }
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg); } }
|
||||||
|
|
||||||
|
.loaded {
|
||||||
|
top: -100%;
|
||||||
|
transition: top 1s;
|
||||||
|
transition-delay: 2s; }
|
14
a65db861eecb8dcc62ad70fec489da3f.svg
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M256.104,59.479c63.393,0,114.783,51.39,114.783,114.783
|
||||||
|
s-51.39,114.783-114.783,114.783s-114.783-51.39-114.783-114.783S192.711,59.479,256.104,59.479z M256.104,239.852
|
||||||
|
c102.91,0,186.335,60.066,186.335,134.161s-83.425,134.161-186.335,134.161S69.769,448.108,69.769,374.013
|
||||||
|
S153.194,239.852,256.104,239.852z"/>
|
||||||
|
<path opacity="0.01" fill="#FF3E3E" enable-background="new " d="M439.061,251.956l-33.312-22.57
|
||||||
|
c39.665-56.785,25.166-137.337-26.215-173.23l22.57-32.313C487.432,83.446,499.041,166.086,439.061,251.956z"/>
|
||||||
|
<path opacity="0.01" fill="#FF3E3E" enable-background="new " d="M111.561,23.827l22.593,32.297
|
||||||
|
c-51.367,35.93-68.125,116.506-28.431,173.255L73.426,251.97C12.513,164.889,24.48,84.74,111.561,23.827z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
6
b78ed441778f2e4ce1201a75af76594e.svg
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="2px" height="30px" xml:space="preserve">
|
||||||
|
</svg>
|
After Width: | Height: | Size: 415 B |
BIN
cf02aba975e911ef9823610d908b32f5.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
92
config.js
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
/******/ (function(modules) { // webpackBootstrap
|
||||||
|
/******/ // The module cache
|
||||||
|
/******/ var installedModules = {};
|
||||||
|
|
||||||
|
/******/ // The require function
|
||||||
|
/******/ function __webpack_require__(moduleId) {
|
||||||
|
|
||||||
|
/******/ // Check if module is in cache
|
||||||
|
/******/ if(installedModules[moduleId])
|
||||||
|
/******/ return installedModules[moduleId].exports;
|
||||||
|
|
||||||
|
/******/ // Create a new module (and put it into the cache)
|
||||||
|
/******/ var module = installedModules[moduleId] = {
|
||||||
|
/******/ exports: {},
|
||||||
|
/******/ id: moduleId,
|
||||||
|
/******/ loaded: false
|
||||||
|
/******/ };
|
||||||
|
|
||||||
|
/******/ // Execute the module function
|
||||||
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||||
|
|
||||||
|
/******/ // Flag the module as loaded
|
||||||
|
/******/ module.loaded = true;
|
||||||
|
|
||||||
|
/******/ // Return the exports of the module
|
||||||
|
/******/ return module.exports;
|
||||||
|
/******/ }
|
||||||
|
|
||||||
|
|
||||||
|
/******/ // expose the modules object (__webpack_modules__)
|
||||||
|
/******/ __webpack_require__.m = modules;
|
||||||
|
|
||||||
|
/******/ // expose the module cache
|
||||||
|
/******/ __webpack_require__.c = installedModules;
|
||||||
|
|
||||||
|
/******/ // __webpack_public_path__
|
||||||
|
/******/ __webpack_require__.p = "";
|
||||||
|
|
||||||
|
/******/ // Load entry module and return exports
|
||||||
|
/******/ return __webpack_require__(0);
|
||||||
|
/******/ })
|
||||||
|
/************************************************************************/
|
||||||
|
/******/ ([
|
||||||
|
/* 0 */
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// Note: You probably do not want to change any values in here because this
|
||||||
|
// file might need to be updated with new default values for new
|
||||||
|
// configuration options. Use the [config.local.js] file instead!
|
||||||
|
|
||||||
|
window.mumbleWebConfig = {
|
||||||
|
// Which fields to show on the Connect to Server dialog
|
||||||
|
'connectDialog': {
|
||||||
|
'address': true,
|
||||||
|
'port': true,
|
||||||
|
'token': true,
|
||||||
|
'username': true,
|
||||||
|
'password': true,
|
||||||
|
'channelName': false
|
||||||
|
},
|
||||||
|
// Default values for user settings
|
||||||
|
// You can see your current value by typing `localStorage.getItem('mumble.$setting')` in the web console.
|
||||||
|
'settings': {
|
||||||
|
'voiceMode': 'vad', // one of 'cont' (Continuous), 'ptt' (Push-to-Talk), 'vad' (Voice Activity Detection)
|
||||||
|
'pttKey': 'ctrl + shift',
|
||||||
|
'vadLevel': 0.3,
|
||||||
|
'toolbarVertical': false,
|
||||||
|
'showAvatars': 'always', // one of 'always', 'own_channel', 'linked_channel', 'minimal_only', 'never'
|
||||||
|
'userCountInChannelName': false,
|
||||||
|
'audioBitrate': 40000, // bits per second
|
||||||
|
'samplesPerPacket': 960
|
||||||
|
},
|
||||||
|
// Default values (can be changed by passing a query parameter of the same name)
|
||||||
|
'defaults': {
|
||||||
|
// Connect Dialog
|
||||||
|
'address': window.location.hostname,
|
||||||
|
'port': '443',
|
||||||
|
'token': '',
|
||||||
|
'username': '',
|
||||||
|
'password': '',
|
||||||
|
'joinDialog': false, // replace whole dialog with single "Join Conference" button
|
||||||
|
'matrix': false, // enable Matrix Widget support (mostly auto-detected; implies 'joinDialog')
|
||||||
|
'avatarurl': '', // download and set the user's Mumble avatar to the image at this URL
|
||||||
|
// General
|
||||||
|
'theme': 'MetroMumbleLight'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/***/ })
|
||||||
|
/******/ ]);
|
9
config.local.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// You can overwrite the default configuration values set in [config.js] here.
|
||||||
|
// There should never be any required changes to this file and you can always
|
||||||
|
// simply copy it over when updating to a new version.
|
||||||
|
|
||||||
|
let config = window.mumbleWebConfig // eslint-disable-line no-unused-vars
|
||||||
|
|
||||||
|
// E.g. changing default address and theme:
|
||||||
|
// config.defaults.address = 'voice.example.com'
|
||||||
|
// config.defaults.theme = 'MetroMumbleDark'
|
7
d57d3d2918d0b72f0c24e9dc162c6c4a.svg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
|
||||||
|
<polyline fill="#7F7F7F" points="18.5,7.5 18.5,24.5 1.5,24.5 "/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 536 B |
15
d5ba30b381ebc262ba3871eaed9d7102.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<g opacity="0.75">
|
||||||
|
<path fill="#FF3E3E" d="M168.46,169.386c0-12.6-10.309-22.909-22.909-22.909h-10.19c-12.6,0-22.909,10.309-22.909,22.909v21.048
|
||||||
|
v53.296l56.008-28.068V169.386z"/>
|
||||||
|
</g>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M391.982,103.627l-198.147,99.316l-0.001-33.063
|
||||||
|
c0-12.6,9.309-27.338,20.687-32.751l156.772-74.583c11.379-5.413,20.687,0.079,20.687,12.203L391.982,103.627z"/>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M193.835,297.054v44.058c0,12.6,9.309,27.338,20.687,32.751
|
||||||
|
l156.771,74.583c11.379,5.413,20.687-0.467,20.687-13.067l0.002-237.018l73.56-35.201l-19.709-39.323L46.46,324.009l19.709,39.323
|
||||||
|
l46.282-24.613v4.721c0,12.6,10.309,22.909,22.909,22.909h10.19c12.6,0,22.909-10.309,22.909-22.909v-32.799L193.835,297.054z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
13
dbd9efebc73f884c5039cc3192a65dd8.svg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path opacity="0.9" fill="#9B59B6" d="M256.104,59.479c63.393,0,114.783,51.39,114.783,114.783s-51.39,114.783-114.783,114.783
|
||||||
|
s-114.783-51.39-114.783-114.783S192.711,59.479,256.104,59.479z M256.104,239.852c102.91,0,186.335,60.066,186.335,134.161
|
||||||
|
s-83.425,134.161-186.335,134.161S69.769,448.108,69.769,374.013S153.194,239.852,256.104,239.852z"/>
|
||||||
|
<path opacity="0.9" fill="#9B59B6" d="M439.061,251.956l-33.312-22.57c39.665-56.785,25.166-137.337-26.215-173.23l22.57-32.313
|
||||||
|
C487.432,83.446,499.041,166.086,439.061,251.956z"/>
|
||||||
|
<path opacity="0.9" fill="#9B59B6" d="M111.561,23.827l22.593,32.297c-51.367,35.93-68.125,116.506-28.431,173.255L73.426,251.97
|
||||||
|
C12.513,164.889,24.48,84.74,111.561,23.827z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
15
e0c171776518ab302b54ccc71e59a582.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<path fill="#00B4DF" d="M168.46,169.386c0-12.6-10.309-22.909-22.909-22.909h-10.19c-12.6,0-22.909,10.309-22.909,22.909v21.048
|
||||||
|
v53.296l56.008-28.068V169.386z"/>
|
||||||
|
</g>
|
||||||
|
<path fill="#00B4DF" d="M391.982,103.627l-198.147,99.316l-0.001-33.063c0-12.6,9.309-27.338,20.687-32.751l156.772-74.583
|
||||||
|
c11.379-5.413,20.687,0.079,20.687,12.203L391.982,103.627z"/>
|
||||||
|
<path fill="#00B4DF" d="M193.835,297.054v44.058c0,12.6,9.309,27.338,20.687,32.751l156.771,74.583
|
||||||
|
c11.379,5.413,20.687-0.467,20.687-13.067l0.002-237.018l73.56-35.201l-19.709-39.323L46.46,324.009l19.709,39.323l46.282-24.613
|
||||||
|
v4.721c0,12.6,10.309,22.909,22.909,22.909h10.19c12.6,0,22.909-10.309,22.909-22.909v-32.799L193.835,297.054z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
17
e72996a6d1ed5d1d7962c27c10c08fa6.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "Mumble",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "5b70c2cbbd6e9258a632c70b03381627.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image\/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "80250154041d2e9f6d50a91181409f21.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image\/png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"theme_color": "#ffffff",
|
||||||
|
"display": "standalone"
|
||||||
|
}
|
13
ec4d8b884ac39ef8494fb4aca6c6069f.svg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path fill="#00B4DF" d="M256.104,59.479c63.393,0,114.783,51.39,114.783,114.783s-51.39,114.783-114.783,114.783
|
||||||
|
s-114.783-51.39-114.783-114.783S192.711,59.479,256.104,59.479z M256.104,239.852c102.91,0,186.335,60.066,186.335,134.161
|
||||||
|
s-83.425,134.161-186.335,134.161S69.769,448.108,69.769,374.013S153.194,239.852,256.104,239.852z"/>
|
||||||
|
<path fill="#00B4DF" d="M439.061,251.956l-33.312-22.57c39.665-56.785,25.166-137.337-26.215-173.23l22.57-32.313
|
||||||
|
C487.432,83.446,499.041,166.086,439.061,251.956z"/>
|
||||||
|
<path fill="#00B4DF" d="M111.561,23.827l22.593,32.297c-51.367,35.93-68.125,116.506-28.431,173.255L73.426,251.97
|
||||||
|
C12.513,164.889,24.48,84.74,111.561,23.827z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
ee7a19054eb87597c4b8e4664823ebfd.png
Normal file
After Width: | Height: | Size: 14 KiB |
11
f2fc230fc7d9a9b8f6f03d342f6e94b2.svg
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="200px" height="500px" viewBox="0 0 200 500" enable-background="new 0 0 200 500" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<rect x="55" y="206" opacity="0.75" fill="#7F7F7F" enable-background="new " width="90" height="90"/>
|
||||||
|
<rect x="55" y="65" opacity="0.75" fill="#7F7F7F" enable-background="new " width="90" height="90"/>
|
||||||
|
<rect x="55" y="345" opacity="0.75" fill="#7F7F7F" enable-background="new " width="90" height="90"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 800 B |
16
f54b0be1d559b03ad8d945e988ec8ed4.svg
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="141.732px" height="141.732px" viewBox="0 0 141.732 141.732" enable-background="new 0 0 141.732 141.732"
|
||||||
|
xml:space="preserve">
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M70.866,8.202c-12.067,0-21.85,9.783-21.85,21.85v29.385
|
||||||
|
l43.7-23.825v-5.56C92.716,17.985,82.933,8.202,70.866,8.202z"/>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M65.466,121.756L65.466,121.756z"/>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M76.266,121.756L76.266,121.756z"/>
|
||||||
|
<path opacity="0.75" fill="#FF3E3E" enable-background="new " d="M76.266,121.756c18.165-2.619,32.122-18.25,32.122-37.138
|
||||||
|
l-7.779,0.23c0,16.427-13.316,29.743-29.743,29.743c-12.851,0-23.799-8.149-27.952-19.563v-0.001l7.998-4.36v0.001
|
||||||
|
c3.411,7.628,11.062,12.94,19.954,12.94c12.067,0,21.85-9.783,21.85-21.85V67.875l43.827-23.896l-6.693-12.273L5.188,99.673
|
||||||
|
l6.694,12.273l24.217-13.203v0.001c4.925,12.122,16.007,21.084,29.367,23.012v7.934H41.263c-3.032,0-5.49,2.458-5.49,5.49v-0.941
|
||||||
|
c0,3.035,2.458,5.493,5.49,5.493h59.206c3.032,0,5.49-2.458,5.49-5.493v0.941c0-3.032-2.458-5.49-5.49-5.49H76.266V121.756z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
605
index.html
Normal file
@ -0,0 +1,605 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<!-- Favicon as generated by realfavicongenerator.net (slightly modified for webpack) -->
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="ee7a19054eb87597c4b8e4664823ebfd.png">
|
||||||
|
<link rel="icon" type="image/png" href="195ad531e2d729dbb80bb4524be18d78.png" sizes="32x32">
|
||||||
|
<link rel="icon" type="image/png" href="cf02aba975e911ef9823610d908b32f5.png" sizes="16x16">
|
||||||
|
<link rel="manifest" href="e72996a6d1ed5d1d7962c27c10c08fa6.json">
|
||||||
|
<link rel="mask-icon" href="18e00168e2eeff800227594e26818681.svg" color="#5bbad5">
|
||||||
|
<link rel="shortcut icon" href="7e20ba1e3b8980a164c5f557a0470919.ico">
|
||||||
|
<meta name="apple-mobile-web-app-title" content="Mumble">
|
||||||
|
<meta name="application-name" content="Mumble">
|
||||||
|
<meta name="msapplication-config" content="8b61e99b17ef88afd479b3fc990e5b9d.xml">
|
||||||
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
|
||||||
|
<script src="config.js"></script>
|
||||||
|
<script src="config.local.js"></script>
|
||||||
|
<script src="theme.js"></script>
|
||||||
|
<script src="matrix.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="loading-container" data-bind="css: { loaded: true }">
|
||||||
|
<div class="loading-circle" data-bind="css: { loaded: true }"></div>
|
||||||
|
</div>
|
||||||
|
<div id="container" style="display: none" data-bind="visible: true,
|
||||||
|
css: { minimal: minimalView }">
|
||||||
|
<!-- ko with: connectDialog -->
|
||||||
|
<div class="connect-dialog dialog" data-bind="visible: visible() && !joinOnly()">
|
||||||
|
<div class="dialog-header">
|
||||||
|
Connect to Server
|
||||||
|
</div>
|
||||||
|
<form data-bind="submit: connect">
|
||||||
|
<table>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.address">
|
||||||
|
<td>Address</td>
|
||||||
|
<td><input id="address" type="text" data-bind="value: address" required></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.port">
|
||||||
|
<td>Port</td>
|
||||||
|
<td><input id="port" type="text" data-bind="value: port" required></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.username">
|
||||||
|
<td>Username</td>
|
||||||
|
<td><input id="username" type="text" data-bind="value: username" required></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.password">
|
||||||
|
<td>Password</td>
|
||||||
|
<td><input id="password" type="password" data-bind="value: password"></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.token">
|
||||||
|
<td>Tokens</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" data-bind='value: tokenToAdd, valueUpdate: "afterkeydown"'>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.token">
|
||||||
|
<td></td>
|
||||||
|
<td>
|
||||||
|
<button class="dialog-submit" type="button" data-bind="enable: selectedTokens().length > 0, click: removeSelectedTokens()">Remove</button>
|
||||||
|
<button class="dialog-submit" type="button" data-bind="enable: tokenToAdd().length > 0, click: addToken()">Add</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.token, visible: tokens().length > 0">
|
||||||
|
<td></td>
|
||||||
|
<td><select id="token" multiple="multiple" height="5" data-bind="options:tokens, selectedOptions:selectedTokens"></select></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: $root.config.connectDialog.channelName">
|
||||||
|
<td>Channel</td>
|
||||||
|
<td><input id="channelName" type="text" data-bind="value: channelName"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<input class="dialog-close" type="button" data-bind="click: hide" value="Cancel">
|
||||||
|
<input class="dialog-submit" type="submit" value="Connect">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko with: connectDialog -->
|
||||||
|
<div class="join-dialog dialog" data-bind="visible: visible() && joinOnly()">
|
||||||
|
<div class="dialog-header">
|
||||||
|
Mumble Voice Conference
|
||||||
|
</div>
|
||||||
|
<form data-bind="submit: connect">
|
||||||
|
<input class="dialog-submit" type="submit" value="Join Conference">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko with: connectErrorDialog -->
|
||||||
|
<div class="connect-dialog error-dialog dialog" data-bind="visible: visible()">
|
||||||
|
<div class="dialog-header">
|
||||||
|
Failed to connect
|
||||||
|
</div>
|
||||||
|
<form data-bind="submit: connect">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td colspan=2>
|
||||||
|
<!-- ko if: type() == 0 || type() == 8 -->
|
||||||
|
The connection has been refused.
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: type() == 1 -->
|
||||||
|
The server uses an incompatible version.
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: type() == 2 -->
|
||||||
|
Your user name was rejected. Maybe try a different one?
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: type() == 3 -->
|
||||||
|
The given password is incorrect.
|
||||||
|
The user name you have chosen requires a special one.
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: type() == 4 -->
|
||||||
|
The given password is incorrect.
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: type() == 5 -->
|
||||||
|
The user name you have chosen is already in use.
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: type() == 6 -->
|
||||||
|
The server is full.
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: type() == 7 -->
|
||||||
|
The server requires you to provide a client certificate
|
||||||
|
which is not supported by this web application.
|
||||||
|
<!-- /ko -->
|
||||||
|
<br>
|
||||||
|
The server reports:
|
||||||
|
<br>
|
||||||
|
"<span class="connect-error-reason" data-bind="text: reason"></span>"
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: type() == 2 || type() == 3 || type() == 5">
|
||||||
|
<td>Username</td>
|
||||||
|
<td><input id="username" type="text" data-bind="value: username" required></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="if: type() == 3 || type() == 4">
|
||||||
|
<td>Password</td>
|
||||||
|
<td><input id="password" type="password" data-bind="value: password" required></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<input class="dialog-close" type="button" value="Cancel"
|
||||||
|
data-bind="click: hide, visible: !joinOnly()">
|
||||||
|
<input class="dialog-submit" type="submit" value="Retry">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko with: connectionInfo -->
|
||||||
|
<div class="connection-info-dialog dialog" data-bind="visible: visible">
|
||||||
|
<div class="dialog-header">
|
||||||
|
Connection Information
|
||||||
|
</div>
|
||||||
|
<div class="dialog-content">
|
||||||
|
<h3>Version</h3>
|
||||||
|
<!-- ko with: serverVersion -->
|
||||||
|
Protocol
|
||||||
|
<span data-bind="text: major + '.' + minor + '.' + patch"></span>.
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<span data-bind="text: release"></span>
|
||||||
|
<br>
|
||||||
|
<span data-bind="text: os"></span>
|
||||||
|
<span data-bind="text: osVersion"></span>
|
||||||
|
<br>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: !serverVersion() -->
|
||||||
|
Unknown
|
||||||
|
<!-- /ko -->
|
||||||
|
|
||||||
|
<h3>Control channel</h3>
|
||||||
|
<span data-bind="text: latencyMs().toFixed(2)"></span> ms average latency
|
||||||
|
(<span data-bind="text: latencyDeviation().toFixed(2)"></span> deviation)
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
Remote host <span data-bind="text: remoteHost"></span>
|
||||||
|
(port <span data-bind="text: remotePort"></span>)
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<h3>Audio bandwidth</h3>
|
||||||
|
Maximum <span data-bind="text: (maxBitrate()/1000).toFixed(1)"></span> kbits/s
|
||||||
|
(<span data-bind="text: (maxBandwidth()/1000).toFixed(1)"></span> kbits/s with overhead)
|
||||||
|
<br>
|
||||||
|
Current <span data-bind="text: (currentBitrate()/1000).toFixed(1)"></span> kbits/s
|
||||||
|
(<span data-bind="text: (currentBandwidth()/1000).toFixed(1)"></span> kbits/s with overhead)
|
||||||
|
<br>
|
||||||
|
Codec: <span data-bind="text: codec"></span>
|
||||||
|
</div>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<input class="dialog-close" type="button" data-bind="click: hide" value="OK">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko with: settingsDialog -->
|
||||||
|
<div class="settings-dialog dialog" data-bind="visible: $data">
|
||||||
|
<div class="dialog-header">
|
||||||
|
Settings
|
||||||
|
</div>
|
||||||
|
<form data-bind="submit: $root.applySettings">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>Transmission</td>
|
||||||
|
<td>
|
||||||
|
<select data-bind='value: voiceMode'>
|
||||||
|
<option value="cont">Continuous</option>
|
||||||
|
<option value="vad">Voice Activity</option>
|
||||||
|
<option value="ptt">Push To Talk</option>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="visible: voiceMode() == 'vad'">
|
||||||
|
<td colspan="2">
|
||||||
|
<div class="mic-volume-container">
|
||||||
|
<div class="mic-volume" data-bind="style: {
|
||||||
|
width: testVadLevel()*100 + '%',
|
||||||
|
background: testVadActive() ? 'green' : 'red'
|
||||||
|
}"></div>
|
||||||
|
</div>
|
||||||
|
<input type="range" min="0" max="1" step="0.01"
|
||||||
|
data-bind="value: vadLevel">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr data-bind="visible: voiceMode() == 'ptt'">
|
||||||
|
<td>PTT Key</td>
|
||||||
|
<td>
|
||||||
|
<input type="button" data-bind="value: pttKeyDisplay, click: recordPttKey">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Audio Quality</td>
|
||||||
|
<td><span data-bind="text: (audioBitrate()/1000).toFixed(1)"></span> kbit/s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="range" min="8000" max="96000" step="8"
|
||||||
|
data-bind="value: audioBitrate, valueUpdate: 'input'">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Audio per packet</td>
|
||||||
|
<td><span data-bind="text: msPerPacket"></span> ms</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="range" min="10" max="60" step="10"
|
||||||
|
data-bind="value: msPerPacket, valueUpdate: 'input'">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" class="bandwidth-info">
|
||||||
|
<span data-bind="text: (totalBandwidth()/1000).toFixed(1)"></span>
|
||||||
|
kbit/s
|
||||||
|
(Audio
|
||||||
|
<span data-bind="text: (audioBitrate()/1000).toFixed(1)"></span>,
|
||||||
|
Position
|
||||||
|
<span data-bind="text: (positionBandwidth()/1000).toFixed(1)"></span>,
|
||||||
|
Overhead
|
||||||
|
<span data-bind="text: (overheadBandwidth()/1000).toFixed(1)"></span>)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Show Avatars</td>
|
||||||
|
<td>
|
||||||
|
<select data-bind='value: showAvatars'>
|
||||||
|
<option value="always">Always</option>
|
||||||
|
<option value="own_channel">Same Channel</option>
|
||||||
|
<option value="linked_channel">Linked Channels</option>
|
||||||
|
<option value="minimal_only">Minimal View</option>
|
||||||
|
<option value="never">Never</option>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="checkbox" data-bind="checked: userCountInChannelName">
|
||||||
|
Show user count after channel name
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<input class="dialog-close" type="button" data-bind="click: $root.closeSettings" value="Cancel">
|
||||||
|
<input class="dialog-submit" type="submit" value="Apply">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<img class="avatar-view" data-bind="visible: avatarView, attr: { src: avatarView },
|
||||||
|
click: function () { avatarView(null) }"></img>
|
||||||
|
<!-- ko with: userContextMenu -->
|
||||||
|
<ul class="context-menu" data-bind="if: target,
|
||||||
|
style: { left: posX() + 'px',
|
||||||
|
top: posY() + 'px' }">
|
||||||
|
|
||||||
|
<!-- ko with: target -->
|
||||||
|
<li data-bind="css: { disabled: !canChangeMute() }">
|
||||||
|
Mute
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canChangeDeafen() }">
|
||||||
|
Deafen
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canChangePrioritySpeaker() }">
|
||||||
|
Priority Speaker
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li data-bind="css: { disabled: !canLocalMute() }">
|
||||||
|
Local Mute
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canIgnoreMessages() }">
|
||||||
|
Ignore Messages
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li data-bind="css: { disabled: !canChangeComment() }, visible: comment">
|
||||||
|
View Comment
|
||||||
|
</li>
|
||||||
|
<!-- ko if: $data === $root.thisUser() -->
|
||||||
|
<li data-bind="css: { disabled: !canChangeComment() }, visible: true">
|
||||||
|
Change Comment
|
||||||
|
</li>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko if: $data !== $root.thisUser() -->
|
||||||
|
<li data-bind="css: { disabled: !canChangeComment() }, visible: comment">
|
||||||
|
Reset Comment
|
||||||
|
</li>
|
||||||
|
<!-- /ko -->
|
||||||
|
|
||||||
|
<li data-bind="css: { disabled: !canChangeAvatar() }, visible: texture,
|
||||||
|
click: viewAvatar">
|
||||||
|
View Avatar
|
||||||
|
</li>
|
||||||
|
<!-- ko if: $data === $root.thisUser() -->
|
||||||
|
<li data-bind="css: { disabled: !canChangeAvatar() }, visible: true,
|
||||||
|
click: changeAvatar">
|
||||||
|
Change Avatar
|
||||||
|
</li>
|
||||||
|
<!-- /ko -->
|
||||||
|
<li data-bind="css: { disabled: !canChangeAvatar() }, visible: texture,
|
||||||
|
click: removeAvatar">
|
||||||
|
Reset Avatar
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li data-bind="css: { disabled: true }, visible: true">
|
||||||
|
Send Message
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: true }, visible: true">
|
||||||
|
Information
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li data-bind="visible: $data === $root.thisUser(),
|
||||||
|
css: { checked: selfMute },
|
||||||
|
click: toggleMute">
|
||||||
|
Self Mute
|
||||||
|
</li>
|
||||||
|
<li data-bind="visible: $data === $root.thisUser(),
|
||||||
|
css: { checked: selfDeaf },
|
||||||
|
click: toggleDeaf">
|
||||||
|
Self Deafen
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- ko if: $data !== $root.thisUser() -->
|
||||||
|
<li data-bind="css: { disabled: true }, visible: true">
|
||||||
|
Add Friend
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: true }, visible: false">
|
||||||
|
Remove Friend
|
||||||
|
</li>
|
||||||
|
<!-- /ko -->
|
||||||
|
|
||||||
|
<!-- /ko -->
|
||||||
|
</ul>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko with: channelContextMenu -->
|
||||||
|
<ul class="context-menu" data-bind="if: target,
|
||||||
|
style: { left: posX() + 'px',
|
||||||
|
top: posY() + 'px' }">
|
||||||
|
|
||||||
|
<!-- ko with: target -->
|
||||||
|
<li data-bind="visible: users.indexOf($root.thisUser()) === -1,
|
||||||
|
css: { disabled: !canJoin() },
|
||||||
|
click: $root.requestMove.bind($root, $root.thisUser())">
|
||||||
|
Join Channel
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canAdd() }">
|
||||||
|
Add
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canEdit() }">
|
||||||
|
Edit
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canRemove() }">
|
||||||
|
Remove
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li data-bind="css: { disabled: !canLink() }">
|
||||||
|
Link
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canUnlink() }">
|
||||||
|
Unlink
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canUnlink() }">
|
||||||
|
Unlink All
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li data-bind="css: { disabled: true }">
|
||||||
|
Copy Mumble URL
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: true }">
|
||||||
|
Copy Mumble-Web URL
|
||||||
|
</li>
|
||||||
|
<li data-bind="css: { disabled: !canSendMessage() }">
|
||||||
|
Send Message
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- /ko -->
|
||||||
|
</ul>
|
||||||
|
<!-- /ko -->
|
||||||
|
<script type="text/html" id="user-tag">
|
||||||
|
<span class="user-tag" data-bind="text: name"></span>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="channel-tag">
|
||||||
|
<span class="channel-tag" data-bind="text: name"></span>
|
||||||
|
</script>
|
||||||
|
<div class="toolbar" data-bind="css: { 'toolbar-horizontal': toolbarHorizontal(),
|
||||||
|
'toolbar-vertical': !toolbarHorizontal() }">
|
||||||
|
<img class="handle-horizontal" src="f2fc230fc7d9a9b8f6f03d342f6e94b2.svg"
|
||||||
|
data-bind="click: toggleToolbarOrientation">
|
||||||
|
<img class="handle-vertical" src="9ae3dac014f51d714254cf522602cec0.svg"
|
||||||
|
data-bind="click: toggleToolbarOrientation">
|
||||||
|
<img class="tb-connect" data-bind="visible: !connectDialog.joinOnly(),
|
||||||
|
click: connectDialog.show"
|
||||||
|
rel="connect" src="22ecf0ecde1ae2a6281265174b7fa355.svg">
|
||||||
|
<img class="tb-information" rel="information" src="82747b4bbd0cfe92292f74cd27f2763e.svg"
|
||||||
|
data-bind="click: connectionInfo.show,
|
||||||
|
css: { disabled: !thisUser() }">
|
||||||
|
<div class="divider"></div>
|
||||||
|
<img class="tb-mute" data-bind="visible: !selfMute(),
|
||||||
|
click: function () { requestMute(thisUser()) }"
|
||||||
|
rel="mute" src="8f75583a16890ab851fc3f121fc63f89.svg">
|
||||||
|
<img class="tb-unmute tb-active" data-bind="visible: selfMute,
|
||||||
|
click: function () { requestUnmute(thisUser()) }"
|
||||||
|
rel="unmute" src="f54b0be1d559b03ad8d945e988ec8ed4.svg">
|
||||||
|
<img class="tb-deaf" data-bind="visible: !selfDeaf(),
|
||||||
|
click: function () { requestDeaf(thisUser()) }"
|
||||||
|
rel="deaf" src="0ce7650c4d5a52a5323868f75588e1c7.svg">
|
||||||
|
<img class="tb-undeaf tb-active" data-bind="visible: selfDeaf,
|
||||||
|
click: function () { requestUndeaf(thisUser()) }"
|
||||||
|
rel="undeaf" src="d5ba30b381ebc262ba3871eaed9d7102.svg">
|
||||||
|
<img class="tb-record" data-bind="click: function(){}"
|
||||||
|
rel="record" src="7b86c879d50808c66816ed3338f26557.svg">
|
||||||
|
<div class="divider"></div>
|
||||||
|
<img class="tb-comment" data-bind="click: commentDialog.show"
|
||||||
|
rel="comment" src="077f1c5bd335be073c48c340b01f58bc.svg">
|
||||||
|
<div class="divider"></div>
|
||||||
|
<img class="tb-settings" data-bind="click: openSettings"
|
||||||
|
rel="settings" src="50dddae19e7bf601b168f46a1303674b.svg">
|
||||||
|
<div class="divider"></div>
|
||||||
|
<img class="tb-sourcecode" data-bind="click: openSourceCode"
|
||||||
|
rel="Source Code" src="71edeaefdc2f5a19dc84298669af6962.svg">
|
||||||
|
</div>
|
||||||
|
<div class="chat">
|
||||||
|
<script type="text/html" id="log-generic">
|
||||||
|
<span data-bind="text: value"></span>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="log-welcome-message">
|
||||||
|
Welcome message: <span data-bind="html: message"></span>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="log-chat-message">
|
||||||
|
<span data-bind="visible: channel">
|
||||||
|
(Channel)
|
||||||
|
</span>
|
||||||
|
<span data-bind="template: { name: 'user-tag', data: user }"></span>:
|
||||||
|
<span class="message-content" data-bind="html: message"></span>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="log-chat-message-self">
|
||||||
|
To
|
||||||
|
<span data-bind="template: { if: $data.channel, name: 'channel-tag', data: $data.channel }">
|
||||||
|
</span><span data-bind="template: { if: $data.user, name: 'user-tag', data: $data.user }">
|
||||||
|
</span>:
|
||||||
|
<span class="message-content" data-bind="html: message"></span>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="log-disconnect">
|
||||||
|
</script>
|
||||||
|
<div class="log" data-bind="foreach: {
|
||||||
|
data: log,
|
||||||
|
afterRender: function (e) {
|
||||||
|
[].forEach.call(e[1].getElementsByTagName('a'), function(e){e.target = '_blank'})
|
||||||
|
}
|
||||||
|
}">
|
||||||
|
<div class="log-entry">
|
||||||
|
<span class="log-timestamp" data-bind="text: $root.getTimeString()"></span>
|
||||||
|
<!-- ko template: { data: $data, name: function(l) { return 'log-' + l.type; } } -->
|
||||||
|
<!-- /ko -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<form data-bind="submit: submitMessageBox">
|
||||||
|
<input id="message-box" type="text" data-bind="
|
||||||
|
attr: { placeholder: messageBoxHint }, textInput: messageBox">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<script type="text/html" id="channel">
|
||||||
|
<div class="channel" data-bind="
|
||||||
|
click: $root.select,
|
||||||
|
event: {
|
||||||
|
contextmenu: openContextMenu,
|
||||||
|
dblclick: $root.requestMove.bind($root, $root.thisUser())
|
||||||
|
},
|
||||||
|
css: {
|
||||||
|
selected: $root.selected() === $data,
|
||||||
|
currentChannel: users.indexOf($root.thisUser()) !== -1
|
||||||
|
}">
|
||||||
|
<div class="channel-status">
|
||||||
|
<img class="channel-description" data-bind="visible: description"
|
||||||
|
alt="description" src="077f1c5bd335be073c48c340b01f58bc.svg">
|
||||||
|
</div>
|
||||||
|
<div data-bind="if: description">
|
||||||
|
<div class="channel-description tooltip" data-bind="html: description"></div>
|
||||||
|
</div>
|
||||||
|
<img class="channel-icon" src="b78ed441778f2e4ce1201a75af76594e.svg"
|
||||||
|
data-bind="visible: !linked() && $root.thisUser().channel() !== $data">
|
||||||
|
<img class="channel-icon-active" src="b78ed441778f2e4ce1201a75af76594e.svg"
|
||||||
|
data-bind="visible: $root.thisUser().channel() === $data">
|
||||||
|
<img class="channel-icon-linked" src="86d4f1d7547270ff26f08a9271e7edcb.svg"
|
||||||
|
data-bind="visible: linked() && $root.thisUser().channel() !== $data">
|
||||||
|
<div class="channel-name">
|
||||||
|
<span data-bind="text: name"></span>
|
||||||
|
<!-- ko if: $root.settings.userCountInChannelName() && userCount() !== 0 -->
|
||||||
|
(<span data-bind="text: userCount()"></span>)
|
||||||
|
<!-- /ko -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- ko if: expanded -->
|
||||||
|
<!-- ko foreach: users -->
|
||||||
|
<div class="user-wrapper">
|
||||||
|
<div class="user-tree"></div>
|
||||||
|
<div class="user" data-bind="
|
||||||
|
click: $root.select,
|
||||||
|
event: {
|
||||||
|
contextmenu: openContextMenu
|
||||||
|
},
|
||||||
|
css: {
|
||||||
|
thisClient: $root.thisUser() === $data,
|
||||||
|
selected: $root.selected() === $data
|
||||||
|
}">
|
||||||
|
<div class="user-status" data-bind="attr: { title: state }">
|
||||||
|
<img class="user-comment" data-bind="visible: comment"
|
||||||
|
alt="comment" src="077f1c5bd335be073c48c340b01f58bc.svg">
|
||||||
|
<img class="user-server-mute" data-bind="visible: mute"
|
||||||
|
alt="server mute" src="296b612d2847da52749549f73d0c3664.svg">
|
||||||
|
<img class="user-suppress-mute" data-bind="visible: suppress"
|
||||||
|
alt="suppressed" src="00fd86fe12871b707998bf7214820fdd.svg">
|
||||||
|
<img class="user-self-mute" data-bind="visible: selfMute"
|
||||||
|
alt="self mute" src="9171288d67adc4805412883901d2f180.svg">
|
||||||
|
<img class="user-server-deaf" data-bind="visible: deaf"
|
||||||
|
alt="server deaf" src="e0c171776518ab302b54ccc71e59a582.svg">
|
||||||
|
<img class="user-self-deaf" data-bind="visible: selfDeaf"
|
||||||
|
alt="self deaf" src="d5ba30b381ebc262ba3871eaed9d7102.svg">
|
||||||
|
<img class="user-authenticated" data-bind="visible: uid"
|
||||||
|
alt="authenticated" src="6d73bb785aa06bf0c436ad6f7cc6262a.svg">
|
||||||
|
</div>
|
||||||
|
<div data-bind="if: comment">
|
||||||
|
<div class="user-comment tooltip" data-bind="html: comment"></div>
|
||||||
|
</div>
|
||||||
|
<!-- ko if: show_avatar() -->
|
||||||
|
<img class="user-avatar" alt="avatar"
|
||||||
|
data-bind="attr: { src: texture },
|
||||||
|
css: { 'user-avatar-talk-off': talking() == 'off',
|
||||||
|
'user-avatar-talk-on': talking() == 'on',
|
||||||
|
'user-avatar-talk-whisper': talking() == 'whisper',
|
||||||
|
'user-avatar-talk-shout': talking() == 'shout' }">
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko ifnot: show_avatar() -->
|
||||||
|
<img class="user-talk user-talk-off" data-bind="visible: talking() == 'off'"
|
||||||
|
alt="talk off" src="a65db861eecb8dcc62ad70fec489da3f.svg">
|
||||||
|
<img class="user-talk user-talk-on" data-bind="visible: talking() == 'on'"
|
||||||
|
alt="talk on" src="32785c1d21b0050be9168487542b8c3d.svg">
|
||||||
|
<img class="user-talk user-talk-whisper" data-bind="visible: talking() == 'whisper'"
|
||||||
|
alt="whisper" src="dbd9efebc73f884c5039cc3192a65dd8.svg">
|
||||||
|
<img class="user-talk user-talk-shout" data-bind="visible: talking() == 'shout'"
|
||||||
|
alt="shout" src="ec4d8b884ac39ef8494fb4aca6c6069f.svg">
|
||||||
|
<!-- /ko -->
|
||||||
|
<div class="user-name" data-bind="text: name"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- ko foreach: channels -->
|
||||||
|
<div class="channel-wrapper">
|
||||||
|
<!-- ko ifnot: users().length || channels().length -->
|
||||||
|
<div class="channel-tree"></div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<div class="branch" data-bind="if: users().length || channels().length">
|
||||||
|
<img class="branch-open" src="d57d3d2918d0b72f0c24e9dc162c6c4a.svg"
|
||||||
|
data-bind="click: expanded.bind($data, false), visible: expanded()">
|
||||||
|
<img class="branch-closed" src="972a0ac8cf8526580a216210a364cc60.svg"
|
||||||
|
data-bind="click: expanded.bind($data, true), visible: !expanded()">
|
||||||
|
</div>
|
||||||
|
<div class="channel-sub" data-bind="template: {name: 'channel', data: $data}"></div>
|
||||||
|
</div>
|
||||||
|
<!-- /ko -->
|
||||||
|
<!-- /ko -->
|
||||||
|
</script>
|
||||||
|
<div class="channel-root-container" data-bind="if: root, visible: !minimalView()">
|
||||||
|
<div class="channel-root" data-bind="template: {name: 'channel', data: root}"></div>
|
||||||
|
</div>
|
||||||
|
<div class="channel-root-container" data-bind="if: thisUser, visible: minimalView()">
|
||||||
|
<div class="channel-root" data-bind="template: {name: 'channel', data: thisUser().channel}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script src="index.js"></script>
|
||||||
|
</html>
|
493
matrix.js
Normal file
@ -0,0 +1,493 @@
|
|||||||
|
/******/ (function(modules) { // webpackBootstrap
|
||||||
|
/******/ // The module cache
|
||||||
|
/******/ var installedModules = {};
|
||||||
|
|
||||||
|
/******/ // The require function
|
||||||
|
/******/ function __webpack_require__(moduleId) {
|
||||||
|
|
||||||
|
/******/ // Check if module is in cache
|
||||||
|
/******/ if(installedModules[moduleId])
|
||||||
|
/******/ return installedModules[moduleId].exports;
|
||||||
|
|
||||||
|
/******/ // Create a new module (and put it into the cache)
|
||||||
|
/******/ var module = installedModules[moduleId] = {
|
||||||
|
/******/ exports: {},
|
||||||
|
/******/ id: moduleId,
|
||||||
|
/******/ loaded: false
|
||||||
|
/******/ };
|
||||||
|
|
||||||
|
/******/ // Execute the module function
|
||||||
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||||
|
|
||||||
|
/******/ // Flag the module as loaded
|
||||||
|
/******/ module.loaded = true;
|
||||||
|
|
||||||
|
/******/ // Return the exports of the module
|
||||||
|
/******/ return module.exports;
|
||||||
|
/******/ }
|
||||||
|
|
||||||
|
|
||||||
|
/******/ // expose the modules object (__webpack_modules__)
|
||||||
|
/******/ __webpack_require__.m = modules;
|
||||||
|
|
||||||
|
/******/ // expose the module cache
|
||||||
|
/******/ __webpack_require__.c = installedModules;
|
||||||
|
|
||||||
|
/******/ // __webpack_public_path__
|
||||||
|
/******/ __webpack_require__.p = "";
|
||||||
|
|
||||||
|
/******/ // Load entry module and return exports
|
||||||
|
/******/ return __webpack_require__(0);
|
||||||
|
/******/ })
|
||||||
|
/************************************************************************/
|
||||||
|
/******/ ({
|
||||||
|
|
||||||
|
/***/ 0:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _classCallCheck2 = __webpack_require__(82);
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = __webpack_require__(83);
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
// Handle messages coming from [Matrix] client if embedded as a [Widget] in some room.
|
||||||
|
// [Matrix]: https://matrix.org/
|
||||||
|
// [Widget]: https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit
|
||||||
|
|
||||||
|
var MatrixWidget = function () {
|
||||||
|
function MatrixWidget() {
|
||||||
|
(0, _classCallCheck3.default)(this, MatrixWidget);
|
||||||
|
|
||||||
|
this.widgetId = null;
|
||||||
|
window.addEventListener('message', this.onMessage.bind(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(MatrixWidget, [{
|
||||||
|
key: 'onMessage',
|
||||||
|
value: function onMessage(event) {
|
||||||
|
this.widgetId = this.widgetId || event.data.widgetId;
|
||||||
|
|
||||||
|
switch (event.data.api) {
|
||||||
|
case 'fromWidget':
|
||||||
|
break;
|
||||||
|
case 'toWidget':
|
||||||
|
switch (event.data.action) {
|
||||||
|
case 'capabilities':
|
||||||
|
this.sendResponse(event, {
|
||||||
|
capabilities: ['m.always_on_screen']
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'sendContentLoaded',
|
||||||
|
value: function sendContentLoaded() {
|
||||||
|
this.sendMessage({
|
||||||
|
action: 'content_loaded'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'setAlwaysOnScreen',
|
||||||
|
value: function setAlwaysOnScreen(value) {
|
||||||
|
// Extension of main spec, see https://github.com/matrix-org/matrix-doc/issues/1354
|
||||||
|
this.sendMessage({
|
||||||
|
action: 'set_always_on_screen',
|
||||||
|
value: value, // once for spec compliance
|
||||||
|
data: { value: value // and once for Riot
|
||||||
|
} });
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'sendMessage',
|
||||||
|
value: function sendMessage(message) {
|
||||||
|
if (!this.widgetId) return;
|
||||||
|
message.api = message.api || 'fromWidget';
|
||||||
|
message.widgetId = message.widgetId || this.widgetId;
|
||||||
|
message.requestId = message.requestId || Math.random().toString(36);
|
||||||
|
window.parent.postMessage(message, '*');
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'sendResponse',
|
||||||
|
value: function sendResponse(event, response) {
|
||||||
|
event.data.response = response;
|
||||||
|
event.source.postMessage(event.data, event.origin);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return MatrixWidget;
|
||||||
|
}();
|
||||||
|
|
||||||
|
window.matrixWidget = new MatrixWidget();
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 43:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
var global = __webpack_require__(44);
|
||||||
|
var core = __webpack_require__(45);
|
||||||
|
var ctx = __webpack_require__(46);
|
||||||
|
var hide = __webpack_require__(48);
|
||||||
|
var has = __webpack_require__(58);
|
||||||
|
var PROTOTYPE = 'prototype';
|
||||||
|
|
||||||
|
var $export = function (type, name, source) {
|
||||||
|
var IS_FORCED = type & $export.F;
|
||||||
|
var IS_GLOBAL = type & $export.G;
|
||||||
|
var IS_STATIC = type & $export.S;
|
||||||
|
var IS_PROTO = type & $export.P;
|
||||||
|
var IS_BIND = type & $export.B;
|
||||||
|
var IS_WRAP = type & $export.W;
|
||||||
|
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
||||||
|
var expProto = exports[PROTOTYPE];
|
||||||
|
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
|
||||||
|
var key, own, out;
|
||||||
|
if (IS_GLOBAL) source = name;
|
||||||
|
for (key in source) {
|
||||||
|
// contains in native
|
||||||
|
own = !IS_FORCED && target && target[key] !== undefined;
|
||||||
|
if (own && has(exports, key)) continue;
|
||||||
|
// export native or passed
|
||||||
|
out = own ? target[key] : source[key];
|
||||||
|
// prevent global pollution for namespaces
|
||||||
|
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
|
||||||
|
// bind timers to global for call from export context
|
||||||
|
: IS_BIND && own ? ctx(out, global)
|
||||||
|
// wrap global constructors for prevent change them in library
|
||||||
|
: IS_WRAP && target[key] == out ? (function (C) {
|
||||||
|
var F = function (a, b, c) {
|
||||||
|
if (this instanceof C) {
|
||||||
|
switch (arguments.length) {
|
||||||
|
case 0: return new C();
|
||||||
|
case 1: return new C(a);
|
||||||
|
case 2: return new C(a, b);
|
||||||
|
} return new C(a, b, c);
|
||||||
|
} return C.apply(this, arguments);
|
||||||
|
};
|
||||||
|
F[PROTOTYPE] = C[PROTOTYPE];
|
||||||
|
return F;
|
||||||
|
// make static versions for prototype methods
|
||||||
|
})(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
||||||
|
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
|
||||||
|
if (IS_PROTO) {
|
||||||
|
(exports.virtual || (exports.virtual = {}))[key] = out;
|
||||||
|
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
|
||||||
|
if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// type bitmap
|
||||||
|
$export.F = 1; // forced
|
||||||
|
$export.G = 2; // global
|
||||||
|
$export.S = 4; // static
|
||||||
|
$export.P = 8; // proto
|
||||||
|
$export.B = 16; // bind
|
||||||
|
$export.W = 32; // wrap
|
||||||
|
$export.U = 64; // safe
|
||||||
|
$export.R = 128; // real proto method for `library`
|
||||||
|
module.exports = $export;
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 44:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||||
|
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
||||||
|
? window : typeof self != 'undefined' && self.Math == Math ? self
|
||||||
|
// eslint-disable-next-line no-new-func
|
||||||
|
: Function('return this')();
|
||||||
|
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 45:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
var core = module.exports = { version: '2.6.11' };
|
||||||
|
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 46:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
// optional / simple context binding
|
||||||
|
var aFunction = __webpack_require__(47);
|
||||||
|
module.exports = function (fn, that, length) {
|
||||||
|
aFunction(fn);
|
||||||
|
if (that === undefined) return fn;
|
||||||
|
switch (length) {
|
||||||
|
case 1: return function (a) {
|
||||||
|
return fn.call(that, a);
|
||||||
|
};
|
||||||
|
case 2: return function (a, b) {
|
||||||
|
return fn.call(that, a, b);
|
||||||
|
};
|
||||||
|
case 3: return function (a, b, c) {
|
||||||
|
return fn.call(that, a, b, c);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return function (/* ...args */) {
|
||||||
|
return fn.apply(that, arguments);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 47:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
module.exports = function (it) {
|
||||||
|
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
|
||||||
|
return it;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 48:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
var dP = __webpack_require__(49);
|
||||||
|
var createDesc = __webpack_require__(57);
|
||||||
|
module.exports = __webpack_require__(53) ? function (object, key, value) {
|
||||||
|
return dP.f(object, key, createDesc(1, value));
|
||||||
|
} : function (object, key, value) {
|
||||||
|
object[key] = value;
|
||||||
|
return object;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 49:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
var anObject = __webpack_require__(50);
|
||||||
|
var IE8_DOM_DEFINE = __webpack_require__(52);
|
||||||
|
var toPrimitive = __webpack_require__(56);
|
||||||
|
var dP = Object.defineProperty;
|
||||||
|
|
||||||
|
exports.f = __webpack_require__(53) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
||||||
|
anObject(O);
|
||||||
|
P = toPrimitive(P, true);
|
||||||
|
anObject(Attributes);
|
||||||
|
if (IE8_DOM_DEFINE) try {
|
||||||
|
return dP(O, P, Attributes);
|
||||||
|
} catch (e) { /* empty */ }
|
||||||
|
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
||||||
|
if ('value' in Attributes) O[P] = Attributes.value;
|
||||||
|
return O;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 50:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
var isObject = __webpack_require__(51);
|
||||||
|
module.exports = function (it) {
|
||||||
|
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
||||||
|
return it;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 51:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
module.exports = function (it) {
|
||||||
|
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 52:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
module.exports = !__webpack_require__(53) && !__webpack_require__(54)(function () {
|
||||||
|
return Object.defineProperty(__webpack_require__(55)('div'), 'a', { get: function () { return 7; } }).a != 7;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 53:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
// Thank's IE8 for his funny defineProperty
|
||||||
|
module.exports = !__webpack_require__(54)(function () {
|
||||||
|
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 54:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
module.exports = function (exec) {
|
||||||
|
try {
|
||||||
|
return !!exec();
|
||||||
|
} catch (e) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 55:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
var isObject = __webpack_require__(51);
|
||||||
|
var document = __webpack_require__(44).document;
|
||||||
|
// typeof document.createElement is 'object' in old IE
|
||||||
|
var is = isObject(document) && isObject(document.createElement);
|
||||||
|
module.exports = function (it) {
|
||||||
|
return is ? document.createElement(it) : {};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 56:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
// 7.1.1 ToPrimitive(input [, PreferredType])
|
||||||
|
var isObject = __webpack_require__(51);
|
||||||
|
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||||||
|
// and the second argument - flag - preferred type is a string
|
||||||
|
module.exports = function (it, S) {
|
||||||
|
if (!isObject(it)) return it;
|
||||||
|
var fn, val;
|
||||||
|
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
||||||
|
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
||||||
|
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
||||||
|
throw TypeError("Can't convert object to primitive value");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 57:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
module.exports = function (bitmap, value) {
|
||||||
|
return {
|
||||||
|
enumerable: !(bitmap & 1),
|
||||||
|
configurable: !(bitmap & 2),
|
||||||
|
writable: !(bitmap & 4),
|
||||||
|
value: value
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 58:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
var hasOwnProperty = {}.hasOwnProperty;
|
||||||
|
module.exports = function (it, key) {
|
||||||
|
return hasOwnProperty.call(it, key);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 82:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.__esModule = true;
|
||||||
|
|
||||||
|
exports.default = function (instance, Constructor) {
|
||||||
|
if (!(instance instanceof Constructor)) {
|
||||||
|
throw new TypeError("Cannot call a class as a function");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 83:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.__esModule = true;
|
||||||
|
|
||||||
|
var _defineProperty = __webpack_require__(84);
|
||||||
|
|
||||||
|
var _defineProperty2 = _interopRequireDefault(_defineProperty);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
exports.default = function () {
|
||||||
|
function defineProperties(target, props) {
|
||||||
|
for (var i = 0; i < props.length; i++) {
|
||||||
|
var descriptor = props[i];
|
||||||
|
descriptor.enumerable = descriptor.enumerable || false;
|
||||||
|
descriptor.configurable = true;
|
||||||
|
if ("value" in descriptor) descriptor.writable = true;
|
||||||
|
(0, _defineProperty2.default)(target, descriptor.key, descriptor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return function (Constructor, protoProps, staticProps) {
|
||||||
|
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
||||||
|
if (staticProps) defineProperties(Constructor, staticProps);
|
||||||
|
return Constructor;
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 84:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
module.exports = { "default": __webpack_require__(85), __esModule: true };
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 85:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
__webpack_require__(86);
|
||||||
|
var $Object = __webpack_require__(45).Object;
|
||||||
|
module.exports = function defineProperty(it, key, desc) {
|
||||||
|
return $Object.defineProperty(it, key, desc);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 86:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
var $export = __webpack_require__(43);
|
||||||
|
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
|
||||||
|
$export($export.S + $export.F * !__webpack_require__(53), 'Object', { defineProperty: __webpack_require__(49).f });
|
||||||
|
|
||||||
|
|
||||||
|
/***/ })
|
||||||
|
|
||||||
|
/******/ });
|