From 0c5f0e247b2be790191dbbaec0f4010b01749289 Mon Sep 17 00:00:00 2001 From: Guus der Kinderen Date: Mon, 29 Jun 2020 14:15:48 +0200 Subject: [PATCH] Removed the mockups from the project. Recommended to use tests instead. --- CHANGES.md | 1 + docs/source/theming.rst | 20 +- mockup/chatbox.html | 213 -------------- mockup/chatbox.js | 20 -- mockup/chatroom.html | 536 ----------------------------------- mockup/chatroom.js | 20 -- mockup/controlbox.html | 222 --------------- mockup/controlbox.js | 24 -- mockup/fullscreen-login.html | 54 ---- mockup/images/romeo.jpg | Bin 12520 -> 0 bytes mockup/index.html | 27 -- mockup/main.js | 91 ------ mockup/mockup.js | 79 ------ mockup/modals.html | 186 ------------ mockup/modals.js | 17 -- mockup/overlayed-login.html | 74 ----- mockup/overlayed.html | 99 ------- mockup/sidebar.html | 12 - mockup/sidebar.js | 35 --- mockup/utils.js | 59 ---- 20 files changed, 10 insertions(+), 1779 deletions(-) delete mode 100644 mockup/chatbox.html delete mode 100644 mockup/chatbox.js delete mode 100644 mockup/chatroom.html delete mode 100644 mockup/chatroom.js delete mode 100644 mockup/controlbox.html delete mode 100644 mockup/controlbox.js delete mode 100644 mockup/fullscreen-login.html delete mode 100644 mockup/images/romeo.jpg delete mode 100644 mockup/index.html delete mode 100644 mockup/main.js delete mode 100644 mockup/mockup.js delete mode 100644 mockup/modals.html delete mode 100644 mockup/modals.js delete mode 100644 mockup/overlayed-login.html delete mode 100644 mockup/overlayed.html delete mode 100644 mockup/sidebar.html delete mode 100644 mockup/sidebar.js delete mode 100644 mockup/utils.js diff --git a/CHANGES.md b/CHANGES.md index e0b9e4ce3..ef5712195 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -26,6 +26,7 @@ Soon we'll deprecate the latter, so prepare now. - #2006: fix rendering of emojis in case `use_system_emojis == false` - #2028: Implement XEP-0333 `displayed` chat marker - #2101: Improve contrast of text in control box +- Removed the mockups from the project. Recommended to use tests instead. - The API method `api.settings.update` has been deprecated in favor of `api.settings.extend`. - Filter roster contacts via all available information (JID, nickname and VCard full name). - Allow ignoring of bootstrap modules at build using environment variable. For xample: `export BOOTSTRAP_IGNORE_MODULES="Modal,Dropdown" && make dist` diff --git a/docs/source/theming.rst b/docs/source/theming.rst index ddab51532..822cd3f6f 100644 --- a/docs/source/theming.rst +++ b/docs/source/theming.rst @@ -34,17 +34,6 @@ However, when developing or changing the theme, you'll want to load all the unminified JS and CSS resources as separate files. To do this, open http://localhost:8000/dev.html instead. -Mockups -======= - -Converse contains some mockups in the ``./mockup`` directory against which you -can preview and tweak your changes. - -The ``./mockup/index.html`` file contains the most comprehensive mockup, while -the other files focus on particular UI aspects. - -To see it in your browser, simply open: http://localhost:8000/mockup - Modifying the HTML templates of Converse ======================================== @@ -63,6 +52,15 @@ To generate the CSS you can run:: make css +Testing your changes +======= + +The recommended way to test your changes is to run the tests that are part of the Converse source code. +By executing ``make test`` you'll run all tests (which live in the ``spec`` folder) which will open a browser window in which tests are processed. + +You can run a single test by changing ``it(`` to ``fit(`` so that only that one test runs. Then you click the "debug" button in the browser when the tests run. After the test has run, the opened chats will still be visible. + + Creating dist files =================== diff --git a/mockup/chatbox.html b/mockup/chatbox.html deleted file mode 100644 index 8ff9d5b14..000000000 --- a/mockup/chatbox.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - Converse.js Mockups - - - - -
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
Juliet Capulet -

On the balcony

-
-
-
-
- - -
-
- -
-
-
This is an info message
-
This is an error message
- -
- -
- - Romeo Montague - 15:31 - -
-
- He jests at scars that never felt a wound. -
-
-
- -
- -
-
- -
-
- -
- -
- -
- - Romeo Montague - 15:31 - -
-
- But soft, what light through yonder window breaks? -
-
-
- - -
- -
-
- -
- -
- - Romeo Montague - 15:31 - -
-
- It is the east and Juliet is the sun! -
-
-
- -
- -
-
- -
- -
- - Romeo Montague - 15:31 - -
-
- Arise, fair sun, and kill the envious moon, -
-
-
- -
- -
-
- -
Romeo Montague is busy
- -
- -
- - Juliet Capulet - 15:31 - - -
-
- O Romeo, Romeo! wherefore art thou Romeo? Deny thy father and refuse thy name; -
-
-
-
- -
-
- -
- -
- - Juliet Capulet - 15:31 - - -
-
- Or, if thou wilt not, be but sworn my love, And I'll no longer be a Capulet. -
-
-
-
- -
-
-
- -
- - -
-
-
-
-
-
-
- - - - - - - - - - - - - - - - diff --git a/mockup/chatbox.js b/mockup/chatbox.js deleted file mode 100644 index fbb28d543..000000000 --- a/mockup/chatbox.js +++ /dev/null @@ -1,20 +0,0 @@ -/*global Backbone, _, window */ -const ChatBox = Backbone.NativeView.extend({ - el: '.chatbox:not(.chatroom):not(#controlbox)', - - initialize () { - this.render(); - }, - - render () { - const xhr = new XMLHttpRequest(); - xhr.open('GET', 'chatbox.html', true); - xhr.onload = () => { - var parser = new DOMParser(); - var doc = parser.parseFromString(xhr.responseText, "text/html"); - this.el.innerHTML = doc.querySelector('.chatbox:not(.chatroom):not(#controlbox)').innerHTML; - window.renderAvatars(this.el); - } - xhr.send(); - } -}); diff --git a/mockup/chatroom.html b/mockup/chatroom.html deleted file mode 100644 index 2d4a9437e..000000000 --- a/mockup/chatroom.html +++ /dev/null @@ -1,536 +0,0 @@ - - - - - - Chatroom Fullscreen - - - - -
- -
-
-
-
-
-
-
-
- -
-
-
-
-
Capulet's orchard
-

Two households, both alike in dignity, In fair Verona, where we lay our scene.

-
-
- - -
-
- -
-
-
-
-
- -
- -
Romeo Montague has entered the room
- -
-
- - - **Romeo Montague - - looks around -
-
- -
- -
-
- Romeo Montague Developer - 15:31 -
-
-
-
He jests at scars that never felt a wound.
-
-
- -
-
-
-
- -
-
- -
- -
Juliet has entered the room
- -
- -
-
- Romeo Montague - 19:36 -
-
-
-
But, soft! what light through yonder window breaks?
-
-
- -
-
-
-
-
- -
-
- Romeo Montague - 19:36 -
-
-
-
It is the east, and Juliet is the sun.
-
-
- -
-
-
-
- -
- -
-
- Romeo Montague - 19:36 -
-
-
-
Arise, fair sun, and kill the envious moon, Who is already sick and pale with grief
-
-
- -
-
-
-
- -
- -
-
- Juliet Capulet - 19:43 -
-
-
-
O Romeo, Romeo! wherefore art thou Romeo? Deny thy father and refuse thy name; Or, if thou wilt not, be but sworn my love, And I'll no longer be a Capulet.
-
-
- -
-
-
-
- -
- -
-
- Romeo Montague - 19:36 -
-
-
- Uploading file: juliet.jpg, 120kb - -
-
-
-
- -
- -
-
- Juliet Capulet - 19:45 -
-
-
-
- - - -
-
-
-
-
- -
- -
- - Romeo Montague - 19:36 - -
-
-
- By a name - Show more -
- -
-
- -
-
-
-
- -
Mercutio has entered the room
-
Topic set by Mercutio
-
- Converse.js: The latest release is 3.3.4. Please be patient if your questions aren't answered immediately. We're all in different timezones. -
- -
- -
-
- Mercutio - 19:49 -
-
-
- I mean, sir, in delay We waste our lights in vain, like lamps by day. -
- -
- -
-
-
-
- -
- -
-
- Mercutio - 19:49 -
-
-
- Take our good meaning, for our judgment sits. Five times in that ere once in our five wits. -
-
- -
-
-
-
- -
- -
- - Mercutio - 19:49 - -
-
- True, I talk of dreams, Which are the children of an idle brain, Begot of nothing but vain fantasy, Which is as thin of substance as the air And more inconstant than the wind, who wooes Even now the frozen bosom of the north, And, being anger'd, puffs away from thence, Turning his face to the dew-dropping south.
-
- -
-
-
-
- -
Romeo Montague is typing
- -
-
▼ You have unread messages ▼
-
-
    -
  • -
  • -
- -
-
- -
-

Occupants:

-
- - -
- -
    -
  • -
    -
    -
    -
    -
    - Juliet Capulet - - Owner - Moderator - -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Romeo Montague - - Moderator - -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Lady Montague -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Mercutio - - Visitor - -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Lord Montague -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Friar Laurence -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Tybalt -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Paris -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Lord Capulet -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Benviolo -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Lady Capulet -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Balthasar -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Escalus, Prince of Verona and then some - - Admin - Moderator - -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Peter -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Abram -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Sampson -
    -
    -
  • - -
  • -
    -
    -
    -
    -
    - Gregory -
    -
    -
  • -
-
-

Features

-
    -
  •  Password required
  • -
  •  Public
  • -
  •  Open
  • -
  •  Persistent
  • -
  •  Non-anonymous
  • -
  •  Unmoderated
  • -
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - diff --git a/mockup/chatroom.js b/mockup/chatroom.js deleted file mode 100644 index 4bc004f1f..000000000 --- a/mockup/chatroom.js +++ /dev/null @@ -1,20 +0,0 @@ -/*global Backbone, _, window */ -const ChatRoom = Backbone.NativeView.extend({ - el: '.chatroom', - - initialize () { - this.render(); - }, - - render () { - const xhr = new XMLHttpRequest(); - xhr.open('GET', 'chatroom.html', true); - xhr.onload = () => { - var parser = new DOMParser(); - var doc = parser.parseFromString(xhr.responseText, "text/html"); - this.el.innerHTML = doc.querySelector('.chatroom').innerHTML; - window.renderAvatars(this.el); - } - xhr.send(); - } -}); diff --git a/mockup/controlbox.html b/mockup/controlbox.html deleted file mode 100644 index 7a565dff1..000000000 --- a/mockup/controlbox.html +++ /dev/null @@ -1,222 +0,0 @@ - -
-
- - Romeo Montague - - - -
-
- - Online - -
-
- -
-
- Announcements -
-
-
- - -
-
-
- -
-
- Groupchats - - - -
-
- -
-
- -
-
- Bookmarks -
- -
- -
-
- Contacts - - -
-
-
-
- - -
-
- - - -
-
-
- -
-
- - Contact Requests -
    -
  • - The Nurse - - -
  • -
  • - Friar Laurence - - -
  • -
-
- - - - - -
- - Friends - -
- -
- - Ungrouped - -
- -
- - Pending Contacts -
    -
  • - An Apothecary - -
  • -
  • - Abram - -
  • -
-
-
-
- diff --git a/mockup/controlbox.js b/mockup/controlbox.js deleted file mode 100644 index d4596c9a8..000000000 --- a/mockup/controlbox.js +++ /dev/null @@ -1,24 +0,0 @@ -/*global Backbone, _, window */ -const UserPanel = Backbone.NativeView.extend({ - el: '.controlbox-pane', - - initialize () { - this.render(); - }, - - render () { - const xhr = new XMLHttpRequest(); - xhr.open('GET', 'controlbox.html', true); - xhr.onload = () => { - this.el.innerHTML = xhr.responseText; - this.modals = _.map(this.el.querySelectorAll('[data-toggle="modal"]'), (modal_el) => - new window.Modal(modal_el, { - backdrop: 'static', // we don't want to dismiss Modal when Modal or backdrop is the click event target - keyboard: true // we want to dismiss Modal on pressing Esc key - })); - window.renderAvatars(); - window.initSpoilers(); - } - xhr.send(); - } -}); diff --git a/mockup/fullscreen-login.html b/mockup/fullscreen-login.html deleted file mode 100644 index fecd6863c..000000000 --- a/mockup/fullscreen-login.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - Login Fullscreen - - - - - -
-

inVerse

-
- -
-
-
-
-
-
-
-

inVerse

-

Open Source XMPP chat client

-

Translate into your own language

-
-
- -
-
-
- - -
-
- - -
-
-

-
-

Don't have an XMPP account?

-

Click here to register.

-
-
-
-
-
-
-
-
-
- - diff --git a/mockup/images/romeo.jpg b/mockup/images/romeo.jpg deleted file mode 100644 index 2a74e495fe4d58226adc829dcfa4c3158340e421..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12520 zcmb8URa9J2)2`dySmW;2H0~N)8h4lA?rtGLf(3VXch>+RSRlB&1SeR4-~obe@_qlm z$3B;*#=NVw)>s$wt$ORJm*tl&0G5J`ybJ*N8Z1B-0N`a6APIm2f&QJ>fPXy*U<3qs zcmxzABt$S83K|+J3Mwi(1`ZZF1~vvNDi#42HZC4MK0X>IArS!{5e^eKsW>dBGStb02_;xeESD<%m^(Lau%qXEYd9a9C5>l@y@wuz(g?1&y1eaEy z-%zAi|1`)LYr)=B5~nsFOXYB8I#DQ$63mV;wmH;56~*$fk#HL*)c?VpD=eq7D6`(a zHTlj})}OeFK;Ecyr@cHZaW~I*J$Ulkzt_J(pt-O$Pr)K@w&{-22+5*g^an;J`@^2rYQ zbXfAe=lT{}6-o0m9|{Y@#Y;YR5Qjzn2Q*ZTg;{J{nKRJ9> zCf(sr(BZ!C-*{D2GiiHneeb<lg{ofenh+cb@&Pi^1|n~1m7Yo2%PmN^^LeG{Pza~@7NH&V)zno z?R>*H)jZ(>Tysr(3MEfbI|VA9DjK!z*wVj2 zIPOFrtvAyAIuXO6VP|;omf!6f;fKiKDcb%GrxeR{nrXyvqFCJQk2iWxz=J;riO6;} zMiTyE{^glPpvkH0=0#F1A$-hM9&b$>2ab^Usk)CHIx>*NzojBEC-FX46p=Ody5=P| zZ;kBUDm{^e0J61|7w8U)fie{e4mDK%LQxajURD@gRChK%NBATtA|$v}ZOheCh#^6Xj`! z=#VLK#G96ssaQ;Day}`}Q2|nWTU+`zi4GC1F!e*lEQ-;^&zz&kZa89JJIB>j6*kYr zF^<(-V7&Hkts5uG3mWt5li)2vh;G+aqhV7%lBk*l{nbOX z@AApGR#G$U4R;u{tV?g~c7E(oMHlN;b}0uk!sDKoA@} z009vj2bT(pgon>bP0J-NLG!9_@M}>3B7g$l4KD>-{@JCb$!=BVORPP*Sn_U(=C)Ag zHdp1bxzv&I*YB%3MIc81+#ov)eW&g0(KeFc`2wgQY=z})8*}z(x^k;^&&kgrsS!7{ zx_{Z>PNF)7uhmfCoBbinaEzsqe-a4t_|bD#kNmr7EOkQvAPRd(R0%b&IVNE4B6hSg zK|aOCp0~QqN~NMs6$Evo{`-wzdw1uee-zLD27XafU~<_2E$_i1aQS-(VJ-%B_|?q z7Uym@o*a7;nEWs?L@ld7zrJe!i^@S7X+TyfQBpQQp`K}TS|6EZU{QtGo%qgW!|4kw zSU_;cf9g)q+;=`1EF@ zh|VWaq??tcQwv8@F0AIM9etJc(;|2-Gy-j&u*>(IaO>y8*j(5l{-c-Y=O|@1yFw$K zD+z4tMQgmOw~-swa@5ZPf{~dRPEY!RZoleR;d3l{nB84=- ziuIWZEF$+)udPxR)*IXsHMk_Jb>b#-7$_Dh?=0q-?@rt%`L~=DH{C$bU(nO3kI|5t zLT-C16+$oubTcq>Iq5BN>O8(1-%pVC@+}x$d(xW zgp7s>$I8f|Z7S}#KvaudhE6e&{ktXErO8_q<#6#`Hdb_=XT1+H{!R~{8BJzoA<-xX zp5qVgj1f2vw{xlHtgGYnm8z{IR~^(5z5>;mMwOkL?!$2XB~raAv$Z>uq|)YHPLju9UCkaE9Vh zL$FPE>^5?j;oaMPSe3fOU$1ME1-L$)fxzqEm9V%y0aT@)jEd4LR!dg7O@e>u zMqilt(tI_cc>6dq$E%idzK*)h?3 zp>A>rvh@~xafQ6;rN5cqIqJym2V)0>v|2W>{#v5p{d`kL)1vK;u3n`#*EU;bce~Xc zH@2`;eHSfjPXQGlMw(@B_%LXWanfbXN;JeGQ}(k*7HOVzIO(J0Jh6+j!|nNU;<-2Y zXxvBeU~bi#w76N$>_9M|d{bNOUxj*gCqNJaJlw1G_#fZ#TB5Mwv2dt35pbbg5OH;C zGkk7||5T_~>mmjuHXn#4GEOz_KC?8trv9F{6M}Q#o4D-iIhC7oZd>^8GT}^ zr94R?^Rl2&y&pk;Bsft1brHOzxg5%q*hH@A9Io?r>s0nRVO_v=^mBGRB0Yja-7KfB zo>{3if7%`A!R-0^{Zcx(9M9f;S^j`ODMsEt#D(C!#ap|R7l4vA{$x(k2*$uw07hcC zr=5UUQx^Z);(M&)k5r1+NimT_L*{B!I$DeAol5U025cw`qiKgPrNNa8QI@Ru=8Vf8 zQNGEwlyf}@H!@wK&N3z5?Ie+>@+Gk~`s~Ry8tP@yHPd%fs9m-tDkTh>3(zvb>gA93 zCANASR{DauJ9Z9<@t{h7Is{a4K-i>LhA<;1}0bRtneXaC>yO|UxIC?qk;*#b;z5T%G zthX#jwpguAQpc*cJu=>70+abfHs}2Fd|sLSGtt|}P-Vlcl2N{ycBA89DT|*4)ksd6 zs{xi4=0%q{Eap^Ydf!(F#!%VJxiKD>bEkg|rRi4Hn&)(m(cSV4xJKd&Kn?o`pQW41 zf9Jk=j7X_76I(IUK1tEp{wNMjxw{Lb2lX{pMg3!;FsknA+=IcO_LeWw+}TiV3YG@4<aWwWjWp z$V}AEvoxCj_3oV4R78*Vj-OYMTZorTk!YdG+pyd7X=yYB?_gKL>yJcMa$~uh{`bqR zq&AjLh3QynhvdHU@3aKDd4^W1>sBLDsxoniI-VJ|hTDHs2KuM6`$zTkw`fLe<5_D-=K;`w zCc&8KlejiW%WU@yxt7fgL4NFVtFQ5}Ou5GH5e0^7*CTmC^azub>(8iG zpD#OyBh^Pmrt`Bux%2PS{pBsXceI^`XV})ln(x+{ng zSj?ASQnAJ5C)4pv|0a3!EJShU91ma3+;;7uu3S8qvz`=Eyyw_~XEZ}Dytf-d8%1L^ ze3uk#onE1K>pRvv7FA5W9k+5kdQY9D>}9#L-akO`kz$SW<}c|8J5-OMd%y`fBP+W0 zur7L4_?J3@zw%q%(1AC2^5P%3mbeuj8mHFBzl(A^70(;XtE_~*rI@;Br(<+C7#mzX z8Lw~t>~JLt}myqj)kn`>u)0?|puMjNOgHTNZ=XqZrO) z9XI#DVPyYt)(>nUGYF?$`?VrJG!9e0)oZY^q!{YvVvqeUi?F(v$WQWDa%kKw#xv~1 zex9VEY){kU`^|9COuai_?;)Xc_@R`NPMGy(h0I;fejT-pZ9?#{HDA_KTw}wfe&E`{ z-!NiiU`=k&Td0vGr*f?5u1YEDbhK55hEPYEcDH&p-dA;S(Rh3$c7Mpk*3Av??oOcf zcN31Kn5DV=Y>C-j_f_c8g9!*t| zBlt0Kq4zI=qfNa(h7Pq#XX@fSYx#v^(+dEZ&xj;LfsRIYNCXo%Hda82GUOKsY!c0wO#D z2LOEih;lqa0-22 z+Yr$2TKFRy^zerEQ2y8lxEZumVLnh@SpGrXeP0w6^ZA}(@!$eGuWSx|V1b4F45O9&Y2LyLzxDj6Z|3m`(KH$$h7g@P$fs!qXc z(<&+)ojyZ+P0TeMpQBBAVSIEqLnjqQbWG88EFkL8#F2cT?o2T>fs`K_Oy;HKPex+S zyH@j1{S{MNFgTTI)we$JTeUCMhzY|ESEHxu3NE3xs&vJkq`T{Md51f`kUYT`)35Js z3*fTc7s{%626eWnB%k`m|1#u;RSvI%DYtnjQGKW#Fc=p_@x6u6jATJ-mnIRue4E>c zSb+rCh*!PX8W|8b6JYPpL-&ZLRsn|Y?+c?WpNh7i)GJ!8h41z;-BH1;>$#I#B#$>F&ytgZTnMwJP{E+Y*36j=lYzl?Z^PeV6eYvkuC+eSHZTj zI~LFqQBr*zY1A)d;aMbVUjUSsdB@Fa7u*c|$5kYL?@$`Th5?=^`Fk42Z4nx}OB97f zrnZOp();n~sf>d+Hbr}UntoNK*aMWbKh~yj?SyW`YXSPd=C1fG(X13Fy0y#q4a)RS z9WaxT5NbRF2s~RJEhUw>s`lZ@F+vDm)%rq0Wq^4RuGMTi^*e?rv7#Jt)sAH9hIhM zc7(DU-@D+Cf@0Wx16L1JD!F{3Tt7o0LlQ0M3Aie92E(w1{YoK~;BCfm!ckYvN$PdG zK4B?|>%NqL%2_)nFL0G;*_BGEokin*#*f-F#`sheqv_LjpcPLCgTo6zBE5MH0_BYy zbrSTQdKZY?B4pv&oU(@~B^`JeC>bs_!|nD^$ULKDw_?&fPg_$p+o#{r)_zv>0=Okx ze!a<0X}4ikk^p9ArTdx(R_AN5H}xuIqBT5Vt8BI$0dI4jttq$_k336A8*vGaBn*Uz8{hxY}VAqNXC{bo%;=nfy?F}z4u$c>L4<$9_@Y{Dje zX(hoJvmK+(B3YG_Irv}iwX=66W}omL>)OUUBE|95Gcp(`aS|dNVLM+dW6ESX!nx|2 z52O0d7@gCFWJ(Qnev526o}vEH8X?fH)s>#$W-RV_f0MG`5-(gBig`JeXDJ~T@f*)q zO!lkM2{uWUmIx_ocPTD*m*?V57K!YV($tDzDN1lLa-%)u0yP6>3h_($+84@*n*L#@-^->{)m-U(zndtbVSTs^X+Ht_u{6F{tnCoOs>@$ZX&BI zoD48!@j@hbs({z>NBa*7{1*xQ4+nfjgjAfbmG8Ce6*l(HoL_AJFAxx;Lf=d6FD542 z0sEGt-@>~A%>i97KRlHh22~mq*pBoq+VU?bNHUCio<5h2h$T=c=ph2&-Fq97lkM6^ z-S{^?MV3#EI!Qn`mm0Q4wWgWDngFyI2LQ3hYQ(km7}eNFgHf$MkY`?+ zlEfW0c;E(x(oDxG9~A=KMen1|*?Lc@)-Y>gB#@AUP8Xj>QMGb?#sj}t-(m+5W{edL zkE79nNh27{hn5AxDWuxq0@iJ?(%#rf!% z>OS*W6{CaYeIZa3IRIj_>+rY0TLL*ZwwpEbZKsjVTX{1N5loK6VF^I^K0KB-w#$Yl z4qBqVGcIA^HxhzIU&>2t!Y{0YcCaQYPb!j{KDZ+g^|G1LcY=srse$RwoI#Li&U@GZ zn!Ra)ky;@DQCwUL^FuK`z#R+%jl+{-NA%6~cNy_fZf1tUxI?}ZyPAe*0u%!|ARx&I zZHj&(7GU3%NNiEk$X%s`2{vm#?3<&?e0)a7WYN1P*^P*`+gJx!h|~fm`VzN+cYi|y zW>XrJ=%Ze&oBUaRr6uul9}s>_Ab>v*4OjCD4jG4ISd+alL|dC&dbT*_k0I)#q);+y zBw9oT-Xao5zukm6O9ASv1q`0^2V(mzUxbL9t^he2l_v8ZUWDu?BI8b(g*E>oQWPUd zAcJ*&MZcv^&939KRhNE?)~_J?>d3GF0K+N^{fSkz9`62!K=>Or zM7TY?2t^m%7#{Qi=aZ5tcOmTKV;^0AyF4mUv<*j0()m5<<77B`#3(tr78dJtAA&ju z9WODKJ{M5b+>PwI5T&uViuKtleEU(V*pxxm%^bT8C@?eeas1dAIZs?#g8+eP_q{aw zbn7gQ+3k`Y42d?Dh?+d#_I_q%M(3k68kYF*4wCRRrE6HjREmICv_KS`$a_TfE#s5E zukNr$5SQ|Zb9E@ZoNxpp@^t~(VP5Gqc4BKy*k>dR4|8}D78tp~H;GBu0X%k6tvv%* zLKtoWKwUZskCNKB=m?C4*3JYI4@BkU3qxxPg3?8v9Usvme{!Wj)cRs=B?Fs;Ez5wX zjbk$m+g0KIruBwq353rFe!CH$PBpW&TSqkxA!PI$k8;g>qfZE%?5hsfvrsnP=0RuQ zXTZpG3!PhIW?+C$P_=r(!!i`a=+uLI-y*^Q+I=X9sbJwcxK@2(tf$H6f=~_$qy`&f zI6b$TKs^uev48%TAHx`GowuPwASjZ_=F)9t% z?RzabWEY%!g_LLt2qdGIKOq|_Hh~!UX_Bj6|v}c#d+z90K|28~oEF98nL{Tbh3fbimvR+9jxr zVOqjY6xB7u0+#YXl_epoTv2?)l}*tM_k5HJf)CeriQv zs0^zS$bzhqLX`!^ravJrjKIIKP~xKIb$Akj;W9P(u@YftPErzzhz}A9f$2 z!r2XY0U#p$vCE?ebCA)acoZoYsJ+FaW2@1UAQ8p|(X%X4rCRm_PPQVsSxI%MdglS2 zQ1glyRz%f)U;?sB3lR$P!1WMgmm6v<38AxYb`sDYi(s87B^U^yIM-#DMhqS^`TD8Q zQByq>XuU*K;Fww_!}78;#3%Oh5AG;cWK2btRoj>yrR1M*sNa9k)UDL<;w zo}5IJ&-fPkCRRa$;ifK0*jwG4xp=q37XZD{YUpL*H>~PtUa6y^SU8y~DiZzT2DtEy z>A)jt@2c(mRR+ZnF2m4xXPzCP1V;^U9;rRUK9Px)78!~k!yhP)nElL8q2sFXiAJU` zZ~@9(BEF9Hrb#1g(6kRB9u=(-^W=#5K4Lh^^tr#9E@GwEwnn-c6$m{s#Odt|3<>ly zeTvwc+xr_r%HVIPhw?okt@ws(q5|EGVv@rRs9PV5$7Zn4Vo!z=?Hf3!x?wu^;0|U# z0u?ra0#Vmq$+&+rgYH2TrBK^1=|GehfEkKR@>eflMv^U9w&N}xc7-RgxUhh6wsw5O zhT`SUlxn_@2nuA$j+3%hHzxqPO2Dgfl-fHw<9#V~RgfzBBGhJV^#$E4in;I$tP7!{ z;06p5a$AFKSyK!(v-k1tX_s2x1!E6HqD9AK%@YUuriuSi;xj9N>;r3wTQI(l5Pu7q zAcDRCItOUNO9R?p8{2<2S%81E39EnN*N7UmwQ>@=z*xA>PH%IFGQy#3i+q3?R;g?XEP@66igB&F`Lw)QIWS^{1GcYHq?c3|g13#zRv=WO@9 zqbc$eWP+D$N!N0bnZ8F`{6d~LvEK#)ar=5@jH@nXJ1(>aj;!Eo&ImHmLtgyzpctBMDj!MnqQkVHTJ(X-RsKjAGrSy83O{a|J$Uof_fVhXa3uw{}C}P zpWjny8Sv(OK~Ti}_rT4AF)u{_lIbFPiE(H-f1WJP)_7ix>sjk3NM(ao;$DxN1yVoc zc3O<`DNwQ-R}>fbNQ?^0!>ObA0=V<^xQVt&*|Wv*`=kf^mj|mGYaanx{F^ST-AhWH zbDs7(4$<~z{_l#Z2X~Ywj@O4zyKaMUgB*j7f+5$lvO8p4JnXu@XY+Mle-Iyb3yW8q zK~HtS@d*3GHzGZS^a~k2hmX{&7BrE7)yvOhET?>x|)3J{ZXfz9bJA}z5qsWa)@aQ zx&bic4&;@DAyJkV(dC0A3tG3}Q}3~))#2@xOaGeC&B%O$#8df%Nz~1L?xG*;W}>b< z?%Kk@=NCY$``Nc2MER;2ULM!1^pRfjJ+$^ln*QbI9&lq)Nuzh1oM;O-SGZ z_#u692>E$-+7FU>Df#Xl%aZ|I&$v9g!^n)8Yqd?5Z4zBjnIt>a+B%CF7ph}g zGBegt%*J%p7<7DJ_h@|C-}FG<6Rk$ydMDNJ7e&0ueq1aN4StjZEn^LnmFt)9!TCpO z`owM{G}B+rt(H$J&++pH+^BuuUH}*|yp#f1xx6mA?xHRTnO32}->v&p4^8>w zi9c!HjqL9&bCB!$s#qQ_Ynq=)+zNU!7F_oG^4S+7Hs=Mv>(|^- zn`C*=k9X-cmqpMxbY-4%gFJt*Uw-oo1}AAI z|0ZHjr600O=3iOgwgq>m%xY@z=j3I5xe|KkMzBS9=Px5S`-M*08ZGAs-Nqqfs^ zi*%I6DRIVlu<aenRq{Sop5#V&c7I_DyQuul|Aw*l^SQ5iPVi!&xC**=Dn` z>QDdUv$C*!^2a0kNFI3BOo_W+az1j_?AAKu54lT-_4AQOhvX4rn7H(cY&k7CowerS zhzhX)N0dfzaW)mDE|Bl3OAoIk_BXZ~uw#`}<|g+WR3Q`Ega*fOu;e z6>(*^vI@r0s(zo)^pnjC=18`=P`DVthk7(D`8ZbEw-+gZIM@mG9yy_tB+n z+9;WGybp?+bfMk@6Ub3~$j8G;6t(#(_uzSH4KGUsLn`sB-Doqth5Wj6c^lB*zIz?* zAwe?Lv{;`HmAav5SCI-?FwfXeVHV%fi{`1;F_NSY{>DGFa79Z0AD`&6h>xOCvtVI%&%q%rFp2Qm2)> zrxWv~+B6A6;Sy6^1vB)eX~)w#wr65AT>G=@tez0ru?e~GwcON@{P?>#=M_8|P=#z=S~k9Kbx33!%MZJ4 zI1#dy!at=G6kjLe>UJ)gII;4xxf$w)9qxss*Nt6wm`W>d>5U;LsPI9gEIgC%~Q-ADS1sRot@H;NnRC!y>k;kBxIJVUjFtzM=hE| z-my~X*AoWT=Df5|{ZX$p096cGtaHy&QZE>}T2vjGub}ND|l3D-Z3BM5Mj?2NyNfXIeIY^KE*cg z_~MfcFqnJE!6AV}uWI_*nt$#xRj9Xc#=)sCu}pQ0>lDDDNsk{C(8s~ZH$8+r4n9w)rH3* z7ucL_XN%_GDtAGd6La72^I$<$zu^tk-|cfkA*=D3Yz=r|oQs*k2a95jAK4tNb;hua ztFI!=L6bE8xHUa73~KzuCO?RQEK_RPRNKG)GfDp4-vRh!EKg@ndRMIGFF#KRenAlV z6aRb<;#xECqG!CmjfH@vtnpdDz5v?6M4@tyPfzEcIC9(&>pcd!B0=J#c^0|5=35Gp zN}oUQ`EB*qSo5Nrl=m2}t;4=C+%&``CVm^(u;;J^1j=0)d<(om${f6@h`c;w_MVP; z=!I&aFmH6($R&}OUm4`G?i54EsluSQ$!ZX)UqhR}V?NV_QZ(FUrIvs=i%4Ft?~RNm z9|Tb=fdZauFFu~-z%5g27m^ft z{6Zl?4o!8*3g_CYQ&WAW*I^p zFytiACb}Tzq43#oZIc}r5vTSrCe|=}Y*Ifnd-4*GX#hlEQq&#R z_(j|jIA?R_wmiZ+B;ic))5Kb(6BINff7}M8n}PJQ_Ip3irp7c+R|Ei-y(r*347gdzo}dSo|TA+ z?l=7oB)mJ*J&{Tq>_f<}V?v2&p~9h_1ljk=si%p^`_`;*wm~EX*>nT;RUC*F`Hw?z zFbG?;I(v25%?={97B;7=bL?UXQDf4;qh5Dmkv2))AtBaW+endm!>n0JF&n_q*k8q zvyXe@Y7zHBv^HJ<_3*oa7$9rRp%{XuZ>hXE7sTwlpV8FDM^#6n1`@C;h(~BKG6X*< z7mJnCr;0%!(3~+#oV65+SeU#x$dn>YMqW0r5!U?cffH5@m3QnscL3=J(atlZ1S8Jl z5syrS*U9%Xsf9=b(cO6H0YIAnv0Xk$8a-6cm?<3dPN_`GLbViXT} zbVUEl#U??6QPBLpNwJrOahODqa92j&Or(Vzt}p$AE-;I6g|}kOjeAmQA&(lGwUGHI z9HI<;gAyBkMtd$ltIJPXd>pI$y`TvCu}y?4se6V*(eB}KYaq4&Y48QG1|o3Fmer*c zyx(goHDu}CP{!p?EI4`rsDNO?)D7Rx$#V;m-=N8+zeoK9#qD%P34VPi#Z9S^o3LU8 zk*jWA5!>lY^r}vkVnBUA5i9T;v1uM%gQnI!2Y_~%^zSz;K)*2NpPmnM8&Zs#^W7ZZ z%>7_V{#kBvH~?#{{AAq`$;5935lsHykx)Odb)wh>kT)j9j*}>o>vRx7^FBr*XIy`D zgO)@<;BcG&u10H?+8R`Q_w?kj1VPOssd^Zbyrxe+ggou)Bg+NbnCuh7`KWRUA#vgw z_GQY`+of@J#JtO4|BHIt>M2J)8FqgWAWS1hne8kkKBDoISixRalkB zhCwM?P)S2WuLBa^gOx&^kP_DqTs-0>oOK`Rq|i&6UF&)%Ym^{)O;-kSJtD5`QZrId zeTwrpIcB(WthGakLa1ie$V=NppVQ?^a;4^x_TmeIpzO@Ce|$URWRxiqNblcGqQlae zl%zaeKFmUq1vq|FIwl~qkdEkzP!yLzu*_xp_1JGWaUf)1^hfU1baGZmAtxG5m+|{a zX=GvuLufAlan$*;F4yXlj~O`vky_k7_t%sIJe=l->JtK|zpUjevZ^x784$AQTM*=eQDyUy>}-kFjQX!n$v`=XH|KLn4mB zhdEYr1JE*E6_ofg_(K5swRb-e)B}Lu^Ecu=YT9gOEoT{m)gmn5e(jLn8olu-i)B$U7>W7qj^p@wAh zs72mB5lJS&hxMpn#uGDCN&FT|7r?#Zg+<;7W+;=R*^HfH;o{YXYih%AQ9fOo2wiw? zz<&heus<0RN(GxoEDiJ9MSz?9A99$v6xPjbyf%13)ZqvN&JO#gXB+Jhiw0QkO&bD> z$hsw#;1Q@0m|;hof1{>ZlxXEc&S`%NJ5XEAFSyOY`43Yix(qIl&^PIra$P^hD?(~P z*v5YYa_k~;)W1o&)Eirn2Xlxk2;M)KciESUaUL9CCqTws^q^LuFXkIFpREnj#;iDtsah+6^mYv^C9zl(fcE2{|Xr(|cU!zy~elzcl@}cmKxnwz| z9~xc@&!&G*jioyo<){2fBEWQ*OGEJCth8I;d@IbBA^_Ed#81qD>TF^&LX#-ynb(*BBf6K`_hHFW>7AXfY9&Jr#I5_I?F(M zGHAa4BqYj+&HQJM+HbfY_*Kgy=L=i7A9NLQIV(duQGKUBkyQvS8LzN?$H78>74dt-iw)*^L^-t=$5HtyumMG&vD_Gu8N7l&V_l{gl%#K0OzL!UI bN>BkBnC0ekKoWV@T0 - - - Converse.js Live Mockup - - - - - - -
-
-

Converse.js

-

Mockups

-
-
- - - - diff --git a/mockup/main.js b/mockup/main.js deleted file mode 100644 index f9fdbe212..000000000 --- a/mockup/main.js +++ /dev/null @@ -1,91 +0,0 @@ -// Extra test dependencies -config.paths.mock = "tests/mock"; -config.paths.test_utils = "tests/utils"; -config.paths.jasmine = "components/jasmine/lib/jasmine-core/jasmine"; -config.paths["jasmine-html"] = "components/jasmine/lib/jasmine-core/jasmine-html"; -config.paths["console-runner"] = "node_modules/phantom-jasmine/lib/console-runner"; -config.shim['jasmine-html'] = { - deps: ['jasmine'], - exports: 'jasmine' -}; -require.config(config); - -// Polyfill 'bind' which is not available in phantomjs < 2.0 -if (!Function.prototype.bind) { - Function.prototype.bind = function (oThis) { - if (typeof this !== "function") { - // closest thing possible to the ECMAScript 5 internal IsCallable function - throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); - } - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function () {}, - fBound = function () { - return fToBind.apply(this instanceof fNOP && oThis ? this : oThis, - aArgs.concat(Array.prototype.slice.call(arguments))); - }; - fNOP.prototype = this.prototype; - fBound.prototype = new fNOP(); - return fBound; - }; -} - -require([ - "jquery", - "converse", - "mock", - "jasmine-html" - ], function($, converse, mock, jasmine) { - // Set up converse.js - window.converse_api = converse; - window.localStorage.clear(); - window.sessionStorage.clear(); - - converse.initialize({ - i18n: window.locales.en, - auto_subscribe: false, - animate: false, - connection: mock.mock_connection, - no_trimming: true, - debug: false - }, function (converse) { - window.converse = converse; - window.crypto = { - getRandomValues: function (buf) { - var i; - for (i=0, len=buf.length; i - - - - - - - - - - - - - - - - - - - diff --git a/mockup/modals.js b/mockup/modals.js deleted file mode 100644 index d739c825b..000000000 --- a/mockup/modals.js +++ /dev/null @@ -1,17 +0,0 @@ -/*global Backbone, _, window */ -const Modals = Backbone.NativeView.extend({ - el: 'div.modals', - - initialize () { - this.render(); - }, - - render () { - const xhr = new XMLHttpRequest(); - xhr.open('GET', 'modals.html', true); - xhr.onload = () => { - this.el.innerHTML = xhr.responseText; - } - xhr.send(); - } -}); diff --git a/mockup/overlayed-login.html b/mockup/overlayed-login.html deleted file mode 100644 index bc5f74964..000000000 --- a/mockup/overlayed-login.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - Login Overlayed - - - - -
-

Converse

-
-
-
-
-
-
- - - - -
-
-
-
-
- - -
-
- - -
-
- - -
-
- -

Click here to register.

-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - diff --git a/mockup/overlayed.html b/mockup/overlayed.html deleted file mode 100644 index ca59af6bd..000000000 --- a/mockup/overlayed.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - Overlayed chats - - - - -
-

Converse.js

-
- -
- -
- - - - - - - - - - - - - - - - - - - - diff --git a/mockup/sidebar.html b/mockup/sidebar.html deleted file mode 100644 index b4a411e0c..000000000 --- a/mockup/sidebar.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/mockup/sidebar.js b/mockup/sidebar.js deleted file mode 100644 index dfd0830c9..000000000 --- a/mockup/sidebar.js +++ /dev/null @@ -1,35 +0,0 @@ -/*global Backbone, _, window */ -const Sidebar = Backbone.NativeView.extend({ - el: 'div.sidebar', - - events: { - 'click .hamburger': 'onHamburgerClicked' - }, - - initialize () { - this.render(); - }, - - onHamburgerClicked () { - const hamburger = document.querySelector('.hamburger'); - const converse_el = document.querySelector('#conversejs'); - if (_.includes(converse_el.classList, 'sidebar-open')) { - converse_el.classList.remove('sidebar-open'); - hamburger.classList.remove('fa-times'); - hamburger.classList.add('fa-bars'); - } else { - converse_el.classList.add('sidebar-open'); - hamburger.classList.remove('fa-bars'); - hamburger.classList.add('fa-times'); - } - }, - - render () { - const xhr = new XMLHttpRequest(); - xhr.open('GET', 'sidebar.html', true); - xhr.onload = () => { - this.el.innerHTML = xhr.responseText; - } - xhr.send(); - } -}); diff --git a/mockup/utils.js b/mockup/utils.js deleted file mode 100644 index cc8cdb76b..000000000 --- a/mockup/utils.js +++ /dev/null @@ -1,59 +0,0 @@ -/*global _, converse_utils */ -const u = converse_utils; - -window.renderAvatars = function (el) { - el = el || document; - const canvasses = el.querySelectorAll('canvas.chat-msg__avatar'); - _.each(canvasses, (canvas_el) => { - const avatar_url = canvas_el.getAttribute('data-avatar'); - if (!avatar_url) { - return; - } - const ctx = canvas_el.getContext('2d'); - const img = new Image(); - - img.onload = function () { - const canvas = ctx.canvas ; - const hRatio = canvas.width / img.width ; - const vRatio = canvas.height / img.height ; - const ratio = Math.min ( hRatio, vRatio ); - const centerShift_x = ( canvas.width - img.width*ratio ) / 2; - const centerShift_y = ( canvas.height - img.height*ratio ) / 2; - ctx.clearRect(0,0,canvas.width, canvas.height); - ctx.drawImage(img, 0,0, img.width, img.height, centerShift_x,centerShift_y,img.width*ratio, img.height*ratio); - }; - img.src = avatar_url; - }); -} - -function toggleSpoilerMessage (ev) { - if (ev && ev.preventDefault) { - ev.preventDefault(); - } - const toggle_el = ev.target, - icon_el = toggle_el.firstElementChild; - - u.slideToggleElement( - toggle_el.parentElement.parentElement.querySelector('.spoiler') - ); - if (toggle_el.getAttribute("data-toggle-state") == "closed") { - toggle_el.textContent = 'Show less'; - icon_el.classList.remove("fa-eye"); - icon_el.classList.add("fa-eye-slash"); - toggle_el.insertAdjacentElement('afterBegin', icon_el); - toggle_el.setAttribute("data-toggle-state", "open"); - } else { - toggle_el.textContent = 'Show more'; - icon_el.classList.remove("fa-eye-slash"); - icon_el.classList.add("fa-eye"); - toggle_el.insertAdjacentElement('afterBegin', icon_el); - toggle_el.setAttribute("data-toggle-state", "closed"); - } -} - -window.initSpoilers = function () { - const spoilers = document.querySelectorAll('.spoiler-toggle'); - _.each(spoilers, (spoiler_el) => { - spoiler_el.addEventListener('click', toggleSpoilerMessage); - }); -}