From fc10ce261a3191cfc03df60b8261d968408baa44 Mon Sep 17 00:00:00 2001 From: Dominik Date: Sun, 16 Aug 2026 18:41:08 +0200 Subject: [PATCH] ENH - adopt Music dropdown and playlist artwork --- .../assets/img/music/playlist-placeholder.jpg | Bin 0 -> 95274 bytes .../views/apps/MusicApp.menu.contract.test.ts | 107 +++++-- frontend/src/views/apps/MusicApp.vue | 266 ++++++++++++------ 3 files changed, 269 insertions(+), 104 deletions(-) create mode 100644 frontend/src/assets/img/music/playlist-placeholder.jpg diff --git a/frontend/src/assets/img/music/playlist-placeholder.jpg b/frontend/src/assets/img/music/playlist-placeholder.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9919c08827739524f11ea446577ca9984aa8883f GIT binary patch literal 95274 zcmbTdcRU<#^gp_Y5=jUlN_0Z3kcbj(3DLXNSBnzt3Zi$CD3Oh}(HASiT8kxmi4tYi zAa+?nqL(0o=>6{J`@8r4Ua$Mtz4w`!*PNMocIG)V=Q-tl&R+hwoCDm{)zr}hP*6|+ zo{<;8^ZMDn0%6 z8%zw>uiv~*PtU-@c$10w)~#FD7+7wzFyAKA%>Uhl;=f;Bxk5)xO~-tl{yOvj=XUuO zz(hv{ATJaG07@nbDkh4{ZU8TNq}1d$@!!k%KN|%l)fH+QTDq(B*T@~}ZUQLD&!)UW zMNJ+yxpxHlI^YTuH8a1YD$OkuM_K_NmPfA<1$2UHRUNG0(QP3qC*L<$>2I^Kb8y}j z7P%)1l$McwEGMtn+_`}zk6#IbSG#E;3T`Gv)$<(1Xn zYwJ7zcK7xV4v&sc{^N^+%;*2r{ug8a55Abld{JJx^1nU@fPylJyiqY-q2`yQVOBMv zb@aI<@aQ!iiyES!s^hAl6nLA}$#<0gwvhDv-JSnf`ybB!-!b;){}*TfH)H>suPMNF zvS3m&Q858j0B2v$uw59KzCQ-wS#VLOP zu5a4L_90-=bSJ*r&9rS0^lQ|~@2A@F4+y!pQMXWOU!Xq%IoXhb%4y4x$WeG8cYM{5 z#0;p^AeXTDF;HOok0|9B-hFz_u)|3_U)Q)1D+`V(C@9jro!H`!tv9KDPaQAoxv5KS zP&1YMfIvR-!QV?l|2qZ8;HBRVsNdp#Qs`Z0R6|Iq}~*nkn)f zr2mNBOz*Wdr8{7Ce$JotUQ*g}@{i~fyiv^Gnx{8bwjTjsaAD+);7|N zAirkHG6M1XM*JMFyX4REwPmmDE=6&*i4#PCFOVe`W|vhoZP>{tHkImWR6|0J?&zgi z@b_}j1F-bYb;1J{tnpPBKH8dLW~T}(NYnpD;MuWhIOPLAj;xK1Ol#7qx@sRvFS}T$ z*RWqCs{2)4t3p%~%u)mhLOZ-|M=~q%J zK*8A0H#Uca<-TH=R9VWkJ4I!QC;JXxUU|`^WEwbD1a?Nz zK&|wXS)5Q7NDaN4vqriPL0IjgRjxgm`!tAXZ6CM~dyybAg%jGiik5>j(xlwzMN22^ zh7<{)e~7bfi>Rmq49t)9?`EpLw0d|TqnflNNLnD zn&pqQ$Ude-ntCCZ*4YqGN28&{NJwD_!6fD8jtfc0;O}vZehnjwT;M&g8K_z=VR0sn z{#nYaP}BO=4MVErP-77GM^RktN?v^~?S|pC4MV)uGssI@)2co+6^js9jT+;Lp+;XD zB8#HWn&vDl)eQp+{J9E;GIT$=wP|=2d}Sfs6bZZQn=q+4mGk`04MoPZm$|wM!wN8aVUQwF?X}Y5_d;2isTcr22 z{5EcA#eoyfd^hQ>2kW9g(3I_&h$lvnTEYDh=@9jUmHd0h^j|=t;ceMv0ziicBCiej zmc;0=;my?oAGKbunGZ;SD>FA#4Pk>?a3isNNZGZtvgOg5DO`wEA4?*)^gAD5dN0f% z{TT)%s#K*V${<7mDiPZ>O~c;-HtD!mn37V^R-zjQqDE{)h4l-_hnxciQ1dCMN&YWjqzyNKiZ#0Lx`2A+(aLh0Q~u*6ih7`1H_X2qv%A z?c%5TNc56213DHcf*)Z^G+n2pLrKX&=Alis^zxtMtcjTw72u@Nk|52;R zn@%IYE~es<~&o1FG2hnk`vKQy9;veCB46)9;3Bp#FXHV%^=GI2`hH{ z)6?Y>^5jo{oME6Xu!zy6U*=;vA;yG{$HpU!tRk>Qkk__asf1i-Jme<)x&vDA#uID} zfvh|=tZy9(&{KNnS?YAi?dupd~3VzeM^4J{yhv`D{QLE@a9Tsm)U^RgW*h9 z;A*Pgl3%m||38+N<}21^ZCaNANU{hrkd5DT@N41V7QAlRt?pi2Y3GvYv45PB`Iex2 zKg}oCceEq-J@#J$({x@|8DntL#jvR>spmFgmw;x~3$v|i-LB;~^X8o}hRSWe^l9dxsLhp0t;nFp4Arcz2aO|y=Q z(>CCSl>DMP4ah8!%2jP}CLfb$k=PnM)4e#oN=4X!#^ZoG)2*SW;d&W%8uWHDT_Zt)->BhW6;mO%WvkZyc{rTkBn*-+FVa4y?6mU7&xj;SR5p1r8rA{t~V6gDn!tQk83 zF-DCG50CBZlSSt~SRIzV1}^3D$FfR+@7o!GrHuuch~3s$lG3T!8wqH}M~j`!*^eb|I+?m46=V_pWv~|+%Se6WiP_s|h zlhS=W&#ARP`x*9>BJ!7>ZHsnZKaeRFuU0T6jnM}_nB;Jp<;E^Bga+VjJQX~q8#iAR zAlFx%VfPb z22;R4+dE!Tx}%?*zX6-pQWGYA%y69}l-NF{N3nZ^w!ag$*Oz?;Jy<$%TS-aAdl1h+ z^Z9f~Y&YiG>4T$m(?f0Ft14Xr4iD^x@(U_TgCT^qLsX(tCX@Jcm+%MkQPGi)cdBW( zF)?+UnzwsI^n{Zn!j6;ce2yjxp}bX5$q&>T;vXo9&v%0~X3z)kXwN9Az0c{}>c*5z z!@_++f|R;GL$6Y8mqY6WjAqU~no*Eh{Da0nNje7MzTVqP&bsICl|Y`gM>)O7SR!L9 zPikSg$KI@1>Lnm)!p8AbDqNWG*^Q{ARjzQ@MoNH1%}D~I6gFJOe9p`*?4F*NZelXN z+idJ!0>n5k0j`dVwVKvvkB&Uh4;7-iE&2U;qeBq`*MF=7`BHtbS5<}-gdy!=J)GbQ#{%U{VcfUf(7H{BnB`b5d&dnHRd zD`ler*J2NDz~}N!h0fO<$BsE<#;?mTq&WCWrG;@5gBQ(I!i<|#EDKtoVSL>aSNSdh z#R$PmfTZm$m>@Sy5bHOwk0WuupSku|^Oj++TS&DZnvy{rr zuvf=zH}eghhc_QU8sGA2IBlF*ik4pVT>#qqzqe>D{Nhj6Xnr$uOuKN!(+)c}uqVAY z9^b=RonaIkCKf)~s{~?ev0Ogpc~E+R4;{W1Y}3QTHm>r8b$tla7sbr2va>#?q(lB3 z2HW4f#V4Zo?`*hmJXX*vF5m%0`F@+tsw`U^kLL|*wXNUbB31CrKm~k85pcv2dY4+a^%{!5zDEfM8CEPvE_<@ zG_F5q&+<1Ky#(YXDP+;KaX4%%3%P$WRce1>Nw60_PuTx4jy{T7;AZQV+_%x|I?oH( zyVL(Jc@!Vqkf21dpz`)mZMs+Cc3HtdFP*pNfR@PVhlrj_z^kf?t0q2~_tW#UyTFOM zQOxq*4^U~O_sDvugW_8M*6c)htRg4W2nTV$1n4>@E15OBRM(FT5>h^v(E!!5cy;Z+ zeW=oZjf5KRyZ5dcNUo9!zS5%~iI%6k_mT>MjF6$P^msbySYU^~sqO*xC6iq&*$c+P zeGDAetQ#q)C^q3xTX;HAzBs+tVW7r`k{LDjje=C{h=1&5;JP5j#AKjkhWFWH>1Nc> zKm~nQE?L*`9LPy_RfIvJJvl_&lNkA-$7s1FqD~0~BQF6NYMR_Cy-P}YPgN&p`h+W# z*lU=DV=84~yad=u-0KmY3n~?*qY+(~oJIpo(?WL)yFM4<Whlw50HMbpm9n7j-$HW>1i5wOkXlqAl778fc%_5kTWS>;_L{IA)_$jSVc@b7v}js8G8!WtC;WVXv&;8}-wy-;T`ih~+cW>{Qh7 zFl_Xlm9giXzkeASRUUIr{Q!!~zY(=qb-{1+}6}0Mq_PqLa^?smO#IEr1j0KaU&Es4X|_H%gA+ zI-inm4szYB`0?zWx=(i-JQ~3GOf0{7{3;jnckJT_@h8_+7>RFM?HuN8zw?i_P`i4D zQx`%}Jg*X@tktd%7!OwD5y|7F=_{2&6+?nGH39c0g{vh3D0Nm!hQii8zJDyB{shvV zFECW9vXFKgGjhh8rW${hmtUxMYn4;lF}vH=8@iGBl%un!yZLRaX{Pa9E=j53Jmjo2 zp*h(;jI>?qCzs<3v-2IdH_)0zJL*IsCg8ZcmjJH(i#mVJf;2?qNvuVxDIlO+G=L#k z1!tCV2@tH*osyClVe!@}^_zevtgHJVS2>RkK|tBDhgwP&qgdw;q1+D+-hs$w{%J|5 zjGwdd+K}|@VyibN=Kdt{65#$UfMpbWGxBiRc4~HK5PawC5br_0mQA<>KtoYs*NK^6 z`3>9l>GK=%-pTs=74c(DL&5=wb&&};LWbA$Wa572xjdHoLV=64^Fdxjup-%{V}n%D zQMxH8KIDT~XYUQI;z7st_}GX^T{Tmjj&NolwAjbMi)}<|8r}c?5nj+!EFlHkhO+-; zRY?y?P)IiPP`hD@8QMpKV-*m!>7&59xTE$t+O8rl-coE9~eCBGYifV)E*AbPLFteJT3H*X2Le z)irelQj#I5EJVDU&=nVF=}t*7lY!s_+I3V=(m((OEqZoX@|mf@n~>FoOn-~k)Nt*7 z%wB|v5S3g*zLv}r#cX4cx^et($xe5WeJ!cv8RQxv7x0lj-~}vZ%gDZ#!jS3*+`Z@? z%d%~i&WdOzZ;L?|t$RrojT78-v#p zq~X-80+ncBr3_GH(Xi*;jcZ`w*n3`<{ikbYh)?n3$*jO)<+LRuSf1cM##y^N5scQ} zokCl!2N#?{?`R4^nXrq|NYp(k0uJw;RGU*Z%4sQv_f7%+eCb>Vflmm&wiKuxfen58 zgHcUes2BOTVF4zh(hI0F1D(D%W^2zkN%fAzVTvB$Sg6lp zl2)DTMqx9%6w`|~d#yD?8-0J)<`Lr=cWe4yn+*u| zZ@jSCz;Aw0S-*LLXgQ$5>ESiJ{O^l-YKS#_-`=7=Q<}Kohb`)Fdu1wP{6BKQ9i18+ zwg&l+ogI85Uri8aD9*FaMCTlUhrJ)3E}VNl?EL=Rf5Y_>;6INM9N%vLGf^_#mN$>% z0r7S!L{z*hQuEEocwZ}dv5TshDep$&TgRkOFAdCKx?#VQ3%+ju3(Sl9ayDdV+0AS# zz<)2L`->A?h7M8kyR`5XDAq41^qu^1DSG@O6k#=C`75MiDi9+0+k*3o^c_+<(uri@H6vz(5M6-KpkFLnoxK3 z8PjZOekGWCGJbWR!AK@md`*4@I~cNsoRVQsh%3)Le+f&N=ypSX3mXo-FbCVTHTACA z0N)BF3b!f!^V=`EJ0{uVA*@%vimW)a->)w9HPkH1%$BEBNwf@WkMxlF8_x}+Z65K1 z05L2}P?^etwaLqiAXjhi&J^o?Qa~x!O&V79%IB$D zUhMmFKiTQ8&{X_JkvxpkDDhuuE(EVg6inN!vkRgk{2&iuJeL66%kS%Qf~dSQwHsQq z`#1y;m-KhqbV}=+N01RI!LTC9e1ckAj&CA&dYx7<*8*2xKty^WKS;>@2}DV6&&FIx z*pxdk)fV`KVyn3WzsAeZ$t^x|W-ht-^ZIQ8>#ho3Wir1zicuUhzNf>6k7P?;@zm{P z7OrzR329g^yaYr9i8QX+AG%?0YN_D-ryj?ze$IBOMQOX(C*a^aRr2bQKn3MrDs$m& zE4FzG`M1wUUa7;@Iq3M~RJm3P-9y&!5qUd|bBr+;!tcD#WIe-q7v4SkHrksgdwvO6 zD~Cy4%RgRY?=9u2`!}1YL|btNns6CCgBBYV!|1+@I$TffozgDiy&oUdQgk}EV=uj? z`)CPSb5Xx_Zo7olG@iitA>3PGQf#cn-&a4D@GvV{cp(xKR^H0o5>_C+*GMYl8K=Ud ze5?kt;QCohX7{uA%ZAvvfg;JRe!~Eh=PO8Xd9_oaiy-dVoB$2vT`GGSbp$j)DwhOK zdS&_i4>Z=tf+H-bBp&a0@AXxxR!wlRK$gaHApwDh5!i(GM16}wfogYkb*HRQF0*g7 zU9<51j{+c33^L`lftYozfB*=Z0JPYGKX?6}&9Sj&AV?|_oEFG7?v^GR>4va$N=^vW zxWtDNB@NdIA3k1#NfB~saR6tW93$k%ROjm>V&^VWm28+Tu(wkv$cWfZff+KGCtc@u z3h-pCv=w?YbgZ;c4iDBSqR?73x~5x*)5appIE7>^g^SEr(k+UZ#)aHd_|{&Vmad{@ z*rtj#Hvdzcd@E=T;aJ^l=4h*Kv!rqXa4#>;I!VI4spXlhoQ^=nQ%}P;4{S*ZOumXF zUpI3FOMduRw54P1YC+jewL9z_xO?JKNjLlq(aD;L*V3QW4L=f7yLNvO-sJ7v_Z3%W zpd$BmrLlAY41%%SWM`a&@cBTDp)q?7g!)bCmP^2m7mzi(M`DAxBt7gOK=wNWiR;6`N;}zhOyruLJy6CZU8Y9*<-fI_E*BzKDcp_#eBYA5h z8j!WvblR4em1ni7(;wHn{Z*d+m~y|M8C9uLVsbmUq4E;ClUc4jc8>NQKnwZb?Fumt1LNU}SAbT%Gy#yI7Z@ zH!nkqvxhAEMG{7%w+zf5L8~p&R#Ww%t^Fm#8tPkkvIh#%PL)1l>B-#KD_yZ2Gm@oI zu-GXH*=GtGS;ZDTX5ShzmNM0!*&nCJ2n|X4hH?7-;^{>W+*)mYkUy;D9l9QC8doT* zF+xSoA?US-_OY=nH{t`;O66R=aHDcq!q)3((r1kcF3xm`s#(@?`d;bm@A%-bRLi+m z<+?$wKvgQ4z&qc3rkdBrn_`Lr>JL}PNa(stfIf0jeCv^h`_qWNj&(ZE>R_tBqI z>mX$qscy_r^_T69`og}|UEF(vr`#u`^=~BBcdyy$k-Kt6;%eAotN3SY6L0Tl?k@$90XJ)u*iQ0+ z|JVhms&K>n#@ii{Xua3xMTkw*R}|t`kMjHflNt58GY%DY0utG~Y0*^-Ia_ z&0e6wTOH%=zV+bef^QgUS{fEA|NQc(=$K@FA)I;Y=HlhcJ84pz#fX^A_y-Wb`y=nlR&4^?TeF#R|+ z4-x;&py8+>BBrURnjeb0|BRX1Q-`r0miu{^$U3N?_J~u^MA{({s>7h@V=Qex1bkvF zx(<{VT(cB1dNFoCs{-2D34COx-&mH=p02jBf$TJ)#5#n=Ck1a>aQm2~k9ehz2wf41 zLgot_U}hfQVvC$I5pZ@T4R1U8sk;J zZaIJwzOjU&F7D8{{#c`@>tp?se@&UDxZRVdbz)EN??ij( z;)8wWAg;q=7-y2z(&|q6wZZv*;kM{&s%oM_5j+l=YH7^cHq(DwNUZxu#v#Qsv-=zy zR%{Kgmb@zM5r2A+>Y0$Ft1HzKmC>s-rN4fiCbiY2`-CL?Q?PuYjdd{!2pbWu_VU_A zg_KBCN})U+h1C!Rn)wBXu^=7S=2eb0GuNil-H{|ev*%5VxEDnsb?ZV#;uH27rpTqx zaVTc#wb@c`Y67VWv1DEX3Cj&LhkCtUn<~|jm!UGq-90A3werBv;~Ec3X8eARTV{UH z1m4aU!9fss`3xj1eyG26NFt1=o(^-9%6_SXtYRFQ!fO6ps8oB1&U#h)Naqi*_2WWQ z-g}d26b9{Y&v6vC@POk@_}%$)ZwQrq*bQat@6P9FunOd4^}z1@gLLia3nk~B>TY|3 z@b}88^MkL*z=bB*1AQUvMc)%lMO|%3JK=0AD?2(3eb1d?d}JVk?(;ybl1Ky0bT z@L@qr$r{*p$h#tc+YtC;1wE+AHRJ7_>Gw|rAH^81HCJ?F;S#{OffSH^cz6>2nSaD6 zJB^XlB){3eyBEp56pZFfEL%ho+oV&%B! z?w@elhd+FfWkUG~8LvR*lHg&JI8|=Eo9;`Gzksng+DA(LI7K9xis=wCm(o25SAzU!RBp68?LGVU%E z>Ff}`@Pk*mh5~XhIBR&g^M1L1e(?>%)Ww-EqGR$)UR{18kXF`VpL4OixJBAZ$_fp? zWL%JGsbAmk&A)w%ayUhgt?*FGyEkU}R%$&f897EEe`56z-$o}P4ogWPxc4A+N(z~7 z8+$~O4DU zkrZkI{(!7e_&rghzzA=rshv%DIaGcG_4IG&cJ?pThR@peLKU@q)*7jp*S#Q+0BVP|Eg=ll3 z7)ytWqrg+u@dwhafx{6hVB*TdUy$L(VA}xNJ-#G5zBj7nI)4sUlf*a(gbimzA*B_y ze_^+363jM;GG!9nq(m8NB;o1gbfevlzueL?xXa+g=p zm5`@osI+q4z;W2)c8pq=bf@B2g8WLBmeP)OKNb5}7ZHhQ#g@;(Vwt88h&92()6(d@sIZ0y6 zRY%J#`^uTu;y8+a=ieJRooERM9$9-r-Duy1y8*(U?ye!jqc4>E*6v4NgfMg+wdFY< z8Eq4;{m_aJx4wCSuMfAec}#1Z7I+D$(2d;r8|eV~tE9K^cuXWj^Fvt73ahFr0vW97pzTy=5)|MU~21#e;UG!8zT&vp;pD|J`;yd$q^fwGKfz^(qnf z?ev6pZSk9H{Y#Mndp{ubSKT9S+hl6~k9J?sA-ljQmw-wTwxOYM1QfB6-`?7%v}2DK z3fnIJ^mYcuJ|gorAR>3y#NI9yWhf@Ruv#heixQ|Kq!Zw8)5x0c7m%=w&193w_VY;z zsmQ7sE(3Q}Nc;;fKlbwbzF&gLuawcX{v1jg4OA)}*FooxjdQGw818d5@a%)FM+mk0 z|2)jOg^E(w%$K|)Yy0o^M8H};pghb*9u?s;^n*&bBtjATAHYVT6@R0Eqf&2*-tjnu z6R)Q;InQL-aIgRMHB_H@PCxsW^zi}G_(=LV!OQ)L@5?aDri;Ey0E2kj-7^@$GoaBT z;+ERG{X|1q4r}L_WC`Je5Xi%b8v7eBPICYgQ@qa$P9{dnC9}oTQyYLW- zFXKh!*GF}Jafo%`47l=r?xuUBNQ?*P3)sV|kOcM72h{_2s6IP7DA~S@Og~gPWAP=4 z?rp_2M^hXmtXrU4oq3+VCP(|Xjwd<~^;uFBEce(L7t!!Rta-*}BqZ`}>Q>m@p=RRW z?JA#phfuWqLEO8Ri#}!rtE&>s+Eh{tH7#MC1UtD zr{)5wB=@G3bLfImPYFjNP}ie0@978kG3!QbM$}Wh>-|=ss%+Q=>jXVUX|#;Hx7Awb z5?UqIpJ3N0DTw#?{=r8^twqo z`3n1))nXkE88r0-7f;=+VF8=M7rhxR709pZ_TN&rAlwY2LudW{tvjIL{ffrnbn0$TNj7&Cbix95&n`O5U=O$ zxOj&>y!8P%YcpwwR!=Ybe5PN-Oe7b}7yb_S+Y%{J7*f1pk@^EBdrO)vu%>vDFWr#C zD)b`eS;8B!^&v(p_kpu+=b7?w)1w#doO|doX&0j-L;t~-DgW3`VZUf^N?rm`>nh__ zr(H`bUCB9>I`hI?XOAxdAC6CgHrpl?h11QyH7H9Uzg5D9QADn}2|GU*-+_U?KD-^b zZuMt5zUV%_ZPoI!G9?BL1Bi&2eDA%%ZA78~muU9j>IA!%9Upj*C?JHfR;t*Jkz-x_fP^1LK3g4)-R&pe=4H$EY- zOuz10$rW-+uv43k?x08x)4{st1lzUUNVg>hfqF}1O1OLFB%g{GGKl<_Cg+e z2PfH7z7*5L>C6LsdSc4%TJ7YT@*4!5^UF0ZR7uqS)KEouMRg&=$MVw*E?25iBp*8V z%GAsmr(1?V7Qs?JhMB?J()fmS%gkUYM-!M-EXDylQ+JpVam_U0hm9e2N}PYrKT>19ywzH*m65WVzY0}szH zTo#+@`TFq6=U$J=zIavrmFx7o8)H>}=U*NQ6U%oK9ssLYo`!yK3dkt8wB`PRnoY;$du^?QhE#Jo+VMj2_LZ5d-VaHab#J7Az{W-e>+U zCzdL64`}Ry%ODLz={c;>$CetoWAO!tc5*_!ns()-;zYB@;{#5KOz%&@0oNh+DEb1G z&>)pi%Y9d+)0c{t_;Fvn+4Apzg^ht6vwLUWmH#R(DlxM}$c6BZz%PYfZ>~U6MxQ`^ zL%bt@V&wYk-_$RW71%FwN`&>3Wbq;2iHW8W6A4T;q3OpQd=v5^ zk%mUPsDnMOznixE`*R(96E(WGm5cL~&F(HA=ya5e4YnD{e_G$Flu7pU%OxkF{>G^J zRx_`!e$TZq$9G_U+Fs}JAS-y}`s)=^maVPD3*xF0VMM+IZ<1m3)Q(B1w2o%zvF*61 zTQAo_o>Cs!a}U3T8n0GD?o%wU3YQH^MAm-L>DVwwzZe%BEPEJY2)ms*b|Kvx8aq3I zBoUmM61qW0`I>y^b>bf|seslxh^b$C$e8jAHT z$3yMe7heR40|}d^7rV)54+gRiW}2rN!2PKrM5lIb;waGtq1Dh4udJ9Z!eT-*wi_N7xWgin`Ir!NSSKYo5h6 z=OSf1-3;hdl(mZ+>aG@8M8JOghQw zVvLD9%$z^w+&+`pj>}qi9Sc`2L7j%@1gI49lG;9703o#=+p!^abn|pVqJ-@YJt@$1a9+`!^V}0Uh#bhwDS9U;rHr`o` zxeHU^aXfW_Hs3Cr&!vpmsMmixYq&4S7n8d)L1@!&I(j|_Qos0plxiT- z5>z!zJGYikYD1pad55>thbzl(gq0-s^Hrvz#}BqS+Y5pvMuZCjX34{H%ZZJpeVXyo zV8$VbJ7oKo`WLXj3P-Kbo`IeoAL9{=SJWQos?3AQRs83~DKU5Czd+8&qBl=30WX$+ zMCJKktN45YtYVC}Gkj_})tM;I74Ywj>mad}_xR_|uc%JWtytU2ceS3Tx*ewzfytb_ zg^1b?)4JdUK96K|pO-*ydxjA|IZ3v*KwBbs1bc8k`$r;L}- zMhN2M-+EST-H&%`9};`LMg?8er){>k!Z?F_@tZtbmnF35Q$ zMXGozD>oEGEO|Eh-R7qsgp|p(9kG!ax5&*1A=Wpp!MD(oqTCVa8MzVGR>!E?1mptF zs|x<3wz-3M(Qa?DNW^(`Z%FHJibuoux}YTOna9B2s$d2>!PXGr>~OOLAP9Ay6nQ8-T5MADWX?+$hvy{&hdD|w~eu0tc2s}HuUEd_C zdL=wjV(Sj_$BE$eS~sHDc*ybkOMkaNA~i=*$Grdk5kIvXSQR&o?$(W0T}i4#_|Y)x zZfuqB=F)e4Y3PB8naKb3GkuycF7J%@9JvkhP;hTju3H{25|q$btTRW1F4R6Zgq6R$ zh!7jW0`6(6Kw^>@fIr_Q50`1T#*m z60hAM-NQ9jA!&j@_B>J7!b!em6=mt+*?)iQzf1xHP_r1dpOzAzscADWr;5{bsAL_tUj^zRUk zzaBUOE{JteX3=Tgn%5xuqo;cYhZsI+N&;!sQ&p(_SMAfiey3mnBRII6o2Cm>7eTQd z)VWqP#mlxnn)q2!qfmYE+@I#tyd_O z)Yu9pL-#@}8H@~{5`A;qJe$+Gm-f9!&YC6q%CHVDsksyKVPS)QrVhWheLYaE%^hAI z)9729_eM?LvF=ZTPEJWTHYc5YVIG6ItF*}w{FlZKxr!4X>9q3r3NI}YnH(RVgoXFn zHQ!0kyN^bcCR|LqAWpU;6UZT?z0nb|LS%$cq9fYB(g0UNj;o_=UC79I*6=-~z4oRV zItMu=k`DP;qm$xihW0T+8p@UW*6ZMymMu#J+oa5Yotn2k&~KZl)AN*4tNt<;AT}}S z=?1-;VQq7s&UJ32`V)R=bR%-OSu5s~!P7;VqvkJEzDFK9O{W;b%5rE}k?kd*0iwA% z2^*0aFwMNrI=L`&Yg;Q`DXb)imuBs8X!*{rWbBh9it{y>7edaz;wx!Mq) z4|B$Igia* zeGX%q&|%Q&--sW`IhhBy^`s=B?5h<9z6}tp-ykn!plR&t`cL{z!-p1{0Y0UY%W?1f zezs0rk6Eq;l|3>r&OIA{Co?aIGySl)yKAQKHrtftH0J|M9n}h2=WTFnhjcy820@i4 zQb|?mrrA#1!>_%=C@Cr{qa2&Qp=gdWY;ql-&g6=n#>#gKjY3O2=?9j71ZB4%`%sc6YuNkW?2uA4f{B(EfYY?*;tI3h7CerMQ@B#&+BgSk(EOWM~kj_R<#j;rlT;fvSJhKfaVUahSj25#>I&DBV7lwHQQd>iGgn ze7xz#g*=6sGl(u^kCE$dK%n(*NEO%LlL>)_m>?|m0ppd40$p4Z)G7Pd^u{vXaiaf; zNcWvz;+$e088-(cg&5x^ss8Tsr8|ND)2@8?dlqN=-dMSA-J~1p%!`x$o2)(_&O4{V zMM;=!kCkB~J4mhksttkU5*>04&zrhc9;qYAg$Hy~Iwdyfw$@Kt{bRMCo?G>nSLM%W z93{4ITBKK$4rqOgOdk)9>S+j7Uz17v_E|TN;|@)226L>#+h0*{f4-c+sFjXeA37{I z>^IE~@;(3A_)O~x*UGDNvEO#yT|5j&A1WmZ>5rUkQxT=m&&k5B`>3CeMqh+UClkp> zi}R?~?Gx>3n}#G$g}`Z#(#iH5sLyYz#bxgUE}8?G4x1Ym(T5p%Cp@x(*AzT*0%p%n zxfWDp9`z}j>n|ql&HYRY!Cd{Z>-v68*vza`j-5PJO07(kab*S zdRFpZpnvFJwDAg}ie-tDP~X@iUry)J|8=3(bGcG2@2OZGcU>=K{r$foT<~Sjzw%4l zVi1D!>u5r&f@z~4cV7B;_KtIpLc-Q7LFC+~mrs(1pV1e-BqQazU)&~j3K^iM+GCLc zE3JZR&BTB_i9_`rGlPHv594#x1*^(Kj)8%D-(X|Fu;BNR9^k)dJc3oeH5d1m9 zLdnnJMety!!*)Xpjr6HH^HEM0_HIvH6ntH9*T4;RTGgsDZ5zc@iP*o!H`wa;Mlr!M zN6i;!fIagWy+|It2(qL6w490P_%-dUWMSUTPSZTNVe8_IU9$?ZI2!V`DDG<-9^x%2 z1s5w?jCZq_uQ{)@lz!&^HhH_OFMHE+nWOXre0TkcglWLnHRFdJWnK#7LEJvb#avAb zpAD18td6~`R}Gsgtoiu7G#BQ28O{W=K1EYmZKTYQVOigh2K!+dQ$^^15#~GCo@lPw&0a#~*IYu= zgznvVfgz}kx+bueX%DC9UNcpl3evs#MPjmB2e-j4&lR=59-GE3R}t4U%RXm$1ByCe zPMpMGASk(&FLt+yu?tP-64Q5sE2gz$G{58kC_Wg$j=x3N2uFC)$Mr^SPj{pq^>)iP zKd;FWcrh5{mn6P9k(PvqTOZ>`Ir&*1GOs3$3laUS zcZU#mCS+(&+cgcfZ>S>)Ho6N=?;r9)ER(Q~AKLte%n?mXD|td$rPWP+>_Q&^0GAJ; z0L9!Lcu`0|X-uMh^!Asz$f_NQpX(EknS#SQjhn3Z2m1!^#{}rPA4&D^btY|2k;4$m zGXU{S1k85SsV3iEox!*jBL+7C#9+UYp zMuS-Y<=Stil8z(Y_g+3)=>|K@IArhL^tEB-OTk&VQKpc~oX#X3X{}v+`@+?dOu}_M z9D(%DXaa{?+8++NBOhV)o{~!}yyYe5M&dj#0VX%hqLvgxkD3=8vgRfxc^k&i;kUL& zxc9j&F990U6ZmSCZxI`Ze;G2*1dad4)SV4-ZrXpk*gflpK7vU}_7CwNHwP3Bh={Nr zu&jjmH5RMUL_w}B1r;k>!e6zEfIKR0RSn9HMtJ#*w_!&Ca(-P57Me()(m(Rppm6p(WJ4sID>NTFFveFjwz=aDi6hTl42iZ^#etNv-Jj7LfKD z81SV7iIq*f@b`Xi3=A&TAlB_A+^uLqEa&hBDyH*pnAUH#wZ7xBF#or#68ZMmg~QUz zi9&j0m)11qjB)V$@t?c+iukP-rKOwga6d!%_9I{SqKM&C0Db}he^_5?8?>S4_54_s!T3wim0*)E_b&%(E zf{XQe729vQOso;(Ouqr{#zAi13f>g zgrvRJ-}FCiVeOEwXwYq+Y*>+5wO|81^08CS2^rXph72h6ZJ^B#7_V>mK}J~W|JC~T zbRfp&uv~A%;76B$x%g-8Z}CWJZKQYnvSZM7kJ#FFDt|cb^AuN&!x=?$9P=f>YbLl- z>-*-Pa2vG!k$3kay1h*={#ynK=NZrZt}p)LrTyu}y|F4ehT{2DkuiN-(Js@x*I+sp z(@Mq|^Vwk;Vb+ZmUI#zlc#J7I%$JQYu1}oU*DxYVpbd=P0ld!dCVeQXMw z=nDnV_S7(L(D>|rhF@(RN;A`Qbf6lfVlp9eGTk)Q(3rBqFk8?|A>4^A*6wM z=c$4tb1)kM{{4;8LTP79@&@E4|CaIOtS0re`w<83z18P1^E>MOJo|M}UO{-LFDM)Y zGEltN2$*<^(dauU_qaE##Y$Xzxm0N=HrQ?0ck<$fSROwd$NZho_xInfGp-9b=UmTozwUY@PbA1FSDJqQ z6?;9$e$Bwz8Jm#5{@#Wuoux>Gw9ZLdFx#`le(MK~8@S1?Zw+S_v@WEDce|mURwut{ z;w3CKH>NFE_Vz8M%Ws1GM|SQ$>c$8_Pn^t>mX4T&^a#?&CC#rXvl5+r%WFA!jGu*gq7l;=FW|} z?)`GG%L0CW!J|}Fg680sRa0|w;`_?VFA^$Z5gvMM%|BVvZX*9jekx;ZODc^nkgR+Y z3&-cj7D0IYj3`%ZSLZc4C2iyy`r0LANbcICQn5$urdMYhYkkJMH~5MBvRPYCJBw54 zGu_P~fek`AB;15ppk>vFkEieLC}5F|4Cu_wqPD}Ju~xA~t_<)ds|5!-*{LD=Z{@;L zT=>)h zs~l#zX$1H3v$B(USe>l4ha&Xt+X<EPi^2d7DliZZ!X0Dtd~jt{c9mAdTY? zJRM^mI$awT+lT+ihN3s#Khuulh{rTpoTdH2#Vu`!wdx2q3wAQGI1es^lEMW~nKf8AF$x764icFbB z(TFRB(o70l3ap5r$h14Bj%Hl!TdX>HSI*VN=y96gpN0Y!fk~jFEZI7ZhQ>%)M5b*) zEtjHX_`9ZK{}^oBSSljt>-;*{#-UKHe&v(Wiev;2UU>A`ux4U+BH|Y01FK7W6?CGy zUDn(~q+|I_v~{#mc%h8?H#EJhM=i^i-Ft7Bx99kaDhmS*RC0{4=SS@+oeD>fS4 z=i_t!k=^bHw!{eZ7aDm=$7R2cS-Gd2_;TG$iuKb%lL;#EIxpp|F3t=r!I!6v#>|Cf zS9!3XnH;9$pW7sSRYRg&n_(I)COtXj#=nqdZ#%JbC?0>AY*scBBGgDWuWdm&w#sV6 z?g1NI_Dm^M(J4Igh8)N_NO#-3Z#i$e>>5>zxYk|tZYm`TN%yqnTdCu&Xs`A)}Tv1M|YDLU!nE1|Vt^%*u%$hCJ4m%ILr_ukCo4bo=#rLrg6T!7Jp-_Lhg z@a$^SgRd{#9yy#Dm|p@G2wXw z+Y3TiY((*B;)=T1=7~V(ldXQEFpU(vvjo^iyktWAd34^5=2Uo)Z#Gm$#I7Cw zO*`>xA&>`oCzI)$b%aemG7`w%m4=P^Q8tt|(=#DL==%nbiawP$ zA%Mg;5d5(=LZaR14iHf?0xt8B4qAgp@8k$MQ;iMTuFiSEY<)E!HvcqG3f1=qqpb8+ z&wbM828R)f*>!2^zT~%$ia|eWW!y_Tbts@@oP&L2Vnn8T2qj0;uerH#Sbc}4D04KbIO_9QDt)fQQUsS)&2cUr6CiJRQ36bGN z=DzU%g7S}qzN9?}Z-TGj$MIf*3T{}N8`Oe{+%48$_Y}VKfuqnb~*`}}f zrkBRe`pu^M({dXPwfM6B7P$x+cGtzmLhZSh@Fsn!&Rzsx$uu{EIO2B}yz9Q(Nr64r zQSn(y?2d_+QXD*kWyq>g=i3}HDaK0fA6cMo()%!jF1>duTyxiq1ZdbQwe+6WCP~_v z#(NT@&4L)d)%R>V<`+uwtB_sWK&W`A{SlwN=BgqHrr}1htvfPoFGH#8-tbFRg+$2! z(6Mg{zPT{_f~ zN6f}BTv!S`Fg+bRdxSOkh?bxYwTm&Cwa0=?JCJlAf+h1! z>8kG)=!JnWF_y-))sPAll?Q14vw;{=Yr(`u5LJ2Pq1(yq)neDfQ!cl1LKnLLVVT*G zpb^Y);op~lx^pf5^@a)f7B&?7Iir|5YwCG;z-y%Km;QC1>V&VjCK6DOh4qN(3rjE zX?6Mo70AIuAhLO=*X|?1)ZGwY1{ga@-=j7Qea6;77hNX?PrEm?JX7}CUvo92V_puE zDo&)&j{2AsOjUM91mD(eo4gKZ{XlNeN3-);lKe&R{7!k6JdVHZb zRV+C@^`%;JN4<3PZCQOhS2-=hEuh`|EjcrFQ>Un3iJ>3;1&)HVCx_A!LX2db z!KJ2ZJxPnSk)BI7+D}`^qUod?z|vcK#(c7fOP~{x^J2bw?ff-QJ5r zGD*D{{XuNOY6Kbq%Yp*ZB_M?$pS%7--yD!kx20G}bVb&#FX^^FY)o{BSYba-^amAW znS5k>_IdWBSG>&Xm)4fY7qM-#tsKOFDRUNoWc#JtT=LGfjaMC4_;viU%#|Do+~)qv z>RM;k^;RK0xiOyNp`-tbo5Ak*@LZ3{)|gXdyXLZCAIUCq*94b4wfLXjk(gXzUG+E7_R7K51hz~xWkom`m-$`eE9qDB$NNjm?9-%)GvAtKDeoN?X*~s{J`dmm>`?v2p?s2@MWsqZ<=>;$ftG+_Srp$$H9D6s zr@=%LjJ2lGpmG_oDtZ+wFwyzfwA%JbH^V~t){`Ztp*ku#Y9)#s&!hFRbADFV$Vic? zrTg%JIR`4W1=M|OL)j|5N>FxS@|MT5!J85= zAK=O^_{PFp$7vxsZciQ#5tm~ucYCnX_iV6SZF?hYz1s}> zr$u1vDZ5~iADPA1s6D0D?u~t{i?L>a%u@i1KGa_|RLd5b5wUiv4tDr%gJwe|fXRAkVq4jgSaz(o!-<1(oVbE-BTrS4GJU_1#if!`n~IJx_}@ zUx6kY$ED~ZU0eXg*v%y+sjIeT0I8OC(`(Tl*uY*{m(PUeo{vgd9Oc{Y7wXoOsihJB zE0U=d!^iID!(U#LrSJ+Gkm^eli&^lPuZ~h#NySTMhTd(6>bz5!71Q>OjP8*5xrq^& z)^A`k@G^!~6TxVM*DW@a7Qym3O{>}?`!~MyE4_L&K}|Qq=bB>aLmE^bNJI(EODrTgsz*LgCwB z=1}vR)a)2V{>@Dlt`qK>-bR%iQ+Lbq9XF0m&%#V+QspGHbga-MKFOJML^*VmG1?zn z!~*-Un=t>Wc`vr3%8y}Jy-eNLl`e6Fer~A;sAzgqimNG4E!hJ^^QG(9XgggV)TIel}D9G<&4j|05I9 zIp9-vS6HDu^BB0wb07|tmFT1Hl2c?*a5P)fpwl-MXL~E2({;w!WsRfNYuY_1IvmCm z=65>OJhuhJ>LKK(i6cMUe3_;c9-=3=9&LP$)^z@_X44xMR1=?!Y6wj59SF71A4zs4 z5&w~0V^1X6&w5=@95W`PTAM><4oAhBujpibn)mL`uhj0Aw|ydNM~XwF6sPI> z)K9oWo5RGfKfaQ0xd9uR{k0LeOVRc@mAVKRvsVi?`WGfj3t~pTn+z`lRK>S_<>oEE zyZ?h6?6KYXY#QD=774L>X>Zd;PnRD15pO;6>0{&5Um*qf2CN#C14Gq_KM=?T2{9I=B~Pp0Nz#B)r#~!;UC$# z`cvm$(_dyPKhzDNOU$Z5QGlU+2!;)c%trG_=8;+umm-&mXFGO|3dJlybPr5=RjlNW zgCC(C#O*!+Zh7QoplTUm)pf%LC8XiSDn|btF?p4stHXa|Sv5sQ>7vJ*{qIS!EJ7t# zDOE2;{YKVvjjaFVuNd6fhvJ$2v)|*}=FgQH7xj6^xj6-KCQG>??Z#*pPO<0EX4lpC zH=CmOeSgSr0(RA_b;4MQOZ%b67@dXW;u>zlBna(ZN=VPK2+7R5 zKGZr=&b&ud)W3v+!(Hzp7sBN$`2rsbv2wD==A zmW5+YG_t4}_VnqakJjM!9OS>e7+`k|%7qLGb#I}zz1_!HwhHxF(Hw+f$s%?G_LQ+O zsu9^&@SvxRMm4aoEj;?2P)ifL!#(7LW!$~9 zO6Hn5o-PT6bZKbwo?MxE$d{D0BtEXvnf-g7d&h|T(07Lq6HymA{ zyM*EK>YLi0t~@s(W2o#%qs{clG?IJyAn9PN9Er6NtFbU%(^4tEsbu(ZdQh)=B^77 zh!V2+xGa1uwu;`W=rxy+&KYv^A6K46ACG+t-=67cbnlRRrgml)HSlbU-;Tq``-OhT zgPDg6ZxHVxqOmjezw|96ww{(<8r*}8#x)o$)K;n$K+7`h}7D~pG}8g&e?g8T9k;*55$sjoAsC?POJ{?*cijU?Tw^B6<$UX2W-THSw=su-ILD`MXR9Pb`9 z#^#(!_(c-fG&v0kpD?>Zm;56edvNiOOeMR-hBpehw#cMdJ)HXJBK^WWrqLMEN!#C_ z%ZMz4-0ZL2FQ z0(0Xn4|U(^r~ky3el13EcTeACz8__?)!6Y|H0+p$+OO>&8I#+FUXA8WmAoP{J+QjQ z#DMlK+{|y*bw$xoGK(v4^7yh?ecrhW{|zht=TN({Ku4Tmt(8)kVw43hm#yB&(G54cX4@s- zb*m78M+;MkHaU;o1cq&Cz%Kau6qW}~ugn{$MuY)Q?=zP2QHBku>5Zh^C>qrhn(^?t z_Pllkt!BPQ*V{CjzpPaIip%U;sX^L<49-8l)Q&mRf9bum6sV!o*S_#1ID1`vHG&2x z8M@))zUP?@q4p6fL_&9)y0Ka}prsO78q4q4ZHW_&GKm)Eehc9-T!eyPYj>w6Px6DHqHL27p;+nyW!T+I*o4AGed3*?2FTVKzP zD5jRD$kE0`YOHZJIqcOzAni_WZjk9A<0c24{e_htU%_ppy5j9E!7bxX*~&Kcho#Tg zONy`QY$~YTScaUBo(t?X&s8N}D6NXH#^amhetrH&X1YFh%f4q{Ku~ip%M~h&LAf>p-q)Q~m~fj`!IoFiah6EkIarKxg(G80w$14Kc|T z99k|14&HcAaGCGd9{OnSy5%hDl)e5d8M&&Y!;E@xF7l00(=@YT06*t{3;fr*+FNxW zxtgyVk<}}ZxGGgy(0-cL>JF#gquNI2|B6>rVl!TUUVZP^G)vKDkNo-4r^07bgu=_0 z!xUkcbZmKK(}f-;!h&*#c*=39BVnm&(nfWTCxPod1Tpvx~a7R<=f=7KmE zWq-)=*vXUK-}n>_k8nM>H7-Pwi$KlkEtv8;Lw&QG=>RO$T(eWOBd=Dv;1%JML=@7w zK`_YA6EMdAOi8)3FD%SKN!%us2phQ2XdIP0S0*^d&Eq4ZzW0qQ=tkRYR%&b9-hi9D zv35=l`_c)vc`2&5RKlAPHw&iK#kIdtM8+ta3*fWBAZn`T5zq&(IApzsX;i<5ec&7_ z{Yc$%ZE;PfqrrPv&jS!g@;L-swA4iJ(Y@^E`Fm%EAiLV;YMq8st#r7n_E>o|bu#lA zzvdjM={3r zeVugH?-kd$5r1>~$3+$L=P;P@1K;0XF54GH_pC=+6a*NzwR)aG03Q|2zMQx6oqA4Q z7?1*dj~#KNvy_xAS}O{-6K%hD%SSKI&?ZFjMvUNi?6ifkBqU0w6wVTj? z>T=~~_k?64!sNznvtnMdybY**$KVb>T3X=kNxNVk>EY3k8T9GhyFl~$&&t+do;_I= zR%m$g8{|*p1e>ekih2$jD0o2~$*LkScSu)+q^VSJaM&=c!V@8Zo}-0qKxM0-{^Y)7 zNuEmevIp@DDwj^d$x+uRILqbK?!ho|F1qIES|zJFXP;Q#PVbeBj(s!Cox-kyxDT-M z8KsvX2cw!7V=*?UphxNBeq^H#`gXoBEj2fu2FF}r|3a&rL*bQzE0W;7;est;q2AYn zElLxn>zbKmh^HjG6cX_6&(uziOCOv%0AJL?YdVSM?=Q#=cD(F7 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
    +(lQLSmP;A)2q-F`1jO926jhusgDFA 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 literal 0 HcmV?d00001 diff --git a/frontend/src/views/apps/MusicApp.menu.contract.test.ts b/frontend/src/views/apps/MusicApp.menu.contract.test.ts index 682782c..7c0c09f 100644 --- a/frontend/src/views/apps/MusicApp.menu.contract.test.ts +++ b/frontend/src/views/apps/MusicApp.menu.contract.test.ts @@ -3,43 +3,106 @@ import { readFileSync } from 'node:fs' import { describe, expect, it } from 'vitest' const source = readFileSync(new URL('./MusicApp.vue', import.meta.url), 'utf8') -const menuSource = source.slice( - source.indexOf('') + ''.length, +const playlistPlaceholder = readFileSync( + new URL('../../assets/img/music/playlist-placeholder.jpg', import.meta.url), +) +const menuSource = source.match(//)?.[0] ?? '' +const menuItemsSource = source.slice( + source.indexOf('const menuItems = computed'), + source.indexOf('function eventValue'), +) +const menuDispatcherSource = source.slice( + source.indexOf('function selectMenuItem'), + source.indexOf('function shareTrack'), ) describe('MusicApp action menu contract', () => { - it('uses the shared anchored Sky popover and its close paths', () => { - expect(source).toContain('SkyPopover,') + it('uses the shared anchored Sky dropdown and its close paths', () => { + expect(source).toContain('SkyDropdown,') expect(source).toContain('const menuTarget = ref(null)') expect(source.split('menuTarget.value = event.currentTarget')).toHaveLength( 3, ) - expect(menuSource).toContain( - ':opened="addMenuOpened || actionMenuOpened"', - ) + expect(menuSource).toContain(':items="menuItems"') + expect(menuSource).toContain(':label="menuLabel"') + expect(menuSource).toContain(':opened="addMenuOpened || actionMenuOpened"') expect(menuSource).toContain(':target="menuTarget"') expect(menuSource).toContain('@backdropclick="dismissMenus"') expect(menuSource).toContain('@escape="dismissMenus"') expect(menuSource).toContain('@positionerror="dismissMenus"') + expect(menuSource).toContain('@select="selectMenuItem"') }) - it('keeps every add, playlist, and track action in the central menu', () => { - expect(menuSource).toContain('@click="shareActivePlaylist"') - expect(menuSource).toContain('@click="openActivePlaylistTrackPicker"') - expect(menuSource).toContain('openSheet') - expect(menuSource).toContain('rename') - expect(menuSource).toContain('@click="requestDeletePlaylist"') - expect(menuSource).toContain('youtube') - expect(menuSource).toContain('@click="openNewPlaylist()"') - expect(menuSource).toContain('@click="shareTrack()"') - expect(menuSource).toContain('@click="openPlaylistPicker(actionTrack)"') - expect(menuSource).toContain('@click="removeFromActivePlaylist"') - expect(menuSource).toContain('@click="requestRemoveTrack"') - expect(menuSource.split('variant="danger"')).toHaveLength(4) + it('exposes accessible expanded state on every plus and more trigger', () => { + expect(source.match(/aria-haspopup="menu"/g)).toHaveLength(5) + expect(source.split(':aria-expanded="addMenuOpened"')).toHaveLength(3) + expect(source.split('actionTrack?.id === track.id')).toHaveLength(4) + expect(source.split('actionTrack?.source === track.source')).toHaveLength(4) }) - it('does not retain the manual popover geometry or dismiss overlay', () => { + it('keeps every add, playlist, and track action in the central dropdown', () => { + for (const id of [ + 'share-playlist', + 'add-songs', + 'rename-playlist', + 'delete-playlist', + 'add-youtube', + 'new-playlist', + 'share-track', + 'add-to-playlist', + 'remove-from-playlist', + 'remove-from-library', + ]) { + expect(menuItemsSource).toContain(`id: '${id}'`) + expect(menuDispatcherSource).toContain(`case '${id}'`) + } + + for (const action of [ + 'shareActivePlaylist()', + 'openActivePlaylistTrackPicker()', + "openSheet('rename')", + 'requestDeletePlaylist()', + "openSheet('youtube')", + 'openNewPlaylist()', + 'shareTrack()', + 'openPlaylistPicker(actionTrack.value)', + 'void removeFromActivePlaylist()', + 'requestRemoveTrack()', + ]) { + expect(menuDispatcherSource).toContain(action) + } + + expect(menuItemsSource.match(/destructive: true/g)).toHaveLength(3) + expect(menuItemsSource.match(/separatorBefore:/g)).toHaveLength(3) + }) + + it('uses the generated playlist artwork when no usable preview exists', () => { + expect(source).toContain( + "import playlistPlaceholder from '@/assets/img/music/playlist-placeholder.jpg'", + ) + expect(source).toContain("phone.t('Apps.music.playlistActions')") + expect(source).not.toContain('playlist-placeholder.png') + expect([...playlistPlaceholder.subarray(0, 3)]).toEqual([0xff, 0xd8, 0xff]) + expect(playlistPlaceholder.byteLength).toBeGreaterThan(80_000) + expect(playlistPlaceholder.byteLength).toBeLessThan(150_000) + expect(source).toContain('track.artwork.trim().length > 0') + expect(source).toContain('.filter(hasPlaylistArtwork)') + expect(source.match(/class="music-playlist-placeholder"/g)).toHaveLength(2) + expect(source.match(/@error="usePlaylistPlaceholder"/g)).toHaveLength(2) + expect(source).toContain('image.src = playlistPlaceholder') + expect(source).toContain( + 'imageUrl: playlistArtwork(playlist)[0]?.artwork || playlistPlaceholder', + ) + expect(source).toMatch( + /\.music-playlist-placeholder\s*\{[^}]*grid-column:\s*1 \/ -1;[^}]*grid-row:\s*1 \/ -1;/s, + ) + }) + + it('does not retain the generic or manually positioned popover menu', () => { + expect(source).not.toContain('SkyPopover,') + expect(source).not.toContain(' { if (activePlaylist.value) return activePlaylist.value.name return phone.t(`Apps.music.tabs.${activeTab.value}`) }) +const menuLabel = computed(() => { + if (addMenuOpened.value && activePlaylist.value) { + return phone.t('Apps.music.playlistActions') + } + return phone.t( + addMenuOpened.value ? 'Apps.music.addMusic' : 'Apps.music.songActions', + ) +}) +const menuItems = computed(() => { + if (addMenuOpened.value) { + if (activePlaylist.value) { + return [ + { + id: 'share-playlist', + label: phone.t('Apps.easyShare.name'), + }, + { id: 'add-songs', label: phone.t('Apps.music.addSongs') }, + { + id: 'rename-playlist', + label: phone.t('Apps.music.renamePlaylist'), + }, + { + destructive: true, + id: 'delete-playlist', + label: phone.t('Apps.music.deletePlaylist'), + separatorBefore: true, + }, + ] + } + + return [ + { id: 'add-youtube', label: phone.t('Apps.music.addYouTube') }, + { id: 'new-playlist', label: phone.t('Apps.music.newPlaylist') }, + ] + } + + if (!actionMenuOpened.value) return [] + + const items: MusicMenuItem[] = [ + { id: 'share-track', label: phone.t('Apps.easyShare.name') }, + { + id: 'add-to-playlist', + label: phone.t('Apps.music.addToPlaylist'), + }, + ] + if (activePlaylist.value) { + items.push({ + destructive: true, + id: 'remove-from-playlist', + label: phone.t('Apps.music.removeFromPlaylist'), + separatorBefore: true, + }) + } + if (actionTrack.value?.source === 'youtube') { + items.push({ + destructive: true, + id: 'remove-from-library', + label: phone.t('Apps.music.removeFromLibrary'), + separatorBefore: !activePlaylist.value, + }) + } + return items +}) function eventValue(event: Event): string { return (event.target as HTMLInputElement | null)?.value ?? '' @@ -237,6 +317,41 @@ function openTrackMenu(event: MouseEvent, track: MusicTrack): void { actionMenuOpened.value = true } +function selectMenuItem(id: string): void { + switch (id as MusicMenuAction) { + case 'share-playlist': + shareActivePlaylist() + break + case 'add-songs': + openActivePlaylistTrackPicker() + break + case 'rename-playlist': + openSheet('rename') + break + case 'delete-playlist': + requestDeletePlaylist() + break + case 'add-youtube': + openSheet('youtube') + break + case 'new-playlist': + openNewPlaylist() + break + case 'share-track': + shareTrack() + break + case 'add-to-playlist': + openPlaylistPicker(actionTrack.value) + break + case 'remove-from-playlist': + void removeFromActivePlaylist() + break + case 'remove-from-library': + requestRemoveTrack() + break + } +} + function shareTrack( selectedTrack: MusicTrack | null = actionTrack.value, ): void { @@ -265,6 +380,7 @@ function shareActivePlaylist(): void { appId: 'music', copyText: `${playlist.name} ยท ${playlist.entries.length}`, id: playlist.id, + imageUrl: playlistArtwork(playlist)[0]?.artwork || playlistPlaceholder, kind: 'playlist', link: `skyphone://music/playlist/${playlist.id}`, subtitle: phone.t('Apps.music.songCount', { @@ -416,8 +532,15 @@ async function deleteActivePlaylist(): Promise { } } -function playlistArtwork(playlist: MusicPlaylist): MusicTrack[] { - return music.tracksForPlaylist(playlist).slice(0, 4) +function hasPlaylistArtwork(track: MusicTrack): track is PlaylistArtworkTrack { + return typeof track.artwork === 'string' && track.artwork.trim().length > 0 +} + +function playlistArtwork(playlist: MusicPlaylist): PlaylistArtworkTrack[] { + return music + .tracksForPlaylist(playlist) + .filter(hasPlaylistArtwork) + .slice(0, 4) } function playlistHasTrack(playlist: MusicPlaylist, track: MusicTrack): boolean { @@ -449,6 +572,16 @@ function hideBrokenArtwork(event: Event): void { image.style.display = 'none' } +function usePlaylistPlaceholder(event: Event): void { + const image = event.currentTarget as HTMLImageElement + if (image.dataset.playlistFallback === 'true') { + image.style.display = 'none' + return + } + image.dataset.playlistFallback = 'true' + image.src = playlistPlaceholder +} + function formatTime(seconds: number): string { if (!Number.isFinite(seconds) || seconds <= 0) return '0:00' const minutes = Math.floor(seconds / 60) @@ -554,6 +687,8 @@ onBeforeUnmount(() => { component="button" icon-only :aria-label="phone.t('Apps.music.playlistActions')" + aria-haspopup="menu" + :aria-expanded="addMenuOpened" @click="openAddMenu" > @@ -563,6 +698,8 @@ onBeforeUnmount(() => { component="button" icon-only :aria-label="phone.t('Apps.music.addMusic')" + aria-haspopup="menu" + :aria-expanded="addMenuOpened" @click="openAddMenu" > @@ -589,14 +726,15 @@ onBeforeUnmount(() => { :style="fallbackArtwork(track)" > - + + +

    {{ activePlaylist.name }}

    @@ -1729,6 +1820,17 @@ onBeforeUnmount(() => { overflow: hidden; } +.music-playlist-placeholder { + width: 100%; + height: 100%; + min-width: 0; + min-height: 0; + position: relative; + grid-column: 1 / -1; + grid-row: 1 / -1; + overflow: hidden; +} + .music-playlist-tile > svg, .music-playlist-art > svg { grid-column: 1 / -1;

    @@ -657,6 +795,12 @@ onBeforeUnmount(() => { component="button" icon-only :aria-label="phone.t('Apps.music.songActions')" + aria-haspopup="menu" + :aria-expanded=" + actionMenuOpened && + actionTrack?.id === track.id && + actionTrack?.source === track.source + " @click="openTrackMenu($event, track)" > @@ -761,6 +905,12 @@ onBeforeUnmount(() => { component="button" icon-only :aria-label="phone.t('Apps.music.songActions')" + aria-haspopup="menu" + :aria-expanded=" + actionMenuOpened && + actionTrack?.id === track.id && + actionTrack?.source === track.source + " @click="openTrackMenu($event, track)" > @@ -800,14 +950,15 @@ onBeforeUnmount(() => { :style="fallbackArtwork(track)" > - + + + {{ playlist.name }} @@ -867,6 +1018,12 @@ onBeforeUnmount(() => { component="button" icon-only :aria-label="phone.t('Apps.music.songActions')" + aria-haspopup="menu" + :aria-expanded=" + actionMenuOpened && + actionTrack?.id === track.id && + actionTrack?.source === track.source + " @click="openTrackMenu($event, track)" > @@ -956,82 +1113,16 @@ onBeforeUnmount(() => { - - - - - - - + @select="selectMenuItem" + />