From cb657d68488eb977daffa066f1f775d540a4dfe5 Mon Sep 17 00:00:00 2001 From: Will Hunt Date: Thu, 3 Apr 2025 14:25:19 +0100 Subject: [PATCH] Update report room dialog to match designs (#29669) * Rework for designs * Update report room position * lint * Improve test coverage --- .../e2e/right-panel/right-panel.spec.ts | 21 +- .../room-report-dialog-linux.png | Bin 0 -> 26881 bytes .../with-leave-room-linux.png | Bin 28739 -> 28738 bytes res/css/views/dialogs/_ReportRoomDialog.pcss | 5 + .../views/dialogs/ReportRoomDialog.tsx | 72 +++--- .../views/right_panel/RoomSummaryCard.tsx | 24 +- src/i18n/strings/en_EN.json | 6 +- .../views/dialogs/ReportRoomDialog-test.tsx | 22 +- .../ReportRoomDialog-test.tsx.snap | 60 +++-- .../right_panel/RoomSummaryCard-test.tsx | 34 ++- .../RoomSummaryCard-test.tsx.snap | 222 +++++++++--------- 11 files changed, 280 insertions(+), 186 deletions(-) create mode 100644 playwright/snapshots/right-panel/right-panel.spec.ts/room-report-dialog-linux.png diff --git a/playwright/e2e/right-panel/right-panel.spec.ts b/playwright/e2e/right-panel/right-panel.spec.ts index 44b051c987..12b188c9e3 100644 --- a/playwright/e2e/right-panel/right-panel.spec.ts +++ b/playwright/e2e/right-panel/right-panel.spec.ts @@ -136,13 +136,30 @@ test.describe("RightPanel", () => { }); test.describe("room reporting", () => { test.skip(isDendrite, "Dendrite does not implement room reporting"); - test("should handle reporting a room", async ({ page, app }) => { + test("should handle reporting a room", { tag: "@screenshot" }, async ({ page, app }) => { await viewRoomSummaryByName(page, app, ROOM_NAME); + await page.getByRole("menuitem", { name: "Report room" }).click(); const dialog = await page.getByRole("dialog", { name: "Report Room" }); await dialog.getByLabel("reason").fill("This room should be reported"); + await expect(dialog).toMatchScreenshot("room-report-dialog.png"); await dialog.getByRole("button", { name: "Send report" }).click(); - await expect(page.getByText("Your report was sent.")).toBeVisible(); + + // Dialog should have gone + await expect(page.locator(".mx_Dialog")).toHaveCount(0); + }); + test("should handle reporting a room and leaving the room", async ({ page, app }) => { + await viewRoomSummaryByName(page, app, ROOM_NAME); + + await page.getByRole("menuitem", { name: "Report room" }).click(); + const dialog = await page.getByRole("dialog", { name: "Report room" }); + await dialog.getByRole("switch", { name: "Leave room" }).click(); + await dialog.getByLabel("reason").fill("This room should be reported"); + await dialog.getByRole("button", { name: "Send report" }).click(); + await page.getByRole("dialog", { name: "Leave room" }).getByRole("button", { name: "Leave" }).click(); + + // Dialog should have gone + await expect(page.locator(".mx_Dialog")).toHaveCount(0); }); }); }); diff --git a/playwright/snapshots/right-panel/right-panel.spec.ts/room-report-dialog-linux.png b/playwright/snapshots/right-panel/right-panel.spec.ts/room-report-dialog-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..bfaf0e909ec6c6c2e41906d194c583a417101ef0 GIT binary patch literal 26881 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 Lw4atMzkK^Yt-w;{ literal 0 HcmV?d00001 diff --git a/playwright/snapshots/right-panel/right-panel.spec.ts/with-leave-room-linux.png b/playwright/snapshots/right-panel/right-panel.spec.ts/with-leave-room-linux.png index 931e9f949131540a40b7c4092e2f3603b6cf1723..febb73c23530515dfb14c57424bd2f00db471752 100644 GIT binary patch delta 9596 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 N6l6X~mrELb{eNP0$JYP= delta 9595 zcmYkBWl$YWw5|t-K+pg|f(LgA?(XjH!7Vsp@B|IPo#4K4cM0wi+=Ff;xWnZ;b#C1| zHB;3;W_ndmuU^mFZ})7#^lrdZDa$B_xrPlAP*b|;8#?OLcq5F$?kZ!cO`>%Zsld&O z(C+jT$-Gm8VN!XFI6%~vUtI0mJkR2Lk z`1?T`nablR#vqO&JU0I?t{j&R@0j~uF~dcKv+I$ldoYDn%jIeNC3_X<~6SD$ISd!DXw z_2pj{M-t-T;CMI%SvqPt70TwAy=iz@O;nASt!wVYJ`IkHkNCTNl%x$n)vl#x=DPcM}Jh4E-{^zwRf?PNWmkF=s0pj;*9>7aV}% zk;qrUMlc=TwN~2?C_wBZm|mpdT~Sc5qqrWrv;I}sG2`|^{9$Z#6flt3h)7s0!J2x7sqou$P<%T zgm~PR1PCOsqV`%7paM8)P+>Gpv$GkmGu1nD-e4 zhJt#(M|=n!f~Lj%59`n0lVvwZ=5@S1^K$)u8Dby-i<3MywGYWzyhoYZjC4M*H-cv_Tk^} zc(myZG8$OMcQ&2n0w(!wVOj;)&Y#c-4w^aX%*!g>rL&OjXpHec0j7I9%$&~sDM8IB zL{A7;scfnQxVF6w(UX+ij&pVo3=fg!#3aIuev*w>dlTSQPcewkE8wp*e&){&=?oho zS}DIHDZw2RJXZDeD@k!`QP;5P3k3iFC500_Nh9X)JE`wc!0xK(ptOt@eP9=N|9-FC^FFJHR#-zw*I3&ulA zOG)8ewOeXrX$LDR9CW>8W=myyuV%V96Oqh&g&rW>BGW9b}?q^mz$Z zoSPHAaebM}tH{%?boI>6RaSlNq1|8W&!4rNi<=eS@LqyD_o2||L~&&Iym{nu`O3$_ z^5h4%Z2Z|jYlr%86)g|j2*NEf@KNM_Y4&WMuL$4wKc@Y^eo+vla6h)0BC%IV#(0=JuRV|97}5RuErz1r!yuA&J5v;}H! zMPjJ}3J*>8+ln*yW+_giUC2FDJZQ}}<5qDsl%=&SD&s03MAR%t^{2$H-7OoQT$W&jg_)V&*IT8+ zoreGK#i{rQkmfbL^s(VW6{5>?70?ZSl=Q^VfM04u9I;P|2okk-(gqMyFcmT>d8Tcvd{I#bE_Ci?bH1lV&q)rW!_}MlEt(SoJ?C~vpO9AiV`IIoCNGt}YTeYPbtaG%>GQb_8+`lrfVt0isOxh8I~s}H$Kg6Umq{GuYi9C ze-^z_j?MRe872>DX>}*O_R@95}%o;5Z$R@u4vd-Dt*0sg8&%1ttY zCcF3Hm=wBrAZ&BL>d>odFuqtd>z4cW#{`JQ+jQ6Id0Qjan6r6~$PHy9X=Qlca2J&k z_Q@2>7IMP_hC3hD?j==OFnHY$6+n6{KV@NS$31g#T`{cIBJ1yjn3{>3{9IB8AP0^Q_V72x=5|mWoaIOK z<=gDq;$zlnRyxP`!EV%R;h=}8FzLFHarMdKb1TXi^|kE~oGlkEIbpplK8e3zBBq2U zttVWa{~+gk{9b65{h|}-+}%z877$VFW-r=vusUK?4-}vojN$iRe2$8KhIj-`d7PkX z9kcwj6&%L8|x>vIy#XPlMXHy#KR2VJB4QtCztCGkcjWl{6YmkcwNOtSJY%n#uLiW<4 zvEm0K;7%XlJyD96h_n4MDsFG?rnfvS{={rlL7BM$0s_rJ|)dt z7m0r@u=T8;q1TwcIAq7UGw4TX)i0=-4!=69V0c5XQ`knlCVyq*r6Ss?dJOKZf8$FY zlqEu)_VZTgS@Jdi(w(uds5%Af4Vh+UwhX_W0{vo??bV_}-~oJ)Tw`n{E?t+aC8X|06o;4rt+~eo`GX{kutEfkV#pJ`(v&uy%Jb5 z+4CX%ErZkgA(s;^AWO-92dauY4L$rV#^9pSp9+|`RipqLAX&s4y^q3{bj_{ZC}G+MKC<6#rGxADMk> zBMf%406-Ywqm}{u+Ma%g9ORXt8e{@nOnPiSoqoc)=toW@H#|O~5#JJZmyk=vUyIha z<`yDIs;^!(EPRVfFqF;LJ0@?|DAGddQ`xe&isgeXZUjeq|2VjiJdnww`%8cH;XHqT z{Th^xu^_0D@QiR9N=F|Gb?U!Ep>M2^XF7<3x3qDz8R$#QWvtXew1>&ISeAjO9-eOd zhNGQuWRR7>jvwCqwRP9x|H)`vjCmXS8p@tOA9uB21x(SjwcceUSFfrm;~mRJy*d9< z6XuxbB%jR}^t_423)@&%$H~bFhJ;p5GKGa!ezvnSXGJ?BA%F3CX^6IN^+OjJ^Nm@M z^Y&P7K_d{R5~P=*RoA#b30HPi1dXR%U}O{R-+V7db~a5sS-&elyN&#sQJ#{&C$~*U0>6Gv=+eef$ zetV|=r6oHo7>FFEZQZY<4aY6^Utj3`RIxxsE6>4kE`#spzL+yx4h4t})2Y${OG{Bx z@{zSQqdxzwMR+m5XDz&-m8BG#w$K!9=#;vYQFk@;@KQan9)2Y?jH|f1=$Yy5*SN5S zSfN!m_sL*o!)naaNL>Xis^D!{NTT$oIUYoGV$1HWb-xC=kL|~L({nkwCmgTizi{pl z*WA>c+{WbfDF1OUStC=_KkC{%_;~CYZo@@YV*hmTU%bvpa;OUrF=8;AZ&GqMkuzi_))R1WgV3wQm@It?Tys>g)n*peuo{GLz4}e_`Qv zz)pKOac52F^47nr;Yy`hHZP#9+q2k%y{@W~4%7h6R ziZ?{*>6@MX(i3uae0*#@j;F7O-e^*Neez)c5R>q%sVY-zF21Kg$bcE;cJV`IxN`b5 ze1Y)pr;7E1&4{aQvC&cVq;awlrL(wrZ%cv0dpAv06cpDr7*sf)22zeLQ<&4JGj z4o_4L7?NQ9?cMmx)yb-E?OsDegG}dB+HZ;nwUE+bgA-C+3EuWin~B1Nc?P+OWI6}2 z>6_m&3(9=-y`HvF(=X0OZ6S}VxiuDhEwgW0zlVI>>JVHY%IU;wCvo(+uzD+5pOS(} z73p`aTQ>N8$FLEdM1Y6WBK+hOgQN}ykgT7bovi|Oa)oA9G)WfKsrJU#vTJ_Ny#Ykj z<3C*bXzXTPpi;ScJst7rW1s)b&mN$-#Lu0lyBuM8d5AukAtWN2nc?_i_vTIH>+CIj zKeCtbFsk)a$`&fq&u;K_dbI?(&4yDJtNNP2-QnqJW&#zR+a0LA! z`AHALB-~+*Gqdfyn>|Ujp2);&+go*Jc}d(lZG4#o+(`|JmVUywlqsPLHTZCe2UpD97w1IDcAJYn${ zxbla-{SlnIS9!_~voTx35gD9h(81_nZ*LFU+qe1Yw$PI8U#8XqCbqV3fPo(%?`sxT zcC;*fV`mIZF8V~Ka}+&qMP^2D{9IAL+zI&1vsFz=I=%q*jFw$ z{Z-T8JBMaUf`QJus`mXYdX~#kE0I*X&qCV<$SFGRueg5}B=oz^@Fph7 z?%h^)@qKa>57sKX$~YL?JX`mt`TLF3|8esh>1#8jciVUT@{eu3=jmD|k4=r^OY_Ck zgN~fb-Jq{Ov-y{AZhcPW3&v{TeEFQMW-?CUKgrq||LOf}yN;TXUY{swTgh6ji<##| zzqP(Ad`-Oyt>v%Py9;LeF+7hJnGOHRMUwSbV~Dej79$S@`dmg`sy7892J$po960M#)F1P0iKlFF(eLe zfuC3m9RfdD%Hm)GLPLMwZK=PC**s%HeKobE0X6&Ti3b9q(=uE7f`UC%*Bi?|_`#B+ zCw~da)C{%8zIN&;XbpFx90XC6G>s;}VeB|Xhw^`^E2pc*jO0H!8v~O*Oo;aDIGZsafsW$QwJVnu2AmrH?j=$~x4IuDRIrWSRJ9{Vv zVCtX(CU)oFG&O5T!AG0dRwe_H2EFi0qtW{-3V?@~@3JGJkYea-U6;`Q6mFrEce@zM zE8k?*x;~0lP{S*|?#3jxELg}i-gWO@ADEYBVcKIQ=UaSCJdYWU7{=B$ACO8k(4%g2 zH3qS>+fHwPPe1u59oFPx^NyS66ji)XI(vD^KpQ@&+321%U-(|1=r^0`dhJg)!UlH= z{H#o0oYw7Nd7{(1X!dz(}t~K`B zm!p*KwEgzm_5@;^)!yj0+BHJRsmF}FZeD&w$&EsTm9{4f|37(G@j(7?%ds1oihZ6^ zh*xNc({{GIy7rxw=FG=daTJlCc^S#|9REg2te7ids33^gOY-{DQCGpJS?(W}l@eP9%9k{ykL?;&D zJa67BRL=ghFq_}XZ5LZ@gqvNO))wnM5-H0Kl5%5}B!PIuqdfDp|J-m)e5Q=UI@YD` zJ1a>469agRNoT)AJx^9(0%XT=Ff9Du0Bb@{N&a6^07j;7jSUT@8i%hdw_JzBaq=01 zR!%i8v+X!iW9uD19Uj003iARzg&xr#DHeB7)Ok0!u6mnH6}v-Bz}( zzfaWeA3MvcZ0#18-uj#3{dc24eqB$e%E-^9ZmnGs`6H}W{`)Lb?b3yXjB z$m9U)tM#{5^+T?N*k;CkY9WZL?*Nx0yf^j?U13xHy;TU>AONGahf5phQKw;u1Z-B6 zwE#a>lAKRFjn`S4XZ3tr-IRAnDE$4C$XlW@VS6*g7+zQ;lh+`OyJIye+#o8TXCb`) zBIR?s^-)tRX7?dNs1ee9A9-_Rta*_&5lJ*W-C2wLRPmmyYxaj`OZ82)z9Re!JJ#cf z*|YuY2ha7GVuqWHoMN0(P@wFTbXkwX`o3QEleR;VcIC5zq4>e4x-!V~y=cm4caCfR zF$Rfgy-g7({pZ&AH#0KnU@68h=@()pn`wNb4+qZM&JO${%R70E$>T4kQHnb$;hHcm zp3Dr(t(xivvHS}L7mAOT2jzBo_U^}ZhP*z$2annI4)g;GNl(|sB%kJ<2{%-D*>Z)L zAU?ScJ1GakptGF1x>2XuAB;Tv*Vj6KYOP&g8i`2wa-utrR5zu8v0sL5*?pJ)Sohj5 zUvLj47p|zoe6}UhV!Z!&g&l?A?_te3)KMDoHu;o=8+(kHJ}BwYe2g9dCTBnG_!aFa zRXOj7%n=y-pZ87~DZOJs%EByL#U7=`Dx?PK}opx8_=1yXhaMW z_s2;QPH+vli8}~hG5RCx6^tm+6)=T?+lmNA*FLcij6H&ZEV3P|IHD%yj>uF z=DTY5bi{CKjGe;uil#rgTbE6;y+{BVBN7%o2mqq*u}mb=Jlhm8lca!Oxpi=7aXFoN zFlbd;;x_tvh^6ik(`qJEC_c=tX31di5Sg8PSZN#czhnN7(fx7r-;~lFtrWS+*JjZG z0PRE~sqZm4lIBG7=NRw2$h&UrpTHFWtPE)p?Xt<{)-q9+v4H|;*zf{;J@6^OuV-*u z5t(2RK-5w3^V=Y_j?F_RSt;t0IARS!0VX|mW(B#{XCu6vchaeC@?`gOR8JQP;Ogdy z9roK&EM3FK)4O!;6?;u{>xcU|{n_JDfL&?s!XoFV=Qu<^us%W)^~H z1T4#@sMN)O^5-E`-zGjFXd0JHqjUE{DQn|plXl3kPj-sdKg@rItv{@reX!kc3!IS< zu%o@n_qkysqlt3fVFiE%D^xt}yP*hNm!+zqV9mK`>FHTD`9FaZJll(cH()rY;d`qr z(h{S4559rMk!uopJyR;Z27 zBZpP&PsJ2fEt#<9L!(${Q+NVEijdhwy*_jXH;^Xq;jn5@MGb3x!Mi-MA{0t{bz<9p zt1IsP!3m{*JIHvjMx&6V18n7M(?pR9Lh1F8)EA^{f1Sg%FXKW@?G#FhnCr+URB60s z`j;Gk`r^6CEkqET@bx?|-1ahcR`Gn7-je4FKi0vL6LNIXakA-&JW)Yy0vsMBr!*et zo~E6ySVAxl`vDlM$~W3n4o)SdCoO7Ml56d8@;59-wj~`?&2e`%A7x%#k#m%8L;XWO zkN&HjEcAFOEOpvYJ|w$*_ud~~3R#eg2lfA_1~F(=MOr_j#uQBxNvNDXuVLU&QG$SI z&ibSG-C|0s5-Yem_MMeYgZ#e}pT}aunFF`RdHc^5?NbV^)994(-CAr|y}|f`yEMO+mrswD^c%hT>*{qSE9=m}Rwo2bZSXAXsqAu-!qkQ$ z)ue-U!If~mX+2YF|5U6}w!DyI4_B5yp!EKoHrVThmL9}qeN7YNYaYawEw4i3H12dvZi0(iO8d|Bvt%QIq$vL*SQzKE}g4U zdjKY2?r>+cy3;#j_{wH&j$`epCG4(d&{mTNSn=`9OtL+2V}tbm8{FSpi`+et!~gp` zE$&KDnz?SP_GC)f=*2o`j^>TNom2W!r#%7TtV8@O57$qf2%a16|I&@!;2yG|g1WVW z_lC*cB<91xyJ>b6?=TfUxB6)`KUCcxd17=;OR#(E=4GksCCb7ya4R4>-hlPP7NLbj%ZtfbIoP> z$gs7$@-sdlqr9H~ZX`$>@@eOjW2`eVv>ogeqTR1mJw4MWT|Xk#EKf73kF{42 zUMl~Kri;mDmSZ{d=a!#$o&+;*lmdsR+k?~l4gWpPB?#}xD1Zv|;*G*dof4X|hTTmd z1oZcCJTaG+trWtTq!Gc?X@51sd7q~iRr7tFkKLb|Tv%@p|IQA#V7U@(=PBq2GRMm1 zp_tAQ6mI@RrsPSz5=ZJu$=X~U)*BK2wSUf_7K|5QZI->N^1eGjEa4@1AsxTh?QL}W zK>Z13`Z~2e+ojhYB+b9xnjkWT_0=B!?)``)$o+tXYgu%ffp9U%Q`VeM&2=tiqCm+O z-_GQb(sX8IZ?P&_@6Q6_-}6IX(tR&(Z~+mW3tte~RPYVJ`BHY|sX94ZdQ-$TtnfYM zKq0Ax_hWl%P5lzFwT&X6z>WV?ctXbJ^_SVd+N;hqKWC+5D9*aUqvU!+;oS#RzBlwrN)D%aBV_M_L#OkW)8QDs( zkJ38PTI3(G9vS_D=QnO;xgQE55v8b zs50An5fBLYSq~R~#A6jZXv%t~X%~7P2(9qdWI{XpoAZID5ni2rG2~W>vSM!hF95_6 z7vfHh_!FGPLN4mt%g00gm8bbaUK_P=G}f(393jxV60&vf^s zCWxYS>z(WVFG9WcGL4FTk$<|pMx*Mq$`As;X90%N{FjDJ}E&|5iyk2am8-tr}bVE}LwQP{xExD8!y-U(`9wubqKOgXa4O z#h|V2Adcovfq)NG#Ppa;r%gC)B3_&2~j-B+RNptw%3t_7jPb5oX?uNIG#B2-7Ba*bdqPV_n9{kcFg(a^~rp5ZoTbgS4%q1pvYQ(gK~_g9&_JJr$$OUbxXJ zxh78aI71f2n-Q>fgY={Adh8nful_1$Wl!20(^JeMJ#{9kEtlU-xeN#2^CyiY>r@!6 zxyO%MBEIKSDxU^hC zYT0?mx0!~UG_uC_KbyOIv6n^E#yqpv8ZPVsH6ht+R;(5`q&d_@AfJskg?&uPo`u=J rmCYO)kAL`V86Utx^nZ6__zN#cMp9`B%p&c?!0RO|sU!grGYR@XSmxWo diff --git a/res/css/views/dialogs/_ReportRoomDialog.pcss b/res/css/views/dialogs/_ReportRoomDialog.pcss index 7323ac65c9..fc9d087de1 100644 --- a/res/css/views/dialogs/_ReportRoomDialog.pcss +++ b/res/css/views/dialogs/_ReportRoomDialog.pcss @@ -13,4 +13,9 @@ Please see LICENSE files in the repository root for full details. border-radius: 0.5rem; padding: var(--cpd-space-3x) var(--cpd-space-4x); } + + label { + color: var(--cpd-color-text-primary); + font-weight: var(--cpd-font-weight-semibold); + } } diff --git a/src/components/views/dialogs/ReportRoomDialog.tsx b/src/components/views/dialogs/ReportRoomDialog.tsx index 23a8334f41..2204153c0e 100644 --- a/src/components/views/dialogs/ReportRoomDialog.tsx +++ b/src/components/views/dialogs/ReportRoomDialog.tsx @@ -6,7 +6,7 @@ Please see LICENSE files in the repository root for full details. */ import React, { type JSX, type ChangeEventHandler, useCallback, useState } from "react"; -import { Root, Field, Label, InlineSpinner, ErrorMessage } from "@vector-im/compound-web"; +import { Root, Field, Label, InlineSpinner, ErrorMessage, HelpMessage } from "@vector-im/compound-web"; import { _t } from "../../../languageHandler"; import SdkConfig from "../../../SdkConfig"; @@ -14,10 +14,11 @@ import Markdown from "../../../Markdown"; import BaseDialog from "./BaseDialog"; import DialogButtons from "../elements/DialogButtons"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; +import LabelledToggleSwitch from "../elements/LabelledToggleSwitch"; interface IProps { roomId: string; - onFinished(complete: boolean): void; + onFinished(leave: boolean): void; } /* @@ -27,27 +28,26 @@ interface IProps { export const ReportRoomDialog: React.FC = function ({ roomId, onFinished }) { const [error, setErr] = useState(); const [busy, setBusy] = useState(false); - const [sent, setSent] = useState(false); const [reason, setReason] = useState(""); + const [leaveRoom, setLeaveRoom] = useState(false); const client = MatrixClientPeg.safeGet(); const onReasonChange = useCallback>((e) => setReason(e.target.value), []); - const onCancel = useCallback(() => onFinished(sent), [sent, onFinished]); + const onCancel = useCallback(() => onFinished(false), [onFinished]); const onSubmit = useCallback(async () => { setBusy(true); try { await client.reportRoom(roomId, reason); - setSent(true); + onFinished(leaveRoom); } catch (ex) { + setBusy(false); if (ex instanceof Error) { setErr(ex.message); } else { setErr("Unknown error"); } - } finally { - setBusy(false); } - }, [roomId, reason, client]); + }, [roomId, reason, client, leaveRoom, onFinished]); const adminMessageMD = SdkConfig.getObject("report_event")?.get("admin_message_md", "adminMessageMD"); let adminMessage: JSX.Element | undefined; @@ -59,37 +59,39 @@ export const ReportRoomDialog: React.FC = function ({ roomId, onFinished return ( onFinished(sent)} - title={_t("report_room|title")} + onFinished={onCancel} + title={_t("action|report_room")} contentId="mx_ReportEventDialog" > - {sent &&

{_t("report_room|sent")}

} - {!sent && ( - -

{_t("report_room|description")}

- {adminMessage} - - -