From c4dcb0f87d4475670045bcec8ece4453ec8c0430 Mon Sep 17 00:00:00 2001 From: Adrien Date: Sun, 5 May 2024 21:43:41 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Remove=20ChatsWindow=20and=20Con?= =?UTF-8?q?tactsWindow=20components?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/images/add_user.png | Bin 698 -> 0 bytes public/images/add_user2.png | Bin 1055 -> 0 bytes public/images/aerobutton_border_down.png | Bin 1948 -> 0 bytes public/images/ban_user.png | Bin 1104 -> 0 bytes public/images/brush.png | Bin 494 -> 0 bytes public/images/button_border.png | Bin 1820 -> 0 bytes public/images/button_border_disabled.png | Bin 221 -> 0 bytes public/images/button_border_focus.png | Bin 223 -> 0 bytes public/images/directory.png | Bin 755 -> 0 bytes public/images/games.png | Bin 864 -> 0 bytes public/images/letter.png | Bin 306 -> 0 bytes public/images/medias.png | Bin 853 -> 0 bytes public/images/news.png | Bin 430 -> 0 bytes public/images/phone.png | Bin 639 -> 0 bytes public/images/settings.png | Bin 388 -> 0 bytes public/images/status_away.png | Bin 6715 -> 0 bytes public/images/status_busy.png | Bin 6611 -> 0 bytes public/images/status_online.png | Bin 5743 -> 0 bytes public/images/tbc_transfert.png | Bin 323 -> 0 bytes public/images/webcam.svg | 1 - public/images/wizz.png.old | Bin 719 -> 0 bytes .../components/chats_window/chats_window.scss | 94 ---------- .../components/chats_window/conversation.rs | 87 --------- .../components/chats_window/conversation.scss | 113 ------------ .../components/chats_window/edit_section.rs | 52 ------ .../components/chats_window/edit_section.scss | 55 ------ src/ui/components/chats_window/interface.rs | 39 ---- src/ui/components/chats_window/mod.rs | 171 ------------------ src/ui/components/chats_window/navbar.rs | 50 ----- src/ui/components/chats_window/navbar.scss | 26 --- src/ui/components/contacts_window/contacts.rs | 26 --- .../components/contacts_window/contacts.scss | 6 - .../contacts_window/contacts_section.rs | 149 --------------- .../contacts_window/contacts_section.scss | 67 ------- .../contacts_window/contacts_window.scss | 84 --------- src/ui/components/contacts_window/mod.rs | 98 ---------- .../components/contacts_window/user_infos.rs | 76 -------- .../contacts_window/user_infos.scss | 63 ------- 38 files changed, 1257 deletions(-) delete mode 100644 public/images/add_user.png delete mode 100644 public/images/add_user2.png delete mode 100644 public/images/aerobutton_border_down.png delete mode 100644 public/images/ban_user.png delete mode 100644 public/images/brush.png delete mode 100644 public/images/button_border.png delete mode 100644 public/images/button_border_disabled.png delete mode 100644 public/images/button_border_focus.png delete mode 100644 public/images/directory.png delete mode 100644 public/images/games.png delete mode 100644 public/images/letter.png delete mode 100644 public/images/medias.png delete mode 100644 public/images/news.png delete mode 100644 public/images/phone.png delete mode 100644 public/images/settings.png delete mode 100644 public/images/status_away.png delete mode 100644 public/images/status_busy.png delete mode 100644 public/images/status_online.png delete mode 100644 public/images/tbc_transfert.png delete mode 100644 public/images/webcam.svg delete mode 100644 public/images/wizz.png.old delete mode 100644 src/ui/components/chats_window/chats_window.scss delete mode 100644 src/ui/components/chats_window/conversation.rs delete mode 100644 src/ui/components/chats_window/conversation.scss delete mode 100644 src/ui/components/chats_window/edit_section.rs delete mode 100644 src/ui/components/chats_window/edit_section.scss delete mode 100644 src/ui/components/chats_window/interface.rs delete mode 100644 src/ui/components/chats_window/mod.rs delete mode 100644 src/ui/components/chats_window/navbar.rs delete mode 100644 src/ui/components/chats_window/navbar.scss delete mode 100644 src/ui/components/contacts_window/contacts.rs delete mode 100644 src/ui/components/contacts_window/contacts.scss delete mode 100644 src/ui/components/contacts_window/contacts_section.rs delete mode 100644 src/ui/components/contacts_window/contacts_section.scss delete mode 100644 src/ui/components/contacts_window/contacts_window.scss delete mode 100644 src/ui/components/contacts_window/mod.rs delete mode 100644 src/ui/components/contacts_window/user_infos.rs delete mode 100644 src/ui/components/contacts_window/user_infos.scss diff --git a/public/images/add_user.png b/public/images/add_user.png deleted file mode 100644 index f13708a68cad30e6bad8155f922b4e6a8597eb24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698 zcmV;r0!96aP)5r00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0#8XqK~y+TjZ!~o z6Hyp{W4DG*p$I7=7^-L?fkvua1{-2&G)wRXu_42GQlytEdZEJ|NZ}BnZ}WnvmxAWV zl7m7$$j~be9un~lLT|jyxAl#;eZG6m(5cN2KEC(yzVG+_Md$Hke^oYqZ<6ifCcV46 zio$Y6#VAD$-G zmy%&>@-{RG!axMjghJMt5%WpyR4~Th(Q@ae-}I{daO$FWlar(?OttQ65R(|1d^34B z3u;&gIj9OEpZYM^ADp6VjjX%!W|38Ki3g??=)81OXv^0j;sh44MEP=176dY{nDC43 zfA0TF$FP8Ms62an)?9lh15)9HK= zgFJ@}lF&jyDdba~+O1Yg9goM1@gOhuMCODg(Cv1A7K_E{j%;07uYbhYANGgzU~mxe gTfmYe@dOC{2a`&ReU@?%?EnA(07*qoM6N<$f|}kuZU6uP diff --git a/public/images/add_user2.png b/public/images/add_user2.png deleted file mode 100644 index 82eea876f94ae4ecc0d1ad79f736ebaf880c5424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1055 zcmV+)1mOFLP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1GGs*K~zXf?Nm=_ z6jvC3#~g~?DAEXmYf!pKiGgkEdfGwJPNlSKVdEAPvUO!04eBcX8R=o>(9pF~n3NtS z80xg9Fa$z}TH;hI&LP-=D$GG)E+KOed>6@_;@&>L@6BvnZPO;=u|N3n=Dm6E_kHhs zzxUYdK-090rd^Y+&(1cc-FpV{@}#4bHLV|icO|o43n)B(y>V;qLGbwTQ_gt|aU26j zhWLHs(fs1r2|;3K=G9OFC6t%@6o7&SxYJYm&!7bt2wb=6ZK zhyzjIAojorbU>1}aB8a|HuX+a~QIz&T#T;nNG>97|=F(Y5Q+R<|=ih^@s9 zs9Flxekd{{0a0&cJM(s5B!KJ2CZ_&mtnyB(n?hrm_fBnft9A*j$N(R+cew**q(j54 zfUH;G`0?vhVIPRpKIhBsaf+&J7QGEOM1G`eym$A9F&XA1)G`y-PjTtpT_Zvxo z@eiWDp?#H_cGZ}ex#>TgpO2T8mRh&(Ka8hu{1IOHX~y~F$Ylj(GKtzhq0Vvx=eBqy zQvwx(G=m1V3e;vkdzM#wFQ&5ynS(=$qfOolwiHJsRxD<5Y*m-6t8iwAQBZTBI3*0A zV)j+|=sRga`XXCQ=OoyaFR`+?y{iK~0riQ`t@4i_#}!K!0TibK6|^ax%h9RB3&ZD! z52e%BjIP?ZHN%cf^sxsXckzI2a3Tw7i!tK(Tyt^o?BLp;g1S~OHSsXrmIGewqJxMY zTGAJ7LKmFag8I}DT9CbB!GA}lcD3Rfkt$qc@}}^L7c-yj4Sz7t6c@^?W zxj;47(J|zjW~hRJLP?+`APE~dPXEcmy$5@LNtgdO^7Xu0vLxXavL^YS+(Y+(0wuy~ zdLOFdz_%S;{FY)v-^(X^w341KAjtUPJCgzD+tS zqNn_pT}4awD_NjYk$7hS%3KipQnP?u4)8T{RfpZrHZX;CGj-2bg^+}(G*)bY-AWFZ z`m~GefsJ=@-bJ>N(IKzNNp0lVCRXascdG-#IdkvmfVpG;W@G&}*1&%JWo;#$uI;$5JpxpL55I_*+mV0Xo$M3nX;;2mPXK~wwqoY zG0nS>(n@L-qYx$(Ffs!)l6Fv*OF5tlC6y|fFwDSeP!oX@obGGG;Cirv+OjVDl zYOzA`C51oZv!Br$AA8Xh@ah zX!aqfGeWZh#R@d{02Eb?1WfS1U`Z6Bs-6PKXE_C8kkphIj+G)Q_|&ATBg2TD^Zxyy z&)2A{Q8|eYjBs5o77X|}n&&uzanL!sp^y+%3==3K4Ent|ijPBpLj%DZTSb#W{q0TvQG;9NwMWyLn6 z&do-pqWnv`jBX)FKCvF_Zd&Cd)XN4+Y_@QFmcUhoSyIMw6(a!Ax(Qxfv`PRX2KjAy zmn?4w2Hw)I}a>wAxTUHRQut%bnfVvWjrj2d!zT0i#8!g+m3Y)=`7Lcg=OeW-DtB`fDPd zpL;ij8V*yF*52sfvZ!Kd>)t)5%Jfmwk}KCts)$|muUH#!@458sj z@z$8R8$PzrJ9}nh<*^eV{JHq26^WCcKlXL^&A8fG{>uET_U>NWWyjdgb<~9Fx-XiN z9pBdsCE>ZHOYN&>l7}?Uz_xi^+^*|e15G;?AG!PbtG5@N+go;V(U-U81ReH){eyP~ zv!85hdB1n->_bogvheh{qpN0C&3eau*5SYN*@o~H*fQ;)eQ5dxXa7w3pV2?`%`xL2 zU7_}zoj?yfbvZk0>d?`9`-OL>)K02@c@1{FuWwY-^!FxDZEktAXeo6qdL QX8k{dfd>Ds+LfLE0?9y?`2YX_ diff --git a/public/images/ban_user.png b/public/images/ban_user.png deleted file mode 100644 index 1a679ed200178601f9cd85d8126c41af2e189318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1104 zcmV-W1h4yvP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1La9XK~zXf?Nw2T z8&wp2pDT!)wa7NO?q;_E$JkA>WYe9c3zJrknXh7ZX}Y9F1oRb9ra`8W5EHb z41SG@F#6-LP@E6Zf&L5>aSBpH5jzwiL&fbBY#k8O{9W&xeZ@-uQt-;UQ=xUG){{CS6F91Vc=is3lS!db9VWRbbDVjWV z{AOAjD>6V2I;lYY%=|TSgp^q7kZ2RG`qq>$Sv62m#OQW#RG@Ws^;SilInA=}2_yU) z1(R1fP_XVsSH;~o;hB$Wz1mATf#nPbP17>%kB{1o&krZEEv5pBD}#(SrF}WMeIjgY zZ3)^H?rNiM{@!>t?61}18_(C{Kc8Fit_wmFaD$BQE{wF!v`i;*B4)ic2*A!&OdoD`Q*TCw9S{opYZd|LyLpogo>>Zl3|?xfbPt|W_kk` z{KP{C(eTl(K{}=pIuI!`B(elu5qmT{X*38a7cjJJR{DNnzt=~Ra~x+O<-bmnX?-et zW~8RBv0@|jz8mB2G3c$P^T1Rfl0*ok8iXhitSo%{-7=YC9QX*3z46L|x3f4mcyoMQ zX3K<#uZcXZxsHyZt}#LtO!WS)(5@i83y~s$kHm(q!1jqo2&>D3=;=!EL#4toD$*?$ z(Qm0VwQ@5l-fwFrVB&MT|^9ThT6fkTQcMUjos%>9f zT0)VzL9bf%x3NT5@_D{L|9Jf6zI`#H$JNID4t;CN_}0);QSv(l=!s}_J6Qi3o&bAc zdIoH6Zt9vK(Is98;=|f|L`uwwe-l1-x4W%_-A05?^8TtP+5b`&h W9b#>b+}?2j0000^f diff --git a/public/images/brush.png b/public/images/brush.png deleted file mode 100644 index c5e2ff4cc1ed989ac2562efce96ea13e106c9437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0fR|IK~y+TosTg{ z!$1^<|FMH$6@+fatvCq#x>zV^2f>0% zaY;eJfP)<~cI)`OYj2dK`oZJ4`~UyFclZyE<4B!OXG>iFhG7^=5CmbX)tc05HCsF{ z2AiDj^?G3xMP!;LX`1#Tq{U!UeIB-LoAzXRS}vClgp^F9(WvsU=XsRR=SkOfM@Y#y zhnrh(?_beiFd#)ys8Xps2`Q1(Z3*?qv%rlc7%|-=@A@B41C@Ne1^qPap@| zaaSf$)1qNrr>>c$8yQmxCWt1Lrqqv2%zFzxDv=A%eFAF kjr!~?u%`!>{#=ZU2L{=h zOqMl?i`ht6lYyQ9+CflEO=xp^Anqvz?2h)?8FDrV>wfY|*b6 zSMq(w5QJ*A8m=l~;uZx-*L6XZ1zF}Pg7@mS4{E&a4R#q4*n_U+_!hC*fDz=$ydUGJ z(zXi~r$=jhoiNdW2{qsdQdkUJ>H;&F^`VtY5AFFA3)D(S?;VM~T;0LK6!yrx3-QDP zw*A4bF$8;ioq4z1@)SV3l|7)M2gEejbVs;*%O^L#{=BD`KuHC~rRL`RyIFDPovq-c)j&O;4Dbq-z>4hozwMsSN6F%JOKM>z%W71V7&y zl`Xbapay`!xrlKvC@(uR4Y;8%f*<3*a1jTEAAH~k)1 zSYQ3disb)Q-w7@(0lSE4s};DwA0cQ;?bHbW&01^iwg%RP)2$KIcq!aO6^c#3{ZEfuH^QR6E|2X|e?As?c&B9`FsQ=RYm%e*lzg)ZV89de8 zJbn7b?A3qP%=pibefY9FTDyGU#!n%*ynJ%(t>l--)`a1GjnLv&arDt2u0HtCo=4)L zr{0VO97-;^o z1&1E~J-O%WMq}d4`BXDG_}n{tn@daaS9TtM_3w*~zH7T0`GbF5zw*_u1BO3TOD_>5)e(zMlKL@4CO7n3jfyfrp33gxpu%;`$PDHWddHR8%jY z-H~*-?Y|fs8_)c@zlm2uLzf-d$ipvh_ox2RAyzgq0rn?Om1SjJJS{VsnS4ZMx3Km| zS!KOgv2bx)(Di@-MsHpQ<90FC|7z3r|Nke}dFq7moE-&?kF306Ll^&lzkk0g1KT?1 V-4?IsG6UVq;OXk;vd$@?2>^rbRr3G< diff --git a/public/images/button_border_focus.png b/public/images/button_border_focus.png deleted file mode 100644 index 83f333f5408079fe6056303d9277722e8e8e099a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RYmU+53hFJ6_|M~yl{_w(X|9{)p z-#G2SnUI{GuEDn@al_^5i7AYdJN_LBZEND-X5;2%^)5PVTln~3;RH+j`oDk9KM36T z;C~;t`M>%f9}hD<$tp7RusPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0*FaOK~y+Tg^@96 z)ld|MGj?ltmx2_#`GyW}%pmv%hb*mclAy~Sqf<(Ucaeg(iw%gHLXixmWRXUwlIrk+ zBE*`~P!%sN@>1K{3w@;l=_A|kNnSv(P!Ak9_i)d5{&SA@uL0T!0P^lQu-gQ_nrCM{ z4)pZ;%S8h^V>nte@_k$U{xKW&f6mLn;Zrp@TFRC5P^bWd{>Sb5`$aq7Urh@YqR6A6 zQ>-!%RdJOg!0Aq}{(jNU`){%$PpiUQ`Bdm44sD7lSHuMHF*yA6KR|?>x@M_^G~$SS zivW@Uq>P}K0}cpK%9aiRMAe-+HY_iK2z_J(e*gK|@yx@S>uh=IT3zuzzl`9L+e51mw4v_L_ZC;@h4!lwO{gtK1n$PufM#0Q~@rrkt9is?)DmA l-&q$QYA@q8$|XrM`3Hx^O2k6sBVhml002ovPDHLkV1jA2RR910 diff --git a/public/images/games.png b/public/images/games.png deleted file mode 100644 index 11cfa770986ada45c6e87f4ef3798bdcc70f0475..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 864 zcmV-m1E2hfP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0`*BmK~zXfy;U)6 z(?AsM$VSJGY;?mzCA{H*!K0T7kDiJrFUa7JGm4RuR6h)C( zyofNw^QhbX&C8cFK!m>UQ^qN&3xdYkqdok5*Qmu=hRc^-{e6p=&R@gp*vfK->}$n|^?z3m1Rwi0SZDVerUs&0{#nUBh#5+9C6B66H6 zUDt(yqA28tEsBzq49lY+j9A>Hhg#?K_lMAW+J(7K{g zyS+q;>IOM?Euw~j$4A$)ta1lINEWBa0liR|m|P1fGar=!iU`68rz9H;S@o9m`4Qlwih?d<@mzrc@TVJiQA>p9Mla) z9H}72l87GvVK;{Dak^T<=*#)}F&~J#Qff9jozmb+mIa=pCK%TlUnA0k=y8f%KNJQ}U%h=SrRD>lMy9gWY_4PcfGNk-oPr)mIX(Ewp$0JV z{FX3z`KEny!!5!Szd44e_=K{_v_aW)?#&Ii2qxzq9qda{TyzFE8oF8ITNU?`eD$Ak q3no>85jE<8w4on1Hl}-FW#tct<_Sv9H)K8l0000c3Ejb(C%hm0^Z=TC@-A5`z&7iSUbghTdw5|w^ zqfT0K%ANvF7DwC`JXcK=JH5H|O@5-Y)&_Aou}Ak-=uGf$WVfuzZRqJ}x>sq}nwsQj@O1TaS?83{1ORa>ZrA_- diff --git a/public/images/medias.png b/public/images/medias.png deleted file mode 100644 index b5db00b0de6100acd273682fef130da57d02cfbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmV-b1FHOqP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0_sUbK~zXf?Nm)@ z6G0T-V{aBcG=V}r=4K@z8=-Usl~G$=3yVt>Ts_nQ5f+ND;K4o4as2_eUK*j`QhSJh zH7eo?{^U?_DTVB%WRH8yt+_qt&1Ohan)HVr{opZ~eKX%T^Sw7w{$o#=rU{HOz;UmT z>pENa2i%}(8aR#%VVpocP9aKK5T`s^ZAf_FhK^ku#4SiUX^WG01yYg6b=0!N4bI$rVk-)a2$Ert7TMJ4 zvqf5iHww9Jn8$ULQX!yI9|#SgIQ#ONAQ}X;XmfMZGIb(I@znC|u>+uf43-d_*xW;Jg&2CTik$H74X6Y z+#mt!#c=ul$8FVk)ld|6Ob|<;fU2rMbZyVTby7exE8zH5@M@6|qJ9Fp6GCb3`F6h7 zHneDKYs=AzIkZhNkKHCMDwUVp`I&b*^8+E|26eDdgj+T`$@n4OjtK#25f*V+n_}Mc zJpLXWaf8xaCV;mB&!|s8bO-l%Seqib8^qvLBGBy`OzM@c4Lfk0tR)lE-!(Boi}(ZL zk5ujZ=ahjjmtk?;08}#oBFFlP z3cyHle!V~*tf@H5om*{>8@~@G(80*W^pb}D3XhA61^hTOzpk4PzeLufAL(`bQ$1H2 zT%SYX0{vWNwOG^$>r>FYf%Y8=r>2)&LaU%zRhZOFsl zc{ZIc^IY7(KuLMxL=P1sq3yNh?~6<>zxLU0^qFVFgmm-WA^$fm6Ug9FZZ&+ozQTX; zgR(n(+w3|O{2I6A{uaC!DYmDxLHogi=BX#Y$DC!c3_oa?tt*+lPb^~XiB*p8&R&?z z`s~ugcjtvJ-|hUe^REtvg+2RzSFa*nR*k96dU+zk5#mx4wuZYUWyNs+xE(F*?YMez z&V{Jp;OiQHLppx^EiQlSt|(!+Nhjdeg^h1lWJ+1>lX(#knxgRNOe=%(UDoY-%S)G< zZq{Kv%`WuoLx6w*FQfY@XbzFVV@(`8E(JC4 z=se(=#QKEGBKeqvFB@;2#)fMXAKLd$>@Tm->Iv#m>R0~sIkq9R`Fi}P>7k+T*}8qF UBt`Za0K=HU)78&qol`;+0PyUpFaQ7m diff --git a/public/images/phone.png b/public/images/phone.png deleted file mode 100644 index ce1af323749e519644d579ea9b8591a553a3e5df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 639 zcmV-_0)YLAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0u)I^K~zXf?NmKa z+fWqEPhseQn3!5`c%ZGTBJg50QiPIph%8kW78URcgUwKp2&y^-LBxl!)Jj-@)JQDe z$e4|c9zA-@Ke&D8@{BqZ^3jYO=_-!jedoM$-@Pt8V`zBixB9n}IM@tt647eY-?6@b zaku&7>SFc#^;?xb8p__e4x(1OL!E9yakoc76jP-hQZGqlq!h(nUPm6p{KKoV+CCT{ z!{#*2C`nU_J3Xq0G3gb-gm{K%zu)H^h>av9g6M%D%QEWp5+*U+I%!3lg-kafQw03} zKCjO%UAec`INnfH|Ar}AOjPt+OaKR5B0nU<_6a$-Bg1LB$bnE>=HM`)bj~8;36Z(7 zr-Nu(GdOHndp~UR#$|u^w@Q0};dm}YP&(Wh4rSLPvYrwFUX~merQlPdBr+_~cy!a3 z=4FKP!cE>314V$vwNra>t-+yQJqoA!)3sRyE<$!v-QJ#4%aZ{_P)-CIW4M;Zt@`JpA)n$rW|+iUL5VH)bTK5d9zEadl_a&E4nNI7jT8SdROvSROJKQsUU002ovPDHLkV1hS089D#} diff --git a/public/images/settings.png b/public/images/settings.png deleted file mode 100644 index 6a23c2ba6705539e0e5e27f47795b4251a15779a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 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 K@$Cg{?Ee7n6cpJ2 diff --git a/public/images/status_busy.png b/public/images/status_busy.png deleted file mode 100644 index 471ff6b7f9d838ed4cf8a5b764998092e31f51d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6611 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 diff --git a/public/images/status_online.png b/public/images/status_online.png deleted file mode 100644 index dd53972613883cc7148060c0ea2565556e3d227b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5743 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 diff --git a/public/images/tbc_transfert.png b/public/images/tbc_transfert.png deleted file mode 100644 index 4ec8570333091c9e1c92a0bd5289f4ba070256a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!5f|~jv*HQcPFhCYH|>1tz=mo=xfI|(c_3D z^F$97DRZGtmq&d^xBldCdvvV#H(NO0ozNMqTVKtzOniTSdwG46{iTn)CU@QvuCd71 zmzk##l-*Qm8G1+6D>@+8+sm4xeLmN0(a>EgnOR*|kF_&Qn4KbKV8X3+tH;kuIa6AG z6U%`UCk|$Wg?+0`*DG$Ap{2ZsQ-OVlVZ&klg$kGD8PvWrJ{COAkgoTdaS`(l<$?+U zJPz-T!SeR}*`D?yZe)jRj@{ P{m9_y>gTe~DWM4fFcfn< diff --git a/public/images/webcam.svg b/public/images/webcam.svg deleted file mode 100644 index 7c3f49d..0000000 --- a/public/images/webcam.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/images/wizz.png.old b/public/images/wizz.png.old deleted file mode 100644 index d7b1d5d0765b3ad71df28650daaa4a2df48411b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 719 zcmV;=0xPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0%S=>UmrOhvemex4J8nF zvI-?!zz|b{qotsR8am#n?fU+wJ6D$6qz8}pbh`Kbr+23(=8mnciit$8*Q*SNJN5HV z>#xr~y8AH16Pm+2vuq~k+OZlw_wPQ~?IRuxTEUorN#to22U;az=10Cx`mR3zPN-^oV-){}g*r_j0tEbX=5J4 z;Kjn~{oU@ezZb&aS#JfG-!_}c*P2uWjk*EbRKy6_d59z@D-t=#&9lH3JQ-$Sc+_=# z=t@N(02+%6x*04|Y`%o%B?Qxy4Y8809v`kq@iKpOUwAbP(u3 zh)jTDE5NZ4;22-gcQkVIEO_BQej`O~$F=^~*{yvXrWKe0nKM8PQHWas6}cL@c^3P7 z8*PPJSl* zmAzJ=SfZcb*V?%288B~u;cPL1VFb4<%<#Y6rv+<2AHVg{0R>kcIo$iNX}ZaQxS zk|ReWw{*zGYkG0f^G387e=DE>$+n|M9ZyFuJbp$DLu_{+Qx0-V*A%tN{~Yj_N1M%< zt{sa|x$KS^m@5mORpc-nISelTXc+%$6=(xW63o^+2e&()e7?C=%#32QiwS_A2)ATv z1jZaUyW{_8cBN5h*H@=6L$qjgRv2Q;-Q2E)_yf#p)?`A9Rr>${002ovPDHLkV1nr^ BMos_# diff --git a/src/ui/components/chats_window/chats_window.scss b/src/ui/components/chats_window/chats_window.scss deleted file mode 100644 index 10200ef..0000000 --- a/src/ui/components/chats_window/chats_window.scss +++ /dev/null @@ -1,94 +0,0 @@ -@import "../../_base.scss" - -.chats-window { - height: 100%; - width: 100%; - - $horizontal-padding-margin: calc((2*100%)/1980); - - .tabs { - height: 2%; - width: 100%; - - display: flex; - flex-flow: row; - overflow-x: scroll; - - &::-webkit-scrollbar { - height: 0px; - } - - .tab { - height: 100%; - flex-grow: 1; - padding: 0 $horizontal-padding-margin; - - display: flex; - - button { - height: 100%; - width: 100%; - - display: flex; - flex-direction: row; - align-items: center; - - $clamped-horizontal-padding-margin: clamp(5px, $horizontal-padding-margin, $horizontal-padding-margin); - margin: 0 $clamped-horizontal-padding-margin; - padding: 0 $clamped-horizontal-padding-margin; - - white-space: nowrap; - - background-color: #EFF9F9; - border: $border-style; - - $radius: calc((6*100%)/1980); - $clamped-radius: clamp(6px, $radius, $radius); - border-radius: $clamped-radius $clamped-radius 0 0; - - font-size: $font-size; - - img { - height: $icon-size; - aspect-ratio: 1; - } - } - } - } - - .chat { - height: 98%; - width: 100%; - - background-color: #ECF6F9; - - .header { - height: 7%; - - border: $border-style; - - .info { - height: 45%; - display: flex; - flex-direction: column; - - padding-left: 2%; - - background: linear-gradient(180deg, #BFE3EB, #DEFBFE); - - font-size: $font-size; - - .room-name { - margin: 0; - margin-top: 1%; - font-weight: bold; - } - - .room-topic { - margin: 0; - color: darkgrey; - } - } - } - } -} diff --git a/src/ui/components/chats_window/conversation.rs b/src/ui/components/chats_window/conversation.rs deleted file mode 100644 index e3c5f31..0000000 --- a/src/ui/components/chats_window/conversation.rs +++ /dev/null @@ -1,87 +0,0 @@ -use dioxus::prelude::*; -use log::error; -use matrix_sdk::ruma::OwnedRoomId; - -use super::edit_section::EditSection; -use crate::base::{sync_messages, ROOMS}; -use crate::ui::components::avatar_selector::AvatarSelector; -use crate::ui::components::icons::DownArrowIcon; - -turf::style_sheet!("src/ui/components/chats_window/conversation.scss"); - -#[component] -pub(super) fn Conversation(room_id: OwnedRoomId) -> Element { - error!("Conversation {} rendering", room_id); - - let _sync_message_coro: Coroutine<()> = - use_coroutine(|_: UnboundedReceiver<_>| sync_messages(&ROOMS, room_id)); - - - rsx! { - style { {STYLE_SHEET} }, - - div { - class: ClassName::CONVERSATION, - div { - class: ClassName::ROOM_EVENTS, - ul { - li { - class: ClassName::ROOM_EVENT, - div { - p { - class: ClassName::TITLE, - "MON POTE says:" - }, - p { - class: ClassName::CONTENT, - "Coucou mon pote", - }, - }, - }, - }, - }, - div { - class: ClassName::OTHER_AVATAR_SELECTOR_CONTAINER, - div { - class: ClassName::AVATAR_SELECTOR, - AvatarSelector {}, - }, - div { - class: ClassName::WEBCAM, - img { - src: "images/webcam.svg" - }, - }, - div { - class: ClassName::ARROW_ICON, - DownArrowIcon {} - }, - }, - div { - class: ClassName::HOLDER, - "••••••" - }, - div { - class: ClassName::EDIT_SECTION, - EditSection {}, - }, - div { - class: ClassName::MY_AVATAR_SELECTOR_CONTAINER, - div { - class: ClassName::AVATAR_SELECTOR, - AvatarSelector {}, - }, - div { - class: ClassName::WEBCAM, - img { - src: "images/webcam.svg" - }, - }, - div { - class: ClassName::ARROW_ICON, - DownArrowIcon {} - }, - }, - }, - } -} diff --git a/src/ui/components/chats_window/conversation.scss b/src/ui/components/chats_window/conversation.scss deleted file mode 100644 index ca1ae3a..0000000 --- a/src/ui/components/chats_window/conversation.scss +++ /dev/null @@ -1,113 +0,0 @@ -@import "../../_base.scss" - -.conversation { - $padding-top: 2%; - - height: calc(93% - $padding-top); - - padding-left: 2%; - padding-top: $padding-top; - - display: grid; - grid-template-columns: 75% 25%; - grid-template-rows: 70% 1% 29%; - cursor: pointer; - - .holder { - display: flex; - justify-content: center; - align-items: center; - - grid-column: 1; - grid-row: 2; - - color: darkgrey; - } - - .room-events { - display: flex; - flex-flow: column; - justify-content: flex-start; - - border: $border-style; - background-color: #FFFFFF; - - ul { - margin: 0; - padding-left: 0; - } - - li { - list-style-type: none; - } - - .room-event { - display: flex; - flex-flow: column; - justify-content: space-between; - - padding-top: 1%; - - font-size: $font-size; - - .title { - margin: 0; - } - - .content { - margin: 0; - padding-left: 2%; - } - } - } - - %selector-container { - aspect-ratio: 1; - - grid-column: 2; - - display: grid; - grid-template-columns: 10% 15% 50% 15% 10%; - grid-template-rows: 80% 20%; - - .avatar-selector { - grid-column-start: 1; - grid-column-end: 6; - aspect-ratio: 1; - } - - .webcam { - grid-column: 2; - grid-row: 2; - - aspect-ratio: 1; - } - - .arrow-icon { - grid-column: 4; - grid-row: 2; - - svg { - path:last-child { - fill: black; - } - } - } - } - - .other-avatar-selector-container { - @extend %selector-container; - - grid-row: 1; - } - - .my-avatar-selector-container { - @extend %selector-container; - - grid-row: 3; - } - - .edit-section { - grid-row: 3; - } -} diff --git a/src/ui/components/chats_window/edit_section.rs b/src/ui/components/chats_window/edit_section.rs deleted file mode 100644 index 3400783..0000000 --- a/src/ui/components/chats_window/edit_section.rs +++ /dev/null @@ -1,52 +0,0 @@ -use dioxus::prelude::*; - -turf::style_sheet!("src/ui/components/chats_window/edit_section.scss"); - -pub fn EditSection() -> Element { - rsx! { - style { {STYLE_SHEET} }, - - div { - class: ClassName::INPUT_AREA, - - div { - class: ClassName::BUTTONS, - - button { - "😀" - }, - - button { - "😉" - }, - - button { - "😴" - }, - - button { - "🔊" - }, - }, - - textarea { - class: ClassName::EDIT, - placeholder: "Type your message here...", - }, - - div { - class: ClassName::CMD_BUTTONS, - - button { - class: ClassName::SEND_BUTTON, - - "Send" - }, - - button { - "🔎" - }, - }, - }, - } -} diff --git a/src/ui/components/chats_window/edit_section.scss b/src/ui/components/chats_window/edit_section.scss deleted file mode 100644 index 97c94b6..0000000 --- a/src/ui/components/chats_window/edit_section.scss +++ /dev/null @@ -1,55 +0,0 @@ -@import "../../_base.scss" - -.input-area { - height: 100%; - width: 100%; - - margin-bottom: 2%; - - .buttons { - $padding-top-bottom: 0.5%; - - height: calc(10% - ($padding-top-bottom * 2)); - padding-left: 2%; - padding-top: $padding-top-bottom; - padding-bottom: $padding-top-bottom; - - display: flex; - flex-direction: row; - align-items: center; - - border: $border-style; - background: linear-gradient(180deg, #F5FDFF, #E3ECF0, #F5FDFF); - - button { - @extend .aeroButton; - height: $icon-size; - - padding: 0; - margin: 0; - margin-right: 2%; - - font-size: larger; - } - } - - .edit { - height: 80%; - // Remove border from width - width: calc(100% - 2px); - - padding: 0; - margin: 0; - } - - .cmd-buttons { - height: 7%; - display: flex; - flex-direction: row; - justify-content: flex-end; - } - - .send-button { - width: 15%; - } -} diff --git a/src/ui/components/chats_window/interface.rs b/src/ui/components/chats_window/interface.rs deleted file mode 100644 index 8595910..0000000 --- a/src/ui/components/chats_window/interface.rs +++ /dev/null @@ -1,39 +0,0 @@ -use std::cell::RefCell; - -use matrix_sdk::ruma::OwnedRoomId; -use tokio::sync::broadcast::error::SendError; -use tokio::sync::broadcast::{channel, Receiver, Sender}; - -#[derive(Clone)] -pub enum Tasks { - ToggleRoom(OwnedRoomId), -} - -pub struct Interface { - sender: Sender, - receiver: RefCell>, -} - -impl Interface { - pub fn new() -> Self { - let (sender, receiver) = channel::(32); - Self { - sender, - receiver: RefCell::new(receiver), - } - } - - pub(super) fn receiver(&self) -> &RefCell> { - &self.receiver - } - - pub fn toggle_room(&self, room_id: OwnedRoomId) -> Result> { - self.sender.send(Tasks::ToggleRoom(room_id)) - } -} - -impl Default for Interface { - fn default() -> Self { - Self::new() - } -} diff --git a/src/ui/components/chats_window/mod.rs b/src/ui/components/chats_window/mod.rs deleted file mode 100644 index 3549f18..0000000 --- a/src/ui/components/chats_window/mod.rs +++ /dev/null @@ -1,171 +0,0 @@ -mod conversation; -mod edit_section; -mod navbar; - -pub(crate) mod interface; - -use std::cell::RefCell; -use std::collections::{HashMap, HashSet}; - -use dioxus::prelude::*; -use log::{debug, error}; -use matrix_sdk::ruma::OwnedRoomId; -use tokio::sync::broadcast::Receiver; - -use crate::base::{sync_rooms, ROOMS}; -use crate::domain::model::room::Room; -use crate::infrastructure::messaging::matrix::requester::Receivers; -use conversation::Conversation; -use navbar::Navbar; - -use interface::{Interface, Tasks}; - -turf::style_sheet!("src/ui/components/chats_window/chats_window.scss"); - -#[derive(Props, Clone, PartialEq)] -pub struct ChatsWindowProps { - pub receivers: Receivers, - pub interface: Signal, -} - -fn render_rooms_tabs( - by_id_rooms: &GlobalSignal>>, - displayed_room_ids: Signal>, -) -> Vec { - let rooms_ref = by_id_rooms.read(); - let displayed_room_ids = displayed_room_ids.read(); - rooms_ref - .values() - .filter(|room| displayed_room_ids.contains(room.borrow().id())) - .map(|room| { - let room = room.borrow(); - let room_name = match room.name() { - Some(room_name) => room_name.clone(), - None => room.id().to_string(), - }; - rsx!( - div { - class: ClassName::TAB, - button { - img { - src: "/public/images/status_online.png", - }, - "{room_name}", - }, - }, - ) - }) - .collect() -} - -fn render_rooms_conversations( - by_id_rooms: &GlobalSignal>>, - displayed_room_ids: Signal>, -) -> Vec { - let rooms_ref = by_id_rooms.read(); - let displayed_room_ids = displayed_room_ids.read(); - rooms_ref - .values() - .filter(|room| displayed_room_ids.contains(room.borrow().id())) - .map(|room| { - let room = room.borrow(); - let room_id = room.id(); - rsx!(Conversation { - room_id: room_id.clone() - },) - }) - .collect() -} - -async fn handle_controls( - receiver_ref: &RefCell>, - mut displayed_room_ids: Signal>, -) { - loop { - let result = receiver_ref.borrow_mut().recv().await; - match result { - Ok(task) => match task { - Tasks::ToggleRoom(room_id) => { - error!("ON TOGGLE ROOM {}", room_id); - let mut displayed_room_ids = displayed_room_ids.write(); - match displayed_room_ids.take(&room_id) { - Some(_) => { - error!("{} room already dispayed... close it", room_id); - } - None => { - error!("{} room isn't dispayed... open it", room_id); - displayed_room_ids.insert(room_id); - } - } - } - }, - Err(err) => error!("{}", err), - } - } -} - -pub fn ChatsWindow(props: ChatsWindowProps) -> Element { - debug!("ChatsWindow rendering"); - - let receivers = &props.receivers; - let interface_ref = &props.interface; - - let displayed_room_ids = use_signal(HashSet::::new); - - let sync_rooms_coro = use_coroutine(|rx| { - to_owned![receivers]; - sync_rooms(rx, receivers, &ROOMS) - }); - sync_rooms_coro.send(true); - - let _: Coroutine<()> = use_coroutine(|_: UnboundedReceiver<_>| { - to_owned![interface_ref, displayed_room_ids]; - async move { - let interface = interface_ref.read(); - let receiver = &interface.receiver(); - handle_controls(receiver, displayed_room_ids).await - } - }); - - let rendered_rooms_tabs = render_rooms_tabs(&ROOMS, displayed_room_ids); - let rendered_rooms_conversations = render_rooms_conversations(&ROOMS, displayed_room_ids); - - rsx! { - style { {STYLE_SHEET} }, - - div { - class: ClassName::CHATS_WINDOW, - - div { - class: ClassName::TABS, - {rendered_rooms_tabs.into_iter()}, - }, - - div { - class: ClassName::CHAT, - - div { - class: ClassName::HEADER, - - div { - class: ClassName::INFO, - - p { - class: ClassName::ROOM_NAME, - "MON POTE", - }, - - p { - class: ClassName::ROOM_TOPIC, - "LE STATUT A MON POTE", - }, - }, - - Navbar {}, - }, - - {rendered_rooms_conversations.into_iter()}, - }, - }, - } -} diff --git a/src/ui/components/chats_window/navbar.rs b/src/ui/components/chats_window/navbar.rs deleted file mode 100644 index ee463ab..0000000 --- a/src/ui/components/chats_window/navbar.rs +++ /dev/null @@ -1,50 +0,0 @@ -use dioxus::prelude::*; -use log::debug; - -turf::style_sheet!("src/ui/components/chats_window/navbar.scss"); - -pub fn Navbar() -> Element { - debug!("Navbar rendering"); - - rsx! { - style { {STYLE_SHEET} }, - - div { - class: ClassName::NAVBAR, - - button { - style: "background: url(/public/images/add_user2.png) center no-repeat", - }, - - button { - style: "background: url(/public/images/directory.png) center no-repeat", - }, - - button { - style: "background: url(/public/images/phone.png) center no-repeat", - }, - - button { - style: "background: url(/public/images/medias.png) center no-repeat", - }, - - button { - style: "background: url(/public/images/games.png) center no-repeat", - }, - - button { - style: "background: url(/public/images/ban_user.png) center no-repeat", - }, - - button { - class: ClassName::FLEX_RIGHT_AERO_BUTTON, - style: "background: url(/public/images/brush.png) center no-repeat", - }, - - button { - class: ClassName::FLEX_LAST_BUTTON, - style: "background: url(/public/images/settings.png) center no-repeat", - }, - }, - } -} diff --git a/src/ui/components/chats_window/navbar.scss b/src/ui/components/chats_window/navbar.scss deleted file mode 100644 index 64b5596..0000000 --- a/src/ui/components/chats_window/navbar.scss +++ /dev/null @@ -1,26 +0,0 @@ -@import "../../_base.scss" - -.navbar { - height: 55%; - padding-left: 2%; - padding-right: 2%; - - background: linear-gradient(180deg, #A9D3E0, #F0F9FA); - - display: flex; - flex-direction: row; - align-items: center; - - button { - @extend .aeroButton; - padding-right: 2%; - } - - .flex-right-aero-button { - margin-left: auto; - } - - .flex-last-button { - margin: 0; - } -} diff --git a/src/ui/components/contacts_window/contacts.rs b/src/ui/components/contacts_window/contacts.rs deleted file mode 100644 index af1efca..0000000 --- a/src/ui/components/contacts_window/contacts.rs +++ /dev/null @@ -1,26 +0,0 @@ -use std::rc::Rc; - -use dioxus::prelude::*; -use log::debug; - -use crate::ui::components::contacts_window::contacts_section::{ - filter_people_conversations, filter_room_conversations, ContactsSection, -}; - -turf::style_sheet!("src/ui/components/contacts_window/contacts.scss"); - -pub fn Contacts() -> Element { - debug!("Contacts rendering"); - - // TODO: Test overflow - // TODO: Add offline users ? - rsx! { - style { {STYLE_SHEET} }, - - div { - class: ClassName::CONTACTS, - ContactsSection {name: "Groups", filter: Rc::new(filter_room_conversations)}, - ContactsSection {name: "Available", filter: Rc::new(filter_people_conversations)}, - }, - } -} diff --git a/src/ui/components/contacts_window/contacts.scss b/src/ui/components/contacts_window/contacts.scss deleted file mode 100644 index 25af475..0000000 --- a/src/ui/components/contacts_window/contacts.scss +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../_base.scss" - -.contacts { - height: 72%; - background-color: white; -} diff --git a/src/ui/components/contacts_window/contacts_section.rs b/src/ui/components/contacts_window/contacts_section.rs deleted file mode 100644 index 83fc4e3..0000000 --- a/src/ui/components/contacts_window/contacts_section.rs +++ /dev/null @@ -1,149 +0,0 @@ -use std::cell::RefCell; -use std::rc::Rc; - -use dioxus::prelude::*; -use dioxus_free_icons::icons::io_icons::IoChevronDown; -use dioxus_free_icons::Icon; -use log::debug; - -use crate::base::{CHATS_WIN_INTERFACE, ROOMS}; -use crate::domain::model::room::{ByIdRooms, Room, RoomId}; -use crate::ui::components::chats_window::interface::Interface as ChatsWindowInterface; - -turf::style_sheet!("src/ui/components/contacts_window/contacts_section.scss"); - -fn ContactsArrow() -> Element { - rsx! { - style { {STYLE_SHEET} }, - Icon { - icon: IoChevronDown, - }, - } -} - -static NO_NAME_REPR: &str = "No name"; -static NO_SUBJECT_REPR: &str = "No subject"; - -pub(super) fn filter_people_conversations( - by_id_rooms: &GlobalSignal, -) -> Vec> { - let by_id_rooms = by_id_rooms.read(); - - let mut filtered_rooms = Vec::>::with_capacity(by_id_rooms.len()); - - for room in by_id_rooms.values() { - let is_direct = room.borrow().is_direct().unwrap(); - if !is_direct { - filtered_rooms.push(room.to_owned()); - } - } - filtered_rooms -} - -pub(super) fn filter_room_conversations( - by_id_rooms: &GlobalSignal, -) -> Vec> { - let by_id_rooms = by_id_rooms.read(); - - let mut filtered_rooms = Vec::>::with_capacity(by_id_rooms.len()); - - for room in by_id_rooms.values() { - let is_direct = room.borrow().is_direct().unwrap(); - if is_direct { - filtered_rooms.push(room.to_owned()); - } - } - filtered_rooms -} - -// TODO: Handle errors -fn on_clicked_room(room_id: &RoomId, chats_window_interface: &GlobalSignal) { - let _ = chats_window_interface.read().toggle_room(room_id.clone()); -} - -#[derive(Props, Clone)] -pub struct ContactsSectionProps { - name: String, - filter: Rc) -> Vec>>, -} -impl PartialEq for ContactsSectionProps { - fn eq(&self, other: &Self) -> bool { - self.name == other.name && Rc::ptr_eq(&self.filter, &other.filter) - } -} - -pub fn ContactsSection(props: ContactsSectionProps) -> Element { - debug!("ContactsSection rendering"); - - let contacts = props.filter.to_owned()(&ROOMS); - let contacts_len = contacts.len(); - - let mut show = use_signal(|| false); - - let classes = [ - ClassName::SECTION, - if *show.read() { ClassName::ACTIVE } else { "" }, - ] - .join(" "); - - let rendered_contacts = contacts.into_iter().map(|room| { - let room = room.borrow(); - - let topic = room.topic().clone().unwrap_or("".to_string()); - let name = match room.name() { - Some(name) => name.clone(), - None => NO_NAME_REPR.to_string(), - }; - let id = room.id().clone(); - let is_invited = room.is_invited().unwrap_or(false); - - let formatted = format!( - "{name} - {}", - if is_invited { - "Invited - ".to_string() - } else { - "".to_string() - } - ); - - rsx! { - li { - onclick: move |_| on_clicked_room(&id, &CHATS_WIN_INTERFACE), - img { - src: "/public/images/status_online.png", - }, - p { - {formatted}, - }, - p { - style: "color: darkgrey;", - {topic}, - }, - } - } - }); - - rsx! { - style { {STYLE_SHEET} }, - - div { - class: "{classes}", - - p { - class: ClassName::HEADER, - onclick: move |_| { - let state = *show.read(); - show.set(!state) - }, - - ContactsArrow {}, - - {format!("{} ({contacts_len})", props.name)}, - }, - - ul { - {rendered_contacts.into_iter()}, - }, - }, - } -} diff --git a/src/ui/components/contacts_window/contacts_section.scss b/src/ui/components/contacts_window/contacts_section.scss deleted file mode 100644 index 24b7531..0000000 --- a/src/ui/components/contacts_window/contacts_section.scss +++ /dev/null @@ -1,67 +0,0 @@ -@import "../../_base.scss" - -.section { - width: 100%; - font-size: $font-size; - - &.active { - ul { - height: 0; - opacity: 0; - } - - svg { - transform: rotate(180deg); - } - } - - .header { - height: 2%; - width: 98%; - display: flex; - flex-direction: row; - align-items: center; - cursor: pointer; - margin: 0; - margin-left: 1%; - padding-top: 1%; - font-weight: bold; - } - - ul { - height: 100%; - margin: 0; - overflow: hidden; - opacity: 1; - transition: 0.4s ease; - } - - li { - list-style-type: none; - cursor: pointer; - display: flex; - flex-direction: row; - align-items: center; - justify-content: flex-start; - - img { - height: $icon-size; - aspect-ratio: 1; - } - - p { - margin: 0; - } - } - - svg { - transition: 0.4s ease; - } - - .contact { - list-style-type: none; - margin: 0 auto; - text-align: left; - cursor: pointer - } -} diff --git a/src/ui/components/contacts_window/contacts_window.scss b/src/ui/components/contacts_window/contacts_window.scss deleted file mode 100644 index 26a8865..0000000 --- a/src/ui/components/contacts_window/contacts_window.scss +++ /dev/null @@ -1,84 +0,0 @@ -@import "../../_base.scss"; - -.contactsWindow { - width: 100%; - height: 100%; - - background-color: #ECF6F9; - font-family: "Tahoma", sans-serif; - - border: thin solid #707070; - border-radius: 8px; - box-shadow: 0 0 5px #00000050; - - - .header { - height: 10%; - width: 100%; - - .titleBar { - height: 60%; - width: 100%; - background: - linear-gradient(180deg, #7DC5E3, #3883A3); - } - - .userInfo { - height: 40%; - width: 100%; - background: - linear-gradient(180deg, #00658B, #0077A6); - } - } - - .contactsNav { - height: calc(31/1080*100%); - background: - linear-gradient(180deg, #00658B, #0077A6); - - .inner { - margin-left: 1%; - margin-right: 1%; - height: 100%; - display: flex; - align-items: center; - - .flexRightAeroButton { - @extend .aeroButton; - - margin-left: auto; - } - } - } - - .search { - height: calc(38/1080*100%); - width: 100%; - - border-bottom: thin solid #e2eaf3; - - .inner { - height: 100%; - width: 98%; - padding-left: 1%; - display: flex; - flex-direction: row; - align-items: center; - - .searchInput { - height: calc(23/38*100%); - width: 100%; - margin-right: 1%; - border: thin solid #c7c7c7; - box-shadow: inset 0 0 calc(3/1080*100%) #0000002a; - font-size: 8pt; - - padding-left: 1%; - } - } - } - - .footer { - height: 10%; - } -} diff --git a/src/ui/components/contacts_window/mod.rs b/src/ui/components/contacts_window/mod.rs deleted file mode 100644 index a5abe64..0000000 --- a/src/ui/components/contacts_window/mod.rs +++ /dev/null @@ -1,98 +0,0 @@ -mod contacts; -mod contacts_section; -mod user_infos; - -use dioxus::prelude::*; -use log::debug; - -use crate::ui::components::contacts_window::contacts::Contacts; -use crate::ui::components::contacts_window::user_infos::UserInfos; - -turf::style_sheet!("src/ui/components/contacts_window/contacts_window.scss"); - -pub fn ContactsWindow() -> Element { - debug!("ContactsWindow rendering"); - - rsx! { - style { {STYLE_SHEET} }, - - div { - class: ClassName::CONTACTS_WINDOW, - - div { - class: ClassName::HEADER, - - div { - class: ClassName::TITLE_BAR, - }, - - div { - class: ClassName::USER_INFO, - }, - - UserInfos {}, - }, - - div { - class: ClassName::CONTACTS_NAV, - div { - class: ClassName::INNER, - - button { - class: ClassName::AERO_BUTTON, - style: "background: url(/public/images/letter.png) center no-repeat", - }, - button { - class: ClassName::AERO_BUTTON, - style: "background: url(/public/images/directory.png) no-repeat center", - }, - button { - class: ClassName::AERO_BUTTON, - style: "background: url(/public/images/news.png) no-repeat center", - }, - - button { - class: ClassName::FLEX_RIGHT_AERO_BUTTON, - style: "background: url(/public/images/brush.png) no-repeat center", - }, - button { - class: ClassName::AERO_BUTTON, - style: "background: url(/public/images/settings.png) no-repeat center", - }, - - }, - - }, - - div { - class: ClassName::SEARCH, - - div { - class: ClassName::INNER, - - input { - class: ClassName::SEARCH_INPUT, - placeholder: "Find a contact...", - r#type: "text", - }, - - button { - class: ClassName::BUTTON, - style: "background: url(/public/images/add_user.png) no-repeat center", - }, - - button { - class: ClassName::BUTTON, - style: "background: url(/public/images/tbc_transfert.png) no-repeat center", - }, - }, - }, - - Contacts {}, - - div { - class: ClassName::FOOTER, - }, - }, - } -} diff --git a/src/ui/components/contacts_window/user_infos.rs b/src/ui/components/contacts_window/user_infos.rs deleted file mode 100644 index 6698c63..0000000 --- a/src/ui/components/contacts_window/user_infos.rs +++ /dev/null @@ -1,76 +0,0 @@ -use dioxus::prelude::*; -use log::debug; - -use crate::ui::components::avatar_selector::AvatarSelector; -use crate::ui::components::icons::DownArrowIcon; - -turf::style_sheet!("src/ui/components/contacts_window/user_infos.scss"); - -static MESSAGE_PLACEHOLDER: &str = ""; - -pub fn UserInfos() -> Element { - debug!("UserInfos rendering"); - - // let app_settings = use_atom_ref(cx, &APP_SETTINGS); - // let store = &app_settings.read().store; - - // println!("----------------------------------"); - // println!("UserInfos rendering"); - // // println!("store={:?}", &store); - // dbg!(&store.user_id); - // println!("----------------------------------"); - - // let user_id = store.user_id..as_ref().unwrap(); - - // let mut user_info_option = None; - let user_display_name_option: Option = None; - let user_display_name = "AIE"; - - // let user_id_option = &store.user_id; - // if user_id_option.is_some() { - // let user_id = user_id_option.as_ref().unwrap(); - // let user_info_option = store.user_infos.get(user_id); - // if user_info_option.is_some() { - // user_display_name_option = user_info_option.unwrap().display_name.as_ref(); - // } - // } - - rsx! { - style { {STYLE_SHEET} }, - - div { - class: ClassName::USER_INFO, - - div { - class: ClassName::AVATAR_SELECTOR, - AvatarSelector {}, - }, - - div { - class: ClassName::INFO_CONTAINER, - - div { - class: ClassName::USER_ID, - p { - class: ClassName::USER_NAME, - if user_display_name_option.is_some() { "{user_display_name}" } else { "AIE" }, - }, - p { - class: ClassName::USER_STATUS, - "(Busy)", - }, - DownArrowIcon {}, - }, - - div { - class: ClassName::USER_MESSAGE, - p { - // TODO: Handle user message - {MESSAGE_PLACEHOLDER}, - } - DownArrowIcon {}, - }, - }, - }, - } -} diff --git a/src/ui/components/contacts_window/user_infos.scss b/src/ui/components/contacts_window/user_infos.scss deleted file mode 100644 index 86f7efa..0000000 --- a/src/ui/components/contacts_window/user_infos.scss +++ /dev/null @@ -1,63 +0,0 @@ -@import "../../_base.scss" - -.userInfo { - position: relative; - height: 75%; - width: 99%; - top: -75%; - left: 1%; - aspect-ratio: 1; - z-index: 1; - display: flex; - flex-direction: row; - align-items: center; - - .avatarSelector { - height: 100%; - aspect-ratio: 1; - } - - .infoContainer { - display: flex; - flex-direction: column; - align-items: flex-start; - justify-content: center; - height: 100%; - width: 100%; - - .userId { - @extend .aeroButton; - - height: 30%; - width: fit-content; - display: flex; - text-align: begin; - align-items: center; - - .userName { - display: inline-block; - width: fit-content; - color: white; - margin: 0; - } - - .userStatus { - display: inline-block; - width: fit-content; - color: #B9DDE7; - } - } - - .userMessage { - @extend .aeroButton; - - width: fit-content; - height: 30%; - display: flex; - text-align: begin; - align-items: center; - margin: 0; - color: white; - } - } -}