@clickview/exchange 0.56.0-rc.0 → 0.56.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{DhjcX-NF.chunk.js → 044iq0d1.chunk.js} +2 -2
- package/dist/scripts/{DhjcX-NF.chunk.js.map → 044iq0d1.chunk.js.map} +1 -1
- package/dist/scripts/{7gBcxbSR.chunk.js → 6ucD94id.chunk.js} +2 -2
- package/dist/scripts/{7gBcxbSR.chunk.js.map → 6ucD94id.chunk.js.map} +1 -1
- package/dist/scripts/{CJo7lOtW.chunk.js → B-PNdHqp.chunk.js} +2 -2
- package/dist/scripts/{CJo7lOtW.chunk.js.map → B-PNdHqp.chunk.js.map} +1 -1
- package/dist/scripts/{D5A4MPL5.chunk.js → B2zOyhnx.chunk.js} +2 -2
- package/dist/scripts/{D5A4MPL5.chunk.js.map → B2zOyhnx.chunk.js.map} +1 -1
- package/dist/scripts/{BWjzl6bO.chunk.js → B3cy6PVV.chunk.js} +2 -2
- package/dist/scripts/{BWjzl6bO.chunk.js.map → B3cy6PVV.chunk.js.map} +1 -1
- package/dist/scripts/{BZnixP9m.chunk.js → B3e4NkXy.chunk.js} +2 -2
- package/dist/scripts/{BZnixP9m.chunk.js.map → B3e4NkXy.chunk.js.map} +1 -1
- package/dist/scripts/{D4hK_mki.chunk.js → B4mwlW3k.chunk.js} +2 -2
- package/dist/scripts/{D4hK_mki.chunk.js.map → B4mwlW3k.chunk.js.map} +1 -1
- package/dist/scripts/{C42OZt2k.chunk.js → BC8oIL4t.chunk.js} +2 -2
- package/dist/scripts/{C42OZt2k.chunk.js.map → BC8oIL4t.chunk.js.map} +1 -1
- package/dist/scripts/{CMt_tsDD.chunk.js → BDoSZnIa.chunk.js} +2 -2
- package/dist/scripts/{CMt_tsDD.chunk.js.map → BDoSZnIa.chunk.js.map} +1 -1
- package/dist/scripts/{c0xcrBn2.chunk.js → BGg12SDH.chunk.js} +2 -2
- package/dist/scripts/{c0xcrBn2.chunk.js.map → BGg12SDH.chunk.js.map} +1 -1
- package/dist/scripts/{SOVDGcrb.chunk.js → BI6c50Jh.chunk.js} +2 -2
- package/dist/scripts/{SOVDGcrb.chunk.js.map → BI6c50Jh.chunk.js.map} +1 -1
- package/dist/scripts/{DnZ4Dk2H.chunk.js → BSIHfhEC.chunk.js} +2 -2
- package/dist/scripts/{DnZ4Dk2H.chunk.js.map → BSIHfhEC.chunk.js.map} +1 -1
- package/dist/scripts/BWIFX-Ik.chunk.js +2 -0
- package/dist/scripts/{ByDeimhV.chunk.js.map → BWIFX-Ik.chunk.js.map} +1 -1
- package/dist/scripts/{DiRICUKi.chunk.js → BWnE7KAO.chunk.js} +2 -2
- package/dist/scripts/{DiRICUKi.chunk.js.map → BWnE7KAO.chunk.js.map} +1 -1
- package/dist/scripts/{Sjgl0YkQ.chunk.js → Be3-ohNT.chunk.js} +3 -3
- package/dist/scripts/{Sjgl0YkQ.chunk.js.map → Be3-ohNT.chunk.js.map} +1 -1
- package/dist/scripts/BlQxOSJi.chunk.js +2 -0
- package/dist/scripts/{DgQ4vdbx.chunk.js.map → BlQxOSJi.chunk.js.map} +1 -1
- package/dist/scripts/{DeqIGNWZ.chunk.js → BoCG3rE6.chunk.js} +2 -2
- package/dist/scripts/{DeqIGNWZ.chunk.js.map → BoCG3rE6.chunk.js.map} +1 -1
- package/dist/scripts/{be6j_Di-.chunk.js → BpW5Hw5z.chunk.js} +2 -2
- package/dist/scripts/{be6j_Di-.chunk.js.map → BpW5Hw5z.chunk.js.map} +1 -1
- package/dist/scripts/{Bz-YiNUV.chunk.js → BtTTlrnZ.chunk.js} +2 -2
- package/dist/scripts/{Bz-YiNUV.chunk.js.map → BtTTlrnZ.chunk.js.map} +1 -1
- package/dist/scripts/{DjYRr_B7.chunk.js → ButpMiJ1.chunk.js} +2 -2
- package/dist/scripts/{DjYRr_B7.chunk.js.map → ButpMiJ1.chunk.js.map} +1 -1
- package/dist/scripts/{pJQ2kMpi.chunk.js → By50Y4fi.chunk.js} +2 -2
- package/dist/scripts/{pJQ2kMpi.chunk.js.map → By50Y4fi.chunk.js.map} +1 -1
- package/dist/scripts/{bpv01bRu.chunk.js → C3YXHQU-.chunk.js} +2 -2
- package/dist/scripts/{bpv01bRu.chunk.js.map → C3YXHQU-.chunk.js.map} +1 -1
- package/dist/scripts/{BB89m0Ai.chunk.js → C3jPyokw.chunk.js} +2 -2
- package/dist/scripts/{BB89m0Ai.chunk.js.map → C3jPyokw.chunk.js.map} +1 -1
- package/dist/scripts/{DWlMp6FF.chunk.js → C5DBZwej.chunk.js} +2 -2
- package/dist/scripts/{DWlMp6FF.chunk.js.map → C5DBZwej.chunk.js.map} +1 -1
- package/dist/scripts/{DXT_0IQr.chunk.js → C6BGhDq3.chunk.js} +2 -2
- package/dist/scripts/{DXT_0IQr.chunk.js.map → C6BGhDq3.chunk.js.map} +1 -1
- package/dist/scripts/C6x-ZqLl.chunk.js +2 -0
- package/dist/scripts/{BznVrNrf.chunk.js.map → C6x-ZqLl.chunk.js.map} +1 -1
- package/dist/scripts/{Cr63cqhX.chunk.js → CFa8QduK.chunk.js} +2 -2
- package/dist/scripts/{Cr63cqhX.chunk.js.map → CFa8QduK.chunk.js.map} +1 -1
- package/dist/scripts/{CrSGTHe_.chunk.js → CG6eaNuu.chunk.js} +2 -2
- package/dist/scripts/{CrSGTHe_.chunk.js.map → CG6eaNuu.chunk.js.map} +1 -1
- package/dist/scripts/{CrIgjnsV.chunk.js → CHFINytM.chunk.js} +2 -2
- package/dist/scripts/{CrIgjnsV.chunk.js.map → CHFINytM.chunk.js.map} +1 -1
- package/dist/scripts/{PUL344nS.chunk.js → CHzv4hsQ.chunk.js} +2 -2
- package/dist/scripts/{PUL344nS.chunk.js.map → CHzv4hsQ.chunk.js.map} +1 -1
- package/dist/scripts/{BJuFCPlx.chunk.js → CV6qoMzB.chunk.js} +2 -2
- package/dist/scripts/{BJuFCPlx.chunk.js.map → CV6qoMzB.chunk.js.map} +1 -1
- package/dist/scripts/{BnuZEejj.chunk.js → CVca5RIC.chunk.js} +2 -2
- package/dist/scripts/{BnuZEejj.chunk.js.map → CVca5RIC.chunk.js.map} +1 -1
- package/dist/scripts/CWRjbtTx.chunk.js +2 -0
- package/dist/scripts/{i9Jc9pSU.chunk.js.map → CWRjbtTx.chunk.js.map} +1 -1
- package/dist/scripts/{DG8OqdrA.chunk.js → CX1XQ05a.chunk.js} +2 -2
- package/dist/scripts/{DG8OqdrA.chunk.js.map → CX1XQ05a.chunk.js.map} +1 -1
- package/dist/scripts/{CMmTBeDC.chunk.js → CYrSeREi.chunk.js} +2 -2
- package/dist/scripts/{CMmTBeDC.chunk.js.map → CYrSeREi.chunk.js.map} +1 -1
- package/dist/scripts/{DoLhwmY1.chunk.js → C_AYa87x.chunk.js} +2 -2
- package/dist/scripts/{DoLhwmY1.chunk.js.map → C_AYa87x.chunk.js.map} +1 -1
- package/dist/scripts/{CRSKZaYO.chunk.js → CbOOCRVJ.chunk.js} +2 -2
- package/dist/scripts/{CRSKZaYO.chunk.js.map → CbOOCRVJ.chunk.js.map} +1 -1
- package/dist/scripts/{BEeaHjc5.chunk.js → CinRjwth.chunk.js} +2 -2
- package/dist/scripts/{BEeaHjc5.chunk.js.map → CinRjwth.chunk.js.map} +1 -1
- package/dist/scripts/{DKtnO34i.chunk.js → CjXJ8oFf.chunk.js} +2 -2
- package/dist/scripts/{DKtnO34i.chunk.js.map → CjXJ8oFf.chunk.js.map} +1 -1
- package/dist/scripts/{FOnFfADs.chunk.js → CkEsSdbO.chunk.js} +2 -2
- package/dist/scripts/{FOnFfADs.chunk.js.map → CkEsSdbO.chunk.js.map} +1 -1
- package/dist/scripts/{DezSGgSn.chunk.js → CmWKgt7c.chunk.js} +2 -2
- package/dist/scripts/{DezSGgSn.chunk.js.map → CmWKgt7c.chunk.js.map} +1 -1
- package/dist/scripts/{9RG6qXf7.chunk.js → Co6EjRu3.chunk.js} +2 -2
- package/dist/scripts/{9RG6qXf7.chunk.js.map → Co6EjRu3.chunk.js.map} +1 -1
- package/dist/scripts/{Cxb87QRr.chunk.js → Cqky1Knl.chunk.js} +2 -2
- package/dist/scripts/{Cxb87QRr.chunk.js.map → Cqky1Knl.chunk.js.map} +1 -1
- package/dist/scripts/{CiL_Y_Kq.chunk.js → CsaYiq-6.chunk.js} +2 -2
- package/dist/scripts/{CiL_Y_Kq.chunk.js.map → CsaYiq-6.chunk.js.map} +1 -1
- package/dist/scripts/{D1wpoB6N.chunk.js → Ct-hl94f.chunk.js} +2 -2
- package/dist/scripts/{D1wpoB6N.chunk.js.map → Ct-hl94f.chunk.js.map} +1 -1
- package/dist/scripts/{CNmFhmYi.chunk.js → CwuTuPLO.chunk.js} +2 -2
- package/dist/scripts/{CNmFhmYi.chunk.js.map → CwuTuPLO.chunk.js.map} +1 -1
- package/dist/scripts/{4YU2F9Ab.chunk.js → Cy191NLr.chunk.js} +2 -2
- package/dist/scripts/{4YU2F9Ab.chunk.js.map → Cy191NLr.chunk.js.map} +1 -1
- package/dist/scripts/{BC-aVjTu.chunk.js → CzBvFLUu.chunk.js} +2 -2
- package/dist/scripts/{BC-aVjTu.chunk.js.map → CzBvFLUu.chunk.js.map} +1 -1
- package/dist/scripts/{BlWsG4m9.chunk.js → DCGOcoWo.chunk.js} +2 -2
- package/dist/scripts/{BlWsG4m9.chunk.js.map → DCGOcoWo.chunk.js.map} +1 -1
- package/dist/scripts/{XC9NMaEb.chunk.js → DEfSuFug.chunk.js} +2 -2
- package/dist/scripts/{XC9NMaEb.chunk.js.map → DEfSuFug.chunk.js.map} +1 -1
- package/dist/scripts/{BxoPr3JO.chunk.js → DFNZXjHy.chunk.js} +2 -2
- package/dist/scripts/{BxoPr3JO.chunk.js.map → DFNZXjHy.chunk.js.map} +1 -1
- package/dist/scripts/{DTW9CTZH.chunk.js → DGDSZYW9.chunk.js} +2 -2
- package/dist/scripts/{DTW9CTZH.chunk.js.map → DGDSZYW9.chunk.js.map} +1 -1
- package/dist/scripts/{dJloPnuT.chunk.js → DLxCyfTf.chunk.js} +2 -2
- package/dist/scripts/{dJloPnuT.chunk.js.map → DLxCyfTf.chunk.js.map} +1 -1
- package/dist/scripts/{D9JPa9g9.chunk.js → DQ7Osv3q.chunk.js} +2 -2
- package/dist/scripts/{D9JPa9g9.chunk.js.map → DQ7Osv3q.chunk.js.map} +1 -1
- package/dist/scripts/{Cn4Y9X8L.chunk.js → DRDYq9ZL.chunk.js} +2 -2
- package/dist/scripts/{Cn4Y9X8L.chunk.js.map → DRDYq9ZL.chunk.js.map} +1 -1
- package/dist/scripts/{DANRLaDN.chunk.js → DSQI-Jdp.chunk.js} +2 -2
- package/dist/scripts/{DANRLaDN.chunk.js.map → DSQI-Jdp.chunk.js.map} +1 -1
- package/dist/scripts/{BrF8fMhy.chunk.js → DSwVduDL.chunk.js} +2 -2
- package/dist/scripts/{BrF8fMhy.chunk.js.map → DSwVduDL.chunk.js.map} +1 -1
- package/dist/scripts/{CuozW8XL.chunk.js → DUmKCSoR.chunk.js} +2 -2
- package/dist/scripts/{CuozW8XL.chunk.js.map → DUmKCSoR.chunk.js.map} +1 -1
- package/dist/scripts/{BzzGJ48e.chunk.js → DVisFoDC.chunk.js} +2 -2
- package/dist/scripts/{BzzGJ48e.chunk.js.map → DVisFoDC.chunk.js.map} +1 -1
- package/dist/scripts/{U4c6LMaS.chunk.js → DWtr2GDr.chunk.js} +2 -2
- package/dist/scripts/{U4c6LMaS.chunk.js.map → DWtr2GDr.chunk.js.map} +1 -1
- package/dist/scripts/{C7UO-kx9.chunk.js → DXeWv8xM.chunk.js} +2 -2
- package/dist/scripts/{C7UO-kx9.chunk.js.map → DXeWv8xM.chunk.js.map} +1 -1
- package/dist/scripts/{D3qtixq_.chunk.js → DZZlWrzc.chunk.js} +2 -2
- package/dist/scripts/{D3qtixq_.chunk.js.map → DZZlWrzc.chunk.js.map} +1 -1
- package/dist/scripts/D_yZCyl0.chunk.js +2 -0
- package/dist/scripts/{BIGJ5IYE.chunk.js.map → D_yZCyl0.chunk.js.map} +1 -1
- package/dist/scripts/{IzSN6j3Y.chunk.js → Da9-cwkH.chunk.js} +2 -2
- package/dist/scripts/{IzSN6j3Y.chunk.js.map → Da9-cwkH.chunk.js.map} +1 -1
- package/dist/scripts/{B0F3kF6Q.chunk.js → DdJUaS75.chunk.js} +2 -2
- package/dist/scripts/{B0F3kF6Q.chunk.js.map → DdJUaS75.chunk.js.map} +1 -1
- package/dist/scripts/{Oi2yjNy9.chunk.js → DhNUjn7p.chunk.js} +2 -2
- package/dist/scripts/{Oi2yjNy9.chunk.js.map → DhNUjn7p.chunk.js.map} +1 -1
- package/dist/scripts/{BVMdpuAT.chunk.js → Dhpe3VD3.chunk.js} +2 -2
- package/dist/scripts/{BVMdpuAT.chunk.js.map → Dhpe3VD3.chunk.js.map} +1 -1
- package/dist/scripts/DiJ1txP6.chunk.js +2 -0
- package/dist/scripts/{CBLTHRFG.chunk.js.map → DiJ1txP6.chunk.js.map} +1 -1
- package/dist/scripts/{btwI8tA_.chunk.js → DjeFO5jj.chunk.js} +2 -2
- package/dist/scripts/{btwI8tA_.chunk.js.map → DjeFO5jj.chunk.js.map} +1 -1
- package/dist/scripts/{C8c21Rpk.chunk.js → Dn7S7HZe.chunk.js} +2 -2
- package/dist/scripts/{C8c21Rpk.chunk.js.map → Dn7S7HZe.chunk.js.map} +1 -1
- package/dist/scripts/{DXSQFSHx.chunk.js → Duy0OOKL.chunk.js} +2 -2
- package/dist/scripts/{DXSQFSHx.chunk.js.map → Duy0OOKL.chunk.js.map} +1 -1
- package/dist/scripts/{C19RrTcO.chunk.js → DxLg_mEO.chunk.js} +2 -2
- package/dist/scripts/{C19RrTcO.chunk.js.map → DxLg_mEO.chunk.js.map} +1 -1
- package/dist/scripts/{Cv6y2W5M.chunk.js → HYIMjXwZ.chunk.js} +2 -2
- package/dist/scripts/{Cv6y2W5M.chunk.js.map → HYIMjXwZ.chunk.js.map} +1 -1
- package/dist/scripts/{BONhJUfc.chunk.js → J651bFfk.chunk.js} +2 -2
- package/dist/scripts/{BONhJUfc.chunk.js.map → J651bFfk.chunk.js.map} +1 -1
- package/dist/scripts/{iiCBGcgS.chunk.js → JZmjeIJo.chunk.js} +2 -2
- package/dist/scripts/{iiCBGcgS.chunk.js.map → JZmjeIJo.chunk.js.map} +1 -1
- package/dist/scripts/{rw2b3i80.chunk.js → SI_6LGjL.chunk.js} +2 -2
- package/dist/scripts/{rw2b3i80.chunk.js.map → SI_6LGjL.chunk.js.map} +1 -1
- package/dist/scripts/{g_QSPxwb.chunk.js → Wfuxh2YT.chunk.js} +2 -2
- package/dist/scripts/Wfuxh2YT.chunk.js.map +1 -0
- package/dist/scripts/{BjcCXWci.chunk.js → Y2CHWdPG.chunk.js} +2 -2
- package/dist/scripts/{BjcCXWci.chunk.js.map → Y2CHWdPG.chunk.js.map} +1 -1
- package/dist/scripts/{Dwwr0RRW.chunk.js → Y5a0i_3c.chunk.js} +2 -2
- package/dist/scripts/{Dwwr0RRW.chunk.js.map → Y5a0i_3c.chunk.js.map} +1 -1
- package/dist/scripts/{app-BFo6Ckt-.js → app-cabh1nNK.js} +3 -3
- package/dist/scripts/{app-BFo6Ckt-.js.map → app-cabh1nNK.js.map} +1 -1
- package/dist/scripts/{HOV_giuX.chunk.js → b-AUm3ni.chunk.js} +2 -2
- package/dist/scripts/{HOV_giuX.chunk.js.map → b-AUm3ni.chunk.js.map} +1 -1
- package/dist/scripts/{CsWMEfq4.chunk.js → fqbX9HRm.chunk.js} +2 -2
- package/dist/scripts/{CsWMEfq4.chunk.js.map → fqbX9HRm.chunk.js.map} +1 -1
- package/dist/scripts/{yIQP1n6b.chunk.js → oVMIGZTl.chunk.js} +2 -2
- package/dist/scripts/{yIQP1n6b.chunk.js.map → oVMIGZTl.chunk.js.map} +1 -1
- package/dist/scripts/{C739fXtq.chunk.js → tbYGeGLS.chunk.js} +2 -2
- package/dist/scripts/{C739fXtq.chunk.js.map → tbYGeGLS.chunk.js.map} +1 -1
- package/dist/scripts/{BhlFvZIG.chunk.js → uGV8Ulpl.chunk.js} +2 -2
- package/dist/scripts/{BhlFvZIG.chunk.js.map → uGV8Ulpl.chunk.js.map} +1 -1
- package/dist/scripts/{BGRJxAg9.chunk.js → uyrSls2s.chunk.js} +2 -2
- package/dist/scripts/{BGRJxAg9.chunk.js.map → uyrSls2s.chunk.js.map} +1 -1
- package/dist/scripts/{CEJ3i3nk.chunk.js → vJWLdqFY.chunk.js} +2 -2
- package/dist/scripts/{CEJ3i3nk.chunk.js.map → vJWLdqFY.chunk.js.map} +1 -1
- package/dist/scripts/{HnFOWLZi.chunk.js → wlWC_CCa.chunk.js} +2 -2
- package/dist/scripts/{HnFOWLZi.chunk.js.map → wlWC_CCa.chunk.js.map} +1 -1
- package/dist/scripts/wmclIpxx.chunk.js +2 -0
- package/dist/scripts/{BO-rqEYq.chunk.js.map → wmclIpxx.chunk.js.map} +1 -1
- package/dist/scripts/{QfbqPj_y.chunk.js → zBOmHm2e.chunk.js} +2 -2
- package/dist/scripts/{QfbqPj_y.chunk.js.map → zBOmHm2e.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/BIGJ5IYE.chunk.js +0 -2
- package/dist/scripts/BO-rqEYq.chunk.js +0 -2
- package/dist/scripts/ByDeimhV.chunk.js +0 -2
- package/dist/scripts/BznVrNrf.chunk.js +0 -2
- package/dist/scripts/CBLTHRFG.chunk.js +0 -2
- package/dist/scripts/DgQ4vdbx.chunk.js +0 -2
- package/dist/scripts/g_QSPxwb.chunk.js.map +0 -1
- package/dist/scripts/i9Jc9pSU.chunk.js +0 -2
- package/vite.config.ts +0 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a2 as S,a3 as n,R as i,ab as w,ae as k,ad as E,aI as L,af as T,L as C,j as e,P as R,am as I,B as p,x as m,A as F,aD as U}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a2 as S,a3 as n,R as i,ab as w,ae as k,ad as E,aI as L,af as T,L as C,j as e,P as R,am as I,B as p,x as m,A as F,aD as U}from"./app-cabh1nNK.js";import{S as q}from"./C6x-ZqLl.chunk.js";import{V as B}from"./HYIMjXwZ.chunk.js";import{u as H}from"./DXeWv8xM.chunk.js";import{E as u}from"./BoCG3rE6.chunk.js";import{u as D}from"./DEfSuFug.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./B3e4NkXy.chunk.js";const c="exchange.add",o=C.encloseNamespace(c);function X(s){var l;const x=H(),f=S(),g=n(U.config()),h=n(u.exchange()),a=n(B.video(s.id)),[r,j]=i.useState(!1),[A,P]=i.useState(!1),[V,b]=i.useState(null),{previewContext:t,clearPreviewContext:v}=D(s.id,!1);i.useEffect(()=>{!a.data||A||y()},[(l=a.data)==null?void 0:l.id]);async function y(){P(!0);try{const N=await f(u.addVideo(h.data.id,a.data.id));j(!0),b(N.id),w.logUserAction({id:a.data.id,name:a.data.name},{actionType:T.Submit,descriptor:L.AddToWorkspace,location:E.Popup,entity:k.Video})}catch{x.error(o("error")),s.closePopup()}}function d(){s.closePopup(),t!=null&&t.appLink&&(q.preventScrollTop(),F.trigger(t.appLink),v())}return e.jsx(R,{title:o("title"),closePopup:d,showLoadingSpinner:!r,children:r&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-auto w-75 mt-1 mb-2",children:e.jsx("img",{src:I.General.CONFETTI,className:"img-fluid",draggable:!1})}),e.jsx("div",{className:"text-center pb-3",children:e.jsx("h4",{className:"mb-2",children:e.jsx(p,{namespace:c,phrase:"added"})})}),e.jsxs(m,{children:[e.jsx(m.Cancel,{text:o("close"),onClick:d,variant:"link"}),e.jsx("a",{href:`${g.data.liteUrl}/videos/${V}`,className:"btn btn-dark",children:e.jsx("span",{className:"align-text-bottom me-1",children:e.jsx(p,{namespace:c,phrase:"open"})})})]})]})})}export{X as ExchangeAddView};
|
|
2
|
+
//# sourceMappingURL=fqbX9HRm.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"fqbX9HRm.chunk.js","sources":["../../src/apps/exchange/views/exchange-add/ExchangeAddView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor } from 'libs/analytics/interfaces';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { Config, Library, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\nconst namespace = 'exchange.add';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeAddViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function ExchangeAddView(props: ExchangeAddViewProps): JSX.Element {\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n\n const [ added, setAdded ] = React.useState<boolean>(false);\n const [ adding, setAdding ] = React.useState<boolean>(false);\n const [ newVideoId, setNewVideoId ] = React.useState<string>(null);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.id, false);\n\n React.useEffect(() => {\n if (!video.data || adding)\n return;\n\n addVideo();\n }, [video.data?.id]);\n\n async function addVideo() {\n setAdding(true);\n\n try {\n const newVideo = await fetchAsync<Video>(ExchangeRequests.addVideo(\n exchange.data.id,\n video.data.id\n ));\n\n setAdded(true);\n setNewVideoId(newVideo.id);\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: LocationContext.Popup,\n entity: EntityType.Video\n }\n );\n } catch {\n alerts.error(getPhrase('error'));\n props.closePopup();\n }\n }\n\n /**\n * Because the add view can be navigated to from the ExchangePreviewView\n * which is an addressable popup, we need to navigate back to the \n * original route when this popup is closed - Sha\n */\n function closePopup(): void {\n props.closePopup();\n\n if (!previewContext?.appLink)\n return;\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext.appLink);\n clearPreviewContext();\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={!added}\n >\n {added &&\n <>\n <div className='mx-auto w-75 mt-1 mb-2'>\n <img src={ImageUrls.General.CONFETTI} className='img-fluid' draggable={false} />\n </div>\n\n <div className='text-center pb-3'>\n <h4 className='mb-2'>\n <Text namespace={namespace} phrase={'added'} />\n </h4>\n </div>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('close')}\n onClick={closePopup}\n variant='link'\n />\n <a href={`${config.data.liteUrl}/videos/${newVideoId}`} className={'btn btn-dark'}>\n <span className='align-text-bottom me-1'>\n <Text namespace={namespace} phrase={'open'} />\n </span>\n </a>\n </PopupButtons>\n </>\n }\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeAddView","props","alerts","useAlerts","fetchAsync","Flight.useGetFetchAsync","config","Flight.useBasicFetch","ConfigRequests","exchange","ExchangeRequests","video","VideoRequests","added","setAdded","React","adding","setAdding","newVideoId","setNewVideoId","previewContext","clearPreviewContext","usePreviewContext","addVideo","_a","newVideo","AnalyticsHelper","UserAction","VideoActionDescriptor","LocationContext","EntityType","closePopup","ScrollHelper","Core.AppLinkHelper","jsx","Popup","jsxs","Fragment","ImageUrls","Text","PopupButtons"],"mappings":"obAuBA,MAAMA,EAAY,eACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAMrD,SAASG,EAAgBC,EAA0C,OACxE,MAAMC,EAASC,EAAA,EACTC,EAAaC,EAAO,EAEpBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAWF,EAA8BG,EAAiB,UAAU,EACpEC,EAAQJ,EAA4BK,EAAc,MAAMX,EAAM,EAAE,CAAC,EAEjE,CAAEY,EAAOC,CAAS,EAAIC,EAAM,SAAkB,EAAK,EACnD,CAAEC,EAAQC,CAAU,EAAIF,EAAM,SAAkB,EAAK,EACrD,CAAEG,EAAYC,CAAc,EAAIJ,EAAM,SAAiB,IAAI,EAE3D,CAAE,eAAAK,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBrB,EAAM,GAAI,EAAK,EAEjFc,EAAM,UAAU,IAAM,CAChB,CAACJ,EAAM,MAAQK,GAGnBO,EAAA,CACF,EAAG,EAACC,EAAAb,EAAM,OAAN,YAAAa,EAAY,EAAE,CAAC,EAEnB,eAAeD,GAAW,CACxBN,EAAU,EAAI,EAEd,GAAI,CACF,MAAMQ,EAAW,MAAMrB,EAAkBM,EAAiB,SACxDD,EAAS,KAAK,GACdE,EAAM,KAAK,EAAA,CACZ,EAEDG,EAAS,EAAI,EACbK,EAAcM,EAAS,EAAE,EAEzBC,EAAgB,cACd,CAAE,GAAIf,EAAM,KAAK,GAAI,KAAMA,EAAM,KAAK,IAAA,EACtC,CACE,WAAYgB,EAAW,OACvB,WAAYC,EAAsB,eAClC,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,KAAA,CACrB,CAEJ,MAAQ,CACN5B,EAAO,MAAMJ,EAAU,OAAO,CAAC,EAC/BG,EAAM,WAAA,CACR,CACF,CAOA,SAAS8B,GAAmB,CAC1B9B,EAAM,WAAA,EAEDmB,GAAA,MAAAA,EAAgB,UAGrBY,EAAa,iBAAA,EACbC,EAAmB,QAAQb,EAAe,OAAO,EACjDC,EAAA,EACF,CAEA,OACEa,EAAAA,IAACC,EAAA,CACC,MAAOrC,EAAU,OAAO,EACxB,WAAAiC,EACA,mBAAoB,CAAClB,EAEpB,YACCuB,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAH,EAAAA,IAAC,MAAA,CAAI,UAAU,yBACb,SAAAA,EAAAA,IAAC,MAAA,CAAI,IAAKI,EAAU,QAAQ,SAAU,UAAU,YAAY,UAAW,GAAO,EAChF,EAEAJ,MAAC,MAAA,CAAI,UAAU,mBACb,eAAC,KAAA,CAAG,UAAU,OACZ,SAAAA,EAAAA,IAACK,EAAA,CAAK,UAAA1C,EAAsB,OAAQ,OAAA,CAAS,EAC/C,EACF,SAEC2C,EAAA,CACC,SAAA,CAAAN,EAAAA,IAACM,EAAa,OAAb,CACC,KAAM1C,EAAU,OAAO,EACvB,QAASiC,EACT,QAAQ,MAAA,CAAA,EAEVG,EAAAA,IAAC,KAAE,KAAM,GAAG5B,EAAO,KAAK,OAAO,WAAWY,CAAU,GAAI,UAAW,eACjE,SAAAgB,EAAAA,IAAC,OAAA,CAAK,UAAU,yBACd,SAAAA,EAAAA,IAACK,GAAK,UAAA1C,EAAsB,OAAQ,MAAA,CAAQ,CAAA,CAC9C,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAIR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as v,a3 as p,j as o,P as y,aD as h,A as w,a as f,b as g}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{H as v,a3 as p,j as o,P as y,aD as h,A as w,a as f,b as g}from"./app-cabh1nNK.js";import{S as P}from"./C6x-ZqLl.chunk.js";import{V as x}from"./HYIMjXwZ.chunk.js";import{u as j}from"./CWRjbtTx.chunk.js";import{C as A,P as C,a as E}from"./Be3-ohNT.chunk.js";import{a as V}from"./BI6c50Jh.chunk.js";import{u as S}from"./DEfSuFug.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./Co6EjRu3.chunk.js";import"./SI_6LGjL.chunk.js";import"./Wfuxh2YT.chunk.js";import"./B2zOyhnx.chunk.js";import"./wlWC_CCa.chunk.js";import"./BDoSZnIa.chunk.js";import"./Duy0OOKL.chunk.js";import"./B3cy6PVV.chunk.js";import"./DhNUjn7p.chunk.js";import"./Kj832An8.chunk.js";import"./BSIHfhEC.chunk.js";import"./BtTTlrnZ.chunk.js";import"./J651bFfk.chunk.js";import"./tbYGeGLS.chunk.js";import"./DXeWv8xM.chunk.js";import"./uyrSls2s.chunk.js";import"./JZmjeIJo.chunk.js";import"./Ct-hl94f.chunk.js";import"./CFa8QduK.chunk.js";import"./C_AYa87x.chunk.js";import"./B668bf5B.chunk.js";import"./DdJUaS75.chunk.js";import"./Dhpe3VD3.chunk.js";import"./DxLg_mEO.chunk.js";import"./CinRjwth.chunk.js";import"./DWtr2GDr.chunk.js";import"./DZZlWrzc.chunk.js";var c=(e=>(e.Share="share",e.MasterObject="masterobject",e))(c||{});const b={createViewKey(e,t,i,a,s){const r={mediaId:e.toString(),mediaIdType:t};return i&&(r.shareContextId=i),{url:"/api/player/create-view-key",key:`view:key:${e}:${t}:${i}`,type:v.POST,data:r,cacheDuration:28800,success:a,error:s}}};function de(e){var l;const t=p(x.video(e.videoId)),i=p(h.config()),a=p(b.createViewKey(e.videoId,c.MasterObject)),s=V("preview");j(t.statusCode);const{previewContext:r,clearPreviewContext:d}=S(e.videoId,!0);function u(k){}function n(){e.closePopup(),P.preventScrollTop(),w.trigger((r==null?void 0:r.appLink)??{application:g.EXCHANGE,action:f.Exchange.INDEX}),d()}const m=t.data&&i.hasCompleted&&a.hasCompleted;return o.jsx(y,{title:(l=t.data)==null?void 0:l.name,hideTitle:!0,closePopup:n,showLoadingSpinner:!m,size:"lg",bodyClassName:"p-0 rounded-3 position-relative",children:m&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"overflow-hidden rounded-top-lg",children:o.jsx(A,{viewKey:a.data.viewKey,playerApi:new URL(i.data.playerApiUrl),autoplay:!0,hotkeyElQuerySelector:"body",onReady:u,allowFullscreen:!1})}),o.jsx(C,{video:t.data,title:t.data.name,description:t.data.description,videoActions:s.getVideoActions(t.data)}),o.jsx(E,{closePopup:n})]})})}export{de as ExchangePreviewView};
|
|
2
|
+
//# sourceMappingURL=oVMIGZTl.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"oVMIGZTl.chunk.js","sources":["../../../../libs/shared/src/enums/MediaIdType.ts","../../../../libs/shared/src/flight-requests/PlayerRequests.ts","../../src/apps/exchange/views/exchange-preview/ExchangePreviewView.tsx"],"sourcesContent":["export enum MediaIdType {\n Share = 'share',\n MasterObject = 'masterobject'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PlayerViewKey } from 'libs/shared/interfaces';\n\nexport const PlayerRequests = {\n createViewKey(\n mediaId: string,\n mediaIdType: MediaIdType,\n shareContextId?: string,\n success?: (viewKey: PlayerViewKey) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n const data: HashObject = {\n mediaId: mediaId.toString(),\n mediaIdType\n };\n\n if (shareContextId)\n data.shareContextId = shareContextId;\n\n return {\n url: `/api/player/create-view-key`,\n key: `view:key:${mediaId}:${mediaIdType}:${shareContextId}`,\n type: HttpVerbs.POST,\n data,\n /**\n * A view key is valid for 8 hours, at that point we need refetch the view key\n */\n cacheDuration: 28800,\n success,\n error\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { Config, PlayerViewKey, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ClickViewPlayer } from 'projects/player/react/Player';\n\nimport { PlayerOverlayButtons } from 'shared/components/player-overlay-buttons/PlayerOverlayButtons';\nimport { PreviewVideoDetails } from 'shared/components/preview-video-details/PreviewVideoDetails';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\ninterface ExchangePreviewViewProps extends PopupViewProps {\n videoId: string;\n currentTime: number;\n}\n\nexport function ExchangePreviewView(props: ExchangePreviewViewProps): JSX.Element {\n // const analyticsTracker = React.useRef<PlayerAnalyticsTracker>(null);\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n PlayerRequests.createViewKey(props.videoId, MediaIdType.MasterObject)\n );\n\n const videoActions = useGetExchangeActions('preview');\n useHandleDialogError(video.statusCode);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, true);\n\n // TODO: Solve analytics collection\n function onReady(player: PlayerReference): void {\n player;\n // setupAnalytics(player);\n }\n\n // function setupAnalytics(player: PlayerReference): void {\n // analyticsTracker.current = new PlayerAnalyticsTracker({\n // player,\n // video: props.video,\n // analyticsLocation: props.embed ?\n // LocationContext.EmbeddedPlayer :\n // LocationContext.PlayPage,\n // shareId: props.shareLink?.id\n // });\n // }\n\n function onClose(): void {\n props.closePopup();\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext?.appLink ?? {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n });\n clearPreviewContext();\n }\n\n const hasLoaded = (\n video.data &&\n config.hasCompleted &&\n viewKey.hasCompleted\n );\n\n return (\n <Popup\n title={video.data?.name}\n hideTitle\n closePopup={onClose}\n showLoadingSpinner={!hasLoaded}\n size='lg'\n bodyClassName='p-0 rounded-3 position-relative'\n >\n {hasLoaded &&\n <>\n <div className='overflow-hidden rounded-top-lg'>\n <ClickViewPlayer\n viewKey={viewKey.data.viewKey}\n playerApi={new URL(config.data.playerApiUrl)}\n autoplay\n hotkeyElQuerySelector='body'\n onReady={onReady}\n allowFullscreen={false}\n />\n </div>\n <PreviewVideoDetails\n video={video.data}\n title={video.data.name}\n description={video.data.description}\n videoActions={videoActions.getVideoActions(video.data)}\n />\n <PlayerOverlayButtons closePopup={onClose} />\n </>\n }\n </Popup>\n );\n}"],"names":["MediaIdType","PlayerRequests","mediaId","mediaIdType","shareContextId","success","error","data","HttpVerbs","ExchangePreviewView","props","video","Flight.useBasicFetch","VideoRequests","config","ConfigRequests","viewKey","videoActions","useGetExchangeActions","useHandleDialogError","previewContext","clearPreviewContext","usePreviewContext","onReady","player","onClose","ScrollHelper","Core.AppLinkHelper","AppChannels","Actions","hasLoaded","jsx","Popup","_a","jsxs","Fragment","ClickViewPlayer","PreviewVideoDetails","PlayerOverlayButtons"],"mappings":"moCAAO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,aAAe,eAFLA,IAAAA,GAAA,CAAA,CAAA,ECQL,MAAMC,EAAiB,CAC5B,cACEC,EACAC,EACAC,EACAC,EACAC,EACgB,CAChB,MAAMC,EAAmB,CACvB,QAASL,EAAQ,SAAA,EACjB,YAAAC,CAAA,EAGF,OAAIC,IACFG,EAAK,eAAiBH,GAEjB,CACL,IAAK,8BACL,IAAK,YAAYF,CAAO,IAAIC,CAAW,IAAIC,CAAc,GACzD,KAAMI,EAAU,KAChB,KAAAD,EAIA,cAAe,MACf,QAAAF,EACA,MAAAC,CAAA,CAEJ,CACF,ECPO,SAASG,GAAoBC,EAA8C,OAEhF,MAAMC,EAAQC,EAA4BC,EAAc,MAAMH,EAAM,OAAO,CAAC,EACtEI,EAASF,EAA6BG,EAAe,QAAQ,EAC7DC,EAAUJ,EACdX,EAAe,cAAcS,EAAM,QAASV,EAAY,YAAY,CAAA,EAGhEiB,EAAeC,EAAsB,SAAS,EACpDC,EAAqBR,EAAM,UAAU,EAErC,KAAM,CAAE,eAAAS,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBZ,EAAM,QAAS,EAAI,EAGrF,SAASa,EAAQC,EAA+B,CAGhD,CAaA,SAASC,GAAgB,CACvBf,EAAM,WAAA,EAENgB,EAAa,iBAAA,EACbC,EAAmB,SAAQP,GAAA,YAAAA,EAAgB,UAAW,CACpD,YAAaQ,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC1B,EACDR,EAAA,CACF,CAEA,MAAMS,EACJnB,EAAM,MACNG,EAAO,cACPE,EAAQ,aAGV,OACEe,EAAAA,IAACC,EAAA,CACC,OAAOC,EAAAtB,EAAM,OAAN,YAAAsB,EAAY,KACnB,UAAS,GACT,WAAYR,EACZ,mBAAoB,CAACK,EACrB,KAAK,KACL,cAAc,kCAEb,YACCI,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAJ,EAAAA,IAAC,MAAA,CAAI,UAAU,iCACb,SAAAA,EAAAA,IAACK,EAAA,CACC,QAASpB,EAAQ,KAAK,QACtB,UAAW,IAAI,IAAIF,EAAO,KAAK,YAAY,EAC3C,SAAQ,GACR,sBAAsB,OACtB,QAAAS,EACA,gBAAiB,EAAA,CAAA,EAErB,EACAQ,EAAAA,IAACM,EAAA,CACC,MAAO1B,EAAM,KACb,MAAOA,EAAM,KAAK,KAClB,YAAaA,EAAM,KAAK,YACxB,aAAcM,EAAa,gBAAgBN,EAAM,IAAI,CAAA,CAAA,EAEvDoB,EAAAA,IAACO,EAAA,CAAqB,WAAYb,CAAA,CAAS,CAAA,CAAA,CAC7C,CAAA,CAAA,CAIR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{R as L,r as s,Z as M,F as d}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{R as L,r as s,Z as M,F as d}from"./app-cabh1nNK.js";const g=()=>{const e=L.useRef(!0);return L.useEffect(()=>()=>{e.current=!1},[]),e},R=275,y=5,T={className:"",delay:0,style:null},Y={screenX:0,screenY:0};function H(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.add(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=t.style[u]}))}function h(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.remove(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=null}))}function b(e,t){return Math.abs(e.screenX-t.screenX)>y||Math.abs(e.screenY-t.screenY)>y}function X(e=T){const t=g(),[n,u]=s.useState(e),[l,c]=s.useState(!1),r=s.useRef(null);s.useEffect(()=>{M.isEqual(e,n)||u(e)},[e]);const i=d.throttle(()=>{H(r,n),t.current&&c(!0)},n.delay,{leading:!1}),f=()=>{d.isFunction(i.cancel)&&i.cancel(),h(r,n),t.current&&c(!1)};return s.useLayoutEffect(()=>{const o=r.current;if(o)return o.addEventListener("mouseenter",i),o.addEventListener("mouseleave",f),()=>{o.removeEventListener("mouseenter",i),o.removeEventListener("mouseleave",f)}},[r.current,n]),[r,l]}function w(e){const[t,n]=s.useState(e),u=s.useRef({...Y}),l=s.useRef(!1),c=s.useRef(0),r=s.useRef(null),[i,f]=s.useState(!1);s.useEffect(()=>{M.isEqual(e,t)||n(e)},[e]);function o(){c.current&&(window.clearTimeout(c.current),c.current=0)}function O(a,v){c.current||(c.current=window.setTimeout(a,v))}function m(){l.current=!0}function S(a){if(!l.current)return;const v={...u.current};u.current.screenX=a.screenX,u.current.screenY=a.screenY,b(v,a)&&o(),O(()=>{H(r,t),f(!0)},t.delay||R)}function E(){o(),h(r,t),l.current=!1,f(!1)}return s.useLayoutEffect(()=>{if(!r.current)return;const a=d.throttle(S,25,{leading:!1});return r.current.addEventListener("mouseenter",m),r.current.addEventListener("mousemove",a),r.current.addEventListener("mouseleave",E),()=>{r.current&&(r.current.removeEventListener("mouseenter",m),r.current.removeEventListener("mousemove",a),r.current.removeEventListener("mouseleave",E))}},[r.current,t]),[r,i]}export{w as a,X as u};
|
|
2
|
+
//# sourceMappingURL=tbYGeGLS.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C739fXtq.chunk.js","sources":["../../../../libs/shared/src/hooks/UseIsComponentMounted.ts","../../../../libs/shared/src/hooks/UseHover.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsComponentMounted = () => {\n const isMounted = React.useRef(true);\n\n React.useEffect(() => {\n return () => { isMounted.current = false; };\n }, []);\n\n return isMounted;\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { useIsComponentMounted } from 'libs/shared/hooks/UseIsComponentMounted';\n\nconst DEFAULT_HOVER_DELAY = 275;\nconst MOUSE_MOVE_THRESHOLD = 5; // value is in pixels\n\ninterface HoverOptions {\n /**\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\n * after a delay (controlled by the `timeout` option below)\n */\n className?: string;\n\n /**\n * Style attribute to be applied to the target element on hover. Should only be used \n */\n style?: HashObject;\n\n /**\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\n * triggered or not. Defaults to 0.\n */\n delay?: number;\n}\n\nconst defaultOptions: HoverOptions = {\n className: '',\n delay: 0,\n style: null\n};\n\ninterface MousePosition {\n screenX: number;\n screenY: number;\n}\n\nconst defaultHoverState: MousePosition = {\n screenX: 0,\n screenY: 0\n};\n\nfunction setHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.add(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = options.style[styleName];\n });\n }\n}\n\nfunction unSetHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.remove(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = null;\n });\n }\n}\n\nfunction hasMouseMoved(prev: MousePosition, current: MousePosition): boolean {\n return Math.abs(prev.screenX - current.screenX) > MOUSE_MOVE_THRESHOLD ||\n Math.abs(prev.screenY - current.screenY) > MOUSE_MOVE_THRESHOLD;\n}\n\n/**\n * This hook detects hover events on an element.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the delay regardless of pointer movement within the container, if you want\n * it to trigger only after the pointer has stopped moving, consider the `useHoverIntent` hook.\n */\nexport function useHover<T extends HTMLElement>(\n options: HoverOptions = defaultOptions\n): [ React.MutableRefObject<T>, boolean ] {\n const isMounted = useIsComponentMounted();\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n const ref = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n const triggerHover = FunctionHelper.throttle(() => {\n setHoveringStyles(ref, cachedOptions);\n if (isMounted.current)\n setIsHovering(true);\n }, cachedOptions.delay, { leading: false });\n\n const handleMouseOut = () => {\n if (FunctionHelper.isFunction(triggerHover.cancel))\n triggerHover.cancel();\n\n unSetHoveringStyles(ref, cachedOptions);\n\n if (isMounted.current)\n setIsHovering(false);\n };\n\n React.useLayoutEffect(() => {\n const node = ref.current;\n\n if (node) {\n node.addEventListener('mouseenter', triggerHover);\n node.addEventListener('mouseleave', handleMouseOut);\n\n return () => {\n node.removeEventListener('mouseenter', triggerHover);\n node.removeEventListener('mouseleave', handleMouseOut);\n };\n }\n }, [ ref.current, cachedOptions ]);\n\n return [ ref, isHovering ];\n}\n\n\n/**\n * This hook detects hover events on an element with intent.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the pointer has stopped moving and the delay has elapsed, if you want it to trigger\n * regardless of pointer movement within the container, consider the `useHover` hook`.\n */\nexport function useHoverIntent<T extends HTMLElement>(options: HoverOptions): [ React.MutableRefObject<T>, boolean ] {\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n\n /**\n * Using refs for frequently updated state in order to not trigger react rendering\n */\n const mousePosition = React.useRef<MousePosition>({ ...defaultHoverState });\n const isInside = React.useRef<boolean>(false);\n const timeout = React.useRef<number>(0);\n\n const ref = React.useRef<T>(null);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n function localClearTimeout(): void {\n if (!timeout.current)\n return;\n\n window.clearTimeout(timeout.current);\n timeout.current = 0;\n }\n\n function localSetTimeout(fn: () => void, delay: number): void {\n if (timeout.current)\n return;\n\n timeout.current = window.setTimeout(fn, delay);\n }\n\n function onMouseEnter(): void {\n isInside.current = true;\n }\n\n function onMouseMove(event: MouseEvent): void {\n if (!isInside.current)\n return;\n\n const prev = { ...mousePosition.current };\n mousePosition.current.screenX = event.screenX;\n mousePosition.current.screenY = event.screenY;\n\n if (hasMouseMoved(prev, event))\n localClearTimeout();\n \n localSetTimeout(() => {\n setHoveringStyles(ref, cachedOptions);\n setIsHovering(true);\n }, cachedOptions.delay || DEFAULT_HOVER_DELAY);\n }\n\n function onMouseLeave(): void {\n localClearTimeout();\n unSetHoveringStyles(ref, cachedOptions);\n isInside.current = false;\n setIsHovering(false);\n }\n\n React.useLayoutEffect(() => {\n if (!ref.current)\n return;\n\n const throttledMouseMove = FunctionHelper.throttle(onMouseMove, 25, { leading: false });\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mousemove', throttledMouseMove);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n \n return () => {\n if (!ref.current)\n return;\n ref.current.removeEventListener('mouseenter', onMouseEnter);\n ref.current.removeEventListener('mousemove', throttledMouseMove);\n ref.current.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [ ref.current, cachedOptions ]);\n \n return [ ref, isHovering ];\n}"],"names":["useIsComponentMounted","isMounted","React","DEFAULT_HOVER_DELAY","MOUSE_MOVE_THRESHOLD","defaultOptions","defaultHoverState","setHoveringStyles","ref","options","_a","styleName","unSetHoveringStyles","hasMouseMoved","prev","current","useHover","cachedOptions","setCachedOptions","React.useState","isHovering","setIsHovering","React.useRef","React.useEffect","ObjectHelper","triggerHover","FunctionHelper","handleMouseOut","React.useLayoutEffect","node","useHoverIntent","mousePosition","isInside","timeout","localClearTimeout","localSetTimeout","fn","delay","onMouseEnter","onMouseMove","event","onMouseLeave","throttledMouseMove"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tbYGeGLS.chunk.js","sources":["../../../../libs/shared/src/hooks/UseIsComponentMounted.ts","../../../../libs/shared/src/hooks/UseHover.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsComponentMounted = () => {\n const isMounted = React.useRef(true);\n\n React.useEffect(() => {\n return () => { isMounted.current = false; };\n }, []);\n\n return isMounted;\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { useIsComponentMounted } from 'libs/shared/hooks/UseIsComponentMounted';\n\nconst DEFAULT_HOVER_DELAY = 275;\nconst MOUSE_MOVE_THRESHOLD = 5; // value is in pixels\n\ninterface HoverOptions {\n /**\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\n * after a delay (controlled by the `timeout` option below)\n */\n className?: string;\n\n /**\n * Style attribute to be applied to the target element on hover. Should only be used \n */\n style?: HashObject;\n\n /**\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\n * triggered or not. Defaults to 0.\n */\n delay?: number;\n}\n\nconst defaultOptions: HoverOptions = {\n className: '',\n delay: 0,\n style: null\n};\n\ninterface MousePosition {\n screenX: number;\n screenY: number;\n}\n\nconst defaultHoverState: MousePosition = {\n screenX: 0,\n screenY: 0\n};\n\nfunction setHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.add(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = options.style[styleName];\n });\n }\n}\n\nfunction unSetHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.remove(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = null;\n });\n }\n}\n\nfunction hasMouseMoved(prev: MousePosition, current: MousePosition): boolean {\n return Math.abs(prev.screenX - current.screenX) > MOUSE_MOVE_THRESHOLD ||\n Math.abs(prev.screenY - current.screenY) > MOUSE_MOVE_THRESHOLD;\n}\n\n/**\n * This hook detects hover events on an element.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the delay regardless of pointer movement within the container, if you want\n * it to trigger only after the pointer has stopped moving, consider the `useHoverIntent` hook.\n */\nexport function useHover<T extends HTMLElement>(\n options: HoverOptions = defaultOptions\n): [ React.MutableRefObject<T>, boolean ] {\n const isMounted = useIsComponentMounted();\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n const ref = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n const triggerHover = FunctionHelper.throttle(() => {\n setHoveringStyles(ref, cachedOptions);\n if (isMounted.current)\n setIsHovering(true);\n }, cachedOptions.delay, { leading: false });\n\n const handleMouseOut = () => {\n if (FunctionHelper.isFunction(triggerHover.cancel))\n triggerHover.cancel();\n\n unSetHoveringStyles(ref, cachedOptions);\n\n if (isMounted.current)\n setIsHovering(false);\n };\n\n React.useLayoutEffect(() => {\n const node = ref.current;\n\n if (node) {\n node.addEventListener('mouseenter', triggerHover);\n node.addEventListener('mouseleave', handleMouseOut);\n\n return () => {\n node.removeEventListener('mouseenter', triggerHover);\n node.removeEventListener('mouseleave', handleMouseOut);\n };\n }\n }, [ ref.current, cachedOptions ]);\n\n return [ ref, isHovering ];\n}\n\n\n/**\n * This hook detects hover events on an element with intent.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the pointer has stopped moving and the delay has elapsed, if you want it to trigger\n * regardless of pointer movement within the container, consider the `useHover` hook`.\n */\nexport function useHoverIntent<T extends HTMLElement>(options: HoverOptions): [ React.MutableRefObject<T>, boolean ] {\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n\n /**\n * Using refs for frequently updated state in order to not trigger react rendering\n */\n const mousePosition = React.useRef<MousePosition>({ ...defaultHoverState });\n const isInside = React.useRef<boolean>(false);\n const timeout = React.useRef<number>(0);\n\n const ref = React.useRef<T>(null);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n function localClearTimeout(): void {\n if (!timeout.current)\n return;\n\n window.clearTimeout(timeout.current);\n timeout.current = 0;\n }\n\n function localSetTimeout(fn: () => void, delay: number): void {\n if (timeout.current)\n return;\n\n timeout.current = window.setTimeout(fn, delay);\n }\n\n function onMouseEnter(): void {\n isInside.current = true;\n }\n\n function onMouseMove(event: MouseEvent): void {\n if (!isInside.current)\n return;\n\n const prev = { ...mousePosition.current };\n mousePosition.current.screenX = event.screenX;\n mousePosition.current.screenY = event.screenY;\n\n if (hasMouseMoved(prev, event))\n localClearTimeout();\n \n localSetTimeout(() => {\n setHoveringStyles(ref, cachedOptions);\n setIsHovering(true);\n }, cachedOptions.delay || DEFAULT_HOVER_DELAY);\n }\n\n function onMouseLeave(): void {\n localClearTimeout();\n unSetHoveringStyles(ref, cachedOptions);\n isInside.current = false;\n setIsHovering(false);\n }\n\n React.useLayoutEffect(() => {\n if (!ref.current)\n return;\n\n const throttledMouseMove = FunctionHelper.throttle(onMouseMove, 25, { leading: false });\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mousemove', throttledMouseMove);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n \n return () => {\n if (!ref.current)\n return;\n ref.current.removeEventListener('mouseenter', onMouseEnter);\n ref.current.removeEventListener('mousemove', throttledMouseMove);\n ref.current.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [ ref.current, cachedOptions ]);\n \n return [ ref, isHovering ];\n}"],"names":["useIsComponentMounted","isMounted","React","DEFAULT_HOVER_DELAY","MOUSE_MOVE_THRESHOLD","defaultOptions","defaultHoverState","setHoveringStyles","ref","options","_a","styleName","unSetHoveringStyles","hasMouseMoved","prev","current","useHover","cachedOptions","setCachedOptions","React.useState","isHovering","setIsHovering","React.useRef","React.useEffect","ObjectHelper","triggerHover","FunctionHelper","handleMouseOut","React.useLayoutEffect","node","useHoverIntent","mousePosition","isInside","timeout","localClearTimeout","localSetTimeout","fn","delay","onMouseEnter","onMouseMove","event","onMouseLeave","throttledMouseMove"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a3 as g,u as d,_ as u,b5 as l}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a3 as g,u as d,_ as u,b5 as l}from"./app-cabh1nNK.js";import{u as c}from"./D_yZCyl0.chunk.js";import{T as f}from"./DGDSZYW9.chunk.js";function w(){var t;const e=g(f.regions());c(e);const{tvRegion:n,isLoadingSettings:s}=d(null),[r,a]=u("tv:region",{region:null},{storage:l.LocalStorage});function i(o){a({region:o.code})}return!((t=e.data)!=null&&t.length)||s?{isLoading:!0,region:null,setRegion:i}:r.region&&e.data.find(o=>o.code.toLowerCase()===r.region.toLowerCase())?{isLoading:!1,region:r.region.toUpperCase(),setRegion:i}:n&&e.data.find(o=>o.code.toLowerCase()===n.toLowerCase())?{isLoading:!1,region:n.toUpperCase(),setRegion:i}:{isLoading:!1,region:e.data[0].code,setRegion:i}}export{w as u};
|
|
2
|
+
//# sourceMappingURL=uGV8Ulpl.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"uGV8Ulpl.chunk.js","sources":["../../src/apps/tv/hooks/useSelectedRegion.ts"],"sourcesContent":["import { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useSelectedRegion() {\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n\n useHandleObjectError(regions);\n\n const { tvRegion: customerRegion, isLoadingSettings } = useSettings(null);\n\n const [ regionViewModel, setRegionViewModel ] = useViewModel('tv:region', { region: null }, { storage: StorageType.LocalStorage });\n\n function setRegion(newRegion: TvRegion): void {\n setRegionViewModel({ region: newRegion.code });\n }\n\n if (!regions.data?.length || isLoadingSettings)\n return { isLoading: true, region: null, setRegion };\n\n if (regionViewModel.region && regions.data.find(r => r.code.toLowerCase() === regionViewModel.region.toLowerCase()))\n return { isLoading: false, region: regionViewModel.region.toUpperCase(), setRegion };\n \n if (customerRegion && regions.data.find(r => r.code.toLowerCase() === customerRegion.toLowerCase()))\n return { isLoading: false, region: customerRegion.toUpperCase(), setRegion };\n\n return { isLoading: false, region: regions.data[0].code, setRegion };\n}"],"names":["useSelectedRegion","regions","Flight.useBasicFetch","TvRequests","useHandleObjectError","customerRegion","isLoadingSettings","useSettings","regionViewModel","setRegionViewModel","useViewModel","StorageType","setRegion","newRegion","_a","r"],"mappings":"6IAUO,SAASA,GAAoB,OAClC,MAAMC,EAAUC,EAAiCC,EAAW,SAAS,EAErEC,EAAqBH,CAAO,EAE5B,KAAM,CAAE,SAAUI,EAAgB,kBAAAC,CAAA,EAAsBC,EAAY,IAAI,EAElE,CAAEC,EAAiBC,CAAmB,EAAIC,EAAa,YAAa,CAAE,OAAQ,IAAA,EAAQ,CAAE,QAASC,EAAY,aAAc,EAEjI,SAASC,EAAUC,EAA2B,CAC5CJ,EAAmB,CAAE,OAAQI,EAAU,IAAA,CAAM,CAC/C,CAEA,MAAI,GAACC,EAAAb,EAAQ,OAAR,MAAAa,EAAc,SAAUR,EACpB,CAAE,UAAW,GAAM,OAAQ,KAAM,UAAAM,CAAA,EAEtCJ,EAAgB,QAAUP,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBP,EAAgB,OAAO,aAAa,EACzG,CAAE,UAAW,GAAO,OAAQA,EAAgB,OAAO,YAAA,EAAe,UAAAI,CAAA,EAEvEP,GAAkBJ,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBV,EAAe,YAAA,CAAa,EACzF,CAAE,UAAW,GAAO,OAAQA,EAAe,YAAA,EAAe,UAAAO,CAAA,EAE5D,CAAE,UAAW,GAAO,OAAQX,EAAQ,KAAK,CAAC,EAAE,KAAM,UAAAW,CAAA,CAC3D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ab as w,ac as m,ae as p,af as c,U as i}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{ab as w,ac as m,ae as p,af as c,U as i}from"./app-cabh1nNK.js";let l=null;const s={getVideoDownloadUrl(o,e){return i.safeUrlConcat(i.makeHttps(o),`/download?token=${e}`)},downloadResource(o,e,t,n){var d;let a=l;l||(a=l=document.createElement("iframe"),document.body.appendChild(a),a.style.display="none"),a.src=o.url,n||w.logUserAction({id:o==null?void 0:o.id,name:o==null?void 0:o.name,resourceType:(d=o==null?void 0:o.metadata)==null?void 0:d.resourceType,...e},{actionType:c.Download,entity:p.Resource,workflowPhase:m.Complete,...t})},async downloadBlob(o,e){const t=await fetch(o);if(!t.ok)throw new Error("Error downloading file");const n=URL.createObjectURL(await t.blob()),a=document.createElement("a");a.href=n,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.setTimeout(()=>URL.revokeObjectURL(n),100)}};export{s as D};
|
|
2
|
+
//# sourceMappingURL=uyrSls2s.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"uyrSls2s.chunk.js","sources":["../../../../libs/shared/src/utils/DownloadHelper.ts"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Resource } from '../interfaces';\n\nlet downloadRef: HTMLIFrameElement = null;\n\nexport const DownloadHelper = {\n getVideoDownloadUrl(downloadProxyUrl: string, token: string): string {\n return UrlHelper.safeUrlConcat(UrlHelper.makeHttps(downloadProxyUrl), `/download?token=${token}`);\n },\n\n downloadResource(\n resource: Resource,\n analyticsData: HashObject,\n analyticsOptions: AnalyticsOptions,\n skipEventLogging?: boolean\n ): void {\n let iframe = downloadRef;\n\n if (!downloadRef) {\n iframe = downloadRef = document.createElement('iframe');\n document.body.appendChild(iframe);\n\n iframe.style.display = 'none';\n }\n\n iframe.src = resource.url;\n\n if (!skipEventLogging)\n AnalyticsHelper.logUserAction({\n id: resource?.id,\n name: resource?.name,\n resourceType: resource?.metadata?.resourceType,\n ...analyticsData\n }, {\n actionType: UserAction.Download,\n entity: EntityType.Resource,\n workflowPhase: WorkflowPhase.Complete,\n ...analyticsOptions\n });\n },\n\n async downloadBlob(fileUrl: string, fileName: string): Promise<void> {\n const response = await fetch(fileUrl);\n\n if (!response.ok) {\n throw new Error('Error downloading file');\n }\n\n // Mime type is inferred from the download\n const downloadUrl = URL.createObjectURL(await response.blob());\n\n const a = document.createElement('a');\n a.href = downloadUrl;\n a.download = fileName;\n\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Delay revoking the URL to ensure the download is initiated\n window.setTimeout(() => URL.revokeObjectURL(downloadUrl), 100);\n }\n};"],"names":["downloadRef","DownloadHelper","downloadProxyUrl","token","UrlHelper","resource","analyticsData","analyticsOptions","skipEventLogging","iframe","AnalyticsHelper","_a","UserAction","EntityType","WorkflowPhase","fileUrl","fileName","response","downloadUrl"],"mappings":"sEAQA,IAAIA,EAAiC,KAE9B,MAAMC,EAAiB,CAC5B,oBAAoBC,EAA0BC,EAAuB,CACnE,OAAOC,EAAU,cAAcA,EAAU,UAAUF,CAAgB,EAAG,mBAAmBC,CAAK,EAAE,CAClG,EAEA,iBACEE,EACAC,EACAC,EACAC,EACM,OACN,IAAIC,EAAST,EAERA,IACHS,EAAST,EAAc,SAAS,cAAc,QAAQ,EACtD,SAAS,KAAK,YAAYS,CAAM,EAEhCA,EAAO,MAAM,QAAU,QAGzBA,EAAO,IAAMJ,EAAS,IAEjBG,GACHE,EAAgB,cAAc,CAC5B,GAAIL,GAAA,YAAAA,EAAU,GACd,KAAMA,GAAA,YAAAA,EAAU,KAChB,cAAcM,EAAAN,GAAA,YAAAA,EAAU,WAAV,YAAAM,EAAoB,aAClC,GAAGL,CAAA,EACF,CACD,WAAYM,EAAW,SACvB,OAAQC,EAAW,SACnB,cAAeC,EAAc,SAC7B,GAAGP,CAAA,CACJ,CACL,EAEA,MAAM,aAAaQ,EAAiBC,EAAiC,CACnE,MAAMC,EAAW,MAAM,MAAMF,CAAO,EAEpC,GAAI,CAACE,EAAS,GACZ,MAAM,IAAI,MAAM,wBAAwB,EAI1C,MAAMC,EAAc,IAAI,gBAAgB,MAAMD,EAAS,MAAM,EAEvD,EAAI,SAAS,cAAc,GAAG,EACpC,EAAE,KAAOC,EACT,EAAE,SAAWF,EAEb,SAAS,KAAK,YAAY,CAAC,EAC3B,EAAE,MAAA,EACF,SAAS,KAAK,YAAY,CAAC,EAG3B,OAAO,WAAW,IAAM,IAAI,gBAAgBE,CAAW,EAAG,GAAG,CAC/D,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as c,R as s,a3 as r,ab as i,ac as l,ae as u,ad as f,af as w,j as p,aD as k}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{H as c,R as s,a3 as r,ab as i,ac as l,ae as u,ad as f,af as w,j as p,aD as k}from"./app-cabh1nNK.js";import{D as y}from"./uyrSls2s.chunk.js";const D={createDownloadToken(o){return{url:"/api/downloadproxy/api/tokens",key:`download:token:${o}`,data:{objectId:o},type:c.POST,normalize:!1}}};function R(o){const a=s.useRef(null),e=r(k.config()),t=r(D.createDownloadToken(o.id)),n=!!e.data&&!!t.data;return s.useEffect(()=>{if(!n||!a.current)return;const d=y.getVideoDownloadUrl(e.data.downloadProxy,t.data.token);a.current.src=d,i.logUserAction({id:o.id},{actionType:w.Download,location:f.Popup,entity:u.Video,workflowPhase:l.Complete})},[n,a.current]),p.jsx("iframe",{ref:a})}export{R as DownloadVideoView};
|
|
2
|
+
//# sourceMappingURL=vJWLdqFY.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"vJWLdqFY.chunk.js","sources":["../../src/shared/flight-requests/DownloadRequests.ts","../../src/shared/views/download-video/DownloadVideoView.tsx"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nexport const DownloadRequests = {\n createDownloadToken(videoId: string): Flight.Request {\n return {\n url: '/api/downloadproxy/api/tokens',\n key: `download:token:${videoId}`,\n data: { objectId: videoId },\n type: HttpVerbs.POST,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { Config } from 'libs/shared/interfaces';\nimport { DownloadHelper } from 'libs/shared/utils/DownloadHelper';\n\nimport { DownloadRequests } from 'shared/flight-requests/DownloadRequests';\n\ninterface DownloadVideoViewProps {\n id: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function DownloadVideoView(props: DownloadVideoViewProps): JSX.Element {\n const ref = React.useRef(null);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const downloadToken = Flight.useBasicFetch<HashObject>(DownloadRequests.createDownloadToken(props.id));\n\n const dataLoaded = !!config.data && !!downloadToken.data;\n\n React.useEffect(() => {\n if (!dataLoaded || !ref.current)\n return;\n\n const url = DownloadHelper.getVideoDownloadUrl(config.data.downloadProxy, downloadToken.data.token);\n ref.current.src = url;\n\n AnalyticsHelper.logUserAction({\n id: props.id\n }, {\n actionType: UserAction.Download,\n location: LocationContext.Popup,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Complete\n });\n }, [ dataLoaded, ref.current ]);\n\n return (\n <iframe ref={ref} />\n );\n}"],"names":["DownloadRequests","videoId","HttpVerbs","DownloadVideoView","props","ref","React","config","Flight.useBasicFetch","ConfigRequests","downloadToken","dataLoaded","url","DownloadHelper","AnalyticsHelper","UserAction","LocationContext","EntityType","WorkflowPhase","jsx"],"mappings":"oJAGO,MAAMA,EAAmB,CAC9B,oBAAoBC,EAAiC,CACnD,MAAO,CACL,IAAK,gCACL,IAAK,kBAAkBA,CAAO,GAC9B,KAAM,CAAE,SAAUA,CAAA,EAClB,KAAMC,EAAU,KAChB,UAAW,EAAA,CAEf,CACF,ECMO,SAASC,EAAkBC,EAA4C,CAC5E,MAAMC,EAAMC,EAAM,OAAO,IAAI,EAEvBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAgBF,EAAiCR,EAAiB,oBAAoBI,EAAM,EAAE,CAAC,EAE/FO,EAAa,CAAC,CAACJ,EAAO,MAAQ,CAAC,CAACG,EAAc,KAEpD,OAAAJ,EAAM,UAAU,IAAM,CACpB,GAAI,CAACK,GAAc,CAACN,EAAI,QACtB,OAEF,MAAMO,EAAMC,EAAe,oBAAoBN,EAAO,KAAK,cAAeG,EAAc,KAAK,KAAK,EAClGL,EAAI,QAAQ,IAAMO,EAElBE,EAAgB,cAAc,CAC5B,GAAIV,EAAM,EAAA,EACT,CACD,WAAYW,EAAW,SACvB,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,MACnB,cAAeC,EAAc,QAAA,CAC9B,CACH,EAAG,CAAEP,EAAYN,EAAI,OAAQ,CAAC,EAG5Bc,MAAC,UAAO,IAAAd,EAAU,CAEtB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as s,aB as h,L as d}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as s,aB as h,L as d}from"./app-cabh1nNK.js";const p="_minHeight_kz0hs_1",v="_restrictionBadgeCustom_kz0hs_4",C="_restrictionBadgeUser_kz0hs_8",R="_streamable_kz0hs_12",g={minHeight:p,restrictionBadgeCustom:v,restrictionBadgeUser:C,streamable:R};var r=(e=>(e.Custom="custom",e.User="year_group",e))(r||{});function m(e){return s.jsx("svg",{...e,children:s.jsx("path",{d:"M9.006 10h6.028c.006-.32.01-.641.002-.974-.016-.663-.077-1.28-.243-1.808-.164-.52-.424-.934-.83-1.223-.407-.292-1.015-.495-1.943-.495s-1.536.203-1.944.495c-.405.29-.665.703-.83 1.223-.166.528-.227 1.145-.242 1.808-.008.333-.004.655.002.974m7.028 0H17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1.006c-.006-.33-.01-.67-.002-.997.016-.696.08-1.424.289-2.085.21-.67.576-1.29 1.202-1.737.623-.445 1.453-.681 2.525-.681s1.902.236 2.525.681c.626.447.99 1.068 1.202 1.737.208.661.272 1.389.288 2.085.008.326.005.667 0 .997m-1.014 1H7v8h10v-8h-1.98",fill:"currentColor"})})}function x(e){return s.jsxs("svg",{...e,children:[s.jsx("defs",{children:s.jsx("path",{id:"a",d:"M12 19.059A7.059 7.059 0 1 0 12 4.94a7.059 7.059 0 0 0 0 14.118M12 4a8 8 0 1 1 0 16 8 8 0 0 1 0-16m-.229 2.743a.457.457 0 0 0-.457.457v5.486c0 .147.071.286.191.372l3.174 2.27a.457.457 0 1 0 .532-.744l-2.982-2.133V7.2a.457.457 0 0 0-.458-.457",fill:"currentColor"})}),s.jsxs("g",{fill:"none",fillRule:"evenodd",children:[s.jsx("mask",{id:"b",fill:"#fff",children:s.jsx("use",{href:"#a"})}),s.jsx("use",{fill:"#000",fillRule:"nonzero",href:"#a"}),s.jsx("g",{fill:"#383838",mask:"url(#b)",children:s.jsx("path",{d:"M0 0h24v24H0z",fill:"currentColor"})})]})]})}const y="shared.shared-utils",c=d.encloseNamespace(y),j={[r.Custom]:g.restrictionBadgeCustom,[r.User]:g.restrictionBadgeUser},_={[r.Custom]:x,[r.User]:m},B={[r.Custom]:"restrictionCustom",[r.User]:"restrictionYearGroup"},f={[r.Custom]:200,[r.User]:100},o={mapRestrictionToClass(e){var n;if(!((n=e==null?void 0:e.value)!=null&&n.length))return"";const t=o.getWeightedRestriction(e.value);return j[t.type]},mapRestrictionToSvg(e){var n;if(!((n=e==null?void 0:e.value)!=null&&n.length))return m;const t=o.getWeightedRestriction(e.value);return _[t.type]},mapRestrictionToText(e,t){var l;if(!((l=e==null?void 0:e.value)!=null&&l.length)||!(t!=null&&t.length))return"";const n=o.getWeightedRestriction(e.value),a=t.find(i=>i.value===n.yearGroup),u=B[n.type];if(n.type===r.User)return n.yearGroup===null?c("restrictionStaff"):a?t.length===1?c("restrictionStudents"):c(u,{yearGroup:a.name}):"";if(n.type===r.Custom){const i=o.getRestrictionDuration(n);return i?c(u,{duration:i,smartCount:i}):c("restrictionCustomLessThanDay",{duration:i,smartCount:1})}return""},getWeightedRestriction(e,t="highest"){if(e!=null&&e.length)return e.length===1?e[0]:e.reduce((n,a)=>{const u=f[n.type],l=f[a.type];return t==="highest"&&u>l||t==="lowest"&&u<l?n:a})},getRestrictionByType(e,t){if(!o.hasRestrictions(e))return null;const n=Array.isArray(t)?t:[t],a=e.value.filter(u=>n.includes(u.type));return o.getWeightedRestriction(a)},getRestrictionDuration(e){if(e.type!==r.Custom||!e.expiresOn)return;const t=h.convertUTCToLocal(e.expiresOn);if(t)return h.diffBetween(t,new Date,"day")},hasCustomRestriction(e){return!!o.getRestrictionByType(e,[r.Custom])},hasRestrictions(e){var t;return!!((t=e==null?void 0:e.value)!=null&&t.length)}};export{m as L,o as R,r as a,g as s};
|
|
2
|
+
//# sourceMappingURL=wlWC_CCa.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HnFOWLZi.chunk.js","sources":["../../../../libs/shared/src/enums/RestrictionType.ts","../../../../libs/shared/src/images/svg/status/LockSvg.tsx","../../../../libs/shared/src/images/svg/status/TimerSvg.tsx","../../../../libs/shared/src/utils/RestrictionHelper.ts"],"sourcesContent":["/**\n * Restriction Types for an object\n */\nexport enum RestrictionType {\n /** Generated for customers who have turned content review on */\n Custom = 'custom',\n\n /** Restriction created by the user */\n User = 'year_group'\n}","import React from 'react';\n\nexport function LockSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.006 10h6.028c.006-.32.01-.641.002-.974-.016-.663-.077-1.28-.243-1.808-.164-.52-.424-.934-.83-1.223-.407-.292-1.015-.495-1.943-.495s-1.536.203-1.944.495c-.405.29-.665.703-.83 1.223-.166.528-.227 1.145-.242 1.808-.008.333-.004.655.002.974m7.028 0H17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1.006c-.006-.33-.01-.67-.002-.997.016-.696.08-1.424.289-2.085.21-.67.576-1.29 1.202-1.737.623-.445 1.453-.681 2.525-.681s1.902.236 2.525.681c.626.447.99 1.068 1.202 1.737.208.661.272 1.389.288 2.085.008.326.005.667 0 .997m-1.014 1H7v8h10v-8h-1.98'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function TimerSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='a'\n d='M12 19.059A7.059 7.059 0 1 0 12 4.94a7.059 7.059 0 0 0 0 14.118M12 4a8 8 0 1 1 0 16 8 8 0 0 1 0-16m-.229 2.743a.457.457 0 0 0-.457.457v5.486c0 .147.071.286.191.372l3.174 2.27a.457.457 0 1 0 .532-.744l-2.982-2.133V7.2a.457.457 0 0 0-.458-.457'\n fill='currentColor'\n />\n </defs>\n <g fill='none' fillRule='evenodd'>\n <mask id='b' fill='#fff'>\n <use href='#a' />\n </mask>\n <use fill='#000' fillRule='nonzero' href='#a' />\n <g fill='#383838' mask='url(#b)'>\n <path d='M0 0h24v24H0z' fill='currentColor' />\n </g>\n </g>\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport styles from 'libs/shared/components/badges/badge.module.scss';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { ObjectsRestriction, Restrictions, YearGroup } from 'libs/shared/interfaces';\n\nimport { LockSvg } from '../images/svg/status/LockSvg';\nimport { TimerSvg } from '../images/svg/status/TimerSvg';\n\nimport { SvgIcon } from './SvgHelper';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst ClassNameMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: styles.restrictionBadgeCustom,\n [RestrictionType.User]: styles.restrictionBadgeUser\n};\n\nconst IconMap: {[key in RestrictionType]: SvgIcon} = {\n [RestrictionType.Custom]: TimerSvg,\n [RestrictionType.User]: LockSvg\n};\n\nconst PhraseMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: 'restrictionCustom',\n [RestrictionType.User]: 'restrictionYearGroup'\n};\n\nconst WeightMap: {[Key in RestrictionType]: number} = {\n [RestrictionType.Custom]: 200,\n [RestrictionType.User]: 100\n};\n\nexport const RestrictionHelper = {\n mapRestrictionToClass(restrictions: Restrictions): string {\n if (!restrictions?.value?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return ClassNameMap[restriction.type];\n },\n\n mapRestrictionToSvg(restrictions: Restrictions): SvgIcon {\n if (!restrictions?.value?.length)\n return LockSvg;\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return IconMap[restriction.type];\n },\n\n mapRestrictionToText(\n restrictions: Restrictions,\n yearGroups: YearGroup[]\n ): string {\n if (!restrictions?.value?.length || !yearGroups?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n const yearGroup = yearGroups.find(y => y.value === restriction.yearGroup);\n\n const phrase = PhraseMap[restriction.type];\n if (restriction.type === RestrictionType.User) {\n if (restriction.yearGroup === null)\n return getPhrase('restrictionStaff');\n\n if (!yearGroup)\n return '';\n\n if (yearGroups.length === 1)\n return getPhrase('restrictionStudents');\n\n return getPhrase(phrase, { yearGroup: yearGroup.name });\n }\n\n if (restriction.type === RestrictionType.Custom) {\n const duration = RestrictionHelper.getRestrictionDuration(restriction);\n return duration ?\n getPhrase(phrase, { duration, smartCount: duration }) :\n getPhrase('restrictionCustomLessThanDay', { duration, smartCount: 1 });\n }\n\n return '';\n },\n\n /**\n * A video can have multiple restrictions, in that case we need to display\n * only one restriction. By default we display the restriction with highest\n * weight bias.\n */\n getWeightedRestriction(\n restrictions: ObjectsRestriction[],\n bias: 'highest' | 'lowest' = 'highest'\n ): ObjectsRestriction {\n if (!restrictions?.length) return;\n \n if (restrictions.length === 1) return restrictions[0];\n\n return restrictions.reduce((previous, current) => {\n const previousWeight = WeightMap[previous.type];\n const currentWeight = WeightMap[current.type];\n\n if (bias === 'highest' && previousWeight > currentWeight) return previous;\n if (bias === 'lowest' && previousWeight < currentWeight) return previous;\n\n return current;\n });\n },\n\n getRestrictionByType(\n restrictions: Restrictions,\n type: RestrictionType | RestrictionType[]\n ): ObjectsRestriction {\n if (!RestrictionHelper.hasRestrictions(restrictions))\n return null;\n\n const types = Array.isArray(type) ? type : [type];\n\n const filteredRestrictions = restrictions.value.filter(r => types.includes(r.type));\n return RestrictionHelper.getWeightedRestriction(filteredRestrictions);\n },\n\n getRestrictionDuration(\n restriction: ObjectsRestriction\n ): number {\n if (restriction.type !== RestrictionType.Custom || !restriction.expiresOn) return;\n\n const expiresOn = DateHelper.convertUTCToLocal(restriction.expiresOn);\n if (!expiresOn) return;\n\n return DateHelper.diffBetween(expiresOn, new Date(), 'day');\n },\n\n hasCustomRestriction(\n restrictions: Restrictions\n ): boolean {\n return !!RestrictionHelper.getRestrictionByType(restrictions, [RestrictionType.Custom]);\n },\n\n hasRestrictions(restrictions: Restrictions): boolean {\n return !!restrictions?.value?.length;\n }\n};"],"names":["RestrictionType","LockSvg","props","jsx","TimerSvg","jsxs","namespace","getPhrase","LanguageService","ClassNameMap","styles","IconMap","PhraseMap","WeightMap","RestrictionHelper","restrictions","_a","restriction","yearGroups","yearGroup","y","phrase","duration","bias","previous","current","previousWeight","currentWeight","type","types","filteredRestrictions","r","expiresOn","DateHelper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wlWC_CCa.chunk.js","sources":["../../../../libs/shared/src/enums/RestrictionType.ts","../../../../libs/shared/src/images/svg/status/LockSvg.tsx","../../../../libs/shared/src/images/svg/status/TimerSvg.tsx","../../../../libs/shared/src/utils/RestrictionHelper.ts"],"sourcesContent":["/**\n * Restriction Types for an object\n */\nexport enum RestrictionType {\n /** Generated for customers who have turned content review on */\n Custom = 'custom',\n\n /** Restriction created by the user */\n User = 'year_group'\n}","import React from 'react';\n\nexport function LockSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.006 10h6.028c.006-.32.01-.641.002-.974-.016-.663-.077-1.28-.243-1.808-.164-.52-.424-.934-.83-1.223-.407-.292-1.015-.495-1.943-.495s-1.536.203-1.944.495c-.405.29-.665.703-.83 1.223-.166.528-.227 1.145-.242 1.808-.008.333-.004.655.002.974m7.028 0H17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1.006c-.006-.33-.01-.67-.002-.997.016-.696.08-1.424.289-2.085.21-.67.576-1.29 1.202-1.737.623-.445 1.453-.681 2.525-.681s1.902.236 2.525.681c.626.447.99 1.068 1.202 1.737.208.661.272 1.389.288 2.085.008.326.005.667 0 .997m-1.014 1H7v8h10v-8h-1.98'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function TimerSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='a'\n d='M12 19.059A7.059 7.059 0 1 0 12 4.94a7.059 7.059 0 0 0 0 14.118M12 4a8 8 0 1 1 0 16 8 8 0 0 1 0-16m-.229 2.743a.457.457 0 0 0-.457.457v5.486c0 .147.071.286.191.372l3.174 2.27a.457.457 0 1 0 .532-.744l-2.982-2.133V7.2a.457.457 0 0 0-.458-.457'\n fill='currentColor'\n />\n </defs>\n <g fill='none' fillRule='evenodd'>\n <mask id='b' fill='#fff'>\n <use href='#a' />\n </mask>\n <use fill='#000' fillRule='nonzero' href='#a' />\n <g fill='#383838' mask='url(#b)'>\n <path d='M0 0h24v24H0z' fill='currentColor' />\n </g>\n </g>\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport styles from 'libs/shared/components/badges/badge.module.scss';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { ObjectsRestriction, Restrictions, YearGroup } from 'libs/shared/interfaces';\n\nimport { LockSvg } from '../images/svg/status/LockSvg';\nimport { TimerSvg } from '../images/svg/status/TimerSvg';\n\nimport { SvgIcon } from './SvgHelper';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst ClassNameMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: styles.restrictionBadgeCustom,\n [RestrictionType.User]: styles.restrictionBadgeUser\n};\n\nconst IconMap: {[key in RestrictionType]: SvgIcon} = {\n [RestrictionType.Custom]: TimerSvg,\n [RestrictionType.User]: LockSvg\n};\n\nconst PhraseMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: 'restrictionCustom',\n [RestrictionType.User]: 'restrictionYearGroup'\n};\n\nconst WeightMap: {[Key in RestrictionType]: number} = {\n [RestrictionType.Custom]: 200,\n [RestrictionType.User]: 100\n};\n\nexport const RestrictionHelper = {\n mapRestrictionToClass(restrictions: Restrictions): string {\n if (!restrictions?.value?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return ClassNameMap[restriction.type];\n },\n\n mapRestrictionToSvg(restrictions: Restrictions): SvgIcon {\n if (!restrictions?.value?.length)\n return LockSvg;\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return IconMap[restriction.type];\n },\n\n mapRestrictionToText(\n restrictions: Restrictions,\n yearGroups: YearGroup[]\n ): string {\n if (!restrictions?.value?.length || !yearGroups?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n const yearGroup = yearGroups.find(y => y.value === restriction.yearGroup);\n\n const phrase = PhraseMap[restriction.type];\n if (restriction.type === RestrictionType.User) {\n if (restriction.yearGroup === null)\n return getPhrase('restrictionStaff');\n\n if (!yearGroup)\n return '';\n\n if (yearGroups.length === 1)\n return getPhrase('restrictionStudents');\n\n return getPhrase(phrase, { yearGroup: yearGroup.name });\n }\n\n if (restriction.type === RestrictionType.Custom) {\n const duration = RestrictionHelper.getRestrictionDuration(restriction);\n return duration ?\n getPhrase(phrase, { duration, smartCount: duration }) :\n getPhrase('restrictionCustomLessThanDay', { duration, smartCount: 1 });\n }\n\n return '';\n },\n\n /**\n * A video can have multiple restrictions, in that case we need to display\n * only one restriction. By default we display the restriction with highest\n * weight bias.\n */\n getWeightedRestriction(\n restrictions: ObjectsRestriction[],\n bias: 'highest' | 'lowest' = 'highest'\n ): ObjectsRestriction {\n if (!restrictions?.length) return;\n \n if (restrictions.length === 1) return restrictions[0];\n\n return restrictions.reduce((previous, current) => {\n const previousWeight = WeightMap[previous.type];\n const currentWeight = WeightMap[current.type];\n\n if (bias === 'highest' && previousWeight > currentWeight) return previous;\n if (bias === 'lowest' && previousWeight < currentWeight) return previous;\n\n return current;\n });\n },\n\n getRestrictionByType(\n restrictions: Restrictions,\n type: RestrictionType | RestrictionType[]\n ): ObjectsRestriction {\n if (!RestrictionHelper.hasRestrictions(restrictions))\n return null;\n\n const types = Array.isArray(type) ? type : [type];\n\n const filteredRestrictions = restrictions.value.filter(r => types.includes(r.type));\n return RestrictionHelper.getWeightedRestriction(filteredRestrictions);\n },\n\n getRestrictionDuration(\n restriction: ObjectsRestriction\n ): number {\n if (restriction.type !== RestrictionType.Custom || !restriction.expiresOn) return;\n\n const expiresOn = DateHelper.convertUTCToLocal(restriction.expiresOn);\n if (!expiresOn) return;\n\n return DateHelper.diffBetween(expiresOn, new Date(), 'day');\n },\n\n hasCustomRestriction(\n restrictions: Restrictions\n ): boolean {\n return !!RestrictionHelper.getRestrictionByType(restrictions, [RestrictionType.Custom]);\n },\n\n hasRestrictions(restrictions: Restrictions): boolean {\n return !!restrictions?.value?.length;\n }\n};"],"names":["RestrictionType","LockSvg","props","jsx","TimerSvg","jsxs","namespace","getPhrase","LanguageService","ClassNameMap","styles","IconMap","PhraseMap","WeightMap","RestrictionHelper","restrictions","_a","restriction","yearGroups","yearGroup","y","phrase","duration","bias","previous","current","previousWeight","currentWeight","type","types","filteredRestrictions","r","expiresOn","DateHelper"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{R as e,q as o,bN as i,aU as f}from"./app-cabh1nNK.js";import{h as a}from"./C3YXHQU-.chunk.js";function l(t,r){e.useEffect(()=>{t.hasCompleted&&(t.data||(t.hasError&&a(t.statusCode),r?o.throw(new i):a(f.BadRequest)))},[t.hasCompleted,t.data])}export{l as u};
|
|
2
|
+
//# sourceMappingURL=wmclIpxx.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"wmclIpxx.chunk.js","sources":["../../src/apps/tv/hooks/useHandleRegionError.ts"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { UnspecifiedDialogError } from 'libs/shared/errors/general/unspecified-dialog/UnspecifiedDialogError';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useHandleRegionError(response: Flight.Response<TvRegion>, popup?: boolean): void {\n React.useEffect(() => {\n if (!response.hasCompleted)\n return;\n\n if (response.data)\n return;\n\n if (response.hasError) {\n handleHttpError(response.statusCode);\n }\n\n if (popup)\n Core.ErrorHelper.throw(new UnspecifiedDialogError());\n else {\n handleHttpError(HttpStatus.BadRequest);\n }\n }, [ response.hasCompleted, response.data ]);\n}"],"names":["useHandleRegionError","response","popup","React","handleHttpError","Core.ErrorHelper","UnspecifiedDialogError","HttpStatus"],"mappings":"qGAWO,SAASA,EAAqBC,EAAqCC,EAAuB,CAC/FC,EAAM,UAAU,IAAM,CACfF,EAAS,eAGVA,EAAS,OAGTA,EAAS,UACXG,EAAgBH,EAAS,UAAU,EAGjCC,EACFG,EAAiB,MAAM,IAAIC,CAAwB,EAEnDF,EAAgBG,EAAW,UAAU,GAEzC,EAAG,CAAEN,EAAS,aAAcA,EAAS,IAAK,CAAC,CAC7C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e,aq as v,a as o,b as l,B as T,ad as h,ae as f,af as A,A as m,L as p,ag as x,Q as L,aK as S}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as e,aq as v,a as o,b as l,B as T,ad as h,ae as f,af as A,A as m,L as p,ag as x,Q as L,aK as S}from"./app-cabh1nNK.js";import{t as g}from"./DZZlWrzc.chunk.js";import{a as N}from"./DGDSZYW9.chunk.js";import{P as b}from"./CV6qoMzB.chunk.js";const u="tv.infoAlert";function O(a){var t;return e.jsx("div",{className:"mb-3",children:e.jsx("div",{children:a.dateRange&&e.jsx(e.Fragment,{children:e.jsx(v,{appLink:{application:l.TV,action:o.Tv.BROADCAST_CONTENT,args:[(t=a.region)==null?void 0:t.code]},className:"text-info",children:e.jsxs("p",{className:"fw-semibold mb-0 me-2",children:[e.jsx(T,{namespace:u,phrase:"programsAvailable"}),N.getFormattedDateRange(g(a.dateRange.startDate,a.dateRange.timeZone),g(a.dateRange.endDate,a.dateRange.timeZone))]})})})})})}const d="tv.tvTabs",s=p.encloseNamespace(d),i={channels:{application:l.TV,action:o.Tv.CHANNELS},programs:{application:l.TV,action:o.Tv.PROGRAMS}},c={actionType:A.Click,entity:f.Url,location:h.MagicTabs};function R(a){const{active:t,currentRegion:n}=a,r=[{name:s("channels"),appLink:{...i.channels,args:[n==null?void 0:n.code]},active:t==="channels",analyticsData:{name:s("channels"),url:m.getHref(i.channels)},analyticsOptions:c},{name:s("programs"),appLink:{...i.programs,args:[n==null?void 0:n.code]},active:t==="programs",analyticsData:{name:p.getPhrase(d,"programs"),url:m.getHref(i.programs)},analyticsOptions:c}];return a.showTvGuide&&a.config&&r.push({name:s("tvGuide"),active:!1,analyticsOptions:c,svg:S,svgSize:L.Small,onSelect:()=>x.PageLoad(`${a.config.onlineUrl}/login?returnUrl=/tv/guide`,!0)}),e.jsx("div",{className:"mb-3",children:e.jsx(b,{tabs:r})})}export{R as T,O as a};
|
|
2
|
+
//# sourceMappingURL=zBOmHm2e.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"zBOmHm2e.chunk.js","sources":["../../src/apps/tv/components/tv-info-alert/TvInfoAlert.tsx","../../src/apps/tv/components/tv-tabs/TvTabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\n\nconst namespace = 'tv.infoAlert';\n\ninterface TvInfoAlertProps {\n dateRange: TvDateRange;\n region: TvRegion;\n}\n\nexport function TvInfoAlert(props: TvInfoAlertProps) {\n return (\n <div className='mb-3'>\n <div>\n {props.dateRange && (\n <>\n <AppLink\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.BROADCAST_CONTENT,\n args: [props.region?.code]\n }}\n className='text-info'\n >\n <p className='fw-semibold mb-0 me-2'>\n <Text namespace={namespace} phrase='programsAvailable' />\n {TvUtils.getFormattedDateRange(\n toLocalTime(props.dateRange.startDate, props.dateRange.timeZone),\n toLocalTime(props.dateRange.endDate, props.dateRange.timeZone)\n )}\n </p>\n </AppLink>\n </>\n )}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTab, PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { Config } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.tvTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APP_LINKS = {\n channels: {\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n },\n programs: {\n application: AppChannels.TV,\n action: Actions.Tv.PROGRAMS\n }\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface TvTabs {\n active: 'channels' | 'programs' | null;\n currentRegion: TvRegion;\n showTvGuide: boolean;\n config: Config;\n}\n\nexport function TvTabs(props: TvTabs): JSX.Element {\n const { active, currentRegion } = props;\n\n const tabs: PillTab[] = [{\n name: getPhrase('channels'),\n appLink: {\n ...APP_LINKS.channels,\n args: [currentRegion?.code]\n },\n active: active === 'channels',\n analyticsData: {\n name: getPhrase('channels'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.channels)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }, {\n name: getPhrase('programs'),\n appLink: {\n ...APP_LINKS.programs,\n args: [currentRegion?.code]\n },\n active: active === 'programs',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'programs'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.programs)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }];\n\n if (props.showTvGuide && props.config) {\n tabs.push({\n name: getPhrase('tvGuide'),\n active: false,\n analyticsOptions: ANALYTICS_OPTIONS,\n svg: NewWindowSvg,\n svgSize: SvgContainerSize.Small,\n onSelect: () => Core.LocationUtils.PageLoad(`${props.config.onlineUrl}/login?returnUrl=/tv/guide`, true)\n });\n }\n\n return (\n <div className='mb-3'>\n <PillTabSelector tabs={tabs} />\n </div>\n );\n}"],"names":["namespace","TvInfoAlert","props","jsx","Fragment","AppLink","AppChannels","Actions","_a","jsxs","Text","TvUtils","toLocalTime","getPhrase","LanguageService","APP_LINKS","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","TvTabs","active","currentRegion","tabs","Core.AppLinkHelper","NewWindowSvg","SvgContainerSize","Core.LocationUtils","PillTabSelector"],"mappings":"wPAYA,MAAMA,EAAY,eAOX,SAASC,EAAYC,EAAyB,OACnD,OACEC,EAAAA,IAAC,OAAI,UAAU,OACb,eAAC,MAAA,CACE,SAAAD,EAAM,WACLC,EAAAA,IAAAC,EAAAA,SAAA,CACE,SAAAD,EAAAA,IAACE,EAAA,CACC,QAAS,CACP,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,kBACnB,KAAM,EAACC,EAAAN,EAAM,SAAN,YAAAM,EAAc,IAAI,CAAA,EAE3B,UAAU,YAEV,SAAAC,EAAAA,KAAC,IAAA,CAAE,UAAU,wBACX,SAAA,CAAAN,EAAAA,IAACO,EAAA,CAAA,UAAKV,EAAsB,OAAO,mBAAA,CAAoB,EACtDW,EAAQ,sBACPC,EAAYV,EAAM,UAAU,UAAWA,EAAM,UAAU,QAAQ,EAC/DU,EAAYV,EAAM,UAAU,QAASA,EAAM,UAAU,QAAQ,CAAA,CAC/D,CAAA,CACF,CAAA,CAAA,CACF,CACF,EAEJ,EACF,CAEJ,CC7BA,MAAMF,EAAY,YACZa,EAAYC,EAAgB,iBAAiBd,CAAS,EAEtDe,EAAY,CAChB,SAAU,CACR,YAAaT,EAAY,GACzB,OAAQC,EAAQ,GAAG,QAAA,EAErB,SAAU,CACR,YAAaD,EAAY,GACzB,OAAQC,EAAQ,GAAG,QAAA,CAEvB,EAEMS,EAAoB,CACxB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAC5B,EASO,SAASC,EAAOlB,EAA4B,CACjD,KAAM,CAAE,OAAAmB,EAAQ,cAAAC,CAAA,EAAkBpB,EAE5BqB,EAAkB,CAAC,CACvB,KAAMV,EAAU,UAAU,EAC1B,QAAS,CACP,GAAGE,EAAU,SACb,KAAM,CAACO,GAAA,YAAAA,EAAe,IAAI,CAAA,EAE5B,OAAQD,IAAW,WACnB,cAAe,CACb,KAAMR,EAAU,UAAU,EAC1B,IAAKW,EAAmB,QAAQT,EAAU,QAAQ,CAAA,EAEpD,iBAAkBC,CAAA,EACjB,CACD,KAAMH,EAAU,UAAU,EAC1B,QAAS,CACP,GAAGE,EAAU,SACb,KAAM,CAACO,GAAA,YAAAA,EAAe,IAAI,CAAA,EAE5B,OAAQD,IAAW,WACnB,cAAe,CACb,KAAMP,EAAgB,UAAUd,EAAW,UAAU,EACrD,IAAKwB,EAAmB,QAAQT,EAAU,QAAQ,CAAA,EAEpD,iBAAkBC,CAAA,CACnB,EAED,OAAId,EAAM,aAAeA,EAAM,QAC7BqB,EAAK,KAAK,CACR,KAAMV,EAAU,SAAS,EACzB,OAAQ,GACR,iBAAkBG,EAClB,IAAKS,EACL,QAASC,EAAiB,MAC1B,SAAU,IAAMC,EAAmB,SAAS,GAAGzB,EAAM,OAAO,SAAS,6BAA8B,EAAI,CAAA,CACxG,QAIA,MAAA,CAAI,UAAU,OACb,SAAAC,EAAAA,IAACyB,EAAA,CAAgB,KAAAL,EAAY,CAAA,CAC/B,CAEJ"}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n}from"./app-BFo6Ckt-.js";import{h as s}from"./bpv01bRu.chunk.js";function c(t){return t.map(e=>e.statusCode).join(":")}function p(t,e,r){const a=Array.isArray(t)?t:[t];n.useEffect(()=>{a.forEach(o=>{s(o.statusCode,e,r)})},[c(a),e,r])}export{p as u};
|
|
2
|
-
//# sourceMappingURL=BIGJ5IYE.chunk.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{R as e,q as o,bN as i,aU as f}from"./app-BFo6Ckt-.js";import{h as a}from"./bpv01bRu.chunk.js";function l(t,r){e.useEffect(()=>{t.hasCompleted&&(t.data||(t.hasError&&a(t.statusCode),r?o.throw(new i):a(f.BadRequest)))},[t.hasCompleted,t.data])}export{l as u};
|
|
2
|
-
//# sourceMappingURL=BO-rqEYq.chunk.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aj as g,a3 as V,l as j,L as E,j as e}from"./app-BFo6Ckt-.js";import{u as v,P,I as A}from"./DjYRr_B7.chunk.js";import{u as L,a as R,V as N}from"./btwI8tA_.chunk.js";import{h as F}from"./bpv01bRu.chunk.js";import{u as S}from"./C7UO-kx9.chunk.js";import{E as C}from"./pJQ2kMpi.chunk.js";import{E as G}from"./BlWsG4m9.chunk.js";import{E as n}from"./DeqIGNWZ.chunk.js";import{a as I}from"./SOVDGcrb.chunk.js";import{a as M}from"./B0F3kF6Q.chunk.js";import"./Cn4Y9X8L.chunk.js";import"./Bz-YiNUV.chunk.js";import"./D1wpoB6N.chunk.js";import"./BWjzl6bO.chunk.js";import"./_sYSSSUN.chunk.js";import"./7gBcxbSR.chunk.js";import"./BznVrNrf.chunk.js";import"./D5A4MPL5.chunk.js";import"./BlDVEZsX.chunk.js";import"./HnFOWLZi.chunk.js";import"./pkzD5BEm.chunk.js";import"./Cv6y2W5M.chunk.js";import"./DnZ4Dk2H.chunk.js";import"./DoLhwmY1.chunk.js";import"./iiCBGcgS.chunk.js";import"./g_QSPxwb.chunk.js";import"./C739fXtq.chunk.js";import"./CMt_tsDD.chunk.js";import"./Cr63cqhX.chunk.js";import"./Kj832An8.chunk.js";import"./DXSQFSHx.chunk.js";import"./BJuFCPlx.chunk.js";import"./BZnixP9m.chunk.js";import"./BVMdpuAT.chunk.js";const b="exchange.mostRecent",m=E.encloseNamespace(b);function xe(){const c=g(),p=S(),o=V(n.exchange()),u=I("video-list"),{commonVideoProps:d}=L();j({title:m("title")});const{items:i,hasMore:h,isFetching:r,nextCursor:x}=v(o.data&&s,a,l);function s(t){return n.mostRecentVideos(o.data.id,t)}function a(t){return c(s(t))}function l(t,f){if(t===1)return F(f);p.error(m("error"))}return e.jsxs(R.Provider,{value:u,children:[e.jsxs("div",{className:"mb-2",children:[e.jsx(C,{}),e.jsx(G,{active:"most-recent"})]}),i?e.jsx(N,{videos:i,getVideoAppLink:M,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:d}):e.jsx("div",{className:"mx-n2",children:e.jsx(P,{})}),(h||r)&&e.jsx(A,{isFetching:r,fetchNext:a,nextCursor:x})]})}export{xe as ExchangeMostRecentView};
|
|
2
|
-
//# sourceMappingURL=CBLTHRFG.chunk.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aj as m,a3 as c,l as n,L as p,j as e}from"./app-BFo6Ckt-.js";import{u as h,P as x,F as g}from"./BC-aVjTu.chunk.js";import{L as l}from"./BVMdpuAT.chunk.js";import{u as d}from"./BIGJ5IYE.chunk.js";import{E as u}from"./pJQ2kMpi.chunk.js";import{E as f}from"./BlWsG4m9.chunk.js";import{E as j}from"./DeqIGNWZ.chunk.js";import{g as F}from"./B0F3kF6Q.chunk.js";import"./CRSKZaYO.chunk.js";import"./Cr63cqhX.chunk.js";import"./7gBcxbSR.chunk.js";import"./iiCBGcgS.chunk.js";import"./D1wpoB6N.chunk.js";import"./Cn4Y9X8L.chunk.js";import"./Bz-YiNUV.chunk.js";import"./bpv01bRu.chunk.js";import"./DXSQFSHx.chunk.js";import"./BJuFCPlx.chunk.js";import"./DnZ4Dk2H.chunk.js";import"./BlDVEZsX.chunk.js";import"./HnFOWLZi.chunk.js";import"./BZnixP9m.chunk.js";import"./pkzD5BEm.chunk.js";const E="exchange.exchange",L=p.encloseNamespace(E);function K(){const i=m(),r=c(j.exchange()),a=s=>l.childFolders(r.data.categoryTree.id,s),o=s=>i(a(s)),t=h(r.data&&a,o);return d(r),n({title:L("exchangeArchive")}),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-3",children:[e.jsx(u,{}),e.jsx(f,{active:"categories"})]}),t!=null&&t.items?t.items.length?e.jsx("div",{className:"mx-n2",children:e.jsx(g,{folders:t.items,getAppLink:s=>F(s),expandFolders:!0,showHeading:!1})}):e.jsx(e.Fragment,{}):e.jsx("div",{className:"mt-3",children:e.jsx(x,{count:22})})]})}export{K as ExchangeView};
|
|
2
|
-
//# sourceMappingURL=DgQ4vdbx.chunk.js.map
|