From d9f299af4d9e613ec4ae61dbefb5d21c146ffbca Mon Sep 17 00:00:00 2001 From: Markos Gogoulos Date: Tue, 11 Nov 2025 13:15:36 +0200 Subject: [PATCH] V7 small fixes (#1426) --- files/forms.py | 17 +++++++++-------- files/models/media.py | 2 ++ .../media-actions/VideoMediaDownloadLink.jsx | 2 +- media_files/userlogos/poster_audio.jpg | Bin 0 -> 43602 bytes static/js/media.js | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 media_files/userlogos/poster_audio.jpg diff --git a/files/forms.py b/files/forms.py index cb23e645..6ba81563 100644 --- a/files/forms.py +++ b/files/forms.py @@ -178,14 +178,11 @@ class MediaPublishForm(forms.ModelForm): state = cleaned_data.get("state") categories = cleaned_data.get("category") - if getattr(settings, 'USE_RBAC', False) and 'category' in self.fields: + if state in ['private', 'unlisted']: + custom_permissions = self.instance.permissions.exists() rbac_categories = categories.filter(is_rbac_category=True).values_list('title', flat=True) - - if rbac_categories and state in ['private', 'unlisted']: - # Make the confirm_state field visible and add it to the layout + if rbac_categories or custom_permissions: self.fields['confirm_state'].widget = forms.CheckboxInput() - - # add it after the state field state_index = None for i, layout_item in enumerate(self.helper.layout): if isinstance(layout_item, CustomField) and layout_item.fields[0] == 'state': @@ -198,8 +195,12 @@ class MediaPublishForm(forms.ModelForm): self.helper.layout = Layout(*layout_items) if not cleaned_data.get('confirm_state'): - error_message = f"I understand that although media state is {state}, the media is also shared with users that have access to the following categories: {', '.join(rbac_categories)}" - self.add_error('confirm_state', error_message) + if rbac_categories: + error_message = f"I understand that although media state is {state}, the media is also shared with users that have access to categories: {', '.join(rbac_categories)}" + self.add_error('confirm_state', error_message) + if custom_permissions: + error_message = f"I understand that although media state is {state}, the media is also shared by me with other users, that I can see in the 'Shared by me' page" + self.add_error('confirm_state', error_message) return cleaned_data diff --git a/files/models/media.py b/files/models/media.py index e7824cc4..5d183f6b 100644 --- a/files/models/media.py +++ b/files/models/media.py @@ -763,6 +763,8 @@ class Media(models.Model): return helpers.url_from_path(self.uploaded_thumbnail.path) if self.thumbnail: return helpers.url_from_path(self.thumbnail.path) + if self.media_type == "audio": + return helpers.url_from_path("userlogos/poster_audio.jpg") return None @property diff --git a/frontend/src/static/js/components/media-actions/VideoMediaDownloadLink.jsx b/frontend/src/static/js/components/media-actions/VideoMediaDownloadLink.jsx index 85c6d9b0..2354b52e 100644 --- a/frontend/src/static/js/components/media-actions/VideoMediaDownloadLink.jsx +++ b/frontend/src/static/js/components/media-actions/VideoMediaDownloadLink.jsx @@ -26,7 +26,7 @@ function downloadOptionsList() { link: formatInnerLink(encodings_info[k][g].url, SiteContext._currentValue.url), linkAttr: { target: '_blank', - download: media_data.title + '_' + k + '_' + g.toUpperCase(), + download: k + '_' + g.toLowerCase() + '_' + media_data.title, }, }; } diff --git a/media_files/userlogos/poster_audio.jpg b/media_files/userlogos/poster_audio.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a89428ac0f6bfab058e9bdfa40e20d83bf51ab7 GIT binary patch literal 43602 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®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

_o$#(Kw{|8c&wG9g!$_PWJ@Fq5S zK{_;Q_4WndN&87ub+gWrtrqA;@kFkmpi5C9!sH7uI5Jvr+{P$b*w!%w^BSH{y=h@g z9TNI-BM16^;7kBX9}&C$5#LS9*N(dwI^=!wz!BT2EI>kv=}jbK`*d^&opCnei6sU7 znU#WKy{C}$HWS|L1gY2)t~&D`=CJp72}~WVc{m5@>rHo0(>r6x4u8>S+q-m5uP`6E z&H5=k5l8POteRO*D&qy2y??{x(D^K*4|1ooFKO^-4jR=reO$)mI;i;hvkt2c4=7X#J``?sACDwZ7stWj70_vOiBhR72k&=S z7}F1ifC|syx->#!dX}hev9N_`-Y*b}a}mEO`Ze(ae4n9t8rrP0(5#cz70!iQru&FA zf|iO_w+UN{C*EkR{@REEQEAk$=I9TH!lQLB>#rollDx zE+$C}G!YVLhys}O+(bmt;TL-G8GE)^fGRUp$&=28*rVsa^GHI5nx-}fBZSF&bClG6 zNrtVgiAYRH^4X}x4q_&xX2{voU7_nHCbjNG;ls zjpx8l*iq%xo7-%?=6Z-?-X4LF8{!fhQ6y2cTKQcukv|LZWWeT2%+OHxO-8GR?5)Jj!C%Tb-7_XnJFH0; zi#wx|&e;Len^}8Nsq1$0?AMJ$+CdBkNz*3NAR_t6KATkp*4seA6bB@(=qGB%>1*?S z#zJgzx&M=15L_AUKJ6gR+%)r5K|5wV! zvsBW_?5;&ZA?Rr+3yOq8{nwI213GP~;9UU$HW#l2Hg?;-5EeZ-r%cD`Q$9mSNfPC> z?iu6QF9Lk5!(Q#2GbE>PrAAeBT3F-IM+>^lW*k?s+jm+-Y=Rd#G{wI^93fiUe{|jg z$C6+kM!iLyEg|e9)B{*D!cId#m*lGa5Cvb6>SITJqKgWV_X8Yt4Pvjfi^69g?{IK` zW)Cp2_hdaiju!sWa81pie_eOc{N?#S#WEg6;ho_IY0002)fOB!8VS0xjcc87rc%bw z^f;5Yby}8#-kDs#6EDH^U-Wwb@I_!U25VEOy3{rgt+#@oIBK$+fejHP}p$nHqNijv+O zs)kzOj5r1s^%n$+EPo?hDI~~@d(ihW7kYvE>RC-m+LQW{qOew?T;eAK-{1HdjLVf> zcfc|JAF(RH$_h|WL`?!*1ken240I+aIvkn>hGxQrinU^*(4bjrP=J(C4-N&$BSDtH zdRh|^h>r+Jqt#Zdg^4Z?%94YTs4r{;Eg~^CK9O1RhhM z#h9T5%W?oDixfCuEIBY{$ph(O3qU;65t<2xk;p@{;UZCBDDa`ugl5SD%$STtfK1?{ z3C#c)HqdN^aNBXIFR?BkW4M80-Q0!m2U~Hx+qbI1kRc# zubBlj?O!XP84lHe27n3!mCS<2EdB2x5nLz=;Fg5*0qh?DSw$2e2Mn-QfU@K(&@K6* z)VZ=uU|EjUQ*a@mdVmm!yvzTJ#!zR6MPS3KtbpcM1M>3*F_PenQF8yj|4RT6W`IEo zj3N+xSQea!WYVqxOcn*NE`Xy$;DCytQI1fc@*r#&3A`;58w6qkaxrF2G8TaW=2DC- z4WLD286eCoG)x6YD2bW~ptO&GSZuxwG>j!U#z(Y&4bcM_CtNVlw4f1iXe5x`pptu20 zQ-q!503#ojTtqUMF&YC3sLlh9p@1I&!T=KReaGfwM2o@3<^yR70agd}1qcIkQXb=p zYuqYY1QjTbtOiEIP7)!7IgBTSCI^xOfgm8FC)#)!0Qra|9~vlPE!3dU65tuhOTZX{ zfG`IzB8c!~qU76TtccLDiO{eav00h4L5xe!UKa%uME>LA0JKpDaO)0UDWL?}8~N zqzyoa#F&@@KNZ0tui@|G)=>6nuNqs-6VSx5CZTDpgMLA*OP^<&weJqPeWcbrf#88( zX`6Z^$E=Pb$+^b0ZVz}C{?l?pYaqg1RA6gHIMI!Hh|1VCucB78(Ft#}V*lo$mC#Ot z_*42b>W8;bo+NKy#w6*9nl{gTi1O!mNfO0)?)z=A$Y)k%&wriAb>HQ{lni^1N}&M{ zOWnqPChr^NbY8x5_cb)rzP_fY`S$jGs=O)G)m#jy$Ic-p%zeg8HyYS|RF z!*X+p2ZG7Geo`03&sFA@w7;Bd&feldvFya@~L_CjMXpNJ{%W5_IG%*GYz zKlu8|k?SyWKUbECL{2vJ*AK;64A;NF7~;gH++{fI%P^bYOreFk%8D6>jRW&_3ufc_cay8(d|0D!UL%8-L* zSrTPULbFnV&Jrq+XI+Bx0Zf&#gy&=}F>K@m?eiqt?P@}LZm01>`W z1e$O*etZ^yF<{0BWl#hfA37r_Lkoni#z+Kb1hPb^#bh`MRtkD1Ui9Dm6T*QD9hz1YaSdI_$3{)hK z5uup_LIdH*LFLr|X^hyQh#?RL$d+%x5e9_MxB+5zG&D?1AbJLvGLQh6)rpya19Fwk zXGHQ=k(q;xe7bTGmL3(0JO2xy0SRS^wjV|Q18qk#Y)}3Ns(o|s=~lX=bJ(WlSouc7 zHh=#;#9nEk_5RPrO!n6P=^0meZ(B}tEX*wX?)Pu@>%T(3){_~2IgB~5m@V`5oy<%~ zKWYQClr|3yp4iI9sW=`!GW)`H>Vd2FNcmq!G2`36&gh_aasPqdZ|V7w9w%!1N3&m& zUNxYO7Ie5Kr0=0xGQ8WB#hs$H4H?~J@IO@CQs1>u}%GghD# z{JK)+p~E|=1^?PUuFMM6gSyv{PN#}lnOwNZRs~VgDTxwy#z|~+zHvs>-YDTrDvefC zzkN?C5=xN=b8dl2+U(noE4LYH;y-v0{2HmCBEi=I0izlS(S`1mYJbBa~(y!SZu;=G2E zt_tAMp&6aApltPCnCOdJ+8$3^U}dx5`}DE>3%QlEZg|+`TCq<0Q~sdEwRO zjGZ0S*}QJoH$J$dj0yr7(;ws;Ow<@)uruLcft);lUgJ$$1%%v^OP z^*2>@bCcE(Luuv)!Vq50TjCGj8pJZ2H8|ayXC^KM%tzn8M>zIIkL{*W17XT(E(mpD zmcz^v_4Shrm=D|X7ap#w!tiGA5vGu`=V>U#ypb4#>R3*l$|7r@q@zLI$o<~T)%@4@ z+ty9SNe(U*vndm<8;dRG&rTAW$wrG2k%mLnH=wl;eF6j1tel)+^BXsdOMBJgZY)!2uBzGvL%$fG4IjuoaeBRHtlA>moyPfV5($FyO>Twc536oNl z5U8IFMUcBRRcOrTco(>B1h1VH*1C zoS0nW<~Eg8Z%kv-d59MLilU~=j=nmY@}l5)gHvQUvMoUk(e4Z^4(8nnub(X!!eadX zHs6Qh#kVTfJNCxCP>gevXyzYDaA+A>{od@Rxby`jEMrV;#;WDdil?E-_xwoikxs?f ziSNiBi8z_zwGAE?tlQ$@+EZNker0EplMRb84W!(E?>^A;jETelT?k3z_Z~Ar8<_?F z^`K0DDI7hLiKU%B?1Pzav;@{BqALW*2d=h1iu#msi(24r_7D@M9uvZ>G4Nu}vU>6; z@pU74w5(v=Tx{v1%J+cy6xT0W>-#RHTD#{Rlr-kmA0Dv$Hp`~?R#4)c*>!zTiWb$? z5C+3PacWfXg&c!{)EqWf^?bq>b1hX@t)K1d|LAa&|=+dp;Ab*1ioRMEAK<}xhs5p3yUYvoHhn>iMlPL_VP zwp?B^F)okK2@l>0r27=54L0Ps5;`$~dQZ2bN|h z=mTzU+}|eF4ZKYDoduKeLRiWy^UHym|dkMiJ+@ z`3(#eM{a#beHEvCtZCKUjHUoipcs+_E2srZ0AVgJN=;$W$dGR1G6NQ;?jyyT_PCQb zyFd3#u)PGmdVK8B-M^-0ouihG30(3J&;Zf7SLfjv`mK&uLw4BuSS(-O_?)A2${4e3 znC6Px1>n1LIVqiP+UO;ih-Z(eA#r0j9h9`_r36nlc_`hkZ1?YU^c_D@d{~8AI(Q^? za9eLDp4M^dyP@D4qmz0CD@l@dCbyVsG5@UB$AlHKHR^?9;IHWL?kA-S ztL-tvO$?W!r%nWTk^TDYHy>_Xye>8}8FJov%AJ@f7L7rLE8pc-Jci;~JDNRP|MutX zaJ2G>i$}c89+)*>GX&0X`2~zByxIxJ5F?2z04vD6I2hCAy9lo;F;qtR5FWw4`76Yb*t8jS<5iu> z27)l@)%#KBF_~vvnIuNO)+L0~g4xU>J0T1dkalf1@)DO)L+p{48f&=H z3-%59_D?hFiFF0u&N&LX@eAE%JyV&&ytq+wc+Xd_jJlk-ubbWwDn@B|7gK(=k5&{F ze^VqVmdv`$In`{*sqdoN5bu1lk}jrGBz`X9od5fSb|AR9Oo96@={lGE>d%e5?z&eu zF(zztm$w9*#N_yl{8%}6$SBl@reu;UYTfHjorU{^GhB;+y6yOJw3Z+)%$9!gIkkai zN#4G$QD-H=F6r|cxBx9?bc(ibv~akCI4w0iTJ`zH$g~RAAOhQ zjE@oPI04Td|MJPv$r`ejzq9Luz>S!v+2Usrf!*K3x-(U?bQed8#Ff8)rH;iyB#Qc^ zJ@1vLcX!5EX!-njM92G#iJRv%EHGzeqw7Q5I!z@~tG*CO$W&4(7pImMCQ(jyc`x>f z?{r8CnH1{xqOnk=p@+YWTfM&7flq_Btx zq{aBSQM?wUp|BbogCQ-RaxGhPl6E3K(^2n!LxoVGU_qh);dd%|!nDLeGTD!Ky}#D} zU5lT&&*lksXtwug7pr2-eEeLDxYpSb2}l=I-9QV9md{BdMTN(o!VKkc*mC1UiA90D z*~?>2N~IfBu~+vQAJ<>&azE_T1_9wq^P-I7nS=ONhd(Ou3=DJQr+=8k5*ipy; zAG4!nM45ETQTUSsdwcIfWap`5atQyKFXiZ&*WNL8dE{uRM<3quA8J0qX3x)D_h63@ z&&kp8kb)%1?c+z>162g#nvyeKH(8L5s(8DqR+a!?+okSD93mW(RatrJ=Cy#!%xTbG zG^#JOu;?&ainuwPZx3M~k~bHh6|ayyV%#dGxViuN=~zt3nm=#pn7yFt{;yn*&Ka5K zqI4=_f@WJz^fll~gOm%Q_$OF78kkzjGeuKNv#rn%{!J0w%ta z>JdUZj;HD!VsL3-Yu123ME#bY-pPjHjIhA=5P|u_+$uKOBs*wrxJX z!`_Hyk5;aEm~(V#q1s?zD$P!Pr-I~-WRajS_d1TRzB^OKL$D1mh522)_i5IRRsC}Y1;wvG_-b&PDu*u#qyE5(*cXMe) zSIUr8cb77r66oM2JoaHH%>m_cG>#t+3rtOw`e9Q3ISd+xV<(5(6#yxqlmX~ z@&reu{tPRmje073D44lT@2HHiBd&}%2Kq>qoTE~;5vqZFmPczSr=ackGP7UWe+>q@?SCjX`WDX8%M)O^>MQN2xqhr?dN(0a!GRtN=$S?_@mdX4XI+3Hj)|K8?L1v^E~it29y#JBWf&1TC83EdP~>VzG2EcP*}k8* z{t?9Uvo8JPBRz08#EcYr-5ZfG?I|Ib8A;B&GPENc*96ywd)!-Ejbg5~WTA&SL?T?+ zc+|B%$sVl#yDlzkY|>h=ABGggo{HlKz) zP*rc-H%z&%Q|DU{TN*oel2i;#)*2!JkhQf6!Cpy(>nHA)F?}YJPHB8Y`_7jhQTQ6` z`+p!p_q9WMVpZL$o6BGw(4WfSaVw3d{f+n*o|g|vz5_Q$i&=dxK@4lF&t28pgi(C) zG71!NQj+VUJ%4oQMpP9Qff?n%bM zhod&G0##$F6&?Dw2UWD=7_Y%!(jB+y6Wvdx#~TAYobJ+pO6)8nGE>sWRkLQ91eHe% z5N|Fe!@v>A5JdP9eU*mD7`v-7>JO)) zJ(pAA@J^dEBb58vho6wXwePsMs&0clShuq1%KgK~qIm%TJ&wbKGmHJSYRN2vhd$)_ zjVR&me8@$-MD!(al}*RVMM_xac#)x`{G-l5(>$1}*mC+<>IO3JxKkKfXMIgyzc+|F zm3F?07vOnW#!F3k{<*T>Mhe?pevh2Ym?9c0B0Y%WKhUqm^6OD-_2XFSSqMfTw%v1u zoL-u~y9^UbaJg+g?Jer|sIu{9Er{r}S>S+x-BEPF7iui~%Hy+;PszoChD zBQU_yN2xu=$ZS{Bvc4qS&bUe0tVz}HEd=+?v%7yH3*b_xE00D$c1Gtg6?jC!Pxx== znW(Wk|ENBASe653IIZ+bqOFeJARM1QSW2G5DNaP1-aGPyg!X$W-UU&ck8}$#;^uGX zY5xQ1bRH=e)@@y-^CuP`t80^RRw|dDS)2iCYn_&|Aty^xTqS`=7RNs*NFObXJs^ZkxrS%YUWk72J8a!0ikC$!`yk*c_O zit|N5=*@3%CEfJn2sgRpSGx!MwAn+A#ScH}ZHUZsxY)g}0vi5TD#IV`nBTm}9a$3v zaGAl)17Y~u0X=bgWNJFcv%50zx2o7v2(W;8K7-lcc^fuYHMOIES=Y&&M7Bg98=0Fk zwrJ?6*moxu78hW3b zt6O0E5At2>5ZTc@UCI^iEuPG>aqlqm5Nb49=q|eUG)O`eM+PV5{G=*vs-*B>*@#ma zry2mp*&DLYK0L+EG?F4LovT@9}c3LlX2!VdF`G zoR8^FM@{+k;EKg7%b>8)`sG&bDWYt3$y9B8I**_dYRR%H)IS?Rw4z$28XC!*;}B-u z2|s{A6dNAij7D+tg@YfGa$(UQ}!&Ou|2IhHGQ=aRXHpywzIh@#e*FnAel`4 zmwNGglD$Jcxpmsy%(%U(r~dMmFjXEHSg{`da*eI5kX+xT^7iku2ezzEw!g%`-){;z z-jOXX+QephAreB&+$4B(4U_7WJ$t;5{Rzu#MDPsyqQ6`LXU5BD_!S?jr4%Ri3y*2s z6*`f=l;Yc0%#|uk?CVK8$3=7sak@87931Y+kzIV(K~-ehe}Y)#IM9xTYEeiILfT6HU9y(=je{AnYnpj!n z_;8~HcS0_%8T-k}NT>#%pL-k^;Pz3aP(coq4RptRtqNk_aL`(w=qD~a1Q+$;-RB^w zs&ahHu7~nv8+|8pZR&=L%!Dj|}9vs|0t%lyxm)Cr9GC|`;4<^ z#&<~jnx4fo#KB|HjD5MGi@&pKwNtE5`mB*tKMlua5%D+X<}l6bd>ofJQpHNub1}~7 zX-JTWai@VvLbG;Sis!HFGE|7aL@`$zia1(vi$Zi9wpafdcW1M*XlJtzQZ`HAvB{Ml zudM7*H!fYCM$RL7u<1{iGA_bOoic87Bf+huvlwkg$*t_+X2jEZjpGkVQ4ldvskPtS z%d_EMNTqO2U+fGP#Ss=yCNT^C_F9ttelFlMZrSe61>n6}jvykPboW&E;zI;+l?_bv zcJ~l#%h%(yTLd%Ik}`*8Jc1$ye;_Fyc4NHp_GUa5du7RGwTeOp%^|{wkR0~r-%j41 zc7k;_3_QEB7MQ61v=P^Fq$c&wV$!!iRFY{oEUleYr-t^3OJ4}rJZ{=_vZ~5L>vUr< z*T{B=Fy~%R>AA&BEA2B%s+6%=uVFjtvbm~9tf2$E$*j4qjo9H3pD?CVGs|WLuKsMK zjc#Rbq)JlBnC3YG(K*mZ#v<4#vC}6_z<@7^Xfzc>tfq{LO)h$FJ*885B$(Pk)Qz~b z?2M&-0}ew|#nO$zP-dcF4QfQ0I=zjeh#Lb2&vOn*_O4S(ERLI9=WX50!e$DifwUcK z0f%{+LyfqTigXH zV)dR?oxXHqHo$@f8xgQg0UcOq{@;e*|G!`%kFfFt4(t*&4=$da?=b%Vy}m?2^xtAu z66Yt%!2~b!dXuS+Mq=lP4Vqlrrb7vpT$3_|vjx1^Xv0}QnC0h8kMOuC`{Oycu@$X} zJ2Y6TJ2n(e+qfd{sP@wEt+*3w=A{c<0>_WEQ@^}xW}WXWS_`a!J7>yF=LXU^FBFOx zuk9%~)(Mxd$l}@!M~9$IbB|qz%FIvcDz1YbK3}q*D8*!t z;NW|h4u%~vTC1tA?2 z8~Afalg^T=B-DOKk>~}x)?Lz3dH%UGUu``#X*LwXKfeaNMNV#CNSw)A-Fn&mB!+oS zr!ajTRmz&=(XtZI`{tpRn2^z05>jAXr4PG4VHfR@hpqVU&*SdTRsOiLaU_hPe1%;} zA+6fI)m&WpS5VVMopZ8>?Gh=CyO1bh)kT4C#q@sSj4&4@i;>7lnJTe@S=bdJV_8EQHzQmS5O+6yJ4)VCrXJR7y7 zf+>fuX;Qk%)Z&T<4hgq4U{?>S4N0f+i+-bT$weXb2RuoqGE*Peq_1N8dZ?b?lHKzX z9=UPvEx6U*xIzUB%A!|vcef2)ytR@SZ#%B z8cHwI!s-w`&{vT{U%O*6ngZf7iF35F`nw?!+7cLz*e*!CwM>`_rVtm89um43>9()C zjYro|5xf$4m^TnE66#cN@o%N2J&6qo#>HSURvfM_e8kLNzouOa;u?M+_vnjj(R`c{ z&5?zXeqG3i$<7SfYAJl%cV$J8uCM-yRr&B&ygzZ_KJ4j{vkk&h|6L`QRS?0Z6RzyS zJyrwmi$xWRl;dQosATB?(mmMCGafe9`O5rBy4p8nZk1oL3=6)$CkPz$EDBCN#FD%g z9h5|_BPpNEKRrma4##A8XP3;bZ!L(qF(|Q&rYdqYv*Opy}6gNk}i8zlPPs! zYg&~~7W{}6juPaWi@Q)iZ}!Z59ruy?4-NUk`NTV9Pu`o%kux)gX;VlD;?i|_&fENH z3b}^X4leay(r&udrs8TxyE2^V6v9w`v%;*q++Rn&J%XuZe^=kP(lCc4az=JM&>k~& z(svwNd6-XcyYne}9&8`lcEWbbfAjgk1DO}z;iX#Pa zGFJGC|C63QPhjLcd+;!7$)`7kW2{y66JOJ8aL!rbC_@+)LoitZFFKFz7RKDjJhK_0 zxSFvSp|X~8WOus=Nv$WirRh>-G%jZAiOIxzVDudOhN-oqvV zFnN>kna^6WAThG`vPGnl6daQofh`Bdz^tB-D}1lRyQYF z{+w}T1Wc1`kM*fE&ah^R+=={9Ggl>6T3-O zW{xE^voTm4=bgvB-Fqee=H~rQ;r?4k`l0q}F@zN^jh)4%Y0CEO<%Kwx$@Wov8*2yF zNg!pUm1R)hRBQ<(c6tfIraVhB zXNq^If>oOirSYZ7c^_yF_stnMou39-Alv#zW9{orhflKHHbq!KsuEuy*Ql~#lUyZS1IN3Zv`3)Tev zkL@@_R%XsPIh4P1<)<$mqNJKn5w+Fn21tvc57EYxZwZ40!9~sm>F5$t`7G_Sl`nwv zF78!Tf;G3C1tZ+nLmdt;b>ul|8Qkt^g1NVz#<{h_)1`82{k(ltMU2fe12oQIq@<=Q zWoERNCZqh+M{IlB0WV0qs)kd%b1bl8l74mU9AfpVXcVZ&Tfi8%)GqRy+O6(r4Mq*I z4ie204>PYE!uX`AkU6NA_+RRHwK00K-?iFm+$uD5_Qw;`jY|s0j5T(O50g7V28x?Y z3fCl=cSu|l?UlOSv9wT<50$qMRLk_SfoutyRz(M3eDNH+@4F`nf9O-JL=1upy(hol zG9TRTzgUx<`9q3T`9dLa8U;R}TD|XkiduHB+~~pij;a!Ri2Gf>7(Ns7%7v?Z-_Bk( zAuk-KC!NYg%h)^5?&uLW1-ue(>RS0cfi3^U>0xD(a))bUVuI-6$klv;Y=I)RM`WWVp zjB;MH$%n|pXc6G0-t~r8C~)E&#VIjyvT*F%U)jOu8dJ0w@__4=YNK#Upq9Tg8vR*w zNVsNFFc$a`woWf{#<6lk+PNYAg2a#iWo@& zFPK89*hNivNa4VL@#yy?-CD5b44Y;l8%LGS{uRjwEEUfy?YI&Wn>hxh&}0dE=jvZq zl8X%h&#))K`%jRusgr%jC2av=f%1twuh_klw=Vg;7tp1IiSvh|`HL5ou)l-6(1Bkn zU+3^4`*6h;Zd3FV_Fk zOvZTX3-VvFi3t=G#AhB#isto`S0gWlDJF$(_E(fPXhP&gz2>x}KOGw`(k+}MykxuJ z+Vz6{jOlXFO1n+{hAR=v;PKpZu;=$N=XmGWH>`#ai9(}+;Yj6jW094DrOf6JbGW-f z$zo-(JB^w%Od9v8)bxj#pHVwWo4g1f8LZeUBNP^jSN`>dmv?G`se=Ar(XOMQy-f|S zfOSZ1n&x+KR|(F0%Qq@nWG%!&#lsBsFj6U|!km|F9Lw7pxtZpzs%%G>*N``VA#>Do zTCymMj!eh=wu#uE?wF2EGIeUBL~W6=4C1nXvk>3Pt+on5P}#XLuhgFHnbpq z2z#3&H@nIm5=aN8q2ruMakg>cHvE;y+v@Rpn-uK}d*gwQ&rLs&?MIW%LWKaf#j2L1 z{v@9CBpIw_aqP_e(HM8C-bt0c9e^}+i!J!>@QHv&$VV*{*G;qM_mN>4Rnaf~hUqvYMJyBD2jR_Q&Q;y^WfMO=5NoN5%QPn^By`ca-ijW6}j* zbWQg-HEb@pb{-Nht&f5iTJsjkNe$C+n0d5N@(l+RR{8wQ_H_81?AfN_ET^{w&krkW zY&3QFhOIr@9!8gRHeD%*UsfT)cf`#1eFtAmQ#;#rajy1U2>WWT$r5_0B-9KtFl+Ew zCQ1hp)Gjszp6JAPjcFJVOAU_gDi^@B1qkV??h{p-3`?CIG(rDTwTJ!2%B>sC^A+yZ1`BdL=qxZ=q__W ztG?(upQxHl>X06LY@hRNp^R_R=*-G8_{@$g7}qDI)|9hMA&@*+VBcmyooZ1Wb7|^< z5Jz#M*rk;L6{w)09q*3GWnIYeg3w}({;15BbU%Th4diP z6we0AlJb***^6D*LUn*P8|1UQ`d? zCLNk*h|3)k5x1r=)4*~g%h7Q?KliG!nvn(jdDbc&7DXluGStSTJ@PQse66B&@e+Iq(f$p4pDz)=5z^Cll z%TS`Cfu1g+z|lpXzF7}xjbp~;g?t5sOXh@dB+sz+MrL)Hao*A=$mC9}>URKd< z->e#T`n?z?L2H-vsrMIL_n!Fe+jQDg|69H<4sOT>53aX`xdOrksx|X0-VO-fqtGq= zBX75nY&(CfsK84YMX2U!y7(FF8+FXWm*)b=y#;k~>bQ%Uj$872e!mb0R;e}#*Z)9z zTDoie?NS^UK*AS+N6+7_ZuVDgc607Q4b*>~nD{1LJSNzziv*3N=CLni32s$BF{3s+ zSs11*C^6%xReXbw3&EwTNg_`N+wR#@akgAZxfa`7Bfb}J2MzDPabi zO}~ew5M8W{39pqA{Lme9Nz{#l<5t{^a*qg0qCUgz5DOtk666 z?76RW%(?1L?i6tc{#Oj!01CWDm7YXDy|ZJh*eS<0M7&;z@+rc>7UMIqy+$8KN!r=N zQ=#m6ySait_eqqnL~*)~%59_Ju!*-{3O7_lQtV+fuVGt4vja=EHqVc~Epq>bc##SP zFO;+Izx$@{}vB zC+!kOuz;O5WCJNUM!JZmp?YnK``( zjJwEh?r9|?gRhSpa2JuhWpM<;R)d)v7h^?lY=EPc9O0!4aW0=UO68&-!FuV;(*r+b zl}@x}RK6K?=ANWJyJZOpN!m^Og(l^t;Lj9P+9>jnnRe}{9sDRdv@f%5Ba*k6?JA{8 z8CTpa!U^}%GOkRp?JRrt+Bb94rxx^;H=+P>T4t65`JS?{?g(MjoY_$2KrQ3;yg)I40T#^-`U$PYONY zg=9=*bySqRcIXLvDx|nSnV6pN$Bhfx0}kL%SzJj>@o%y1VEqg?w>B9HQzhLX33F`a zC0!m~$T|EJM#EaiYN*fPQ86^-3*B`b1i(7dPOF zBwdP>nBo~QB9EM89~i*>o^qQ6>*YI3W^v)#IN4i&twg9)zfp6@oRo?iJq)eA8x!>@ zRae>J_T#xD>yFVF$k|u-ew&>rHT^!m&T0r{S}7n0cTWrUIlN%ruMVd|V8*sq0} zVzzSZ(c;K!H3z*ILS%|%J3=q_`IkSCjK!=>Qh;wU`;v86l!alD~ssY{C#H? zG>XU%5TIXOE{x`za&^x14bLHEC2{z11(6o#0XF^`BM3x^Hb)qKGHP$-g=&O`=fPgV zOkx*%TmqJ)86ad^yG5FMHajsrpBM`u6yj`r%}~3#hH$C|>BoqbT|o^~e&+AL+GF(! zrQ?G(q+@bN2QLCAx*_z_HY%h6&gfy_Dk}kl@D#7MAJ@P#JpVbh{Xmi& zVXfIP>I0X{dnn;vv}uzV16j`Er-ppnIsG7#i!htCBe-OAw(Gv)LcX=cCF{7uUqdU@ zsSHMPf*ObN=ZaF5aI*Rx+C{Ok*|lu;r@Di`C*OT!DA>#&OnG6HQNJ(ie?Lq!qWr`5 z8V5xS=B^f=A)fuo3JqN2tO}K*EZ9Vq;NY;TYN^jD_C6@h-vNy4XnzK1c zIRJ$K{+M>a+#%mZlq$1O<*#&9m-yi1EFIt{#Zsq+FH7XeMnP+ua*iEqYIBwe1~-jY z*I}RF^G`LfYIo)>oBQMNUD1FJxTnEd zdWVhK2779q_~-jpme+ljA8}_WDpEzPC1vfG5Zt0Vmbvd6!i_a8jtStCqJ>p)F7494 z7H8gQHM2o%va3IRR4tTHtyArxeinz_4{UuwHO-FyqJ&JY3b=3 z>W@@`ZZNY(q%pG@!rfz8f1p9@Cw4@qreoS|jKX<+{{W%vGeKTY@WaXJkk-=Vrr2hS z-oJ}!vq*jG{xR>)(&2|2{{W;goE3&)gV!Eof~W>E?j_Z1n?PP$-VCl1$ZUH=(r*te z;L!HLp{M$NL|y`0ONC;F-hXI~U;QD88Z2f8$tYu0q-agnsU*P)nZvUKHmrZ<8N5X{ zC^uM-8smdI=eT{4-76I?KLbWq((hKp*BO`&Kb&cQnqM+zg;0|qh@GFP51{qHTREqa zlcCC<7>etfLmL)HX{fiJsF|*oNHT1WiSw7P3nq(PEpPOPh;loofZDVDU_=%ag+;N4 zqb)s*oh}cmE1L(8@or!t7Eki#G?qlC7!~4Ox%G2f;CPi#`|F`!ScbG?^<`pO$TA+c z1k!x4Sy|rHN+$Ebx(s%tskPbhv;P2q?;C5FZx zC20Cu7gY>mB)Qm?L7Pcw;AW{EwEqB_6dex{LGuIu0AHZ#wZBN|!UZU62Qbj5sQKuT z$CNg-3=;4tvl_++h=+_3bCk7Z6>Mj+dTFdQ`xz>HrtMFk*&w42POcLtS#ZS`62&T! z&vqemjs6`b1BBbYqInlzAHVRC+f`mO$od|U(va4|$Z)E@ixN1BF*Im&s%W@Xn5mDq z{^9Hx&MD@fVNyzuVT_A1HY}RV{lqt?8yzLfiHT)~YZZvsV)2oR+y4NJ$qeT8M~9}2 z^T2jriltXlyfzIqFDya|vQPboAm4g^kYTAXWpngrg1ZpU`4X)VyuJ`!izYI*<863| z_xQ)KR>%91nu`AbRDEwLdz`_W14qD~GB!%CWn*mg(j;Y=aVA-nCBMcf)Kwu~M$=;t zc*`b)(hfO{4da7-egnM1cMbwoWJHVq093A9=NOx5CjjXH>l!{148>68?5yKM!@5)&bcTIbo{!*F}9-pCu(QDuT0JL&bO?ZP| zITS~MV*)U+X}yC|W5C*5Vvf;6&M){((BATkxzENq*ST>I_qr&H5C-)Do-UmA&w)h~ z;Sbc>rRqt6IHuYbj(@N!s2Yu)>0rl2;Kt^P+ld-=GG?#Fa`wS(v{Ss&a$`}1rx-Gp z$w!c=c{~0k=l=jmE3#l(q9GEC4d~O#*w;SdPeV*=v~V_(rG`z4Qr&?%%qGFmOBT8P zfwO;_acjw+4H+X%dk#S0JI!@=gHFGr)&4!sN0kS}$6BE(#*-};3Up9guuigPs)`b|ElZB(BJCCE%* zQY6X$06EL|y#~z)vk$BnKEDL8Y5Q_JdL4P5!}Izy;P>OA92qa)HEF{*CWOX^cs<2r z6U-(=dynKNh7Gc}8ADJrX>!8n9_|*ukTjNr@4xp@73K?GaMtjNyOeGkQH8 zec-8s4-fHXl1q{$fj5cJ(ia(2HIXgdLAONv6Umw?)n*y#_-(ziK>Ykpn`K8%YIZwq z<(Zfi(x)}>MYG&=Wwqgc@v;pmSD+QCcu6#EwNjNA*zL~6k?5*R5OcpRM%81Ar-^!%>bU*U}l!3_4E z+#+KK*(=@*(bFyLeGMpW zu`reC*=AcQ;P*5azv1}VDwTd79>{N)Etfkt6EK!g-)Eud%j3}SQ!=)5qV)7SQydXp4V>Yge@8UhPEX(A^d$;YVoH{ZbeW_sXm;P@n1 zA4}-V(>RcKNgHu=ZSp)UuR*l2^he7*Sz3A(xgQA;?vX$v$nYo9R#qF&22z}vnS7tI#r=(n z*q#OlG&!GI?p@k)+|OoiDBP5887?>MR*bEFhbWp@EXc9(p(kr+*uO=5vAoaFoW&&M zbAdNC_?`vT7F#Eg@%k{`68`{Es_=7=(r!|}#i+Di4^h0#i85TmR5;|REV1Q8P7wb9 z;iplFuTotvVa5Cs>!GHx{zhI@E-FG^e#wgln#+QHEDb&dK1mg(TBLTZ9Hz2r#R{}# z{=5WtTz(Py3HU1Dkw`?ei0Ql^NWv1jWPESP%d-XH5@hTybNdx;x9O5T2aK{gg}}Cd zvOAHcv?k^@F6RXQ05W(v(Cz(X?AdcM;C9Bu(=1G`PGUpX@P~y2k~phoE5RNsB;(|1 z?*#H(np-m7Pb`-U=$t_~ti6{e)=<)G0*HG*@TQMLk@hvqz@Hz;-fKdC>MP70R|ZxK z(dqjVxPP)t(dQIKm;Q;i?D!Xf$AtJ3;4COjoW-sn^T^jobz%O>n>6Q-fm^5~(O(E+ z6oVGiT4JB}ZCMd;>92DqhFnwQ!Bo$%>u~b(=kRN#&jOjx$e)k0Td^szHMA#6hXZ^; zVq&3X>J4WiS1FZ@k1EkFTOPDd*Vvrn?Db;5<|nv`w}@Mn`!$4vU75Kv$J-K*BJVkU zkFi~$H1N=ugBt6aL^{?vA0yro#pm`VwRt@l)qlZQ$maVum)Pxx9_0T3(IkCOX;FIo zJFS}FcId`$u>Sz=1%;{VM()VF98VY{y-mNNE5 zdoV(<6H=tOz<_50*iEGkv^*>0fny0{&}j`MWIg(t#d#X$l02jI(BtG+N&A{vLrZAF zSYD$|cFd)}N+kA|(UQv+sWV#m5|}1*MQbI$xJRKiVjiAF77@-F6Ft3Q#BbDfEBY5| zdkt5?U6!1QO`3ROnAQg8KZEU(=F+ZMn|UWpQz~a=!Q{%|UIwf3E#OY@Wy&RirxEaU4^epZB z4J(vHj5isSEe*{NzW5YLI$^!&c~ox+U{R!*YKe?5SU*8G z&t+@qc5G2P*SNgBj_ku*HnpKezhdnS<-y%++*n>8GO)Lh$(_)X@B`uYoDA zVky9qPb14Pxh?q@UnjWy42+W#WL&Z7rO_H|Cp-^0`ZmcB<@G!+8EUPOrGtK>Rl{VY zuZk?TX?vVRj5LI~Y)_ z#K-JW^T_#PQ~v-5sYz1)2GTY(nx})om&lPVns($$ZxEG4B(+SXL_X=7{YRcf9?e6R%}?KZ4@FqTGEG1Y6_4+te;7>dHcHY_5Hcyy$JLBKQ>7 zCpL0*e6 ze`Q6L=r12bPUF~VIMA>8jW)8#ujs1HzdflWg)HOcLsMd-}7J8+-C+iXl}Sv|*<>SK}A&t_h5TxeNQ`kPWO?9D zEVGJK_xdjl7aJSV;9ePXp{22IHdLM9@;$;AfhRV3WoeB&8|a+6Ez9U{HNiCYB){qI zM8)Lv6N=F+Xj#|UGC1%uT?>>S$%<*#gp~dSsi8TBTL!Kg7nVJ~1%jyJaI-XR#|a*X z7FeM7l!;u7wd`*{$yAk^!WWjl57AT0GPL;{%wFS$FGzDPMdj$ZrD@iN(^*8t8-vxK z1jYVGcW_1iVpE0adbl0;3EU>hnUQuZqAa1~wlqryHvY^`1=?k8SU2`HlL$|trTvdN z_%WvTI>hRugR7EV4r}C#gjK01f>J8^S z{v6;W`(!sh(E6MST>Ouz>^}>VU87w78gC3vqivTG9N)65;+LP2uDKjekFPiqQ-blG z3FKR_d0+Z0wx`IM7ed2{BPr732%RV@ur{Ve62c}3;rk9gD4bw*tPdi~uxFu-K2BlA zy-a9nOcm}KZzx~D)ib0#5i~o%{A9JP6B2!wh)m=5JRvvHabcA5B{DvtT@~bh2Cw#W zqk(GtesQ>Dz6UvDi!51O6ysFwKVj2PE0Q{@MjDX~ba@{MvC<}@#S)o9i3_+~k0MuW zkNO&%8Ea%Bc|ARa4j|OH(>P&y&`-FXw@XS4q$^01F z{5*#yVB@(S3ybn>TN74Yoe6W;?pWhq;#urbI4jVt(R=8M8@nblYa{Y4OYS3jGql8} zpE(u&#l06lz`aD%BzP5dPqMDfn?{DSqP~XI*)G_U?vY$Fco5ej$3DcTpV8?|aLBLX zz0*Rzr>MM@L)^>Xz_485`i>`}GA1W~7Ced4&2}n^&Nazb0@JK%y_ra_Q{dMmd<$C8 z+qfvVU&)G~uHJ_5RVy2dd=a%+onmlTnp&`DqgVPiv%vRy8)WpPdtYU3=;Qh>VRAXL z@+SF0Y2^<%ID$~kGQ17(@HWzj&CxF<&i#a*+aH0q*U`;?hFD5hV>WSwVP+nPT{Fnt zLf%K+D)jaju1lSl@pFN!b|$+kV(pJFA7jgp9U8!$!R|NLe4plC7eZ<1j%SVp-f5*D zMwAos*|Mux-f-RwtkWr#rD>mEV!K52hrQws-(trX;N#9sqbcQNTdZzj6{nY@T<7p@ z&)Dw|Bf}f%?5hruhWv`WQNBdXZzbZ5&QA&Z7Hi%Oz6#UH zoqdlP;PmIfnj7F)z^^P%G*$9f*zu%d#L>Jl-u?vBW#OC&G_eND$}Qx#pZyi@MrO-0 zC*aG;tkI{)NiZdLCe|qYd&5iiH1fWLqx(BuaAkjEJp2hhNsnxqcC$pRhH=luE^+#XoN81{Dn;sTUkW0U@B;=DFj)>QRVP$BuH1IWXeoZVd zlFF#lTzn1U30%T0F{M5X{{Uw-k+qUt5)F7m@<(hddF<1u)=@F)%G1Ic;A!0)VAnrpE_N*Y2|f*Z=yqe=+D`;;B-JW=8n1rC+!aGyKanc1C73Ak)=3v0Oq>2o zFva^g7kv}P`xjG#GY344I|#K|TWuZ&s*R1bs$<6`&p!fwP4V(Z@{xKQcRZHvj?t#o zOiAE~?O&lbw^*}>!H!ICgL^~Iq1N9*Z?Rig+u&Kq-cb*?1l)*`WJza!OPr0!C+alz z(KCNyb<2}4`4^VPs+lX|_#NH!gU_)a403OugFI2+BeMnVp45#j3idj-SMto;;L^|R zXJSlAwDu=)pK?9Xxf65PvomI2Vw@t!XTZB-twP{X!O=Fb%xHP90`Y>iw#?SZJYo%W zYd75T)#!~qio7&sbEI;_-y_SU%^z|hUimh#E4T1^i&`Sv_Z4=6{_)`<_-)JiR6N-VFT*e19m zT&OCz7O?3s^Pwx1u7_KD4Sez?EM&Mg^87@5dJ!`dWKD1I?h&!gCMTKD*2R@FeP3161i_A%xs;#Y>9zc2CpJf`UaI*`#cD)i6793s)WqC=yKNm z2{iUBymoIjc_ePZXEh0M`x+i{k%r|O@|Je*%(4GJQ literal 0 HcmV?d00001 diff --git a/static/js/media.js b/static/js/media.js index 0067e326..f6dd0b8d 100644 --- a/static/js/media.js +++ b/static/js/media.js @@ -1 +1 @@ -!function(){var e,t={463:function(e,t,a){"use strict";a.d(t,{c:function(){return o}});var i=a(4571),n=a.n(i);function o(e,t){let a=n()(e,{});return""!==a.origin&&"null"!==a.origin&&a.origin||(a=n()(t+"/"+e.replace(/^\//g,""),{})),a.toString()}},878:function(e,t,a){"use strict";a.d(t,{c:function(){return d}});var i=a(9471),n=a(8713),o=a.n(n),r=a(6387),l=a(5321),s=a(2828);function d(e){const{thumbnail:t}=(0,r.useUser)(),a={"aria-label":"Account profile photo that opens list of options and settings pages links",className:"thumbnail"};switch(e.isButton?void 0!==e.onClick&&(a.onClick=e.onClick):a.type="span",e.size){case"small":case"large":a.className+=" "+e.size+"-thumb"}return i.createElement(l.i,a,t?i.createElement("img",{src:t,alt:""}):i.createElement(s.Z,{type:"person"}))}d.propTypes={isButton:o().bool,size:o().oneOf(["small","medium","large"]),onClick:o().func},d.defaultProps={isButton:!1,size:"medium"}},977:function(e,t,a){"use strict";a.d(t,{A:function(){return n}});var i=a(7143);function n(e,t){return i.register(e[t].bind(e)),e}},1815:function(){},2787:function(){},3237:function(){},3818:function(e,t,a){"use strict";a.d(t,{_:function(){return r}});var i=a(9471),n=a(8713),o=a.n(n);function r(e){const t=(0,i.useRef)(null),a=(0,i.useRef)(null),[n,o]=(0,i.useState)(null),[r,l]=(0,i.useState)(null);return(0,i.useEffect)((()=>{o(function(e,t,a){if(void 0!==e){let i=null;return i=void 0!==t&&t>e?t:e,i=void 0!==a&&a{let e=null;if(document.cookie&&""!==document.cookie){const t=document.cookie.split(";");for(let a=0;a1&&void 0!==arguments[1]?arguments[1]:"success";h(e),v(!0),S(t),setTimeout((()=>{v(!1)}),5e3)},O=()=>{t(new Set)},D=()=>{t(new Set),p((e=>e+1))};return{selectedMedia:e,availableMediaIds:a,listKey:u,showConfirmModal:r,confirmMessage:c,notificationMessage:g,showNotification:f,notificationType:y,showPermissionModal:E,permissionType:P,showPlaylistModal:M,showChangeOwnerModal:k,showPublishStateModal:N,showCategoryModal:L,showTagModal:I,handleMediaSelection:(e,a)=>{t((t=>{const i=new Set(t);return a?i.add(e):i.delete(e),i}))},handleItemsUpdate:e=>{const t=e.map((e=>e.friendly_token||e.uid||e.id));o(t)},handleSelectAll:()=>{t(new Set(a))},handleDeselectAll:()=>{t(new Set)},handleBulkAction:t=>{const a=e.size;0!==a&&("delete-media"===t?(l(!0),d(t),m((0,n.translateString)("You are going to delete")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"enable-comments"===t?(l(!0),d(t),m((0,n.translateString)("You are going to enable comments to")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"disable-comments"===t?(l(!0),d(t),m((0,n.translateString)("You are going to disable comments to")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"enable-download"===t?(l(!0),d(t),m((0,n.translateString)("You are going to enable download for")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"disable-download"===t?(l(!0),d(t),m((0,n.translateString)("You are going to disable download for")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"copy-media"===t?(l(!0),d(t),m((0,n.translateString)("You are going to copy")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"add-remove-coviewers"===t?(b(!0),w("viewer")):"add-remove-coeditors"===t?(b(!0),w("editor")):"add-remove-coowners"===t?(b(!0),w("owner")):"add-remove-playlist"===t?_(!0):"change-owner"===t?C(!0):"publish-state"===t?x(!0):"add-remove-category"===t?V(!0):"add-remove-tags"===t&&T(!0))},handleConfirmCancel:()=>{l(!1),d(null),m("")},handleConfirmProceed:()=>{const t=s;l(!1),d(null),m(""),"delete-media"===t?(()=>{const t=Array.from(e),a=t.length;fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"delete_media",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to delete media");return e.json()})).then((e=>{const t=1===a?(0,n.translateString)("The media was deleted successfully."):(0,n.translateString)("Successfully deleted")+` ${a} `+(0,n.translateString)("media.");R(t),D()})).catch((e=>{R((0,n.translateString)("Failed to delete media. Please try again."),"error"),D()}))})():"enable-comments"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"enable_comments",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to enable comments");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Enabled comments")),O()})).catch((e=>{R((0,n.translateString)("Failed to enable comments."),"error"),O()}))})():"disable-comments"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"disable_comments",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to disable comments");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Disabled comments")),O()})).catch((e=>{R((0,n.translateString)("Failed to disable comments."),"error"),O()}))})():"enable-download"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"enable_download",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to enable download");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Enabled Download")),O()})).catch((e=>{R((0,n.translateString)("Failed to enable download."),"error"),O()}))})():"disable-download"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"disable_download",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to disable download");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Disabled Download")),O()})).catch((e=>{R((0,n.translateString)("Failed to disable download."),"error"),O()}))})():"copy-media"===t&&(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"copy_media",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to copy media");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Copied")),D()})).catch((e=>{R((0,n.translateString)("Failed to copy media."),"error"),O()}))})()},handlePermissionModalCancel:()=>{b(!1),w(null)},handlePermissionModalSuccess:e=>{R(e),O(),b(!1),w(null)},handlePermissionModalError:e=>{R(e,"error"),b(!1),w(null)},handlePlaylistModalCancel:()=>{_(!1)},handlePlaylistModalSuccess:e=>{R(e),O(),_(!1)},handlePlaylistModalError:e=>{R(e,"error"),_(!1)},handleChangeOwnerModalCancel:()=>{C(!1)},handleChangeOwnerModalSuccess:e=>{R(e),D(),C(!1)},handleChangeOwnerModalError:e=>{R(e,"error"),C(!1)},handlePublishStateModalCancel:()=>{x(!1)},handlePublishStateModalSuccess:e=>{R(e),D(),x(!1)},handlePublishStateModalError:e=>{R(e,"error"),x(!1)},handleCategoryModalCancel:()=>{V(!1)},handleCategoryModalSuccess:e=>{R(e),O(),V(!1)},handleCategoryModalError:e=>{R(e,"error"),V(!1)},handleTagModalCancel:()=>{T(!1)},handleTagModalSuccess:e=>{R(e),O(),T(!1)},handleTagModalError:e=>{R(e,"error"),T(!1)},getCsrfToken:A,clearSelection:O,clearSelectionAndRefresh:D}}},6403:function(e,t,a){"use strict";a.d(t,{g:function(){return r},m:function(){return o}});var i=a(8004);function n(e,t,a){let i;switch(a){case TypeError:case RangeError:case SyntaxError:case ReferenceError:i=new a(t[0]);break;default:i=new Error(t[0])}return e(i.message,...t.slice(1)),i}function o(e,t){return n(i.z,e,t)}function r(e,t){return n(i.R,e,t)}},6568:function(e,t,a){"use strict";a.d(t,{x:function(){return r}});var i=a(9471),n=a(8713),o=a.n(n);function r(e){let t="spinner-loader";switch(e.size){case"tiny":case"x-small":case"small":case"large":case"x-large":t+=" "+e.size}return i.createElement("div",{className:t},i.createElement("svg",{className:"circular",viewBox:"25 25 50 50"},i.createElement("circle",{className:"path",cx:"50",cy:"50",r:"20",fill:"none",strokeWidth:"1.5",strokeMiterlimit:"10"})))}r.propTypes={size:o().oneOf(["tiny","x-small","small","medium","large","x-large"])},r.defaultProps={size:"medium"}},6671:function(){},7143:function(e,t,a){const i=a(2063).Dispatcher;e.exports=new i},7492:function(){},7640:function(){},7664:function(e,t,a){"use strict";a.d(t,{CircleIconButton:function(){return i.i},MaterialIcon:function(){return n.Z},NavigationContentApp:function(){return o.V},NavigationMenuList:function(){return r.S},Notifications:function(){return l.$},NumericInputWithUnit:function(){return s._},PopupMain:function(){return d.AP},PopupTop:function(){return d.cp},SpinnerLoader:function(){return c.x},UserThumbnail:function(){return m.c}});var i=a(5321),n=(a(7256),a(3135),a(2828)),o=a(5305),r=a(7201),l=a(6089),s=a(3818),d=a(2901),c=a(6568),m=a(878)},8004:function(e,t,a){"use strict";a.d(t,{R:function(){return o},z:function(){return r}});var i=a(8974);const n=function(){for(var e=arguments.length,t=new Array(e),a=0;a{m.current&&c({height:m.current.clientHeight||0,width:m.current.clientWidth||0})}),[l]);const u={right:{left:"100%",marginLeft:"10px",top:"-50%"},left:{right:"100%",marginRight:"10px",top:"-50%"},top:{left:"50%",top:`-${d.height+10}px`,transform:"translateX(-50%)"},center:{top:"50%",left:"50%",translate:"x-[-50%]"},"bottom-left":{left:`-${d.width-20}px`,top:"100%",marginTop:"10px"}};return n.createElement("div",{onMouseEnter:()=>{s(!0)},onMouseLeave:()=>{s(!1)}},n.createElement("div",{ref:m,className:`tooltip-box ${l?"show":"hide"} ${r}`,style:u[o]},i&&n.createElement("div",{className:"tooltip-title"},i),n.createElement("div",{className:"tooltip-content"},a)),t)};function c(){const e=(0,n.useContext)(o.SiteContext);let t=S();t=t||r.MediaPageStore.get("media-data").thumbnail_url,t=t||"";const[a,i]=(0,n.useState)(t),[l,c]=(0,n.useState)([]),[m,u]=(0,n.useState)(!1),[p,g]=(0,n.useState)(0),[h,f]=(0,n.useState)(!0),v=n.useRef();function y(){i(S())}function S(){const t=r.MediaPageStore.get("media-data");let a=t.poster_url?.trim()||t.thumbnail_url?.trim()||r.MediaPageStore.get("media-original-url")?.trim()||"#";return e.url+"/"+a.replace(/^\//g,"")}(0,n.useEffect)((()=>{a&&(()=>{const e=r.MediaPageStore.get("media-data").slideshow_items;Array.isArray(e)&&c(e)})()}),[a]),(0,n.useEffect)((()=>(r.MediaPageStore.on("loaded_image_data",y),()=>r.MediaPageStore.removeListener("loaded_image_data",y))),[]),(0,n.useEffect)((()=>{if(m)return document.addEventListener("keydown",E),()=>{document.removeEventListener("keydown",E)}}),[m,l]);const E=e=>{"ArrowRight"===e.key&&P(),"ArrowLeft"===e.key&&w(),"Escape"===e.key&&b()},b=()=>u(!1),P=()=>{f(!0),g((e=>(e+1)%l.length))},w=()=>{f(!0),g((e=>(e-1+l.length)%l.length))},M=e=>{if(v.current){const t=10;"left"===e?v.current.scrollBy({left:-t,behavior:"smooth"}):"right"===e&&v.current.scrollBy({left:t,behavior:"smooth"})}};return a?n.createElement("div",{className:"viewer-image-container"},n.createElement(d,{content:"load full-image",position:"center"},n.createElement("img",{src:a,alt:r.MediaPageStore.get("media-data").title||null,onClick:()=>u(!0)})),m&&l&&n.createElement("div",{className:"modal-overlay",onClick:()=>u(!1)},n.createElement("div",{className:"slideshow-container",onClick:e=>e.stopPropagation()},!h&&n.createElement("button",{className:"arrow left",onClick:w,"aria-label":"Previous slide"},"‹"),n.createElement("div",{className:"slideshow-image"},h&&n.createElement(s.SpinnerLoader,{size:"large"}),n.createElement("img",{src:e.url+"/"+l[p]?.original_media_url,alt:`Slide ${p+1}`,onClick:()=>(t=>{const a=e.url+l[t]?.url;window.location.href=a})(p),onLoad:()=>f(!1),onError:()=>f(!1),style:{display:h?"none":"block"}}),!h&&n.createElement("div",{className:"slideshow-title"},l[p]?.title)),!h&&n.createElement("button",{className:"arrow right",onClick:P,"aria-label":"Next slide"},"›"),n.createElement("div",{className:"thumbnail-navigation"},l.length>5&&n.createElement("button",{className:"arrow left",onClick:()=>M("left"),"aria-label":"Scroll left"},"‹"),n.createElement("div",{className:"thumbnail-container "+(l.length<=5?"center-thumbnails":""),ref:v},l.map(((t,a)=>n.createElement("img",{key:a,src:e.url+"/"+t.thumbnail_url,alt:`Thumbnail ${a+1}`,className:"thumbnail "+(p===a?"active":""),onClick:()=>(e=>{f(!0),g(e)})(a)})))),l.length>5&&n.createElement("button",{className:"arrow right",onClick:()=>M("right"),"aria-label":"Scroll right"},"›"))))):null}var m=a(7118),u=a(5928);function p(e){let{fileUrl:t}=e;const a=(0,u.defaultLayoutPlugin)();return n.createElement("div",{className:"pdf-container"},n.createElement(m.Worker,{workerUrl:"https://unpkg.com/pdfjs-dist@3.4.120/build/pdf.worker.min.js"},n.createElement(m.Viewer,{fileUrl:t,plugins:[a]})))}var g=a(8713),h=a.n(g),f=a(285),v=a(1838),y=a(7154),S=a(8974);const E=["hls","h265","vp9","h264","vp8","mp4","theora"];function b(e,t){let a=null,i=document.createElement("video");if(i.canPlayType)try{switch(e){case"hls":case"mp4":a=!0;break;case"h265":a="probably"===i.canPlayType('video/mp4; codecs="hvc1.1.L0.0"')||"probably"===i.canPlayType('video/mp4; codecs="hev1.1.L0.0"');break;case"h264":a="probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E"')||"probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');break;case"vp9":a="probably"===i.canPlayType('video/webm; codecs="vp9"');break;case"vp8":a="probably"===i.canPlayType('video/webm; codecs="vp8, vorbis"');break;case"theora":a="probably"===i.canPlayType('video/ogg; codecs="theora"')}if(t=(t instanceof Boolean||0===t||1==t)&&t){if("no"===i.canPlayType("video/nonsense")&&S.warn('BUGGY: Codec detection bug in Firefox 3.5.0 - 3.5.1 and Safari 4.0.0 - 4.0.4 that answer "no" to unknown codecs instead of an empty string'),"probably"===i.canPlayType("video/webm")&&S.warn('BUGGY: Codec detection bug that Firefox 27 and earlier always says "probably" when asked about WebM, even when the codecs string is not present'),"maybe"===i.canPlayType('video/mp4; codecs="avc1.42E01E"'))switch(i.canPlayType("video/mp4")){case"probably":S.warn('BUGGY: Codec detection bug in iOS 4.1 and earlier that switches "maybe" and "probably" around');break;case"maybe":S.warn('BUGGY: Codec detection bug in Android where no better answer than "maybe" is given')}"probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')&&"probably"!==i.canPlayType('video/mp4; codecs="avc1.42E01E"')&&S.warn("BUGGY: Codec detection bug in Internet Explorer 9 that requires both audio and video codec on test")}}catch(e){S.warn(e)}return a}function P(e){let t=[],a={},i=document.createElement("video");return i.canPlayType&&(a.hls=!0,t.push("hls"),(i.canPlayType('video/mp4; codecs="hvc1.1.L0.0"')||"probably"===i.canPlayType('video/mp4; codecs="hev1.1.L0.0"'))&&(a.h265=!0,t.push("h265")),"probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E"')&&(a.h264=!0,t.push("h264")),"probably"===i.canPlayType('video/webm; codecs="vp9"')&&(a.vp9=!0,t.push("vp9")),e&&("probably"===i.canPlayType('video/webm; codecs="vp8, vorbis"')&&(a.vp8=!0,t.push("vp8")),"probably"===i.canPlayType('video/ogg; codecs="theora"')&&(a.theora=!0,t.push("theora"))),"probably"===i.canPlayType('video/mp4; codecs="mp4v.20.8"')&&(a.mp4=!0,t.push("mp4"))),{order:t,support:a}}var w=a(8974);const M=e=>{let{data:t,useRoundedCorners:a,version:i,isPlayList:o,playerVolume:r,playerSoundMuted:l,videoQuality:s,videoPlaybackSpeed:d,inTheaterMode:c,siteId:m,siteUrl:u,info:p,cornerLayers:g,sources:h,poster:f,previewSprite:v,subtitlesInfo:y,enableAutoplay:S,inEmbed:E,hasTheaterMode:b,hasNextLink:P,nextLink:M,hasPreviousLink:_,errorMessage:k,onClickNextCallback:C,onClickPreviousCallback:N,onStateUpdateCallback:x,onPlayerInitCallback:L}=e;const V=(0,n.useRef)(null),I=(0,n.useRef)(!1),T=(0,n.useRef)(null),A=(0,n.useRef)(E),R=e=>new URLSearchParams(window.location.search).get(e);(0,n.useEffect)((()=>{if(A.current=E,"undefined"!=typeof window){const e=R("t"),n=R("autoplay"),w=R("muted");window.MEDIA_DATA={data:t||{},useRoundedCorners:a,version:i,isPlayList:o,playerVolume:r||.5,playerSoundMuted:l||"1"===w,videoQuality:s||"auto",videoPlaybackSpeed:d||1,inTheaterMode:c||!1,siteId:m||"",siteUrl:u||"",info:p||{},cornerLayers:g||[],sources:h||[],poster:f||"",previewSprite:v||null,subtitlesInfo:y||[],enableAutoplay:S||"1"===n,inEmbed:E||!1,hasTheaterMode:b||!1,hasNextLink:P||!1,nextLink:M||null,hasPreviousLink:_||!1,errorMessage:k||"",urlTimestamp:e?parseInt(e,10):null,urlAutoplay:"1"===n,urlMuted:"1"===w,onClickNextCallback:C||null,onClickPreviousCallback:N||null,onStateUpdateCallback:x||null,onPlayerInitCallback:(e,t)=>{T.current=e,L&&L(e,t)}}}I.current||(O(),I.current=!0)}),[t,u,E]),(0,n.useEffect)((()=>{if(E&&V.current){const e=setTimeout((()=>{const e=new CustomEvent("triggerVideoJSMount",{detail:{targetId:"video-js-root-embed"}});document.dispatchEvent(e),"undefined"!=typeof window&&window.triggerVideoJSMount&&window.triggerVideoJSMount()}),100);return()=>clearTimeout(e)}}),[E,V.current]),(0,n.useEffect)((()=>{const e=e=>{if(e.target.classList.contains("video-timestamp")){e.preventDefault();const t=parseInt(e.target.dataset.timestamp,10);let a=null;if(T.current&&T.current.player&&(a=T.current.player),!a&&"undefined"!=typeof window&&window.videojsPlayers){const e=A.current?"video-embed":"video-main";a=window.videojsPlayers[e]}if(!a&&"undefined"!=typeof window&&window.videojs){const e=document.querySelector(A.current?"#video-embed":"#video-main");e&&e.player&&(a=e.player)}if(a){t>=0&&t=0&&a.play();const e=document.querySelector(A.current?"#video-embed":"#video-main");e&&e.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}else w.warn("VideoJS player not found for timestamp navigation")}};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}),[]);const O=()=>{const e=document.querySelector('link[href*="video-js.css"]'),t=document.querySelector('script[src*="video-js.js"]');if(!e){const e=document.createElement("link");e.rel="stylesheet",e.href=u+"/static/video_js/video-js.css?v="+i,document.head.appendChild(e)}if(!t){const e=document.createElement("script");e.src=u+"/static/video_js/video-js.js?v="+i,document.head.appendChild(e)}};return n.createElement("div",{className:"video-js-wrapper",ref:V},E?n.createElement("div",{id:"video-js-root-embed",className:"video-js-root-embed"}):n.createElement("div",{id:"video-js-root-main",className:"video-js-root-main"}))};M.defaultProps={data:{},siteUrl:""};var _=M,k=a(8974);class C extends n.PureComponent{constructor(e){if(super(e),this.state={displayPlayer:!1},this.videoSources=[],function(e){switch(e){case"running_X":r.MediaPageStore.set("media-load-error-type","encodingRunning"),r.MediaPageStore.set("media-load-error-message","Media encoding is currently running. Try again in few minutes.");break;case"pending_X":r.MediaPageStore.set("media-load-error-type","encodingPending"),r.MediaPageStore.set("media-load-error-message","Media encoding is pending");break;case"fail":r.MediaPageStore.set("media-load-error-type","encodingFailed"),r.MediaPageStore.set("media-load-error-message","Media encoding failed")}}(this.props.data.encoding_status),null!==r.MediaPageStore.get("media-load-error-type"))return void(this.state.displayPlayer=!0);if("string"==typeof this.props.data.poster_url?this.videoPoster=(0,v.formatInnerLink)(this.props.data.poster_url,this.props.siteUrl):"string"==typeof this.props.data.thumbnail_url&&(this.videoPoster=(0,v.formatInnerLink)(this.props.data.thumbnail_url,this.props.siteUrl)),this.videoInfo=function(e,t,a){const i={};let n,r,l;a=void 0===a?P():a;const s={hls:["m3u8"],h265:["mp4","webm"],h264:["mp4","webm"],vp9:["mp4","webm"],vp8:["mp4","webm"],theora:["ogg"],mp4:["mp4"]};for(n in t)t.hasOwnProperty(n)&&(r=null,"master_file"===n?r="Auto":(r=n.split("_playlist"),r=2===r.length?r[0]:null),null!==r&&(i[r]=void 0===i[r]?{format:[],url:[]}:i[r],i[r].format.push("hls"),i[r].url.push((0,v.formatInnerLink)(t[n],o.SiteContext._currentValue.url))));for(r in e)if(e.hasOwnProperty(r)&&Object.keys(e[r]).length&&(1080>=parseInt(r,10)||1080=parseInt(i[i.length-1],10))return i[i.length-1];if(parseInt(e,10)<=parseInt(i[0],10))return i[0];for(a=i.length-1;a>=0;){if(parseInt(e,10)>=parseInt(i[a],10))return i[a+1];a-=1}}(e,this.videoInfo);"Auto"===e&&void 0!==this.videoInfo.Auto&&this.videoSources.push({src:this.videoInfo.Auto.url[0]});const a=P();let i,n;for(n=0;nemailEmail1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t',this.cornerLayers={topLeft:e,topRight:this.upNextLoaderView?this.upNextLoaderView.html():null,bottomLeft:this.recommendedMedia?this.recommendedMedia.html():null,bottomRight:this.props.inEmbed?t:null},this.setState({displayPlayer:!0},(function(){setTimeout((function(){const e=document.querySelector(".share-video-btn"),t=document.querySelector(".share-options-wrapper"),a=document.querySelector(".share-options-inner");e&&e.addEventListener("click",(function(e){(0,v.addClassname)(document.querySelector(".video-js.vjs-mediacms"),"vjs-visible-share-options")})),t&&t.addEventListener("click",(function(e){e.target!==a&&e.target!==t||(0,v.removeClassname)(document.querySelector(".video-js.vjs-mediacms"),"vjs-visible-share-options")}))}),1e3)}))}}onClickNext(){let e;r.MediaPageStore.get("playlist-id")?(e=r.MediaPageStore.get("playlist-next-media-url"),null===e&&(e=this.props.data.related_media[0].url)):this.props.inEmbed||(e=this.props.data.related_media[0].url),window.location.href=e}onClickPrevious(){let e;r.MediaPageStore.get("playlist-id")?(e=r.MediaPageStore.get("playlist-previous-media-url"),null===e&&(e=this.props.data.related_media[0].url)):this.props.inEmbed||(e=this.props.data.related_media[0].url),window.location.href=e}onStateUpdate(e){r.VideoViewerStore.get("in-theater-mode")!==e.theaterMode&&f.VideoViewerActions.set_viewer_mode(e.theaterMode),r.VideoViewerStore.get("player-volume")!==e.volume&&f.VideoViewerActions.set_player_volume(e.volume),r.VideoViewerStore.get("player-sound-muted")!==e.soundMuted&&f.VideoViewerActions.set_player_sound_muted(e.soundMuted),r.VideoViewerStore.get("video-quality")!==e.quality&&f.VideoViewerActions.set_video_quality(e.quality),r.VideoViewerStore.get("video-playback-speed")!==e.playbackSpeed&&f.VideoViewerActions.set_video_playback_speed(e.playbackSpeed)}onPlayerInit(e,t){this.playerElem=t,this.playerInstance=e,this.upNextLoaderView&&(this.upNextLoaderView.setVideoJsPlayerElem(this.playerInstance.player.el_),this.onUpdateMediaAutoPlay()),this.props.inEmbed||this.playerElem.parentNode.focus()}onUpdateMediaAutoPlay(){this.upNextLoaderView&&(r.PageStore.get("media-auto-play")||this.upNextLoaderView.hideTimerView())}render(){let e=null,t=null;!this.props.inEmbed&&r.MediaPageStore.get("playlist-id")?(e=r.MediaPageStore.get("playlist-next-media-url"),t=r.MediaPageStore.get("playlist-previous-media-url")):e=this.props.data.related_media.length&&!this.props.inEmbed?this.props.data.related_media[0].url:null;const a=this.props.data.sprites_url?{url:this.props.siteUrl+"/"+this.props.data.sprites_url.replace(/^\//g,""),frame:{width:160,height:90,seconds:10}}:null;return n.createElement(n.Fragment,null,n.createElement("div",{key:(this.props.inEmbed?"embed-":"")+"player-container",className:"player-container"+(this.videoSources.length?"":" player-container-error"),style:this.props.containerStyles,ref:"playerContainer"},n.createElement("div",{className:"player-container-inner",ref:"playerContainerInner",style:this.props.containerStyles},null==r.MediaPageStore.get("media-load-error-type")?n.createElement("div",{className:"video-player",ref:"videoJSPlayerWrapper",key:"videoJSPlayerWrapper"},n.createElement(o.SiteConsumer,null,(i=>n.createElement(_,{data:this.props.data,useRoundedCorners:i.useRoundedCorners,version:i.version,isPlayList:!!r.MediaPageStore.get("playlist-id"),playerVolume:this.browserCache.get("player-volume"),playerSoundMuted:this.browserCache.get("player-sound-muted"),videoQuality:this.browserCache.get("video-quality"),videoPlaybackSpeed:parseInt(this.browserCache.get("video-playback-speed"),10),inTheaterMode:this.browserCache.get("in-theater-mode"),siteId:i.id,siteUrl:i.url,info:this.videoInfo,cornerLayers:this.cornerLayers,sources:this.videoSources,poster:this.videoPoster,previewSprite:a,subtitlesInfo:this.props.data.subtitles_info,enableAutoplay:!this.props.inEmbed,inEmbed:this.props.inEmbed,hasTheaterMode:!this.props.inEmbed,hasNextLink:!!e,nextLink:e,hasPreviousLink:!!t,errorMessage:r.MediaPageStore.get("media-load-error-message"),onClickNextCallback:this.onClickNext,onClickPreviousCallback:this.onClickPrevious,onStateUpdateCallback:this.onStateUpdate,onPlayerInitCallback:this.onPlayerInit})))):null)))}}C.defaultProps={inEmbed:!0,siteUrl:h().string.isRequired},C.propTypes={inEmbed:h().bool};var N=a(5338),x=a(6619),L=a(4350);const V={single:(0,v.translateString)("comment"),uppercaseSingle:(0,v.translateString)("COMMENT"),ucfirstSingle:(0,v.translateString)("Comment"),ucfirstPlural:(0,v.translateString)("Comments"),submitCommentText:(0,v.translateString)("SUBMIT"),disabledCommentsMsg:(0,v.translateString)("Comments are disabled")};function I(e){const t=(0,n.useRef)(null),[a,i]=(0,n.useState)(""),[l,d]=(0,n.useState)(!1),[c,m]=(0,n.useState)(!1),[u,p]=(0,n.useState)(-1),[g,h]=(0,n.useState)(""),[y]=(0,n.useState)(o.MemberContext._currentValue.is.anonymous?o.LinksContext._currentValue.signin+"?next=/"+window.location.href.replace(o.SiteContext._currentValue.url,"").replace(/^\//g,""):null);function S(){m(!0)}function E(){m(!1)}function b(){const e=[...r.MediaPageStore.get("users")],t=[];e.forEach((e=>{t.push({id:e.username,display:e.name})})),h(t)}function P(){t.current.style.height="";const e=t.current.scrollHeight,a=0(r.MediaPageStore.on("comment_submit",P),r.MediaPageStore.on("comment_submit_fail",w),!0===MediaCMS.features.media.actions.comment_mention&&r.MediaPageStore.on("users_load",b),()=>{r.MediaPageStore.removeListener("comment_submit",P),r.MediaPageStore.removeListener("comment_submit_fail",w),!0===MediaCMS.features.media.actions.comment_mention&&r.MediaPageStore.removeListener("users_load",b)}))),o.MemberContext._currentValue.is.anonymous?n.createElement("div",{className:"comments-form"},n.createElement("div",{className:"comments-form-inner"},n.createElement(s.UserThumbnail,null),n.createElement("div",{className:"form"},n.createElement("a",{href:y,rel:"noffolow",className:"form-textarea-wrap",title:(0,v.translateString)("Add a ")+V.single+"..."},n.createElement("span",{className:"form-textarea"},(0,v.translateString)("Add a ")+V.single+"...")),n.createElement("div",{className:"form-buttons"},n.createElement("a",{href:y,rel:"noffolow",className:"disabled"},V.submitCommentText))))):n.createElement("div",{className:"comments-form"},n.createElement("div",{className:"comments-form-inner"},n.createElement(s.UserThumbnail,null),n.createElement("div",{className:"form"},n.createElement("div",{className:"form-textarea-wrap"+(c?" focused":"")},MediaCMS.features.media.actions.comment_mention?n.createElement(x.G,{inputRef:t,className:"form-textarea",rows:"1",placeholder:"Add a "+V.single+"...",value:a,onChange:function(e,a,n,o){t.current.style.height="",i(a),d(!0);const r=t.current.scrollHeight,l=0()=>{}),[]),n.createElement("div",{className:"comment"},n.createElement("div",{className:"comment-inner"},n.createElement("a",{className:"comment-author-thumb",href:e.author_link,title:e.author_name},n.createElement("img",{src:e.author_thumb,alt:e.author_name})),n.createElement("div",{className:"comment-content"},n.createElement("div",{className:"comment-meta"},n.createElement("div",{className:"comment-author"},n.createElement("a",{href:e.author_link,title:e.author_name},e.author_name)),n.createElement("div",{className:"comment-date"},(0,v.replaceString)((0,L.GP)(new Date(e.publish_date))))),n.createElement("div",{ref:t,className:"comment-text"+(i?" show-all":"")},n.createElement("div",{ref:a,className:"comment-text-inner",dangerouslySetInnerHTML:(d=e.text,{__html:d.replace(/\n/g,"
")})})),l?n.createElement("button",{className:"toggle-more",onClick:function(){r(!i)}},i?"Show less":"Read more"):null,o.MemberContext._currentValue.can.deleteComment?n.createElement(T,{comment_id:e.comment_id}):null)));var d}A.propTypes={comment_id:h().oneOfType([h().string,h().number]).isRequired,media_id:h().oneOfType([h().string,h().number]).isRequired,text:h().string,author_name:h().string,author_link:h().string,author_thumb:h().string,publish_date:h().oneOfType([h().string,h().number]),likes:h().number,dislikes:h().number},A.defaultProps={author_name:"",author_link:"#",publish_date:0,likes:0,dislikes:0};const R=e=>{let{commentsLength:t}=e;return n.createElement(n.Fragment,null,!o.MemberContext._currentValue.can.readComment||r.MediaPageStore.get("media-data").enable_comments?null:n.createElement("span",{className:"disabled-comments-msg"},V.disabledCommentsMsg),o.MemberContext._currentValue.can.readComment&&(r.MediaPageStore.get("media-data").enable_comments||o.MemberContext._currentValue.can.editMedia)?n.createElement("h2",null,t?1{e.text=function(e){const t=new RegExp("((\\d)?\\d:)?(\\d)?\\d:\\d\\d","g");return e.replace(t,(function(e,t){let a=e.split(":"),i=0,n=1;for(;a.length>0;)i+=n*parseInt(a.pop(),10),n*=60;return`${e}`}))}(e.text)})),function(){var e=document.querySelector(".page-main"),t=e.querySelector(".no-comment");const a=r.PageStore.get("config-contents").uploader.postUploadMessage;if(""===a)t&&0===comm.length&&t.parentNode.removeChild(t);else if(0===comm.length&&"unlisted"===r.MediaPageStore.get("media-data").state){if(-1f.PageActions.addNotification(V.ucfirstSingle+" added","commentSubmit")),100)}function u(){setTimeout((()=>f.PageActions.addNotification(V.ucfirstSingle+" submission failed","commentSubmitFail")),100)}function p(e){c(),setTimeout((()=>f.PageActions.addNotification(V.ucfirstSingle+" removed","commentDelete")),100)}function g(e){setTimeout((()=>f.PageActions.addNotification(V.ucfirstSingle+" removal failed","commentDeleteFail")),100)}return(0,n.useEffect)((()=>{d(i.length&&o.MemberContext._currentValue.can.readComment&&(r.MediaPageStore.get("media-data").enable_comments||o.MemberContext._currentValue.can.editMedia))}),[i]),(0,n.useEffect)((()=>(r.MediaPageStore.on("comments_load",c),r.MediaPageStore.on("comment_submit",m),r.MediaPageStore.on("comment_submit_fail",u),r.MediaPageStore.on("comment_delete",p),r.MediaPageStore.on("comment_delete_fail",g),()=>{r.MediaPageStore.removeListener("comments_load",c),r.MediaPageStore.removeListener("comment_submit",m),r.MediaPageStore.removeListener("comment_submit_fail",u),r.MediaPageStore.removeListener("comment_delete",p),r.MediaPageStore.removeListener("comment_delete_fail",g)})),[]),n.createElement("div",{className:"comments-list"},n.createElement("div",{className:"comments-list-inner"},n.createElement(R,{commentsLength:i.length}),r.MediaPageStore.get("media-data").enable_comments?n.createElement(I,{media_id:t}):null,s?i.map((e=>n.createElement(A,{key:e.uid,comment_id:e.uid,media_id:t,text:e.text,author_name:e.author_name,author_link:e.author_profile,author_thumb:o.SiteContext._currentValue.url+"/"+e.author_thumbnail_url.replace(/^\//g,""),publish_date:e.add_date,likes:0,dislikes:0}))):null))}var D=a(8974);function U(e){let t,a,i=[];if(e&&e.length)for(t=0,a=1(r.MediaPageStore.on("media_delete",S),r.MediaPageStore.on("media_delete_fail",E),()=>{r.MediaPageStore.removeListener("media_delete",S),r.MediaPageStore.removeListener("media_delete_fail",E)})),[]);const b=(0,v.formatInnerLink)(e.author.url,o.SiteContext._currentValue.url),P=(0,v.formatInnerLink)(e.author.thumb,o.SiteContext._currentValue.url);return n.createElement("div",{className:"media-info-content"},void 0===r.PageStore.get("config-media-item").displayAuthor||null===r.PageStore.get("config-media-item").displayAuthor||r.PageStore.get("config-media-item").displayAuthor?n.createElement(F,{link:b,thumb:P,name:e.author.name,published:e.published}):null,n.createElement("div",{className:"media-content-banner"},n.createElement("div",{className:"media-content-banner-inner"},p?n.createElement("div",{className:"media-content-summary"},d):null,p&&!h||!a?null:n.createElement("div",{className:"media-content-description",dangerouslySetInnerHTML:{__html:function(e){const t=new RegExp("((\\d)?\\d:)?(\\d)?\\d:\\d\\d","g");return e.replace(t,(function(e,t){let a=e.split(":"),i=0,n=1;for(;a.length>0;)i+=n*parseInt(a.pop(),10),n*=60;return`${e}`}))}(a)}}),p?n.createElement("button",{className:"load-more",onClick:function(){y(!h)}},h?"SHOW LESS":"SHOW MORE"):null,i.length?n.createElement(j,{value:i,title:1(r.MediaPageStore.on("disliked_media",d),r.MediaPageStore.on("undisliked_media",c),r.MediaPageStore.on("disliked_media_failed_request",m),()=>{r.MediaPageStore.removeListener("disliked_media",d),r.MediaPageStore.removeListener("undisliked_media",c),r.MediaPageStore.removeListener("disliked_media_failed_request",m)})),[]),n.createElement("div",{className:"like"},n.createElement("button",{onClick:function(t){t.preventDefault(),t.stopPropagation(),f.MediaPageActions[e?"undislikeMedia":"dislikeMedia"]()}},n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"thumb_down"})),n.createElement("span",{className:"dislikes-counter"},a)))}function z(){const[e,t]=(0,n.useState)(r.MediaPageStore.get("user-liked-media")),[a,i]=(0,n.useState)((0,v.formatViewsNumber)(r.MediaPageStore.get("media-likes"),!1));function l(){t(r.MediaPageStore.get("user-liked-media")),i((0,v.formatViewsNumber)(r.MediaPageStore.get("media-likes"),!1))}function d(){l(),f.PageActions.addNotification(o.TextsContext._currentValue.addToLiked,"likedMedia")}function c(){l(),f.PageActions.addNotification(o.TextsContext._currentValue.removeFromLiked,"unlikedMedia")}function m(){f.PageActions.addNotification("Action failed","likedMediaRequestFail")}return(0,n.useEffect)((()=>(r.MediaPageStore.on("liked_media",d),r.MediaPageStore.on("unliked_media",c),r.MediaPageStore.on("liked_media_failed_request",m),()=>{r.MediaPageStore.removeListener("liked_media",d),r.MediaPageStore.removeListener("unliked_media",c),r.MediaPageStore.removeListener("liked_media_failed_request",m)})),[]),n.createElement("div",{className:"like"},n.createElement("button",{onClick:function(t){t.preventDefault(),t.stopPropagation(),f.MediaPageActions[e?"unlikeMedia":"likeMedia"]()}},n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"thumb_up"})),n.createElement("span",{className:"likes-counter"},a)))}function W(e){const t=(0,n.useRef)(null),a=(0,n.useRef)(null),[i,o]=(0,n.useState)(null);function l(){o(window.innerHeight-(104+t.current.offsetHeight))}return(0,n.useEffect)((()=>(l(),r.PageStore.on("window_resize",l),()=>{r.PageStore.removeListener("window_resize",l)})),[]),n.createElement("form",null,n.createElement("div",{className:"report-form",style:null!==i?{maxHeight:i+"px"}:null},n.createElement("div",{className:"form-title"},"Report media"),n.createElement("div",{className:"form-field"},n.createElement("span",{className:"label"},"URL"),n.createElement("input",{type:"text",readOnly:!0,value:e.mediaUrl})),n.createElement("div",{className:"form-field"},n.createElement("span",{className:"label"},"Description"),n.createElement("textarea",{ref:a,required:!0})),n.createElement("div",{className:"form-field form-help-text"},"Reported media is reviewed")),n.createElement("div",{ref:t,className:"form-actions-bottom"},n.createElement("button",{className:"cancel",onClick:function(t){t.preventDefault(),void 0!==e.cancelReportForm&&e.cancelReportForm()}},"CANCEL"),n.createElement("button",{onClick:function(t){const i=a.current.value.trim();""!==i&&(t.preventDefault(),void 0!==e.submitReportForm&&e.submitReportForm(i))}},"SUBMIT")))}function $(e,t){const a=o.SiteContext._currentValue,i=e.encodings_info,n={};let r,l;for(r in i)if(i.hasOwnProperty(r)&&Object.keys(i[r]).length)for(l in i[r])i[r].hasOwnProperty(l)&&"success"===i[r][l].status&&100===i[r][l].progress&&null!==i[r][l].url&&(n[i[r][l].title]={text:r+" - "+l.toUpperCase()+" ("+i[r][l].size+")",link:(0,v.formatInnerLink)(i[r][l].url,a.url),linkAttr:{target:"_blank",download:e.title+"_"+r+"_"+l.toUpperCase()}});return n.original_media_url={text:"Original file ("+e.size+")",link:(0,v.formatInnerLink)(e.original_media_url,a.url),linkAttr:{target:"_blank",download:e.title}},Object.values(n)}function Y(e,t,a,i,o,r,l){const d=t.url,c=t.media_type,m=t.state||"N/A",u=t.encoding_status||"N/A",p=t.reported_times,g=t.is_reviewed,h="video"===c,f=function(e,t,a,i,n){const o=[],r="video"===t.media_type,l=t.reported_times;return a&&e.downloadMedia&&(r?o.push({itemType:"open-subpage",text:"Download",icon:"arrow_downward",itemAttr:{className:"visible-only-in-small"},buttonAttr:{className:"change-page","data-page-id":"videoDownloadOptions"}}):i&&o.push({itemType:"link",link:i,text:"Download",icon:"arrow_downward",itemAttr:{className:"visible-only-in-small"},linkAttr:{target:"_blank",download:t.title}})),r&&e.editMedia&&o.push({itemType:"open-subpage",text:"Status info",icon:"info",buttonAttr:{className:"change-page","data-page-id":"mediaStatusInfo"}}),e.reportMedia&&(n?o.push({itemType:"div",text:"Reported",icon:"flag",divAttr:{className:"reported-label loggedin-media-reported"}}):o.push({itemType:"open-subpage",text:"Report",icon:"flag",buttonAttr:{className:"change-page"+(l?" loggedin-media-reported":""),"data-page-id":"loggedInReportMedia"}})),o}(e,t,a,i,o),v={};return f.length&&(v.main=n.createElement("div",{className:"main-options"},n.createElement(s.PopupMain,null,n.createElement(s.NavigationMenuList,{items:f})))),e.reportMedia&&(v.loggedInReportMedia=o?null:n.createElement("div",{className:"popup-fullscreen"},n.createElement(s.PopupMain,null,n.createElement("span",{className:"popup-fullscreen-overlay"}),n.createElement("div",null,n.createElement(W,{mediaUrl:d,submitReportForm:r,cancelReportForm:l}))))),e.editMedia&&(v.mediaStatusInfo=n.createElement("div",{className:"main-options"},n.createElement(s.PopupMain,null,n.createElement("ul",{className:"media-status-info"},n.createElement("li",null,"Media type: ",n.createElement("span",null,c)),n.createElement("li",null,"State: ",n.createElement("span",null,m)),n.createElement("li",null,"Review state: ",n.createElement("span",null,g?"Is reviewed":"Pending review")),h?n.createElement("li",null,"Encoding Status: ",n.createElement("span",null,u)):null,p?n.createElement("li",{className:"reports"},"Reports: ",n.createElement("span",null,p)):null)))),a&&e.downloadMedia&&h&&(v.videoDownloadOptions=n.createElement("div",{className:"video-download-options"},n.createElement(s.PopupMain,null,n.createElement(s.NavigationMenuList,{items:$(t)})))),v}W.propTypes={mediaUrl:h().string.isRequired,cancelReportForm:h().func,submitReportForm:h().func};const G="more-options active-options";function J(e){const{userCan:t}=(0,N.useUser)(),a=o.SiteContext._currentValue,i=(0,v.formatInnerLink)(r.MediaPageStore.get("media-original-url"),a.url),l=r.MediaPageStore.get("media-data"),d="video"===l.media_type,[c,m,u]=(0,N.usePopup)(),[p,g]=(0,n.useState)(!1),[h,y]=(0,n.useState)(!1),[S,E]=(0,n.useState)({}),[b,P]=(0,n.useState)("main"),[w,M]=(0,n.useState)(G);function _(e){f.MediaPageActions.reportMedia(e)}function k(){c.current.toggle()}function C(){c.current.tryToHide(),setTimeout((function(){f.PageActions.addNotification("Media Reported","reportedMedia"),y(!0),r.MediaPageStore.removeListener("reported_media",C)}),100)}return(0,n.useEffect)((()=>{h||(p?r.MediaPageStore.on("reported_media",C):r.MediaPageStore.removeListener("reported_media",C))}),[p]),(0,n.useEffect)((()=>{g(Object.keys(S).length&&e.allowDownload&&t.downloadMedia)}),[S]),(0,n.useEffect)((()=>{let a=G;e.allowDownload&&t.downloadMedia&&"videoDownloadOptions"===b&&(a+=" video-downloads"),1===Object.keys(S).length&&e.allowDownload&&t.downloadMedia&&(d||i)&&(a+=" visible-only-in-small"),M(a)}),[b]),(0,n.useEffect)((()=>{E(Y(t,l,e.allowDownload,i,h,_,k))}),[h]),(0,n.useEffect)((()=>(E(Y(t,l,e.allowDownload,i,h,_,k)),()=>{p&&!h&&r.MediaPageStore.removeListener("reported_media",C)})),[]),p?n.createElement("div",{className:w},n.createElement(u,{contentRef:c},n.createElement("span",null,n.createElement(s.CircleIconButton,{type:"button"},n.createElement(s.MaterialIcon,{type:"more_horiz"})))),n.createElement("div",{className:"nav-page-"+b},n.createElement(m,{contentRef:c,hideCallback:function(){P("main")}},n.createElement(s.NavigationContentApp,{pageChangeCallback:function(e){P(e)},initPage:b,focusFirstItemOnPageChange:!1,pages:S,pageChangeSelector:".change-page",pageIdSelectorAttr:"data-page-id"})))):null}J.propTypes={allowDownload:h().bool.isRequired},J.defaultProps={allowDownload:!1};var X=a(3706);function Z(e){return e.renderDate?n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:e.isChecked,onChange:function(t){t.persist(),e.isChecked?f.MediaPageActions.removeMediaFromPlaylist(e.playlistId,r.MediaPageStore.get("media-id")):f.MediaPageActions.addMediaToPlaylist(e.playlistId,r.MediaPageStore.get("media-id"))}}),n.createElement("span",null,e.title)):null}function Q(e){const t=(0,n.useRef)(null),a=(0,n.useRef)(null),[i,o]=(0,n.useState)(new Date),[l,d]=(0,n.useState)(r.MediaPageStore.get("playlists")),[c,m]=(0,n.useState)(!1);function u(){S()}function p(){d(r.MediaPageStore.get("playlists")),o(new Date)}function g(){d(r.MediaPageStore.get("playlists")),o(new Date),setTimeout((function(){f.PageActions.addNotification("Media added to playlist","playlistMediaAdditionComplete")}),100)}function h(){setTimeout((function(){f.PageActions.addNotification("Media's addition to playlist failed","playlistMediaAdditionFail")}),100)}function v(){d(r.MediaPageStore.get("playlists")),o(new Date),setTimeout((function(){f.PageActions.addNotification("Media removed from playlist","playlistMediaRemovalComplete")}),100)}function y(){setTimeout((function(){f.PageActions.addNotification("Media's removal from playlist failed","playlistMediaaRemovalFail")}),100)}function S(){null!==a.current&&(a.current.style.maxHeight=window.innerHeight-74-(t.current.offsetHeight-a.current.offsetHeight)+"px")}function E(){m(!c),S()}return(0,n.useEffect)((()=>{S()})),(0,n.useEffect)((()=>(r.PageStore.on("window_resize",u),r.MediaPageStore.on("playlists_load",p),r.MediaPageStore.on("media_playlist_addition_completed",g),r.MediaPageStore.on("media_playlist_addition_failed",h),r.MediaPageStore.on("media_playlist_removal_completed",v),r.MediaPageStore.on("media_playlist_removal_failed",y),()=>{r.PageStore.removeListener("window_resize",u),r.MediaPageStore.removeListener("playlists_load",p),r.MediaPageStore.removeListener("media_playlist_addition_completed",g),r.MediaPageStore.removeListener("media_playlist_addition_failed",h),r.MediaPageStore.removeListener("media_playlist_removal_completed",v),r.MediaPageStore.removeListener("media_playlist_removal_failed",y)})),[]),n.createElement("div",{ref:t,className:"saveto-popup"},n.createElement("div",{className:"saveto-title"},"Save to...",n.createElement(s.CircleIconButton,{type:"button",onClick:function(){m(!1),void 0!==e.triggerPopupClose&&e.triggerPopupClose()}},n.createElement(s.MaterialIcon,{type:"close"}))),l.length?n.createElement("div",{ref:a,className:"saveto-select"},function(){const e=r.MediaPageStore.get("media-id");let t=[],a=0;for(;a{p(window.innerHeight-144+56),x(d.current.offsetHeight),V(m.current.offsetHeight)})),(0,n.useEffect)((()=>(r.PageStore.on("window_resize",A),r.MediaPageStore.on("copied_embed_media_code",R),()=>{r.PageStore.removeListener("window_resize",A),r.MediaPageStore.removeListener("copied_embed_media_code",R)})),[]),n.createElement("div",{className:"share-embed",style:{maxHeight:u+"px"}},n.createElement("div",{className:"share-embed-inner"},n.createElement("div",{className:"on-left"},n.createElement("div",{className:"media-embed-wrap"},n.createElement(o.SiteConsumer,null,(e=>n.createElement(C,{data:r.MediaPageStore.get("media-data"),siteUrl:e.url,inEmbed:!0}))))),n.createElement("div",{ref:l,className:"on-right"},n.createElement("div",{ref:d,className:"on-right-top"},n.createElement("div",{className:"on-right-top-inner"},n.createElement("span",{className:"ttl"},"Embed Video"),n.createElement(s.CircleIconButton,{type:"button",onClick:function(){void 0!==e.triggerPopupClose&&e.triggerPopupClose()}},n.createElement(s.MaterialIcon,{type:"close"})))),n.createElement("div",{ref:c,className:"on-right-middle",style:{top:N+"px",bottom:L+"px"}},n.createElement("textarea",{readOnly:!0,value:''}),n.createElement("div",{className:"iframe-config"},n.createElement("div",{className:"iframe-config-options-title"},"Embed options"),n.createElement("div",{className:"iframe-config-option"},n.createElement("div",{className:"option-content"},n.createElement("div",{className:"ratio-options"},n.createElement("div",{className:"options-group"},n.createElement("label",{style:{minHeight:"36px"}},n.createElement("input",{type:"checkbox",checked:g,onChange:function(){const e=!g,t=v.split(":"),a=t[0],i=t[1];h(e),P(e?"px":b),k(e?"px":_),M(e?parseInt(S*i/a,10):w),T(e?[{key:"px",label:"px"}]:[{key:"px",label:"px"},{key:"percent",label:"%"}])}}),"Keep aspect ratio")),g?n.createElement("div",{className:"options-group"},n.createElement("select",{ref:i,onChange:function(){const e=i.current.value,t=e.split(":"),a=t[0],n=t[1];y(e),M(g?parseInt(S*n/a,10):w)},value:v},n.createElement("optgroup",{label:"Horizontal orientation"},n.createElement("option",{value:"16:9"},"16:9"),n.createElement("option",{value:"4:3"},"4:3"),n.createElement("option",{value:"3:2"},"3:2")),n.createElement("optgroup",{label:"Vertical orientation"},n.createElement("option",{value:"9:16"},"9:16"),n.createElement("option",{value:"3:4"},"3:4"),n.createElement("option",{value:"2:3"},"2:3")))):null),n.createElement("br",null),n.createElement("div",{className:"options-group"},n.createElement(s.NumericInputWithUnit,{valueCallback:function(e){e=""===e?0:e;const t=v.split(":"),a=t[0],i=t[1];E(e),M(g?parseInt(e*i/a,10):w)},unitCallback:function(e){P(e)},label:"Width",defaultValue:parseInt(S,10),defaultUnit:b,minValue:1,maxValue:99999,units:I})),n.createElement("div",{className:"options-group"},n.createElement(s.NumericInputWithUnit,{valueCallback:function(e){e=""===e?0:e;const t=v.split(":"),a=t[0],i=t[1];M(e),E(g?parseInt(e*a/i,10):S)},unitCallback:function(e){k(e)},label:"Height",defaultValue:parseInt(w,10),defaultUnit:_,minValue:1,maxValue:99999,units:I})))))),n.createElement("div",{ref:m,className:"on-right-bottom"},n.createElement("button",{onClick:function(){f.MediaPageActions.copyEmbedMediaCode(c.current.querySelector("textarea"))}},"COPY")))))}Z.propTypes={playlistId:h().string,isChecked:h().bool,title:h().string},Z.defaultProps={isChecked:!1,title:""},Q.propTypes={triggerPopupClose:h().func},ee.propTypes={triggerPopupClose:h().func};var te=a(5289);function ae(e){let{onClick:t}=e;return n.createElement("span",{className:"next-slide"},n.createElement(s.CircleIconButton,{buttonShadow:!0,onClick:t},n.createElement("i",{className:"material-icons"},"keyboard_arrow_right")))}function ie(e){let{onClick:t}=e;return n.createElement("span",{className:"previous-slide"},n.createElement(s.CircleIconButton,{buttonShadow:!0,onClick:t},n.createElement("i",{className:"material-icons"},"keyboard_arrow_left")))}function ne(){return{maxFormContentHeight:window.innerHeight-196,maxPopupWidth:518>window.innerWidth-80?window.innerWidth-80:null}}function oe(e){const t=(0,n.useRef)(null),a=(0,n.useRef)(null),i=r.MediaPageStore.get("media-url"),[l,s]=(0,n.useState)(null),[d,c]=(0,n.useState)({prev:!1,next:!1}),[m,u]=(0,n.useState)(ne()),[p]=(0,n.useState)(function(){const e=function(){const e=o.ShareOptionsContext._currentValue,t=r.MediaPageStore.get("media-url"),a=(r.MediaPageStore.get("media-data").title,{});let i=0;for(;i{s(new te.A(a.current,".sh-option"))}),[p]),(0,n.useEffect)((()=>{l&&(l.updateDataStateOnResize(p.length,!0,!0),_())}),[m,l]),(0,n.useEffect)((()=>{r.PageStore.on("window_resize",w),r.MediaPageStore.on("copied_media_link",M);const e=function(){const e=document.getElementsByTagName("video");return e[0]?.currentTime}();return h(e),y(function(e){let t=parseInt(e,10),a=Math.floor(t/3600),i=Math.floor((t-3600*a)/60),n=t-3600*a-60*i;return a<10&&(a="0"+a),i<10&&(i="0"+i),n<10&&(n="0"+n),a>=1?a+":"+i+":"+n:i+":"+n}(e)),()=>{r.PageStore.removeListener("window_resize",w),r.MediaPageStore.removeListener("copied_media_link",M),s(null)}}),[]),n.createElement("div",{ref:t,style:null!==m.maxPopupWidth?{maxWidth:m.maxPopupWidth+"px"}:null},n.createElement("div",{className:"scrollable-content",style:null!==m.maxFormContentHeight?{maxHeight:m.maxFormContentHeight+"px"}:null},n.createElement("div",{className:"share-popup-title"},"Share media"),p.length?n.createElement("div",{className:"share-options"},d.prev?n.createElement(ie,{onClick:function(){l.previousSlide(),_()}}):null,n.createElement("div",{ref:a,className:"share-options-inner"},p),d.next?n.createElement(ae,{onClick:function(){l.nextSlide(),_()}}):null):null),n.createElement("div",{className:"copy-field"},n.createElement("div",null,n.createElement("input",{type:"text",readOnly:!0,value:b}),n.createElement("button",{onClick:function(){f.MediaPageActions.copyShareLink(t.current.querySelector(".copy-field input"))}},"COPY"))),n.createElement("div",{className:"start-at"},n.createElement("label",null,n.createElement("input",{type:"checkbox",name:"start-at-checkbox",id:"id-start-at-checkbox",checked:S,onChange:function(){E(!S),function(){const e=S?i:i+"&t="+Math.trunc(g);P(e)}()}}),"Start at ",v)))}function re(){return{shareOptions:n.createElement("div",{className:"popup-fullscreen"},n.createElement(s.PopupMain,null,n.createElement("span",{className:"popup-fullscreen-overlay"}),n.createElement(oe,null)))}}function le(e){const[t,a,i]=(0,N.usePopup)(),[o,r]=(0,n.useState)("shareOptions");return n.createElement("div",{className:"share"},n.createElement(i,{contentRef:t},n.createElement("button",null,n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"share"})),n.createElement("span",null,(0,v.translateString)("SHARE")))),n.createElement(a,{contentRef:t,hideCallback:function(){r("shareOptions")}},n.createElement(s.NavigationContentApp,{initPage:o,pageChangeSelector:".change-page",pageIdSelectorAttr:"data-page-id",pages:e.isVideo?(l=function(){t.current.toggle()},{...re(),shareEmbed:n.createElement("div",{className:"popup-fullscreen share-embed-popup"},n.createElement(s.PopupMain,null,n.createElement("span",{className:"popup-fullscreen-overlay"}),n.createElement(ee,{triggerPopupClose:l})))}):re(),focusFirstItemOnPageChange:!1,pageChangeCallback:function(e){r(e)}})));var l}function se(e){return n.createElement("div",{className:"download hidden-only-in-small"},n.createElement("a",{href:e.link,target:"_blank",download:e.title,title:"Download",rel:"noreferrer"},n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"arrow_downward"})),n.createElement("span",null,"DOWNLOAD")))}function de(){const e=r.MediaPageStore.get("media-data"),t=(e.title,e.encodings_info),a={};let i,n;for(i in t)if(t.hasOwnProperty(i)&&Object.keys(t[i]).length)for(n in t[i])t[i].hasOwnProperty(n)&&"success"===t[i][n].status&&100===t[i][n].progress&&null!==t[i][n].url&&(a[t[i][n].title]={text:i+" - "+n.toUpperCase()+" ("+t[i][n].size+")",link:(0,v.formatInnerLink)(t[i][n].url,o.SiteContext._currentValue.url),linkAttr:{target:"_blank",download:e.title+"_"+i+"_"+n.toUpperCase()}});return a.original_media_url={text:"Original file ("+e.size+")",link:(0,v.formatInnerLink)(e.original_media_url,o.SiteContext._currentValue.url),linkAttr:{target:"_blank",download:e.title}},Object.values(a)}function ce(e){const[t,a,i]=(0,N.usePopup)(),[o,r]=(0,n.useState)("main");return n.createElement("div",{className:"video-downloads hidden-only-in-small"},n.createElement(i,{contentRef:t},n.createElement("button",null,n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"arrow_downward"})),n.createElement("span",null,(0,v.translateString)("DOWNLOAD")))),n.createElement("div",{className:"nav-page-"+o},n.createElement(a,{contentRef:t},n.createElement(s.NavigationContentApp,{pageChangeCallback:null,initPage:"main",focusFirstItemOnPageChange:!1,pages:{main:n.createElement("div",{className:"main-options"},n.createElement(s.PopupMain,null,n.createElement(s.NavigationMenuList,{items:de()})))},pageChangeSelector:".change-page",pageIdSelectorAttr:"data-page-id"}))))}se.propTypes={link:h().string.isRequired,title:h().string.isRequired};class me extends n.PureComponent{constructor(e){super(e),this.state={likedMedia:r.MediaPageStore.get("user-liked-media"),dislikedMedia:r.MediaPageStore.get("user-disliked-media")},this.downloadLink="video"!==r.MediaPageStore.get("media-type")?(0,v.formatInnerLink)(r.MediaPageStore.get("media-original-url"),o.SiteContext._currentValue.url):null,this.updateStateValues=this.updateStateValues.bind(this)}componentDidMount(){r.MediaPageStore.on("liked_media",this.updateStateValues),r.MediaPageStore.on("unliked_media",this.updateStateValues),r.MediaPageStore.on("disliked_media",this.updateStateValues),r.MediaPageStore.on("undisliked_media",this.updateStateValues);const e=document.querySelectorAll("[data-tooltip]");e.length&&e.forEach((e=>function(e){const t=document.body,a=document.createElement("span");function i(){const t=e.getBoundingClientRect();a.style.top=t.top-(0+a.offsetHeight)+"px",a.style.left=t.left+"px"}a.innerText=e.getAttribute("data-tooltip"),a.setAttribute("class","tooltip"),e.removeAttribute("data-tooltip"),e.addEventListener("mouseenter",(function(){const n=e.getBoundingClientRect();t.appendChild(a),a.style.top=n.top-(0+a.offsetHeight)+"px",a.style.left=n.left+"px",document.addEventListener("scroll",i)})),e.addEventListener("mouseleave",(function(){t.removeChild(a),a.style.top="",a.style.left="",document.removeEventListener("scroll",i)}))}(e)))}updateStateValues(){this.setState({likedMedia:r.MediaPageStore.get("user-liked-media"),dislikedMedia:r.MediaPageStore.get("user-disliked-media")})}mediaCategories(e){if(void 0===this.props.categories||null===this.props.categories||!this.props.categories.length)return null;let t=0,a=[];for(;t=this.props.views?"view":"views"):null,n.createElement("div",{className:"media-actions"},n.createElement("div",null,o.MemberContext._currentValue.can.likeMedia?n.createElement(z,null):null,o.MemberContext._currentValue.can.dislikeMedia?n.createElement(B,null):null,o.MemberContext._currentValue.can.shareMedia?n.createElement(le,{isVideo:!1}):null,!o.MemberContext._currentValue.is.anonymous&&o.MemberContext._currentValue.can.saveMedia&&-1=this.props.views?(0,v.translateString)("view"):(0,v.translateString)("views")):null,n.createElement("div",{className:"media-actions"},n.createElement("div",null,o.MemberContext._currentValue.can.likeMedia?n.createElement(z,null):null,o.MemberContext._currentValue.can.dislikeMedia?n.createElement(B,null):null,o.MemberContext._currentValue.can.shareMedia?n.createElement(le,{isVideo:!0}):null,!o.MemberContext._currentValue.is.anonymous&&o.MemberContext._currentValue.can.saveMedia&&-1(r.MediaPageStore.on("loaded_media_data",s),r.PageStore.on("switched_media_auto_play",l),()=>{r.MediaPageStore.removeListener("loaded_media_data",s),r.PageStore.removeListener("switched_media_auto_play",l)})),[]),t?n.createElement("div",{className:"auto-play"},n.createElement("div",{className:"auto-play-header"},n.createElement("div",{className:"next-label"},(0,v.translateString)("Up next"))),n.createElement(fe.k,{className:"items-list-hor",items:[t],pageItems:1,maxItems:1,singleLinkContent:!0,horizontalItemsOrientation:!0,hideDate:!0,hideViews:!r.PageStore.get("config-media-item").displayViews,hideAuthor:!r.PageStore.get("config-media-item").displayAuthor})):null}function Se(e){const[t,a]=(0,n.useState)(s()),[i,o]=(0,n.useState)(null);function l(){o(r.MediaPageStore.get("media-type")),a(s())}function s(){const e=r.MediaPageStore.get("media-data");return null!=e&&void 0!==e.related_media&&e.related_media.length?e.related_media:null}return(0,n.useEffect)((()=>(r.MediaPageStore.on("loaded_media_data",l),()=>r.MediaPageStore.removeListener("loaded_media_data",l))),[]),t&&t.length?n.createElement(fe.k,{className:"items-list-hor",items:!e.hideFirst||"video"!==i&&"audio"!==i?t:t.slice(1),pageItems:r.PageStore.get("config-options").pages.media.related.initialSize,singleLinkContent:!0,horizontalItemsOrientation:!0,hideDate:!0,hideViews:!r.PageStore.get("config-media-item").displayViews,hideAuthor:!r.PageStore.get("config-media-item").displayAuthor}):null}function Ee(e){return n.createElement(fe.k,{className:"items-list-hor",pageItems:9999,maxItems:9999,items:e.items,hideDate:!0,hideViews:!0,hidePlaylistOrderNumber:!1,horizontalItemsOrientation:!0,inPlaylistView:!0,singleLinkContent:!0,playlistActiveItem:e.playlistActiveItem})}Se.propTypes={hideFirst:h().bool},Se.defaultProps={hideFirst:!0},Ee.propTypes={items:h().array.isRequired,playlistActiveItem:v.PositiveIntegerOrZero},Ee.defaultProps={playlistActiveItem:1};class be extends n.PureComponent{constructor(e){super(e),this.state={expanded:!0,loopRepeat:r.PlaylistViewStore.get("enabled-loop"),shuffle:r.PlaylistViewStore.get("enabled-shuffle"),savedPlaylist:r.PlaylistViewStore.get("saved-playlist-loop"),title:e.playlistData.title,link:e.playlistData.url,authorName:e.playlistData.user,authorLink:o.LinksContext._currentValue.home+"/user/"+e.playlistData.user,activeItem:e.activeItem,totalMedia:e.playlistData.media_count,items:e.playlistData.playlist_media},this.onHeaderClick=this.onHeaderClick.bind(this),this.onLoopClick=this.onLoopClick.bind(this),this.onShuffleClick=this.onShuffleClick.bind(this),this.onSaveClick=this.onSaveClick.bind(this),this.onLoopRepeatUpdate=this.onLoopRepeatUpdate.bind(this),this.onShuffleUpdate=this.onShuffleUpdate.bind(this),this.onPlaylistSaveUpdate=this.onPlaylistSaveUpdate.bind(this),r.PlaylistViewStore.on("loop-repeat-updated",this.onLoopRepeatUpdate),r.PlaylistViewStore.on("shuffle-updated",this.onShuffleUpdate),r.PlaylistViewStore.on("saved-updated",this.onPlaylistSaveUpdate)}onHeaderClick(e){this.setState({expanded:!this.state.expanded})}onLoopClick(){f.PlaylistViewActions.toggleLoop()}onShuffleClick(){f.PlaylistViewActions.toggleShuffle()}onSaveClick(){f.PlaylistViewActions.toggleSave()}onShuffleUpdate(){this.setState({shuffle:r.PlaylistViewStore.get("enabled-shuffle")},(()=>{this.state.shuffle?f.PageActions.addNotification("Playlist shuffle is on","shuffle-on"):f.PageActions.addNotification("Playlist shuffle is off","shuffle-off")}))}onLoopRepeatUpdate(){this.setState({loopRepeat:r.PlaylistViewStore.get("enabled-loop")},(()=>{this.state.loopRepeat?f.PageActions.addNotification("Playlist loop is on","loop-on"):f.PageActions.addNotification("Playlist loop is off","loop-off")}))}onPlaylistSaveUpdate(){this.setState({savedPlaylist:r.PlaylistViewStore.get("saved-playlist")},(()=>{this.state.savedPlaylist?f.PageActions.addNotification("Added to playlists library","added-to-playlists-lib"):f.PageActions.addNotification("Removed from playlists library","removed-from-playlists-lib")}))}render(){return n.createElement("div",{className:"playlist-view-wrap"},n.createElement("div",{className:"playlist-view"+(this.state.expanded?" playlist-expanded-view":"")},n.createElement("div",{className:"playlist-header"},n.createElement("div",{className:"playlist-title"},n.createElement("a",{href:this.state.link,title:this.state.title},this.state.title)),n.createElement("div",{className:"playlist-meta"},n.createElement("span",null,n.createElement("a",{href:this.state.authorLink,title:this.state.authorName},this.state.authorName)),"  -  ",n.createElement("span",{className:"counter"},this.state.activeItem," / ",this.state.totalMedia)),n.createElement(s.CircleIconButton,{className:"toggle-playlist-view",onClick:this.onHeaderClick},this.state.expanded?n.createElement("i",{className:"material-icons"},"keyboard_arrow_up"):n.createElement("i",{className:"material-icons"},"keyboard_arrow_down"))),this.state.expanded?n.createElement("div",{className:"playlist-actions"},n.createElement(s.CircleIconButton,{className:this.state.loopRepeat?"active":"",onClick:this.onLoopClick,title:"Loop playlist"},n.createElement("i",{className:"material-icons"},"repeat"))):null,this.state.expanded&&this.state.items.length?n.createElement("div",{className:"playlist-media"},n.createElement(Ee,{items:this.state.items,playlistActiveItem:this.state.activeItem})):null))}}be.propTypes={playlistData:h().object.isRequired,activeItem:v.PositiveIntegerOrZero},be.defaultProps={};class Pe extends n.PureComponent{constructor(e){if(super(e),this.state={playlistData:e.playlistData,isPlaylistPage:!!e.playlistData,activeItem:0,mediaType:r.MediaPageStore.get("media-type"),chapters:r.MediaPageStore.get("media-data")?.chapters},e.playlistData){let t=0;for(;t{let e=null,t=null;const a=window.location.search.split("?")[1];return a&&a.split("&").forEach((a=>{0===a.indexOf("m=")?e=a.split("m=")[1]:0===a.indexOf("pl=")&&(t=a.split("pl=")[1])})),{mediaId:e,playlistId:t}},{mediaId:t,playlistId:a}=e();t&&(window.MediaCMS.mediaId=t),a&&(window.MediaCMS.playlistId=a)}(0,i.C)("page-media",class extends Me{viewerContainerContent(e){switch(r.MediaPageStore.get("media-type")){case"video":case"audio":return n.createElement(o.SiteConsumer,null,(t=>n.createElement(C,{data:e,siteUrl:t.url,inEmbed:!1})));case"image":return n.createElement(c,null);case"pdf":const t=(0,v.formatInnerLink)(r.MediaPageStore.get("media-original-url"),o.SiteContext._currentValue.url);return n.createElement(p,{fileUrl:t})}return n.createElement(l,null)}})}},a={};function i(e){var n=a[e];if(void 0!==n)return n.exports;var o=a[e]={exports:{}};return t[e].call(o.exports,o,o.exports,i),o.exports}i.m=t,e=[],i.O=function(t,a,n,o){if(!a){var r=1/0;for(c=0;c=o)&&Object.keys(i.O).every((function(e){return i.O[e](a[s])}))?a.splice(s--,1):(l=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[a,n,o]},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=201,function(){var e={201:0};i.O.j=function(t){return 0===e[t]};var t=function(t,a){var n,o,r=a[0],l=a[1],s=a[2],d=0;if(r.some((function(t){return 0!==e[t]}))){for(n in l)i.o(l,n)&&(i.m[n]=l[n]);if(s)var c=s(i)}for(t&&t(a);d{o(function(e,t,a){if(void 0!==e){let i=null;return i=void 0!==t&&t>e?t:e,i=void 0!==a&&a{let e=null;if(document.cookie&&""!==document.cookie){const t=document.cookie.split(";");for(let a=0;a1&&void 0!==arguments[1]?arguments[1]:"success";h(e),v(!0),S(t),setTimeout((()=>{v(!1)}),5e3)},O=()=>{t(new Set)},D=()=>{t(new Set),p((e=>e+1))};return{selectedMedia:e,availableMediaIds:a,listKey:u,showConfirmModal:r,confirmMessage:c,notificationMessage:g,showNotification:f,notificationType:y,showPermissionModal:E,permissionType:P,showPlaylistModal:M,showChangeOwnerModal:k,showPublishStateModal:N,showCategoryModal:L,showTagModal:I,handleMediaSelection:(e,a)=>{t((t=>{const i=new Set(t);return a?i.add(e):i.delete(e),i}))},handleItemsUpdate:e=>{const t=e.map((e=>e.friendly_token||e.uid||e.id));o(t)},handleSelectAll:()=>{t(new Set(a))},handleDeselectAll:()=>{t(new Set)},handleBulkAction:t=>{const a=e.size;0!==a&&("delete-media"===t?(l(!0),d(t),m((0,n.translateString)("You are going to delete")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"enable-comments"===t?(l(!0),d(t),m((0,n.translateString)("You are going to enable comments to")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"disable-comments"===t?(l(!0),d(t),m((0,n.translateString)("You are going to disable comments to")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"enable-download"===t?(l(!0),d(t),m((0,n.translateString)("You are going to enable download for")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"disable-download"===t?(l(!0),d(t),m((0,n.translateString)("You are going to disable download for")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"copy-media"===t?(l(!0),d(t),m((0,n.translateString)("You are going to copy")+` ${a} `+(0,n.translateString)("media, are you sure?"))):"add-remove-coviewers"===t?(b(!0),w("viewer")):"add-remove-coeditors"===t?(b(!0),w("editor")):"add-remove-coowners"===t?(b(!0),w("owner")):"add-remove-playlist"===t?_(!0):"change-owner"===t?C(!0):"publish-state"===t?x(!0):"add-remove-category"===t?V(!0):"add-remove-tags"===t&&T(!0))},handleConfirmCancel:()=>{l(!1),d(null),m("")},handleConfirmProceed:()=>{const t=s;l(!1),d(null),m(""),"delete-media"===t?(()=>{const t=Array.from(e),a=t.length;fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"delete_media",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to delete media");return e.json()})).then((e=>{const t=1===a?(0,n.translateString)("The media was deleted successfully."):(0,n.translateString)("Successfully deleted")+` ${a} `+(0,n.translateString)("media.");R(t),D()})).catch((e=>{R((0,n.translateString)("Failed to delete media. Please try again."),"error"),D()}))})():"enable-comments"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"enable_comments",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to enable comments");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Enabled comments")),O()})).catch((e=>{R((0,n.translateString)("Failed to enable comments."),"error"),O()}))})():"disable-comments"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"disable_comments",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to disable comments");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Disabled comments")),O()})).catch((e=>{R((0,n.translateString)("Failed to disable comments."),"error"),O()}))})():"enable-download"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"enable_download",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to enable download");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Enabled Download")),O()})).catch((e=>{R((0,n.translateString)("Failed to enable download."),"error"),O()}))})():"disable-download"===t?(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"disable_download",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to disable download");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Disabled Download")),O()})).catch((e=>{R((0,n.translateString)("Failed to disable download."),"error"),O()}))})():"copy-media"===t&&(()=>{const t=Array.from(e);fetch("/api/v1/media/user/bulk_actions",{method:"POST",headers:{"Content-Type":"application/json","X-CSRFToken":A()},body:JSON.stringify({action:"copy_media",media_ids:t})}).then((e=>{if(!e.ok)throw new Error("Failed to copy media");return e.json()})).then((e=>{R((0,n.translateString)("Successfully Copied")),D()})).catch((e=>{R((0,n.translateString)("Failed to copy media."),"error"),O()}))})()},handlePermissionModalCancel:()=>{b(!1),w(null)},handlePermissionModalSuccess:e=>{R(e),O(),b(!1),w(null)},handlePermissionModalError:e=>{R(e,"error"),b(!1),w(null)},handlePlaylistModalCancel:()=>{_(!1)},handlePlaylistModalSuccess:e=>{R(e),O(),_(!1)},handlePlaylistModalError:e=>{R(e,"error"),_(!1)},handleChangeOwnerModalCancel:()=>{C(!1)},handleChangeOwnerModalSuccess:e=>{R(e),D(),C(!1)},handleChangeOwnerModalError:e=>{R(e,"error"),C(!1)},handlePublishStateModalCancel:()=>{x(!1)},handlePublishStateModalSuccess:e=>{R(e),D(),x(!1)},handlePublishStateModalError:e=>{R(e,"error"),x(!1)},handleCategoryModalCancel:()=>{V(!1)},handleCategoryModalSuccess:e=>{R(e),O(),V(!1)},handleCategoryModalError:e=>{R(e,"error"),V(!1)},handleTagModalCancel:()=>{T(!1)},handleTagModalSuccess:e=>{R(e),O(),T(!1)},handleTagModalError:e=>{R(e,"error"),T(!1)},getCsrfToken:A,clearSelection:O,clearSelectionAndRefresh:D}}},6403:function(e,t,a){"use strict";a.d(t,{g:function(){return r},m:function(){return o}});var i=a(8004);function n(e,t,a){let i;switch(a){case TypeError:case RangeError:case SyntaxError:case ReferenceError:i=new a(t[0]);break;default:i=new Error(t[0])}return e(i.message,...t.slice(1)),i}function o(e,t){return n(i.z,e,t)}function r(e,t){return n(i.R,e,t)}},6568:function(e,t,a){"use strict";a.d(t,{x:function(){return r}});var i=a(9471),n=a(8713),o=a.n(n);function r(e){let t="spinner-loader";switch(e.size){case"tiny":case"x-small":case"small":case"large":case"x-large":t+=" "+e.size}return i.createElement("div",{className:t},i.createElement("svg",{className:"circular",viewBox:"25 25 50 50"},i.createElement("circle",{className:"path",cx:"50",cy:"50",r:"20",fill:"none",strokeWidth:"1.5",strokeMiterlimit:"10"})))}r.propTypes={size:o().oneOf(["tiny","x-small","small","medium","large","x-large"])},r.defaultProps={size:"medium"}},6671:function(){},7143:function(e,t,a){const i=a(2063).Dispatcher;e.exports=new i},7492:function(){},7640:function(){},7664:function(e,t,a){"use strict";a.d(t,{CircleIconButton:function(){return i.i},MaterialIcon:function(){return n.Z},NavigationContentApp:function(){return o.V},NavigationMenuList:function(){return r.S},Notifications:function(){return l.$},NumericInputWithUnit:function(){return s._},PopupMain:function(){return d.AP},PopupTop:function(){return d.cp},SpinnerLoader:function(){return c.x},UserThumbnail:function(){return m.c}});var i=a(5321),n=(a(7256),a(3135),a(2828)),o=a(5305),r=a(7201),l=a(6089),s=a(3818),d=a(2901),c=a(6568),m=a(878)},8004:function(e,t,a){"use strict";a.d(t,{R:function(){return o},z:function(){return r}});var i=a(8974);const n=function(){for(var e=arguments.length,t=new Array(e),a=0;a{m.current&&c({height:m.current.clientHeight||0,width:m.current.clientWidth||0})}),[l]);const u={right:{left:"100%",marginLeft:"10px",top:"-50%"},left:{right:"100%",marginRight:"10px",top:"-50%"},top:{left:"50%",top:`-${d.height+10}px`,transform:"translateX(-50%)"},center:{top:"50%",left:"50%",translate:"x-[-50%]"},"bottom-left":{left:`-${d.width-20}px`,top:"100%",marginTop:"10px"}};return n.createElement("div",{onMouseEnter:()=>{s(!0)},onMouseLeave:()=>{s(!1)}},n.createElement("div",{ref:m,className:`tooltip-box ${l?"show":"hide"} ${r}`,style:u[o]},i&&n.createElement("div",{className:"tooltip-title"},i),n.createElement("div",{className:"tooltip-content"},a)),t)};function c(){const e=(0,n.useContext)(o.SiteContext);let t=S();t=t||r.MediaPageStore.get("media-data").thumbnail_url,t=t||"";const[a,i]=(0,n.useState)(t),[l,c]=(0,n.useState)([]),[m,u]=(0,n.useState)(!1),[p,g]=(0,n.useState)(0),[h,f]=(0,n.useState)(!0),v=n.useRef();function y(){i(S())}function S(){const t=r.MediaPageStore.get("media-data");let a=t.poster_url?.trim()||t.thumbnail_url?.trim()||r.MediaPageStore.get("media-original-url")?.trim()||"#";return e.url+"/"+a.replace(/^\//g,"")}(0,n.useEffect)((()=>{a&&(()=>{const e=r.MediaPageStore.get("media-data").slideshow_items;Array.isArray(e)&&c(e)})()}),[a]),(0,n.useEffect)((()=>(r.MediaPageStore.on("loaded_image_data",y),()=>r.MediaPageStore.removeListener("loaded_image_data",y))),[]),(0,n.useEffect)((()=>{if(m)return document.addEventListener("keydown",E),()=>{document.removeEventListener("keydown",E)}}),[m,l]);const E=e=>{"ArrowRight"===e.key&&P(),"ArrowLeft"===e.key&&w(),"Escape"===e.key&&b()},b=()=>u(!1),P=()=>{f(!0),g((e=>(e+1)%l.length))},w=()=>{f(!0),g((e=>(e-1+l.length)%l.length))},M=e=>{if(v.current){const t=10;"left"===e?v.current.scrollBy({left:-t,behavior:"smooth"}):"right"===e&&v.current.scrollBy({left:t,behavior:"smooth"})}};return a?n.createElement("div",{className:"viewer-image-container"},n.createElement(d,{content:"load full-image",position:"center"},n.createElement("img",{src:a,alt:r.MediaPageStore.get("media-data").title||null,onClick:()=>u(!0)})),m&&l&&n.createElement("div",{className:"modal-overlay",onClick:()=>u(!1)},n.createElement("div",{className:"slideshow-container",onClick:e=>e.stopPropagation()},!h&&n.createElement("button",{className:"arrow left",onClick:w,"aria-label":"Previous slide"},"‹"),n.createElement("div",{className:"slideshow-image"},h&&n.createElement(s.SpinnerLoader,{size:"large"}),n.createElement("img",{src:e.url+"/"+l[p]?.original_media_url,alt:`Slide ${p+1}`,onClick:()=>(t=>{const a=e.url+l[t]?.url;window.location.href=a})(p),onLoad:()=>f(!1),onError:()=>f(!1),style:{display:h?"none":"block"}}),!h&&n.createElement("div",{className:"slideshow-title"},l[p]?.title)),!h&&n.createElement("button",{className:"arrow right",onClick:P,"aria-label":"Next slide"},"›"),n.createElement("div",{className:"thumbnail-navigation"},l.length>5&&n.createElement("button",{className:"arrow left",onClick:()=>M("left"),"aria-label":"Scroll left"},"‹"),n.createElement("div",{className:"thumbnail-container "+(l.length<=5?"center-thumbnails":""),ref:v},l.map(((t,a)=>n.createElement("img",{key:a,src:e.url+"/"+t.thumbnail_url,alt:`Thumbnail ${a+1}`,className:"thumbnail "+(p===a?"active":""),onClick:()=>(e=>{f(!0),g(e)})(a)})))),l.length>5&&n.createElement("button",{className:"arrow right",onClick:()=>M("right"),"aria-label":"Scroll right"},"›"))))):null}var m=a(7118),u=a(5928);function p(e){let{fileUrl:t}=e;const a=(0,u.defaultLayoutPlugin)();return n.createElement("div",{className:"pdf-container"},n.createElement(m.Worker,{workerUrl:"https://unpkg.com/pdfjs-dist@3.4.120/build/pdf.worker.min.js"},n.createElement(m.Viewer,{fileUrl:t,plugins:[a]})))}var g=a(8713),h=a.n(g),f=a(285),v=a(1838),y=a(7154),S=a(8974);const E=["hls","h265","vp9","h264","vp8","mp4","theora"];function b(e,t){let a=null,i=document.createElement("video");if(i.canPlayType)try{switch(e){case"hls":case"mp4":a=!0;break;case"h265":a="probably"===i.canPlayType('video/mp4; codecs="hvc1.1.L0.0"')||"probably"===i.canPlayType('video/mp4; codecs="hev1.1.L0.0"');break;case"h264":a="probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E"')||"probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');break;case"vp9":a="probably"===i.canPlayType('video/webm; codecs="vp9"');break;case"vp8":a="probably"===i.canPlayType('video/webm; codecs="vp8, vorbis"');break;case"theora":a="probably"===i.canPlayType('video/ogg; codecs="theora"')}if(t=(t instanceof Boolean||0===t||1==t)&&t){if("no"===i.canPlayType("video/nonsense")&&S.warn('BUGGY: Codec detection bug in Firefox 3.5.0 - 3.5.1 and Safari 4.0.0 - 4.0.4 that answer "no" to unknown codecs instead of an empty string'),"probably"===i.canPlayType("video/webm")&&S.warn('BUGGY: Codec detection bug that Firefox 27 and earlier always says "probably" when asked about WebM, even when the codecs string is not present'),"maybe"===i.canPlayType('video/mp4; codecs="avc1.42E01E"'))switch(i.canPlayType("video/mp4")){case"probably":S.warn('BUGGY: Codec detection bug in iOS 4.1 and earlier that switches "maybe" and "probably" around');break;case"maybe":S.warn('BUGGY: Codec detection bug in Android where no better answer than "maybe" is given')}"probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')&&"probably"!==i.canPlayType('video/mp4; codecs="avc1.42E01E"')&&S.warn("BUGGY: Codec detection bug in Internet Explorer 9 that requires both audio and video codec on test")}}catch(e){S.warn(e)}return a}function P(e){let t=[],a={},i=document.createElement("video");return i.canPlayType&&(a.hls=!0,t.push("hls"),(i.canPlayType('video/mp4; codecs="hvc1.1.L0.0"')||"probably"===i.canPlayType('video/mp4; codecs="hev1.1.L0.0"'))&&(a.h265=!0,t.push("h265")),"probably"===i.canPlayType('video/mp4; codecs="avc1.42E01E"')&&(a.h264=!0,t.push("h264")),"probably"===i.canPlayType('video/webm; codecs="vp9"')&&(a.vp9=!0,t.push("vp9")),e&&("probably"===i.canPlayType('video/webm; codecs="vp8, vorbis"')&&(a.vp8=!0,t.push("vp8")),"probably"===i.canPlayType('video/ogg; codecs="theora"')&&(a.theora=!0,t.push("theora"))),"probably"===i.canPlayType('video/mp4; codecs="mp4v.20.8"')&&(a.mp4=!0,t.push("mp4"))),{order:t,support:a}}var w=a(8974);const M=e=>{let{data:t,useRoundedCorners:a,version:i,isPlayList:o,playerVolume:r,playerSoundMuted:l,videoQuality:s,videoPlaybackSpeed:d,inTheaterMode:c,siteId:m,siteUrl:u,info:p,cornerLayers:g,sources:h,poster:f,previewSprite:v,subtitlesInfo:y,enableAutoplay:S,inEmbed:E,hasTheaterMode:b,hasNextLink:P,nextLink:M,hasPreviousLink:_,errorMessage:k,onClickNextCallback:C,onClickPreviousCallback:N,onStateUpdateCallback:x,onPlayerInitCallback:L}=e;const V=(0,n.useRef)(null),I=(0,n.useRef)(!1),T=(0,n.useRef)(null),A=(0,n.useRef)(E),R=e=>new URLSearchParams(window.location.search).get(e);(0,n.useEffect)((()=>{if(A.current=E,"undefined"!=typeof window){const e=R("t"),n=R("autoplay"),w=R("muted");window.MEDIA_DATA={data:t||{},useRoundedCorners:a,version:i,isPlayList:o,playerVolume:r||.5,playerSoundMuted:l||"1"===w,videoQuality:s||"auto",videoPlaybackSpeed:d||1,inTheaterMode:c||!1,siteId:m||"",siteUrl:u||"",info:p||{},cornerLayers:g||[],sources:h||[],poster:f||"",previewSprite:v||null,subtitlesInfo:y||[],enableAutoplay:S||"1"===n,inEmbed:E||!1,hasTheaterMode:b||!1,hasNextLink:P||!1,nextLink:M||null,hasPreviousLink:_||!1,errorMessage:k||"",urlTimestamp:e?parseInt(e,10):null,urlAutoplay:"1"===n,urlMuted:"1"===w,onClickNextCallback:C||null,onClickPreviousCallback:N||null,onStateUpdateCallback:x||null,onPlayerInitCallback:(e,t)=>{T.current=e,L&&L(e,t)}}}I.current||(O(),I.current=!0)}),[t,u,E]),(0,n.useEffect)((()=>{if(E&&V.current){const e=setTimeout((()=>{const e=new CustomEvent("triggerVideoJSMount",{detail:{targetId:"video-js-root-embed"}});document.dispatchEvent(e),"undefined"!=typeof window&&window.triggerVideoJSMount&&window.triggerVideoJSMount()}),100);return()=>clearTimeout(e)}}),[E,V.current]),(0,n.useEffect)((()=>{const e=e=>{if(e.target.classList.contains("video-timestamp")){e.preventDefault();const t=parseInt(e.target.dataset.timestamp,10);let a=null;if(T.current&&T.current.player&&(a=T.current.player),!a&&"undefined"!=typeof window&&window.videojsPlayers){const e=A.current?"video-embed":"video-main";a=window.videojsPlayers[e]}if(!a&&"undefined"!=typeof window&&window.videojs){const e=document.querySelector(A.current?"#video-embed":"#video-main");e&&e.player&&(a=e.player)}if(a){t>=0&&t=0&&a.play();const e=document.querySelector(A.current?"#video-embed":"#video-main");e&&e.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}else w.warn("VideoJS player not found for timestamp navigation")}};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}),[]);const O=()=>{const e=document.querySelector('link[href*="video-js.css"]'),t=document.querySelector('script[src*="video-js.js"]');if(!e){const e=document.createElement("link");e.rel="stylesheet",e.href=u+"/static/video_js/video-js.css?v="+i,document.head.appendChild(e)}if(!t){const e=document.createElement("script");e.src=u+"/static/video_js/video-js.js?v="+i,document.head.appendChild(e)}};return n.createElement("div",{className:"video-js-wrapper",ref:V},E?n.createElement("div",{id:"video-js-root-embed",className:"video-js-root-embed"}):n.createElement("div",{id:"video-js-root-main",className:"video-js-root-main"}))};M.defaultProps={data:{},siteUrl:""};var _=M,k=a(8974);class C extends n.PureComponent{constructor(e){if(super(e),this.state={displayPlayer:!1},this.videoSources=[],function(e){switch(e){case"running_X":r.MediaPageStore.set("media-load-error-type","encodingRunning"),r.MediaPageStore.set("media-load-error-message","Media encoding is currently running. Try again in few minutes.");break;case"pending_X":r.MediaPageStore.set("media-load-error-type","encodingPending"),r.MediaPageStore.set("media-load-error-message","Media encoding is pending");break;case"fail":r.MediaPageStore.set("media-load-error-type","encodingFailed"),r.MediaPageStore.set("media-load-error-message","Media encoding failed")}}(this.props.data.encoding_status),null!==r.MediaPageStore.get("media-load-error-type"))return void(this.state.displayPlayer=!0);if("string"==typeof this.props.data.poster_url?this.videoPoster=(0,v.formatInnerLink)(this.props.data.poster_url,this.props.siteUrl):"string"==typeof this.props.data.thumbnail_url&&(this.videoPoster=(0,v.formatInnerLink)(this.props.data.thumbnail_url,this.props.siteUrl)),this.videoInfo=function(e,t,a){const i={};let n,r,l;a=void 0===a?P():a;const s={hls:["m3u8"],h265:["mp4","webm"],h264:["mp4","webm"],vp9:["mp4","webm"],vp8:["mp4","webm"],theora:["ogg"],mp4:["mp4"]};for(n in t)t.hasOwnProperty(n)&&(r=null,"master_file"===n?r="Auto":(r=n.split("_playlist"),r=2===r.length?r[0]:null),null!==r&&(i[r]=void 0===i[r]?{format:[],url:[]}:i[r],i[r].format.push("hls"),i[r].url.push((0,v.formatInnerLink)(t[n],o.SiteContext._currentValue.url))));for(r in e)if(e.hasOwnProperty(r)&&Object.keys(e[r]).length&&(1080>=parseInt(r,10)||1080=parseInt(i[i.length-1],10))return i[i.length-1];if(parseInt(e,10)<=parseInt(i[0],10))return i[0];for(a=i.length-1;a>=0;){if(parseInt(e,10)>=parseInt(i[a],10))return i[a+1];a-=1}}(e,this.videoInfo);"Auto"===e&&void 0!==this.videoInfo.Auto&&this.videoSources.push({src:this.videoInfo.Auto.url[0]});const a=P();let i,n;for(n=0;nemailEmail1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t',this.cornerLayers={topLeft:e,topRight:this.upNextLoaderView?this.upNextLoaderView.html():null,bottomLeft:this.recommendedMedia?this.recommendedMedia.html():null,bottomRight:this.props.inEmbed?t:null},this.setState({displayPlayer:!0},(function(){setTimeout((function(){const e=document.querySelector(".share-video-btn"),t=document.querySelector(".share-options-wrapper"),a=document.querySelector(".share-options-inner");e&&e.addEventListener("click",(function(e){(0,v.addClassname)(document.querySelector(".video-js.vjs-mediacms"),"vjs-visible-share-options")})),t&&t.addEventListener("click",(function(e){e.target!==a&&e.target!==t||(0,v.removeClassname)(document.querySelector(".video-js.vjs-mediacms"),"vjs-visible-share-options")}))}),1e3)}))}}onClickNext(){let e;r.MediaPageStore.get("playlist-id")?(e=r.MediaPageStore.get("playlist-next-media-url"),null===e&&(e=this.props.data.related_media[0].url)):this.props.inEmbed||(e=this.props.data.related_media[0].url),window.location.href=e}onClickPrevious(){let e;r.MediaPageStore.get("playlist-id")?(e=r.MediaPageStore.get("playlist-previous-media-url"),null===e&&(e=this.props.data.related_media[0].url)):this.props.inEmbed||(e=this.props.data.related_media[0].url),window.location.href=e}onStateUpdate(e){r.VideoViewerStore.get("in-theater-mode")!==e.theaterMode&&f.VideoViewerActions.set_viewer_mode(e.theaterMode),r.VideoViewerStore.get("player-volume")!==e.volume&&f.VideoViewerActions.set_player_volume(e.volume),r.VideoViewerStore.get("player-sound-muted")!==e.soundMuted&&f.VideoViewerActions.set_player_sound_muted(e.soundMuted),r.VideoViewerStore.get("video-quality")!==e.quality&&f.VideoViewerActions.set_video_quality(e.quality),r.VideoViewerStore.get("video-playback-speed")!==e.playbackSpeed&&f.VideoViewerActions.set_video_playback_speed(e.playbackSpeed)}onPlayerInit(e,t){this.playerElem=t,this.playerInstance=e,this.upNextLoaderView&&(this.upNextLoaderView.setVideoJsPlayerElem(this.playerInstance.player.el_),this.onUpdateMediaAutoPlay()),this.props.inEmbed||this.playerElem.parentNode.focus()}onUpdateMediaAutoPlay(){this.upNextLoaderView&&(r.PageStore.get("media-auto-play")||this.upNextLoaderView.hideTimerView())}render(){let e=null,t=null;!this.props.inEmbed&&r.MediaPageStore.get("playlist-id")?(e=r.MediaPageStore.get("playlist-next-media-url"),t=r.MediaPageStore.get("playlist-previous-media-url")):e=this.props.data.related_media.length&&!this.props.inEmbed?this.props.data.related_media[0].url:null;const a=this.props.data.sprites_url?{url:this.props.siteUrl+"/"+this.props.data.sprites_url.replace(/^\//g,""),frame:{width:160,height:90,seconds:10}}:null;return n.createElement(n.Fragment,null,n.createElement("div",{key:(this.props.inEmbed?"embed-":"")+"player-container",className:"player-container"+(this.videoSources.length?"":" player-container-error"),style:this.props.containerStyles,ref:"playerContainer"},n.createElement("div",{className:"player-container-inner",ref:"playerContainerInner",style:this.props.containerStyles},null==r.MediaPageStore.get("media-load-error-type")?n.createElement("div",{className:"video-player",ref:"videoJSPlayerWrapper",key:"videoJSPlayerWrapper"},n.createElement(o.SiteConsumer,null,(i=>n.createElement(_,{data:this.props.data,useRoundedCorners:i.useRoundedCorners,version:i.version,isPlayList:!!r.MediaPageStore.get("playlist-id"),playerVolume:this.browserCache.get("player-volume"),playerSoundMuted:this.browserCache.get("player-sound-muted"),videoQuality:this.browserCache.get("video-quality"),videoPlaybackSpeed:parseInt(this.browserCache.get("video-playback-speed"),10),inTheaterMode:this.browserCache.get("in-theater-mode"),siteId:i.id,siteUrl:i.url,info:this.videoInfo,cornerLayers:this.cornerLayers,sources:this.videoSources,poster:this.videoPoster,previewSprite:a,subtitlesInfo:this.props.data.subtitles_info,enableAutoplay:!this.props.inEmbed,inEmbed:this.props.inEmbed,hasTheaterMode:!this.props.inEmbed,hasNextLink:!!e,nextLink:e,hasPreviousLink:!!t,errorMessage:r.MediaPageStore.get("media-load-error-message"),onClickNextCallback:this.onClickNext,onClickPreviousCallback:this.onClickPrevious,onStateUpdateCallback:this.onStateUpdate,onPlayerInitCallback:this.onPlayerInit})))):null)))}}C.defaultProps={inEmbed:!0,siteUrl:h().string.isRequired},C.propTypes={inEmbed:h().bool};var N=a(5338),x=a(6619),L=a(4350);const V={single:(0,v.translateString)("comment"),uppercaseSingle:(0,v.translateString)("COMMENT"),ucfirstSingle:(0,v.translateString)("Comment"),ucfirstPlural:(0,v.translateString)("Comments"),submitCommentText:(0,v.translateString)("SUBMIT"),disabledCommentsMsg:(0,v.translateString)("Comments are disabled")};function I(e){const t=(0,n.useRef)(null),[a,i]=(0,n.useState)(""),[l,d]=(0,n.useState)(!1),[c,m]=(0,n.useState)(!1),[u,p]=(0,n.useState)(-1),[g,h]=(0,n.useState)(""),[y]=(0,n.useState)(o.MemberContext._currentValue.is.anonymous?o.LinksContext._currentValue.signin+"?next=/"+window.location.href.replace(o.SiteContext._currentValue.url,"").replace(/^\//g,""):null);function S(){m(!0)}function E(){m(!1)}function b(){const e=[...r.MediaPageStore.get("users")],t=[];e.forEach((e=>{t.push({id:e.username,display:e.name})})),h(t)}function P(){t.current.style.height="";const e=t.current.scrollHeight,a=0(r.MediaPageStore.on("comment_submit",P),r.MediaPageStore.on("comment_submit_fail",w),!0===MediaCMS.features.media.actions.comment_mention&&r.MediaPageStore.on("users_load",b),()=>{r.MediaPageStore.removeListener("comment_submit",P),r.MediaPageStore.removeListener("comment_submit_fail",w),!0===MediaCMS.features.media.actions.comment_mention&&r.MediaPageStore.removeListener("users_load",b)}))),o.MemberContext._currentValue.is.anonymous?n.createElement("div",{className:"comments-form"},n.createElement("div",{className:"comments-form-inner"},n.createElement(s.UserThumbnail,null),n.createElement("div",{className:"form"},n.createElement("a",{href:y,rel:"noffolow",className:"form-textarea-wrap",title:(0,v.translateString)("Add a ")+V.single+"..."},n.createElement("span",{className:"form-textarea"},(0,v.translateString)("Add a ")+V.single+"...")),n.createElement("div",{className:"form-buttons"},n.createElement("a",{href:y,rel:"noffolow",className:"disabled"},V.submitCommentText))))):n.createElement("div",{className:"comments-form"},n.createElement("div",{className:"comments-form-inner"},n.createElement(s.UserThumbnail,null),n.createElement("div",{className:"form"},n.createElement("div",{className:"form-textarea-wrap"+(c?" focused":"")},MediaCMS.features.media.actions.comment_mention?n.createElement(x.G,{inputRef:t,className:"form-textarea",rows:"1",placeholder:"Add a "+V.single+"...",value:a,onChange:function(e,a,n,o){t.current.style.height="",i(a),d(!0);const r=t.current.scrollHeight,l=0()=>{}),[]),n.createElement("div",{className:"comment"},n.createElement("div",{className:"comment-inner"},n.createElement("a",{className:"comment-author-thumb",href:e.author_link,title:e.author_name},n.createElement("img",{src:e.author_thumb,alt:e.author_name})),n.createElement("div",{className:"comment-content"},n.createElement("div",{className:"comment-meta"},n.createElement("div",{className:"comment-author"},n.createElement("a",{href:e.author_link,title:e.author_name},e.author_name)),n.createElement("div",{className:"comment-date"},(0,v.replaceString)((0,L.GP)(new Date(e.publish_date))))),n.createElement("div",{ref:t,className:"comment-text"+(i?" show-all":"")},n.createElement("div",{ref:a,className:"comment-text-inner",dangerouslySetInnerHTML:(d=e.text,{__html:d.replace(/\n/g,"
")})})),l?n.createElement("button",{className:"toggle-more",onClick:function(){r(!i)}},i?"Show less":"Read more"):null,o.MemberContext._currentValue.can.deleteComment?n.createElement(T,{comment_id:e.comment_id}):null)));var d}A.propTypes={comment_id:h().oneOfType([h().string,h().number]).isRequired,media_id:h().oneOfType([h().string,h().number]).isRequired,text:h().string,author_name:h().string,author_link:h().string,author_thumb:h().string,publish_date:h().oneOfType([h().string,h().number]),likes:h().number,dislikes:h().number},A.defaultProps={author_name:"",author_link:"#",publish_date:0,likes:0,dislikes:0};const R=e=>{let{commentsLength:t}=e;return n.createElement(n.Fragment,null,!o.MemberContext._currentValue.can.readComment||r.MediaPageStore.get("media-data").enable_comments?null:n.createElement("span",{className:"disabled-comments-msg"},V.disabledCommentsMsg),o.MemberContext._currentValue.can.readComment&&(r.MediaPageStore.get("media-data").enable_comments||o.MemberContext._currentValue.can.editMedia)?n.createElement("h2",null,t?1{e.text=function(e){const t=new RegExp("((\\d)?\\d:)?(\\d)?\\d:\\d\\d","g");return e.replace(t,(function(e,t){let a=e.split(":"),i=0,n=1;for(;a.length>0;)i+=n*parseInt(a.pop(),10),n*=60;return`${e}`}))}(e.text)})),function(){var e=document.querySelector(".page-main"),t=e.querySelector(".no-comment");const a=r.PageStore.get("config-contents").uploader.postUploadMessage;if(""===a)t&&0===comm.length&&t.parentNode.removeChild(t);else if(0===comm.length&&"unlisted"===r.MediaPageStore.get("media-data").state){if(-1f.PageActions.addNotification(V.ucfirstSingle+" added","commentSubmit")),100)}function u(){setTimeout((()=>f.PageActions.addNotification(V.ucfirstSingle+" submission failed","commentSubmitFail")),100)}function p(e){c(),setTimeout((()=>f.PageActions.addNotification(V.ucfirstSingle+" removed","commentDelete")),100)}function g(e){setTimeout((()=>f.PageActions.addNotification(V.ucfirstSingle+" removal failed","commentDeleteFail")),100)}return(0,n.useEffect)((()=>{d(i.length&&o.MemberContext._currentValue.can.readComment&&(r.MediaPageStore.get("media-data").enable_comments||o.MemberContext._currentValue.can.editMedia))}),[i]),(0,n.useEffect)((()=>(r.MediaPageStore.on("comments_load",c),r.MediaPageStore.on("comment_submit",m),r.MediaPageStore.on("comment_submit_fail",u),r.MediaPageStore.on("comment_delete",p),r.MediaPageStore.on("comment_delete_fail",g),()=>{r.MediaPageStore.removeListener("comments_load",c),r.MediaPageStore.removeListener("comment_submit",m),r.MediaPageStore.removeListener("comment_submit_fail",u),r.MediaPageStore.removeListener("comment_delete",p),r.MediaPageStore.removeListener("comment_delete_fail",g)})),[]),n.createElement("div",{className:"comments-list"},n.createElement("div",{className:"comments-list-inner"},n.createElement(R,{commentsLength:i.length}),r.MediaPageStore.get("media-data").enable_comments?n.createElement(I,{media_id:t}):null,s?i.map((e=>n.createElement(A,{key:e.uid,comment_id:e.uid,media_id:t,text:e.text,author_name:e.author_name,author_link:e.author_profile,author_thumb:o.SiteContext._currentValue.url+"/"+e.author_thumbnail_url.replace(/^\//g,""),publish_date:e.add_date,likes:0,dislikes:0}))):null))}var D=a(8974);function U(e){let t,a,i=[];if(e&&e.length)for(t=0,a=1(r.MediaPageStore.on("media_delete",S),r.MediaPageStore.on("media_delete_fail",E),()=>{r.MediaPageStore.removeListener("media_delete",S),r.MediaPageStore.removeListener("media_delete_fail",E)})),[]);const b=(0,v.formatInnerLink)(e.author.url,o.SiteContext._currentValue.url),P=(0,v.formatInnerLink)(e.author.thumb,o.SiteContext._currentValue.url);return n.createElement("div",{className:"media-info-content"},void 0===r.PageStore.get("config-media-item").displayAuthor||null===r.PageStore.get("config-media-item").displayAuthor||r.PageStore.get("config-media-item").displayAuthor?n.createElement(F,{link:b,thumb:P,name:e.author.name,published:e.published}):null,n.createElement("div",{className:"media-content-banner"},n.createElement("div",{className:"media-content-banner-inner"},p?n.createElement("div",{className:"media-content-summary"},d):null,p&&!h||!a?null:n.createElement("div",{className:"media-content-description",dangerouslySetInnerHTML:{__html:function(e){const t=new RegExp("((\\d)?\\d:)?(\\d)?\\d:\\d\\d","g");return e.replace(t,(function(e,t){let a=e.split(":"),i=0,n=1;for(;a.length>0;)i+=n*parseInt(a.pop(),10),n*=60;return`${e}`}))}(a)}}),p?n.createElement("button",{className:"load-more",onClick:function(){y(!h)}},h?"SHOW LESS":"SHOW MORE"):null,i.length?n.createElement(j,{value:i,title:1(r.MediaPageStore.on("disliked_media",d),r.MediaPageStore.on("undisliked_media",c),r.MediaPageStore.on("disliked_media_failed_request",m),()=>{r.MediaPageStore.removeListener("disliked_media",d),r.MediaPageStore.removeListener("undisliked_media",c),r.MediaPageStore.removeListener("disliked_media_failed_request",m)})),[]),n.createElement("div",{className:"like"},n.createElement("button",{onClick:function(t){t.preventDefault(),t.stopPropagation(),f.MediaPageActions[e?"undislikeMedia":"dislikeMedia"]()}},n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"thumb_down"})),n.createElement("span",{className:"dislikes-counter"},a)))}function z(){const[e,t]=(0,n.useState)(r.MediaPageStore.get("user-liked-media")),[a,i]=(0,n.useState)((0,v.formatViewsNumber)(r.MediaPageStore.get("media-likes"),!1));function l(){t(r.MediaPageStore.get("user-liked-media")),i((0,v.formatViewsNumber)(r.MediaPageStore.get("media-likes"),!1))}function d(){l(),f.PageActions.addNotification(o.TextsContext._currentValue.addToLiked,"likedMedia")}function c(){l(),f.PageActions.addNotification(o.TextsContext._currentValue.removeFromLiked,"unlikedMedia")}function m(){f.PageActions.addNotification("Action failed","likedMediaRequestFail")}return(0,n.useEffect)((()=>(r.MediaPageStore.on("liked_media",d),r.MediaPageStore.on("unliked_media",c),r.MediaPageStore.on("liked_media_failed_request",m),()=>{r.MediaPageStore.removeListener("liked_media",d),r.MediaPageStore.removeListener("unliked_media",c),r.MediaPageStore.removeListener("liked_media_failed_request",m)})),[]),n.createElement("div",{className:"like"},n.createElement("button",{onClick:function(t){t.preventDefault(),t.stopPropagation(),f.MediaPageActions[e?"unlikeMedia":"likeMedia"]()}},n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"thumb_up"})),n.createElement("span",{className:"likes-counter"},a)))}function W(e){const t=(0,n.useRef)(null),a=(0,n.useRef)(null),[i,o]=(0,n.useState)(null);function l(){o(window.innerHeight-(104+t.current.offsetHeight))}return(0,n.useEffect)((()=>(l(),r.PageStore.on("window_resize",l),()=>{r.PageStore.removeListener("window_resize",l)})),[]),n.createElement("form",null,n.createElement("div",{className:"report-form",style:null!==i?{maxHeight:i+"px"}:null},n.createElement("div",{className:"form-title"},"Report media"),n.createElement("div",{className:"form-field"},n.createElement("span",{className:"label"},"URL"),n.createElement("input",{type:"text",readOnly:!0,value:e.mediaUrl})),n.createElement("div",{className:"form-field"},n.createElement("span",{className:"label"},"Description"),n.createElement("textarea",{ref:a,required:!0})),n.createElement("div",{className:"form-field form-help-text"},"Reported media is reviewed")),n.createElement("div",{ref:t,className:"form-actions-bottom"},n.createElement("button",{className:"cancel",onClick:function(t){t.preventDefault(),void 0!==e.cancelReportForm&&e.cancelReportForm()}},"CANCEL"),n.createElement("button",{onClick:function(t){const i=a.current.value.trim();""!==i&&(t.preventDefault(),void 0!==e.submitReportForm&&e.submitReportForm(i))}},"SUBMIT")))}function $(e,t){const a=o.SiteContext._currentValue,i=e.encodings_info,n={};let r,l;for(r in i)if(i.hasOwnProperty(r)&&Object.keys(i[r]).length)for(l in i[r])i[r].hasOwnProperty(l)&&"success"===i[r][l].status&&100===i[r][l].progress&&null!==i[r][l].url&&(n[i[r][l].title]={text:r+" - "+l.toUpperCase()+" ("+i[r][l].size+")",link:(0,v.formatInnerLink)(i[r][l].url,a.url),linkAttr:{target:"_blank",download:e.title+"_"+r+"_"+l.toUpperCase()}});return n.original_media_url={text:"Original file ("+e.size+")",link:(0,v.formatInnerLink)(e.original_media_url,a.url),linkAttr:{target:"_blank",download:e.title}},Object.values(n)}function Y(e,t,a,i,o,r,l){const d=t.url,c=t.media_type,m=t.state||"N/A",u=t.encoding_status||"N/A",p=t.reported_times,g=t.is_reviewed,h="video"===c,f=function(e,t,a,i,n){const o=[],r="video"===t.media_type,l=t.reported_times;return a&&e.downloadMedia&&(r?o.push({itemType:"open-subpage",text:"Download",icon:"arrow_downward",itemAttr:{className:"visible-only-in-small"},buttonAttr:{className:"change-page","data-page-id":"videoDownloadOptions"}}):i&&o.push({itemType:"link",link:i,text:"Download",icon:"arrow_downward",itemAttr:{className:"visible-only-in-small"},linkAttr:{target:"_blank",download:t.title}})),r&&e.editMedia&&o.push({itemType:"open-subpage",text:"Status info",icon:"info",buttonAttr:{className:"change-page","data-page-id":"mediaStatusInfo"}}),e.reportMedia&&(n?o.push({itemType:"div",text:"Reported",icon:"flag",divAttr:{className:"reported-label loggedin-media-reported"}}):o.push({itemType:"open-subpage",text:"Report",icon:"flag",buttonAttr:{className:"change-page"+(l?" loggedin-media-reported":""),"data-page-id":"loggedInReportMedia"}})),o}(e,t,a,i,o),v={};return f.length&&(v.main=n.createElement("div",{className:"main-options"},n.createElement(s.PopupMain,null,n.createElement(s.NavigationMenuList,{items:f})))),e.reportMedia&&(v.loggedInReportMedia=o?null:n.createElement("div",{className:"popup-fullscreen"},n.createElement(s.PopupMain,null,n.createElement("span",{className:"popup-fullscreen-overlay"}),n.createElement("div",null,n.createElement(W,{mediaUrl:d,submitReportForm:r,cancelReportForm:l}))))),e.editMedia&&(v.mediaStatusInfo=n.createElement("div",{className:"main-options"},n.createElement(s.PopupMain,null,n.createElement("ul",{className:"media-status-info"},n.createElement("li",null,"Media type: ",n.createElement("span",null,c)),n.createElement("li",null,"State: ",n.createElement("span",null,m)),n.createElement("li",null,"Review state: ",n.createElement("span",null,g?"Is reviewed":"Pending review")),h?n.createElement("li",null,"Encoding Status: ",n.createElement("span",null,u)):null,p?n.createElement("li",{className:"reports"},"Reports: ",n.createElement("span",null,p)):null)))),a&&e.downloadMedia&&h&&(v.videoDownloadOptions=n.createElement("div",{className:"video-download-options"},n.createElement(s.PopupMain,null,n.createElement(s.NavigationMenuList,{items:$(t)})))),v}W.propTypes={mediaUrl:h().string.isRequired,cancelReportForm:h().func,submitReportForm:h().func};const G="more-options active-options";function J(e){const{userCan:t}=(0,N.useUser)(),a=o.SiteContext._currentValue,i=(0,v.formatInnerLink)(r.MediaPageStore.get("media-original-url"),a.url),l=r.MediaPageStore.get("media-data"),d="video"===l.media_type,[c,m,u]=(0,N.usePopup)(),[p,g]=(0,n.useState)(!1),[h,y]=(0,n.useState)(!1),[S,E]=(0,n.useState)({}),[b,P]=(0,n.useState)("main"),[w,M]=(0,n.useState)(G);function _(e){f.MediaPageActions.reportMedia(e)}function k(){c.current.toggle()}function C(){c.current.tryToHide(),setTimeout((function(){f.PageActions.addNotification("Media Reported","reportedMedia"),y(!0),r.MediaPageStore.removeListener("reported_media",C)}),100)}return(0,n.useEffect)((()=>{h||(p?r.MediaPageStore.on("reported_media",C):r.MediaPageStore.removeListener("reported_media",C))}),[p]),(0,n.useEffect)((()=>{g(Object.keys(S).length&&e.allowDownload&&t.downloadMedia)}),[S]),(0,n.useEffect)((()=>{let a=G;e.allowDownload&&t.downloadMedia&&"videoDownloadOptions"===b&&(a+=" video-downloads"),1===Object.keys(S).length&&e.allowDownload&&t.downloadMedia&&(d||i)&&(a+=" visible-only-in-small"),M(a)}),[b]),(0,n.useEffect)((()=>{E(Y(t,l,e.allowDownload,i,h,_,k))}),[h]),(0,n.useEffect)((()=>(E(Y(t,l,e.allowDownload,i,h,_,k)),()=>{p&&!h&&r.MediaPageStore.removeListener("reported_media",C)})),[]),p?n.createElement("div",{className:w},n.createElement(u,{contentRef:c},n.createElement("span",null,n.createElement(s.CircleIconButton,{type:"button"},n.createElement(s.MaterialIcon,{type:"more_horiz"})))),n.createElement("div",{className:"nav-page-"+b},n.createElement(m,{contentRef:c,hideCallback:function(){P("main")}},n.createElement(s.NavigationContentApp,{pageChangeCallback:function(e){P(e)},initPage:b,focusFirstItemOnPageChange:!1,pages:S,pageChangeSelector:".change-page",pageIdSelectorAttr:"data-page-id"})))):null}J.propTypes={allowDownload:h().bool.isRequired},J.defaultProps={allowDownload:!1};var X=a(3706);function Z(e){return e.renderDate?n.createElement("label",null,n.createElement("input",{type:"checkbox",checked:e.isChecked,onChange:function(t){t.persist(),e.isChecked?f.MediaPageActions.removeMediaFromPlaylist(e.playlistId,r.MediaPageStore.get("media-id")):f.MediaPageActions.addMediaToPlaylist(e.playlistId,r.MediaPageStore.get("media-id"))}}),n.createElement("span",null,e.title)):null}function Q(e){const t=(0,n.useRef)(null),a=(0,n.useRef)(null),[i,o]=(0,n.useState)(new Date),[l,d]=(0,n.useState)(r.MediaPageStore.get("playlists")),[c,m]=(0,n.useState)(!1);function u(){S()}function p(){d(r.MediaPageStore.get("playlists")),o(new Date)}function g(){d(r.MediaPageStore.get("playlists")),o(new Date),setTimeout((function(){f.PageActions.addNotification("Media added to playlist","playlistMediaAdditionComplete")}),100)}function h(){setTimeout((function(){f.PageActions.addNotification("Media's addition to playlist failed","playlistMediaAdditionFail")}),100)}function v(){d(r.MediaPageStore.get("playlists")),o(new Date),setTimeout((function(){f.PageActions.addNotification("Media removed from playlist","playlistMediaRemovalComplete")}),100)}function y(){setTimeout((function(){f.PageActions.addNotification("Media's removal from playlist failed","playlistMediaaRemovalFail")}),100)}function S(){null!==a.current&&(a.current.style.maxHeight=window.innerHeight-74-(t.current.offsetHeight-a.current.offsetHeight)+"px")}function E(){m(!c),S()}return(0,n.useEffect)((()=>{S()})),(0,n.useEffect)((()=>(r.PageStore.on("window_resize",u),r.MediaPageStore.on("playlists_load",p),r.MediaPageStore.on("media_playlist_addition_completed",g),r.MediaPageStore.on("media_playlist_addition_failed",h),r.MediaPageStore.on("media_playlist_removal_completed",v),r.MediaPageStore.on("media_playlist_removal_failed",y),()=>{r.PageStore.removeListener("window_resize",u),r.MediaPageStore.removeListener("playlists_load",p),r.MediaPageStore.removeListener("media_playlist_addition_completed",g),r.MediaPageStore.removeListener("media_playlist_addition_failed",h),r.MediaPageStore.removeListener("media_playlist_removal_completed",v),r.MediaPageStore.removeListener("media_playlist_removal_failed",y)})),[]),n.createElement("div",{ref:t,className:"saveto-popup"},n.createElement("div",{className:"saveto-title"},"Save to...",n.createElement(s.CircleIconButton,{type:"button",onClick:function(){m(!1),void 0!==e.triggerPopupClose&&e.triggerPopupClose()}},n.createElement(s.MaterialIcon,{type:"close"}))),l.length?n.createElement("div",{ref:a,className:"saveto-select"},function(){const e=r.MediaPageStore.get("media-id");let t=[],a=0;for(;a{p(window.innerHeight-144+56),x(d.current.offsetHeight),V(m.current.offsetHeight)})),(0,n.useEffect)((()=>(r.PageStore.on("window_resize",A),r.MediaPageStore.on("copied_embed_media_code",R),()=>{r.PageStore.removeListener("window_resize",A),r.MediaPageStore.removeListener("copied_embed_media_code",R)})),[]),n.createElement("div",{className:"share-embed",style:{maxHeight:u+"px"}},n.createElement("div",{className:"share-embed-inner"},n.createElement("div",{className:"on-left"},n.createElement("div",{className:"media-embed-wrap"},n.createElement(o.SiteConsumer,null,(e=>n.createElement(C,{data:r.MediaPageStore.get("media-data"),siteUrl:e.url,inEmbed:!0}))))),n.createElement("div",{ref:l,className:"on-right"},n.createElement("div",{ref:d,className:"on-right-top"},n.createElement("div",{className:"on-right-top-inner"},n.createElement("span",{className:"ttl"},"Embed Video"),n.createElement(s.CircleIconButton,{type:"button",onClick:function(){void 0!==e.triggerPopupClose&&e.triggerPopupClose()}},n.createElement(s.MaterialIcon,{type:"close"})))),n.createElement("div",{ref:c,className:"on-right-middle",style:{top:N+"px",bottom:L+"px"}},n.createElement("textarea",{readOnly:!0,value:''}),n.createElement("div",{className:"iframe-config"},n.createElement("div",{className:"iframe-config-options-title"},"Embed options"),n.createElement("div",{className:"iframe-config-option"},n.createElement("div",{className:"option-content"},n.createElement("div",{className:"ratio-options"},n.createElement("div",{className:"options-group"},n.createElement("label",{style:{minHeight:"36px"}},n.createElement("input",{type:"checkbox",checked:g,onChange:function(){const e=!g,t=v.split(":"),a=t[0],i=t[1];h(e),P(e?"px":b),k(e?"px":_),M(e?parseInt(S*i/a,10):w),T(e?[{key:"px",label:"px"}]:[{key:"px",label:"px"},{key:"percent",label:"%"}])}}),"Keep aspect ratio")),g?n.createElement("div",{className:"options-group"},n.createElement("select",{ref:i,onChange:function(){const e=i.current.value,t=e.split(":"),a=t[0],n=t[1];y(e),M(g?parseInt(S*n/a,10):w)},value:v},n.createElement("optgroup",{label:"Horizontal orientation"},n.createElement("option",{value:"16:9"},"16:9"),n.createElement("option",{value:"4:3"},"4:3"),n.createElement("option",{value:"3:2"},"3:2")),n.createElement("optgroup",{label:"Vertical orientation"},n.createElement("option",{value:"9:16"},"9:16"),n.createElement("option",{value:"3:4"},"3:4"),n.createElement("option",{value:"2:3"},"2:3")))):null),n.createElement("br",null),n.createElement("div",{className:"options-group"},n.createElement(s.NumericInputWithUnit,{valueCallback:function(e){e=""===e?0:e;const t=v.split(":"),a=t[0],i=t[1];E(e),M(g?parseInt(e*i/a,10):w)},unitCallback:function(e){P(e)},label:"Width",defaultValue:parseInt(S,10),defaultUnit:b,minValue:1,maxValue:99999,units:I})),n.createElement("div",{className:"options-group"},n.createElement(s.NumericInputWithUnit,{valueCallback:function(e){e=""===e?0:e;const t=v.split(":"),a=t[0],i=t[1];M(e),E(g?parseInt(e*a/i,10):S)},unitCallback:function(e){k(e)},label:"Height",defaultValue:parseInt(w,10),defaultUnit:_,minValue:1,maxValue:99999,units:I})))))),n.createElement("div",{ref:m,className:"on-right-bottom"},n.createElement("button",{onClick:function(){f.MediaPageActions.copyEmbedMediaCode(c.current.querySelector("textarea"))}},"COPY")))))}Z.propTypes={playlistId:h().string,isChecked:h().bool,title:h().string},Z.defaultProps={isChecked:!1,title:""},Q.propTypes={triggerPopupClose:h().func},ee.propTypes={triggerPopupClose:h().func};var te=a(5289);function ae(e){let{onClick:t}=e;return n.createElement("span",{className:"next-slide"},n.createElement(s.CircleIconButton,{buttonShadow:!0,onClick:t},n.createElement("i",{className:"material-icons"},"keyboard_arrow_right")))}function ie(e){let{onClick:t}=e;return n.createElement("span",{className:"previous-slide"},n.createElement(s.CircleIconButton,{buttonShadow:!0,onClick:t},n.createElement("i",{className:"material-icons"},"keyboard_arrow_left")))}function ne(){return{maxFormContentHeight:window.innerHeight-196,maxPopupWidth:518>window.innerWidth-80?window.innerWidth-80:null}}function oe(e){const t=(0,n.useRef)(null),a=(0,n.useRef)(null),i=r.MediaPageStore.get("media-url"),[l,s]=(0,n.useState)(null),[d,c]=(0,n.useState)({prev:!1,next:!1}),[m,u]=(0,n.useState)(ne()),[p]=(0,n.useState)(function(){const e=function(){const e=o.ShareOptionsContext._currentValue,t=r.MediaPageStore.get("media-url"),a=(r.MediaPageStore.get("media-data").title,{});let i=0;for(;i{s(new te.A(a.current,".sh-option"))}),[p]),(0,n.useEffect)((()=>{l&&(l.updateDataStateOnResize(p.length,!0,!0),_())}),[m,l]),(0,n.useEffect)((()=>{r.PageStore.on("window_resize",w),r.MediaPageStore.on("copied_media_link",M);const e=function(){const e=document.getElementsByTagName("video");return e[0]?.currentTime}();return h(e),y(function(e){let t=parseInt(e,10),a=Math.floor(t/3600),i=Math.floor((t-3600*a)/60),n=t-3600*a-60*i;return a<10&&(a="0"+a),i<10&&(i="0"+i),n<10&&(n="0"+n),a>=1?a+":"+i+":"+n:i+":"+n}(e)),()=>{r.PageStore.removeListener("window_resize",w),r.MediaPageStore.removeListener("copied_media_link",M),s(null)}}),[]),n.createElement("div",{ref:t,style:null!==m.maxPopupWidth?{maxWidth:m.maxPopupWidth+"px"}:null},n.createElement("div",{className:"scrollable-content",style:null!==m.maxFormContentHeight?{maxHeight:m.maxFormContentHeight+"px"}:null},n.createElement("div",{className:"share-popup-title"},"Share media"),p.length?n.createElement("div",{className:"share-options"},d.prev?n.createElement(ie,{onClick:function(){l.previousSlide(),_()}}):null,n.createElement("div",{ref:a,className:"share-options-inner"},p),d.next?n.createElement(ae,{onClick:function(){l.nextSlide(),_()}}):null):null),n.createElement("div",{className:"copy-field"},n.createElement("div",null,n.createElement("input",{type:"text",readOnly:!0,value:b}),n.createElement("button",{onClick:function(){f.MediaPageActions.copyShareLink(t.current.querySelector(".copy-field input"))}},"COPY"))),n.createElement("div",{className:"start-at"},n.createElement("label",null,n.createElement("input",{type:"checkbox",name:"start-at-checkbox",id:"id-start-at-checkbox",checked:S,onChange:function(){E(!S),function(){const e=S?i:i+"&t="+Math.trunc(g);P(e)}()}}),"Start at ",v)))}function re(){return{shareOptions:n.createElement("div",{className:"popup-fullscreen"},n.createElement(s.PopupMain,null,n.createElement("span",{className:"popup-fullscreen-overlay"}),n.createElement(oe,null)))}}function le(e){const[t,a,i]=(0,N.usePopup)(),[o,r]=(0,n.useState)("shareOptions");return n.createElement("div",{className:"share"},n.createElement(i,{contentRef:t},n.createElement("button",null,n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"share"})),n.createElement("span",null,(0,v.translateString)("SHARE")))),n.createElement(a,{contentRef:t,hideCallback:function(){r("shareOptions")}},n.createElement(s.NavigationContentApp,{initPage:o,pageChangeSelector:".change-page",pageIdSelectorAttr:"data-page-id",pages:e.isVideo?(l=function(){t.current.toggle()},{...re(),shareEmbed:n.createElement("div",{className:"popup-fullscreen share-embed-popup"},n.createElement(s.PopupMain,null,n.createElement("span",{className:"popup-fullscreen-overlay"}),n.createElement(ee,{triggerPopupClose:l})))}):re(),focusFirstItemOnPageChange:!1,pageChangeCallback:function(e){r(e)}})));var l}function se(e){return n.createElement("div",{className:"download hidden-only-in-small"},n.createElement("a",{href:e.link,target:"_blank",download:e.title,title:"Download",rel:"noreferrer"},n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"arrow_downward"})),n.createElement("span",null,"DOWNLOAD")))}function de(){const e=r.MediaPageStore.get("media-data"),t=(e.title,e.encodings_info),a={};let i,n;for(i in t)if(t.hasOwnProperty(i)&&Object.keys(t[i]).length)for(n in t[i])t[i].hasOwnProperty(n)&&"success"===t[i][n].status&&100===t[i][n].progress&&null!==t[i][n].url&&(a[t[i][n].title]={text:i+" - "+n.toUpperCase()+" ("+t[i][n].size+")",link:(0,v.formatInnerLink)(t[i][n].url,o.SiteContext._currentValue.url),linkAttr:{target:"_blank",download:i+"_"+n.toLowerCase()+"_"+e.title}});return a.original_media_url={text:"Original file ("+e.size+")",link:(0,v.formatInnerLink)(e.original_media_url,o.SiteContext._currentValue.url),linkAttr:{target:"_blank",download:e.title}},Object.values(a)}function ce(e){const[t,a,i]=(0,N.usePopup)(),[o,r]=(0,n.useState)("main");return n.createElement("div",{className:"video-downloads hidden-only-in-small"},n.createElement(i,{contentRef:t},n.createElement("button",null,n.createElement(s.CircleIconButton,{type:"span"},n.createElement(s.MaterialIcon,{type:"arrow_downward"})),n.createElement("span",null,(0,v.translateString)("DOWNLOAD")))),n.createElement("div",{className:"nav-page-"+o},n.createElement(a,{contentRef:t},n.createElement(s.NavigationContentApp,{pageChangeCallback:null,initPage:"main",focusFirstItemOnPageChange:!1,pages:{main:n.createElement("div",{className:"main-options"},n.createElement(s.PopupMain,null,n.createElement(s.NavigationMenuList,{items:de()})))},pageChangeSelector:".change-page",pageIdSelectorAttr:"data-page-id"}))))}se.propTypes={link:h().string.isRequired,title:h().string.isRequired};class me extends n.PureComponent{constructor(e){super(e),this.state={likedMedia:r.MediaPageStore.get("user-liked-media"),dislikedMedia:r.MediaPageStore.get("user-disliked-media")},this.downloadLink="video"!==r.MediaPageStore.get("media-type")?(0,v.formatInnerLink)(r.MediaPageStore.get("media-original-url"),o.SiteContext._currentValue.url):null,this.updateStateValues=this.updateStateValues.bind(this)}componentDidMount(){r.MediaPageStore.on("liked_media",this.updateStateValues),r.MediaPageStore.on("unliked_media",this.updateStateValues),r.MediaPageStore.on("disliked_media",this.updateStateValues),r.MediaPageStore.on("undisliked_media",this.updateStateValues);const e=document.querySelectorAll("[data-tooltip]");e.length&&e.forEach((e=>function(e){const t=document.body,a=document.createElement("span");function i(){const t=e.getBoundingClientRect();a.style.top=t.top-(0+a.offsetHeight)+"px",a.style.left=t.left+"px"}a.innerText=e.getAttribute("data-tooltip"),a.setAttribute("class","tooltip"),e.removeAttribute("data-tooltip"),e.addEventListener("mouseenter",(function(){const n=e.getBoundingClientRect();t.appendChild(a),a.style.top=n.top-(0+a.offsetHeight)+"px",a.style.left=n.left+"px",document.addEventListener("scroll",i)})),e.addEventListener("mouseleave",(function(){t.removeChild(a),a.style.top="",a.style.left="",document.removeEventListener("scroll",i)}))}(e)))}updateStateValues(){this.setState({likedMedia:r.MediaPageStore.get("user-liked-media"),dislikedMedia:r.MediaPageStore.get("user-disliked-media")})}mediaCategories(e){if(void 0===this.props.categories||null===this.props.categories||!this.props.categories.length)return null;let t=0,a=[];for(;t=this.props.views?"view":"views"):null,n.createElement("div",{className:"media-actions"},n.createElement("div",null,o.MemberContext._currentValue.can.likeMedia?n.createElement(z,null):null,o.MemberContext._currentValue.can.dislikeMedia?n.createElement(B,null):null,o.MemberContext._currentValue.can.shareMedia?n.createElement(le,{isVideo:!1}):null,!o.MemberContext._currentValue.is.anonymous&&o.MemberContext._currentValue.can.saveMedia&&-1=this.props.views?(0,v.translateString)("view"):(0,v.translateString)("views")):null,n.createElement("div",{className:"media-actions"},n.createElement("div",null,o.MemberContext._currentValue.can.likeMedia?n.createElement(z,null):null,o.MemberContext._currentValue.can.dislikeMedia?n.createElement(B,null):null,o.MemberContext._currentValue.can.shareMedia?n.createElement(le,{isVideo:!0}):null,!o.MemberContext._currentValue.is.anonymous&&o.MemberContext._currentValue.can.saveMedia&&-1(r.MediaPageStore.on("loaded_media_data",s),r.PageStore.on("switched_media_auto_play",l),()=>{r.MediaPageStore.removeListener("loaded_media_data",s),r.PageStore.removeListener("switched_media_auto_play",l)})),[]),t?n.createElement("div",{className:"auto-play"},n.createElement("div",{className:"auto-play-header"},n.createElement("div",{className:"next-label"},(0,v.translateString)("Up next"))),n.createElement(fe.k,{className:"items-list-hor",items:[t],pageItems:1,maxItems:1,singleLinkContent:!0,horizontalItemsOrientation:!0,hideDate:!0,hideViews:!r.PageStore.get("config-media-item").displayViews,hideAuthor:!r.PageStore.get("config-media-item").displayAuthor})):null}function Se(e){const[t,a]=(0,n.useState)(s()),[i,o]=(0,n.useState)(null);function l(){o(r.MediaPageStore.get("media-type")),a(s())}function s(){const e=r.MediaPageStore.get("media-data");return null!=e&&void 0!==e.related_media&&e.related_media.length?e.related_media:null}return(0,n.useEffect)((()=>(r.MediaPageStore.on("loaded_media_data",l),()=>r.MediaPageStore.removeListener("loaded_media_data",l))),[]),t&&t.length?n.createElement(fe.k,{className:"items-list-hor",items:!e.hideFirst||"video"!==i&&"audio"!==i?t:t.slice(1),pageItems:r.PageStore.get("config-options").pages.media.related.initialSize,singleLinkContent:!0,horizontalItemsOrientation:!0,hideDate:!0,hideViews:!r.PageStore.get("config-media-item").displayViews,hideAuthor:!r.PageStore.get("config-media-item").displayAuthor}):null}function Ee(e){return n.createElement(fe.k,{className:"items-list-hor",pageItems:9999,maxItems:9999,items:e.items,hideDate:!0,hideViews:!0,hidePlaylistOrderNumber:!1,horizontalItemsOrientation:!0,inPlaylistView:!0,singleLinkContent:!0,playlistActiveItem:e.playlistActiveItem})}Se.propTypes={hideFirst:h().bool},Se.defaultProps={hideFirst:!0},Ee.propTypes={items:h().array.isRequired,playlistActiveItem:v.PositiveIntegerOrZero},Ee.defaultProps={playlistActiveItem:1};class be extends n.PureComponent{constructor(e){super(e),this.state={expanded:!0,loopRepeat:r.PlaylistViewStore.get("enabled-loop"),shuffle:r.PlaylistViewStore.get("enabled-shuffle"),savedPlaylist:r.PlaylistViewStore.get("saved-playlist-loop"),title:e.playlistData.title,link:e.playlistData.url,authorName:e.playlistData.user,authorLink:o.LinksContext._currentValue.home+"/user/"+e.playlistData.user,activeItem:e.activeItem,totalMedia:e.playlistData.media_count,items:e.playlistData.playlist_media},this.onHeaderClick=this.onHeaderClick.bind(this),this.onLoopClick=this.onLoopClick.bind(this),this.onShuffleClick=this.onShuffleClick.bind(this),this.onSaveClick=this.onSaveClick.bind(this),this.onLoopRepeatUpdate=this.onLoopRepeatUpdate.bind(this),this.onShuffleUpdate=this.onShuffleUpdate.bind(this),this.onPlaylistSaveUpdate=this.onPlaylistSaveUpdate.bind(this),r.PlaylistViewStore.on("loop-repeat-updated",this.onLoopRepeatUpdate),r.PlaylistViewStore.on("shuffle-updated",this.onShuffleUpdate),r.PlaylistViewStore.on("saved-updated",this.onPlaylistSaveUpdate)}onHeaderClick(e){this.setState({expanded:!this.state.expanded})}onLoopClick(){f.PlaylistViewActions.toggleLoop()}onShuffleClick(){f.PlaylistViewActions.toggleShuffle()}onSaveClick(){f.PlaylistViewActions.toggleSave()}onShuffleUpdate(){this.setState({shuffle:r.PlaylistViewStore.get("enabled-shuffle")},(()=>{this.state.shuffle?f.PageActions.addNotification("Playlist shuffle is on","shuffle-on"):f.PageActions.addNotification("Playlist shuffle is off","shuffle-off")}))}onLoopRepeatUpdate(){this.setState({loopRepeat:r.PlaylistViewStore.get("enabled-loop")},(()=>{this.state.loopRepeat?f.PageActions.addNotification("Playlist loop is on","loop-on"):f.PageActions.addNotification("Playlist loop is off","loop-off")}))}onPlaylistSaveUpdate(){this.setState({savedPlaylist:r.PlaylistViewStore.get("saved-playlist")},(()=>{this.state.savedPlaylist?f.PageActions.addNotification("Added to playlists library","added-to-playlists-lib"):f.PageActions.addNotification("Removed from playlists library","removed-from-playlists-lib")}))}render(){return n.createElement("div",{className:"playlist-view-wrap"},n.createElement("div",{className:"playlist-view"+(this.state.expanded?" playlist-expanded-view":"")},n.createElement("div",{className:"playlist-header"},n.createElement("div",{className:"playlist-title"},n.createElement("a",{href:this.state.link,title:this.state.title},this.state.title)),n.createElement("div",{className:"playlist-meta"},n.createElement("span",null,n.createElement("a",{href:this.state.authorLink,title:this.state.authorName},this.state.authorName)),"  -  ",n.createElement("span",{className:"counter"},this.state.activeItem," / ",this.state.totalMedia)),n.createElement(s.CircleIconButton,{className:"toggle-playlist-view",onClick:this.onHeaderClick},this.state.expanded?n.createElement("i",{className:"material-icons"},"keyboard_arrow_up"):n.createElement("i",{className:"material-icons"},"keyboard_arrow_down"))),this.state.expanded?n.createElement("div",{className:"playlist-actions"},n.createElement(s.CircleIconButton,{className:this.state.loopRepeat?"active":"",onClick:this.onLoopClick,title:"Loop playlist"},n.createElement("i",{className:"material-icons"},"repeat"))):null,this.state.expanded&&this.state.items.length?n.createElement("div",{className:"playlist-media"},n.createElement(Ee,{items:this.state.items,playlistActiveItem:this.state.activeItem})):null))}}be.propTypes={playlistData:h().object.isRequired,activeItem:v.PositiveIntegerOrZero},be.defaultProps={};class Pe extends n.PureComponent{constructor(e){if(super(e),this.state={playlistData:e.playlistData,isPlaylistPage:!!e.playlistData,activeItem:0,mediaType:r.MediaPageStore.get("media-type"),chapters:r.MediaPageStore.get("media-data")?.chapters},e.playlistData){let t=0;for(;t{let e=null,t=null;const a=window.location.search.split("?")[1];return a&&a.split("&").forEach((a=>{0===a.indexOf("m=")?e=a.split("m=")[1]:0===a.indexOf("pl=")&&(t=a.split("pl=")[1])})),{mediaId:e,playlistId:t}},{mediaId:t,playlistId:a}=e();t&&(window.MediaCMS.mediaId=t),a&&(window.MediaCMS.playlistId=a)}(0,i.C)("page-media",class extends Me{viewerContainerContent(e){switch(r.MediaPageStore.get("media-type")){case"video":case"audio":return n.createElement(o.SiteConsumer,null,(t=>n.createElement(C,{data:e,siteUrl:t.url,inEmbed:!1})));case"image":return n.createElement(c,null);case"pdf":const t=(0,v.formatInnerLink)(r.MediaPageStore.get("media-original-url"),o.SiteContext._currentValue.url);return n.createElement(p,{fileUrl:t})}return n.createElement(l,null)}})}},a={};function i(e){var n=a[e];if(void 0!==n)return n.exports;var o=a[e]={exports:{}};return t[e].call(o.exports,o,o.exports,i),o.exports}i.m=t,e=[],i.O=function(t,a,n,o){if(!a){var r=1/0;for(c=0;c=o)&&Object.keys(i.O).every((function(e){return i.O[e](a[s])}))?a.splice(s--,1):(l=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[a,n,o]},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=201,function(){var e={201:0};i.O.j=function(t){return 0===e[t]};var t=function(t,a){var n,o,r=a[0],l=a[1],s=a[2],d=0;if(r.some((function(t){return 0!==e[t]}))){for(n in l)i.o(l,n)&&(i.m[n]=l[n]);if(s)var c=s(i)}for(t&&t(a);d