@clickview/exchange 0.57.0 → 0.58.0-rc.0
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/css/{CczLEc2p.chunk.css → BBuiH5XR.chunk.css} +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{B1IKzVyn.chunk.js → 59HBVVj3.chunk.js} +2 -2
- package/dist/scripts/{B1IKzVyn.chunk.js.map → 59HBVVj3.chunk.js.map} +1 -1
- package/dist/scripts/{DmL0FSJr.chunk.js → 77QNnWjW.chunk.js} +2 -2
- package/dist/scripts/{DmL0FSJr.chunk.js.map → 77QNnWjW.chunk.js.map} +1 -1
- package/dist/scripts/{dlcOoTX2.chunk.js → 97GoF_Eh.chunk.js} +2 -2
- package/dist/scripts/{dlcOoTX2.chunk.js.map → 97GoF_Eh.chunk.js.map} +1 -1
- package/dist/scripts/{DkVa76dg.chunk.js → A03ti58C.chunk.js} +2 -2
- package/dist/scripts/{DkVa76dg.chunk.js.map → A03ti58C.chunk.js.map} +1 -1
- package/dist/scripts/{DEFuGMsd.chunk.js → B0qPCCXt.chunk.js} +2 -2
- package/dist/scripts/{DEFuGMsd.chunk.js.map → B0qPCCXt.chunk.js.map} +1 -1
- package/dist/scripts/{CYuWFG4C.chunk.js → B3P1JDvZ.chunk.js} +2 -2
- package/dist/scripts/{CYuWFG4C.chunk.js.map → B3P1JDvZ.chunk.js.map} +1 -1
- package/dist/scripts/{BKID_sLP.chunk.js → B3hUKuRr.chunk.js} +2 -2
- package/dist/scripts/{BKID_sLP.chunk.js.map → B3hUKuRr.chunk.js.map} +1 -1
- package/dist/scripts/{CrYQzjgZ.chunk.js → B7sQixjZ.chunk.js} +2 -2
- package/dist/scripts/{CrYQzjgZ.chunk.js.map → B7sQixjZ.chunk.js.map} +1 -1
- package/dist/scripts/{CQnwddP2.chunk.js → B9q9og3n.chunk.js} +2 -2
- package/dist/scripts/{CQnwddP2.chunk.js.map → B9q9og3n.chunk.js.map} +1 -1
- package/dist/scripts/{Doc0JWTn.chunk.js → BD8uJxiB.chunk.js} +2 -2
- package/dist/scripts/{Doc0JWTn.chunk.js.map → BD8uJxiB.chunk.js.map} +1 -1
- package/dist/scripts/{C8Ld-38h.chunk.js → BJaYD8dc.chunk.js} +2 -2
- package/dist/scripts/{C8Ld-38h.chunk.js.map → BJaYD8dc.chunk.js.map} +1 -1
- package/dist/scripts/{DfLXqnWC.chunk.js → BMTawQoz.chunk.js} +2 -2
- package/dist/scripts/{DfLXqnWC.chunk.js.map → BMTawQoz.chunk.js.map} +1 -1
- package/dist/scripts/{BWu0k43d.chunk.js → BP-61ONz.chunk.js} +2 -2
- package/dist/scripts/{BWu0k43d.chunk.js.map → BP-61ONz.chunk.js.map} +1 -1
- package/dist/scripts/{COMMZ5NT.chunk.js → BQiCELUH.chunk.js} +2 -2
- package/dist/scripts/{COMMZ5NT.chunk.js.map → BQiCELUH.chunk.js.map} +1 -1
- package/dist/scripts/{Dj2iNM2-.chunk.js → BQz8nP4M.chunk.js} +2 -2
- package/dist/scripts/{Dj2iNM2-.chunk.js.map → BQz8nP4M.chunk.js.map} +1 -1
- package/dist/scripts/{p9Hw1u0F.chunk.js → BSZHRB-3.chunk.js} +2 -2
- package/dist/scripts/{p9Hw1u0F.chunk.js.map → BSZHRB-3.chunk.js.map} +1 -1
- package/dist/scripts/{Ci21j_NU.chunk.js → BTJwiZTv.chunk.js} +2 -2
- package/dist/scripts/{Ci21j_NU.chunk.js.map → BTJwiZTv.chunk.js.map} +1 -1
- package/dist/scripts/{CqWuZzIu.chunk.js → BVbJxgV8.chunk.js} +2 -2
- package/dist/scripts/{CqWuZzIu.chunk.js.map → BVbJxgV8.chunk.js.map} +1 -1
- package/dist/scripts/{aImHyMo0.chunk.js → BX8fMfGC.chunk.js} +2 -2
- package/dist/scripts/{aImHyMo0.chunk.js.map → BX8fMfGC.chunk.js.map} +1 -1
- package/dist/scripts/{D91xJv6J.chunk.js → BaNAbBYa.chunk.js} +2 -2
- package/dist/scripts/{D91xJv6J.chunk.js.map → BaNAbBYa.chunk.js.map} +1 -1
- package/dist/scripts/{BImNArot.chunk.js → BazXwFtM.chunk.js} +2 -2
- package/dist/scripts/{BImNArot.chunk.js.map → BazXwFtM.chunk.js.map} +1 -1
- package/dist/scripts/{e9ZqHdMv.chunk.js → BbGFMokw.chunk.js} +2 -2
- package/dist/scripts/{e9ZqHdMv.chunk.js.map → BbGFMokw.chunk.js.map} +1 -1
- package/dist/scripts/BfA6QK2M.chunk.js +2 -0
- package/dist/scripts/{BnkjQdg-.chunk.js.map → BfA6QK2M.chunk.js.map} +1 -1
- package/dist/scripts/{DbB0S2ZQ.chunk.js → BfAoEeOL.chunk.js} +2 -2
- package/dist/scripts/{DbB0S2ZQ.chunk.js.map → BfAoEeOL.chunk.js.map} +1 -1
- package/dist/scripts/{0Rgjdcqz.chunk.js → BiAKqJdD.chunk.js} +2 -2
- package/dist/scripts/{0Rgjdcqz.chunk.js.map → BiAKqJdD.chunk.js.map} +1 -1
- package/dist/scripts/{CssHbHjG.chunk.js → BmU_YUbl.chunk.js} +2 -2
- package/dist/scripts/{CssHbHjG.chunk.js.map → BmU_YUbl.chunk.js.map} +1 -1
- package/dist/scripts/{SmYpiCQA.chunk.js → BuSLCxEs.chunk.js} +2 -2
- package/dist/scripts/{SmYpiCQA.chunk.js.map → BuSLCxEs.chunk.js.map} +1 -1
- package/dist/scripts/{BZp1TuCa.chunk.js → Bvlv6PGR.chunk.js} +2 -2
- package/dist/scripts/{BZp1TuCa.chunk.js.map → Bvlv6PGR.chunk.js.map} +1 -1
- package/dist/scripts/{BYXBfLyn.chunk.js → BwS3tIqZ.chunk.js} +2 -2
- package/dist/scripts/{BYXBfLyn.chunk.js.map → BwS3tIqZ.chunk.js.map} +1 -1
- package/dist/scripts/{S6sUSK4X.chunk.js → ByKnIsJG.chunk.js} +2 -2
- package/dist/scripts/{S6sUSK4X.chunk.js.map → ByKnIsJG.chunk.js.map} +1 -1
- package/dist/scripts/Bz5fsSmV.chunk.js +15 -0
- package/dist/scripts/Bz5fsSmV.chunk.js.map +1 -0
- package/dist/scripts/{CXmjzxZL.chunk.js → C06GoFsR.chunk.js} +2 -2
- package/dist/scripts/{CXmjzxZL.chunk.js.map → C06GoFsR.chunk.js.map} +1 -1
- package/dist/scripts/{CYbmYWz6.chunk.js → C3cp4ax7.chunk.js} +2 -2
- package/dist/scripts/{CYbmYWz6.chunk.js.map → C3cp4ax7.chunk.js.map} +1 -1
- package/dist/scripts/{BHQ-iEoW.chunk.js → C7giBbHJ.chunk.js} +2 -2
- package/dist/scripts/{BHQ-iEoW.chunk.js.map → C7giBbHJ.chunk.js.map} +1 -1
- package/dist/scripts/{CWAi8BHf.chunk.js → CEXoa-wM.chunk.js} +2 -2
- package/dist/scripts/{CWAi8BHf.chunk.js.map → CEXoa-wM.chunk.js.map} +1 -1
- package/dist/scripts/{lO5fmjgI.chunk.js → CKbq02SS.chunk.js} +2 -2
- package/dist/scripts/{lO5fmjgI.chunk.js.map → CKbq02SS.chunk.js.map} +1 -1
- package/dist/scripts/{CxZxk1HQ.chunk.js → CNVerO1q.chunk.js} +2 -2
- package/dist/scripts/{CxZxk1HQ.chunk.js.map → CNVerO1q.chunk.js.map} +1 -1
- package/dist/scripts/{5jG1qquw.chunk.js → CNat3TfQ.chunk.js} +2 -2
- package/dist/scripts/{5jG1qquw.chunk.js.map → CNat3TfQ.chunk.js.map} +1 -1
- package/dist/scripts/{D-lhN8Br.chunk.js → CP5MKWC_.chunk.js} +2 -2
- package/dist/scripts/{D-lhN8Br.chunk.js.map → CP5MKWC_.chunk.js.map} +1 -1
- package/dist/scripts/{CiOp7PM4.chunk.js → CSvE-r6r.chunk.js} +2 -2
- package/dist/scripts/{CiOp7PM4.chunk.js.map → CSvE-r6r.chunk.js.map} +1 -1
- package/dist/scripts/{BZhnbXlC.chunk.js → CW4iXW5L.chunk.js} +2 -2
- package/dist/scripts/{BZhnbXlC.chunk.js.map → CW4iXW5L.chunk.js.map} +1 -1
- package/dist/scripts/{-Xvqr6f_.chunk.js → CWdK_7iP.chunk.js} +2 -2
- package/dist/scripts/{-Xvqr6f_.chunk.js.map → CWdK_7iP.chunk.js.map} +1 -1
- package/dist/scripts/{jFTHf_UL.chunk.js → CWjXnQlc.chunk.js} +2 -2
- package/dist/scripts/{jFTHf_UL.chunk.js.map → CWjXnQlc.chunk.js.map} +1 -1
- package/dist/scripts/{BwuTkpPz.chunk.js → CXEroOnb.chunk.js} +2 -2
- package/dist/scripts/{BwuTkpPz.chunk.js.map → CXEroOnb.chunk.js.map} +1 -1
- package/dist/scripts/{DMu9QirA.chunk.js → C_KOP_pH.chunk.js} +2 -2
- package/dist/scripts/{DMu9QirA.chunk.js.map → C_KOP_pH.chunk.js.map} +1 -1
- package/dist/scripts/CbqPW1QD.chunk.js +2 -0
- package/dist/scripts/{COkVtt29.chunk.js.map → CbqPW1QD.chunk.js.map} +1 -1
- package/dist/scripts/{BI2RzMBo.chunk.js → CelK9zYh.chunk.js} +2 -2
- package/dist/scripts/{BI2RzMBo.chunk.js.map → CelK9zYh.chunk.js.map} +1 -1
- package/dist/scripts/{DsAzRbUN.chunk.js → Cj7-nmDw.chunk.js} +2 -2
- package/dist/scripts/{DsAzRbUN.chunk.js.map → Cj7-nmDw.chunk.js.map} +1 -1
- package/dist/scripts/{CoZqjJhl.chunk.js → CkXDJSIC.chunk.js} +2 -2
- package/dist/scripts/{CoZqjJhl.chunk.js.map → CkXDJSIC.chunk.js.map} +1 -1
- package/dist/scripts/CmKuC0AJ.chunk.js +2 -0
- package/dist/scripts/CmKuC0AJ.chunk.js.map +1 -0
- package/dist/scripts/CmQwEhN8.chunk.js +2 -0
- package/dist/scripts/{DX5d-qLN.chunk.js.map → CmQwEhN8.chunk.js.map} +1 -1
- package/dist/scripts/{CKE8GGKH.chunk.js → CsI_aEby.chunk.js} +2 -2
- package/dist/scripts/{CKE8GGKH.chunk.js.map → CsI_aEby.chunk.js.map} +1 -1
- package/dist/scripts/{B9372wBc.chunk.js → CtbOxRCF.chunk.js} +2 -2
- package/dist/scripts/{B9372wBc.chunk.js.map → CtbOxRCF.chunk.js.map} +1 -1
- package/dist/scripts/{Ux2KpCQK.chunk.js → CxNf401G.chunk.js} +2 -2
- package/dist/scripts/{Ux2KpCQK.chunk.js.map → CxNf401G.chunk.js.map} +1 -1
- package/dist/scripts/{CeNx5Kzz.chunk.js → Cxg7zIQ7.chunk.js} +2 -2
- package/dist/scripts/{CeNx5Kzz.chunk.js.map → Cxg7zIQ7.chunk.js.map} +1 -1
- package/dist/scripts/{WuuAAnHZ.chunk.js → CyTjm-iy.chunk.js} +2 -2
- package/dist/scripts/{WuuAAnHZ.chunk.js.map → CyTjm-iy.chunk.js.map} +1 -1
- package/dist/scripts/{CfiDZ6LP.chunk.js → D-XHMtrK.chunk.js} +2 -2
- package/dist/scripts/{CfiDZ6LP.chunk.js.map → D-XHMtrK.chunk.js.map} +1 -1
- package/dist/scripts/{Dur2ee5n.chunk.js → D0Kez51H.chunk.js} +2 -2
- package/dist/scripts/{Dur2ee5n.chunk.js.map → D0Kez51H.chunk.js.map} +1 -1
- package/dist/scripts/{DUWvwOTa.chunk.js → D1O5BdYP.chunk.js} +2 -2
- package/dist/scripts/{DUWvwOTa.chunk.js.map → D1O5BdYP.chunk.js.map} +1 -1
- package/dist/scripts/{OZVJyZgM.chunk.js → D8QwkaNv.chunk.js} +2 -2
- package/dist/scripts/{OZVJyZgM.chunk.js.map → D8QwkaNv.chunk.js.map} +1 -1
- package/dist/scripts/{DvbFBcOQ.chunk.js → DDCwFNmm.chunk.js} +2 -2
- package/dist/scripts/{DvbFBcOQ.chunk.js.map → DDCwFNmm.chunk.js.map} +1 -1
- package/dist/scripts/{Cog61quf.chunk.js → DGdFdv74.chunk.js} +2 -2
- package/dist/scripts/{Cog61quf.chunk.js.map → DGdFdv74.chunk.js.map} +1 -1
- package/dist/scripts/DHQlkDUq.chunk.js +2 -0
- package/dist/scripts/{D0w9N-3T.chunk.js.map → DHQlkDUq.chunk.js.map} +1 -1
- package/dist/scripts/{D1o0K4Kj.chunk.js → DIzcUtXf.chunk.js} +2 -2
- package/dist/scripts/{D1o0K4Kj.chunk.js.map → DIzcUtXf.chunk.js.map} +1 -1
- package/dist/scripts/{BYq9jK40.chunk.js → DLqmmsup.chunk.js} +2 -2
- package/dist/scripts/{BYq9jK40.chunk.js.map → DLqmmsup.chunk.js.map} +1 -1
- package/dist/scripts/DOH54KcJ.chunk.js +2 -0
- package/dist/scripts/DOH54KcJ.chunk.js.map +1 -0
- package/dist/scripts/{CMUKx3aO.chunk.js → DQz3vFm9.chunk.js} +2 -2
- package/dist/scripts/{CMUKx3aO.chunk.js.map → DQz3vFm9.chunk.js.map} +1 -1
- package/dist/scripts/{BHC43d8p.chunk.js → DSuqoCKU.chunk.js} +2 -2
- package/dist/scripts/{BHC43d8p.chunk.js.map → DSuqoCKU.chunk.js.map} +1 -1
- package/dist/scripts/{Bj4aS_x2.chunk.js → DVgGpvRr.chunk.js} +2 -2
- package/dist/scripts/{Bj4aS_x2.chunk.js.map → DVgGpvRr.chunk.js.map} +1 -1
- package/dist/scripts/{j26kM5AB.chunk.js → DVqb0KMG.chunk.js} +2 -2
- package/dist/scripts/{j26kM5AB.chunk.js.map → DVqb0KMG.chunk.js.map} +1 -1
- package/dist/scripts/D_K0UgSq.chunk.js +2 -0
- package/dist/scripts/{DWYleim7.chunk.js.map → D_K0UgSq.chunk.js.map} +1 -1
- package/dist/scripts/{4r-SFWRv.chunk.js → DbQN84Ka.chunk.js} +2 -2
- package/dist/scripts/{4r-SFWRv.chunk.js.map → DbQN84Ka.chunk.js.map} +1 -1
- package/dist/scripts/{CqdCH0OC.chunk.js → DgCvHCTv.chunk.js} +2 -2
- package/dist/scripts/{CqdCH0OC.chunk.js.map → DgCvHCTv.chunk.js.map} +1 -1
- package/dist/scripts/{DZ9Qr412.chunk.js → DhiXbhAO.chunk.js} +2 -2
- package/dist/scripts/{DZ9Qr412.chunk.js.map → DhiXbhAO.chunk.js.map} +1 -1
- package/dist/scripts/{DbIiwJi6.chunk.js → DvMJBGNc.chunk.js} +2 -2
- package/dist/scripts/{DbIiwJi6.chunk.js.map → DvMJBGNc.chunk.js.map} +1 -1
- package/dist/scripts/{DQP0C036.chunk.js → DxppYmgw.chunk.js} +2 -2
- package/dist/scripts/{DQP0C036.chunk.js.map → DxppYmgw.chunk.js.map} +1 -1
- package/dist/scripts/{DlvPyEMc.chunk.js → DzTRfLQn.chunk.js} +2 -2
- package/dist/scripts/{DlvPyEMc.chunk.js.map → DzTRfLQn.chunk.js.map} +1 -1
- package/dist/scripts/EOyUW0EV.chunk.js +2 -0
- package/dist/scripts/{B6wIglzt.chunk.js.map → EOyUW0EV.chunk.js.map} +1 -1
- package/dist/scripts/{Dkw1yxVb.chunk.js → Ft5Mau7n.chunk.js} +2 -2
- package/dist/scripts/{Dkw1yxVb.chunk.js.map → Ft5Mau7n.chunk.js.map} +1 -1
- package/dist/scripts/{EypiXS_y.chunk.js → GIZO-DsR.chunk.js} +2 -2
- package/dist/scripts/{EypiXS_y.chunk.js.map → GIZO-DsR.chunk.js.map} +1 -1
- package/dist/scripts/{C-LZ1Pnr.chunk.js → PEkZnijT.chunk.js} +2 -2
- package/dist/scripts/{C-LZ1Pnr.chunk.js.map → PEkZnijT.chunk.js.map} +1 -1
- package/dist/scripts/{FwSaxfbL.chunk.js → YhHoI_hl.chunk.js} +3 -3
- package/dist/scripts/{FwSaxfbL.chunk.js.map → YhHoI_hl.chunk.js.map} +1 -1
- package/dist/scripts/{app-eQ6keCVj.js → app-DlxnnX-Y.js} +5 -5
- package/dist/scripts/{app-eQ6keCVj.js.map → app-DlxnnX-Y.js.map} +1 -1
- package/dist/scripts/{CBYrUSmz.chunk.js → eF4foLm3.chunk.js} +2 -2
- package/dist/scripts/{CBYrUSmz.chunk.js.map → eF4foLm3.chunk.js.map} +1 -1
- package/dist/scripts/{D4uscADt.chunk.js → faET_EvS.chunk.js} +2 -2
- package/dist/scripts/{D4uscADt.chunk.js.map → faET_EvS.chunk.js.map} +1 -1
- package/dist/scripts/{CtsGHZp3.chunk.js → i36I5rgn.chunk.js} +2 -2
- package/dist/scripts/{CtsGHZp3.chunk.js.map → i36I5rgn.chunk.js.map} +1 -1
- package/dist/scripts/i6PC1lEa.chunk.js +2 -0
- package/dist/scripts/{D8bdW5jN.chunk.js.map → i6PC1lEa.chunk.js.map} +1 -1
- package/dist/scripts/{BYTm1HdJ.chunk.js → mMvgsH8u.chunk.js} +2 -2
- package/dist/scripts/{BYTm1HdJ.chunk.js.map → mMvgsH8u.chunk.js.map} +1 -1
- package/dist/scripts/{1JtZW3TW.chunk.js → nzWgRE-N.chunk.js} +2 -2
- package/dist/scripts/{1JtZW3TW.chunk.js.map → nzWgRE-N.chunk.js.map} +1 -1
- package/dist/scripts/{DqYjDOWl.chunk.js → uFAznmkx.chunk.js} +2 -2
- package/dist/scripts/{DqYjDOWl.chunk.js.map → uFAznmkx.chunk.js.map} +1 -1
- package/dist/scripts/{zFY--sWD.chunk.js → wC1U3zaB.chunk.js} +2 -2
- package/dist/scripts/{zFY--sWD.chunk.js.map → wC1U3zaB.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/B6wIglzt.chunk.js +0 -2
- package/dist/scripts/BnkjQdg-.chunk.js +0 -2
- package/dist/scripts/ByM31Op_.chunk.js +0 -2
- package/dist/scripts/ByM31Op_.chunk.js.map +0 -1
- package/dist/scripts/COkVtt29.chunk.js +0 -2
- package/dist/scripts/D0w9N-3T.chunk.js +0 -2
- package/dist/scripts/D8bdW5jN.chunk.js +0 -2
- package/dist/scripts/DWYleim7.chunk.js +0 -2
- package/dist/scripts/DX5d-qLN.chunk.js +0 -2
- package/dist/scripts/DoJDzZ7U.chunk.js +0 -15
- package/dist/scripts/DoJDzZ7U.chunk.js.map +0 -1
- package/dist/scripts/k5oLm6N7.chunk.js +0 -2
- package/dist/scripts/k5oLm6N7.chunk.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{an as b,U as o,m as L,S as l,j as s,aj as A,a3 as f,l as k,ao as N,a as w,b as C,L as I,ac as q,af as B,ae as O,ad as U,a5 as R}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{an as b,U as o,m as L,S as l,j as s,aj as A,a3 as f,l as k,ao as N,a as w,b as C,L as I,ac as q,af as B,ae as O,ad as U,a5 as R}from"./app-DlxnnX-Y.js";import{P as T,B as W,V as F}from"./faET_EvS.chunk.js";import{P as S,u as H,I as G}from"./BMTawQoz.chunk.js";import{u as _,a as D,V as M}from"./uFAznmkx.chunk.js";import{h as X}from"./BaNAbBYa.chunk.js";import{u as Y}from"./BSZHRB-3.chunk.js";import{u as Q}from"./CmQwEhN8.chunk.js";import{E as z}from"./B9q9og3n.chunk.js";import{a as J}from"./nzWgRE-N.chunk.js";import{b as K,a as Z}from"./A03ti58C.chunk.js";import"./_sYSSSUN.chunk.js";import"./DbQN84Ka.chunk.js";import"./BQiCELUH.chunk.js";import"./CsI_aEby.chunk.js";import"./eF4foLm3.chunk.js";import"./BQz8nP4M.chunk.js";import"./CNat3TfQ.chunk.js";import"./BfA6QK2M.chunk.js";import"./DzTRfLQn.chunk.js";import"./BlDVEZsX.chunk.js";import"./DxppYmgw.chunk.js";import"./pkzD5BEm.chunk.js";import"./Bvlv6PGR.chunk.js";import"./BbGFMokw.chunk.js";import"./B3hUKuRr.chunk.js";import"./CKbq02SS.chunk.js";import"./DIzcUtXf.chunk.js";import"./BTJwiZTv.chunk.js";import"./59HBVVj3.chunk.js";import"./CXEroOnb.chunk.js";import"./Cxg7zIQ7.chunk.js";import"./BD8uJxiB.chunk.js";import"./BiAKqJdD.chunk.js";const j={sharedSeries:(e,t)=>o.urlBuilder(`/api/objects/${e}`,{query:l.SERIES,shareId:t}),seriesWithVideos:(e,t=3)=>`{gateway}/v1/objects/${e}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${t}}`},ee={series(e){const t={query:l.SERIES};return{url:o.urlBuilder(`{gateway}/v1/objects/${e}`,t),publicUrl:o.urlBuilder(`/api/objects/${e}`,t),key:`series:${e}`}},sharedSeries(e,t){return{url:j.sharedSeries(e,t),key:`shared:series:${e}:${t}`}},seriesWithVideos(e,t=3){return{url:j.seriesWithVideos(e,t),key:`series:${e}:with:videos:${t}`}},seriesWithThumbnailAndCount(e){return{url:`{gateway}/v1/objects/${e}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,key:`series:${e}:thumbnail:count`}},seriesVideos(e,t,n,r){const a=b.getVideoSortParam(n),u=["series",e,"videos",r,n].filter(c=>!!c).join(":");return{url:o.urlBuilder(`{gateway}/v1/collections/${e}/videos`,{query:`{${a}}${l.VIDEO_COLLECTION}`,cursor:r}),publicUrl:o.urlBuilder(`/api/objects/collections/${e}/videos`,{query:`{${a}}${L.VIDEO_COLLECTION}`,cursor:r}),key:u}}};function se(){return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"partial-loading-background pb-4 mb-3 w-50"}),s.jsx("div",{className:"d-flex align-items-center justify-content-between mb-2",children:s.jsx(T,{})}),s.jsx("div",{className:"mx-n2",children:s.jsx(S,{})})]})}const te="exchange.exchangeSeries",g=I.encloseNamespace(te);function Oe(e){var x;const t=A(),n=Y(),r=f(ee.series(e.seriesId)),a=f(R.currentUser());k({title:(x=r.data)==null?void 0:x.name}),Q(r);const{commonVideoProps:u}=_(),c=!!a.data&&b.getOrSetSortType(a.data.id,e.sort,N.ProductionYear,"series"),{items:d,hasMore:y,isFetching:m,nextCursor:v}=H(p,h,V);function p(i){return z.seriesVideos(e.seriesId,c,i)}function h(i){return t(p(i))}function V(i,$){if(i===1)return X($);n.error(g("error"))}const E=J("video-list"),P=r.data?[{name:g("exchangeArchive"),appLink:{application:C.EXCHANGE,action:w.Exchange.INDEX}},{name:r.data.name,active:!0}]:[];return!r.data||m?s.jsx(se,{}):s.jsxs(D.Provider,{value:E,children:[s.jsx("h1",{className:"h2",children:r.data.name}),s.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[s.jsx(W,{breadcrumbs:P}),s.jsx(F,{variant:"outline-dark",type:c,getSortAppLink:i=>K(r.data,i),analyticsOptions:{location:U.VideoListHeader,entity:O.Video,actionType:B.Sort,workflowPhase:q.Complete},includeProductionYear:!0})]}),s.jsxs("div",{className:"pb-3",children:[d?s.jsx(M,{videos:d,getVideoAppLink:Z,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:u}):s.jsx("div",{className:"mx-n2",children:s.jsx(S,{})}),(y||m)&&s.jsx(G,{isFetching:m,fetchNext:h,nextCursor:v})]})]})}export{Oe as ExchangeSeriesView};
|
|
2
|
+
//# sourceMappingURL=wC1U3zaB.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zFY--sWD.chunk.js","sources":["../../../../libs/shared/src/flight-requests/SeriesRequests.ts","../../src/apps/exchange/views/exchange-series/partial-loading/PartialExchangeSeries.tsx","../../src/apps/exchange/views/exchange-series/ExchangeSeriesView.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { PublicWithStatement, SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nconst endpoints = {\n sharedSeries: (id: string, shareId: string) => UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: SharedWithStatements.SERIES,\n shareId\n }),\n seriesWithVideos: (id: string, videoCount: number = 3) => {\n return `{gateway}/v1/objects/${id}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${videoCount}}`;\n }\n};\n\nexport const SeriesRequests = {\n series(id: string): Flight.PublicRequest {\n const queryStringObj = { query: SharedWithStatements.SERIES };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, queryStringObj),\n key: `series:${id}`\n };\n },\n sharedSeries(id: string, shareId: string): Flight.Request {\n return {\n url: endpoints.sharedSeries(id, shareId),\n key: `shared:series:${id}:${shareId}`\n };\n },\n seriesWithVideos(id: string, videoCount: number = 3): Flight.Request {\n return {\n url: endpoints.seriesWithVideos(id, videoCount),\n key: `series:${id}:with:videos:${videoCount}`\n };\n },\n seriesWithThumbnailAndCount(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,\n key: `series:${id}:thumbnail:count`\n };\n },\n seriesVideos(id: string, userId?: string, sort?: VideoSortType, cursor?: string): Flight.PublicRequest {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n\n const key = [ 'series', id, 'videos', cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/collections/${id}/videos`, {\n query: `{${sortFilter}}${SharedWithStatements.VIDEO_COLLECTION}`,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/collections/${id}/videos`, {\n query: `{${sortFilter}}${PublicWithStatement.VIDEO_COLLECTION}`,\n cursor\n }),\n key\n };\n }\n};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function PartialExchangeSeries() {\n return (\n <>\n <div\n className='partial-loading-background pb-4 mb-3 w-50'\n ></div>\n\n <div className='d-flex align-items-center justify-content-between mb-2'>\n <PartialBreadcrumbs />\n </div>\n \n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Series, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getSeriesAppLink, getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nimport { PartialExchangeSeries } from './partial-loading/PartialExchangeSeries';\n\nconst namespace = 'exchange.exchangeSeries';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSeriesViewProps {\n seriesId: string;\n sort: VideoSortType;\n}\n\nexport function ExchangeSeriesView(props: ExchangeSeriesViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const series = Flight.useBasicFetch<Series>(SeriesRequests.series(props.seriesId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n useSetPageMetadata({ title: series.data?.name });\n useHandleObjectError(series);\n\n const { commonVideoProps } = useCommonVideoProps();\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data\n && VideoSortHelper.getOrSetSortType(currentUser.data.id, props.sort, VideoSortType.ProductionYear, 'series');\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.seriesVideos(props.seriesId, sort, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const videoActions = useGetExchangeActions('video-list');\n\n const breadcrumbs = series.data ? [{\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }, {\n name: series.data.name,\n active: true\n }] : [];\n\n if (!series.data || isFetching)\n return <PartialExchangeSeries />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <h1 className='h2'>{series.data.name}</h1>\n\n <div className='d-flex justify-content-between align-items-center'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getSeriesAppLink(series.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n includeProductionYear\n />\n </div>\n\n <div className='pb-3'>\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["endpoints","id","shareId","UrlHelper","SharedWithStatements","videoCount","SeriesRequests","queryStringObj","userId","sort","cursor","sortFilter","VideoSortHelper","key","k","PublicWithStatement","PartialExchangeSeries","jsxs","Fragment","jsx","PartialBreadcrumbs","PartialVideoList","namespace","getPhrase","LanguageService","ExchangeSeriesView","props","fetch","Flight.useGetFetch","alerts","useAlerts","series","Flight.useBasicFetch","currentUser","UserRequests","useSetPageMetadata","_a","useHandleObjectError","commonVideoProps","useCommonVideoProps","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","videoActions","useGetExchangeActions","breadcrumbs","AppChannels","Actions","VideoActionsContext","Breadcrumbs","VideoSortSelect","getSeriesAppLink","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","InfiniteScrollFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wC1U3zaB.chunk.js","sources":["../../../../libs/shared/src/flight-requests/SeriesRequests.ts","../../src/apps/exchange/views/exchange-series/partial-loading/PartialExchangeSeries.tsx","../../src/apps/exchange/views/exchange-series/ExchangeSeriesView.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { PublicWithStatement, SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nconst endpoints = {\n sharedSeries: (id: string, shareId: string) => UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: SharedWithStatements.SERIES,\n shareId\n }),\n seriesWithVideos: (id: string, videoCount: number = 3) => {\n return `{gateway}/v1/objects/${id}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${videoCount}}`;\n }\n};\n\nexport const SeriesRequests = {\n series(id: string): Flight.PublicRequest {\n const queryStringObj = { query: SharedWithStatements.SERIES };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, queryStringObj),\n key: `series:${id}`\n };\n },\n sharedSeries(id: string, shareId: string): Flight.Request {\n return {\n url: endpoints.sharedSeries(id, shareId),\n key: `shared:series:${id}:${shareId}`\n };\n },\n seriesWithVideos(id: string, videoCount: number = 3): Flight.Request {\n return {\n url: endpoints.seriesWithVideos(id, videoCount),\n key: `series:${id}:with:videos:${videoCount}`\n };\n },\n seriesWithThumbnailAndCount(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,\n key: `series:${id}:thumbnail:count`\n };\n },\n seriesVideos(id: string, userId?: string, sort?: VideoSortType, cursor?: string): Flight.PublicRequest {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n\n const key = [ 'series', id, 'videos', cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/collections/${id}/videos`, {\n query: `{${sortFilter}}${SharedWithStatements.VIDEO_COLLECTION}`,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/collections/${id}/videos`, {\n query: `{${sortFilter}}${PublicWithStatement.VIDEO_COLLECTION}`,\n cursor\n }),\n key\n };\n }\n};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function PartialExchangeSeries() {\n return (\n <>\n <div\n className='partial-loading-background pb-4 mb-3 w-50'\n ></div>\n\n <div className='d-flex align-items-center justify-content-between mb-2'>\n <PartialBreadcrumbs />\n </div>\n \n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Series, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getSeriesAppLink, getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nimport { PartialExchangeSeries } from './partial-loading/PartialExchangeSeries';\n\nconst namespace = 'exchange.exchangeSeries';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSeriesViewProps {\n seriesId: string;\n sort: VideoSortType;\n}\n\nexport function ExchangeSeriesView(props: ExchangeSeriesViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const series = Flight.useBasicFetch<Series>(SeriesRequests.series(props.seriesId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n useSetPageMetadata({ title: series.data?.name });\n useHandleObjectError(series);\n\n const { commonVideoProps } = useCommonVideoProps();\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data\n && VideoSortHelper.getOrSetSortType(currentUser.data.id, props.sort, VideoSortType.ProductionYear, 'series');\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.seriesVideos(props.seriesId, sort, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const videoActions = useGetExchangeActions('video-list');\n\n const breadcrumbs = series.data ? [{\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }, {\n name: series.data.name,\n active: true\n }] : [];\n\n if (!series.data || isFetching)\n return <PartialExchangeSeries />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <h1 className='h2'>{series.data.name}</h1>\n\n <div className='d-flex justify-content-between align-items-center'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getSeriesAppLink(series.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n includeProductionYear\n />\n </div>\n\n <div className='pb-3'>\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["endpoints","id","shareId","UrlHelper","SharedWithStatements","videoCount","SeriesRequests","queryStringObj","userId","sort","cursor","sortFilter","VideoSortHelper","key","k","PublicWithStatement","PartialExchangeSeries","jsxs","Fragment","jsx","PartialBreadcrumbs","PartialVideoList","namespace","getPhrase","LanguageService","ExchangeSeriesView","props","fetch","Flight.useGetFetch","alerts","useAlerts","series","Flight.useBasicFetch","currentUser","UserRequests","useSetPageMetadata","_a","useHandleObjectError","commonVideoProps","useCommonVideoProps","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","videoActions","useGetExchangeActions","breadcrumbs","AppChannels","Actions","VideoActionsContext","Breadcrumbs","VideoSortSelect","getSeriesAppLink","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","InfiniteScrollFooter"],"mappings":"4rCAOA,MAAMA,EAAY,CAChB,aAAc,CAACC,EAAYC,IAAoBC,EAAU,WAAW,gBAAgBF,CAAE,GAAI,CACxF,MAAOG,EAAqB,OAC5B,QAAAF,CAAA,CACD,EACD,iBAAkB,CAACD,EAAYI,EAAqB,IAC3C,wBAAwBJ,CAAE,+DAA+DI,CAAU,GAE9G,EAEaC,GAAiB,CAC5B,OAAOL,EAAkC,CACvC,MAAMM,EAAiB,CAAE,MAAOH,EAAqB,MAAA,EAErD,MAAO,CACL,IAAKD,EAAU,WAAW,wBAAwBF,CAAE,GAAIM,CAAc,EACtE,UAAWJ,EAAU,WAAW,gBAAgBF,CAAE,GAAIM,CAAc,EACpE,IAAK,UAAUN,CAAE,EAAA,CAErB,EACA,aAAaA,EAAYC,EAAiC,CACxD,MAAO,CACL,IAAKF,EAAU,aAAaC,EAAIC,CAAO,EACvC,IAAK,iBAAiBD,CAAE,IAAIC,CAAO,EAAA,CAEvC,EACA,iBAAiBD,EAAYI,EAAqB,EAAmB,CACnE,MAAO,CACL,IAAKL,EAAU,iBAAiBC,EAAII,CAAU,EAC9C,IAAK,UAAUJ,CAAE,gBAAgBI,CAAU,EAAA,CAE/C,EACA,4BAA4BJ,EAA4B,CACtD,MAAO,CACL,IAAK,wBAAwBA,CAAE,kEAC/B,IAAK,UAAUA,CAAE,kBAAA,CAErB,EACA,aAAaA,EAAYO,EAAiBC,EAAsBC,EAAuC,CACrG,MAAMC,EAAaC,EAAgB,kBAAkBH,CAAI,EAEnDI,EAAM,CAAE,SAAUZ,EAAI,SAAUS,EAAQD,CAAK,EAAE,UAAY,CAAC,CAACK,CAAC,EAAE,KAAK,GAAG,EAE9E,MAAO,CACL,IAAKX,EAAU,WAAW,4BAA4BF,CAAE,UAAW,CACjE,MAAO,IAAIU,CAAU,IAAIP,EAAqB,gBAAgB,GAC9D,OAAAM,CAAA,CACD,EACD,UAAWP,EAAU,WAAW,4BAA4BF,CAAE,UAAW,CACvE,MAAO,IAAIU,CAAU,IAAII,EAAoB,gBAAgB,GAC7D,OAAAL,CAAA,CACD,EACD,IAAAG,CAAA,CAEJ,CACF,ECzDO,SAASG,IAAwB,CACtC,OACEC,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAC,EAAAA,IAAC,MAAA,CACC,UAAU,2CAAA,CAAA,QAGX,MAAA,CAAI,UAAU,yDACb,SAAAA,MAACC,IAAmB,EACtB,QAEC,MAAA,CAAI,UAAU,QACb,SAAAD,EAAAA,IAACE,IAAiB,CAAA,CACpB,CAAA,EACF,CAEJ,CCcA,MAAMC,GAAY,0BACZC,EAAYC,EAAgB,iBAAiBF,EAAS,EAOrD,SAASG,GAAmBC,EAA6C,OAC9E,MAAMC,EAAQC,EAAO,EACfC,EAASC,EAAA,EAETC,EAASC,EAA6B1B,GAAe,OAAOoB,EAAM,QAAQ,CAAC,EAC3EO,EAAcD,EAAkCE,EAAa,aAAa,EAEhFC,EAAmB,CAAE,OAAOC,EAAAL,EAAO,OAAP,YAAAK,EAAa,KAAM,EAC/CC,EAAqBN,CAAM,EAE3B,KAAM,CAAE,iBAAAO,CAAA,EAAqBC,EAAA,EAGvB9B,EAAO,CAAC,CAACwB,EAAY,MACtBrB,EAAgB,iBAAiBqB,EAAY,KAAK,GAAIP,EAAM,KAAMc,EAAc,eAAgB,QAAQ,EAEvG,CACJ,MAAOC,EACP,QAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACEC,EAAuBC,EAAkBC,EAAiBC,CAAO,EAErE,SAASF,EAAiBpC,EAAiC,CACzD,OAAOuC,EAAiB,aAAavB,EAAM,SAAUjB,EAAMC,CAAM,CACnE,CAEA,SAASqC,EAAgBrC,EAAuB,CAC9C,OAAOiB,EAAMmB,EAAiBpC,CAAM,CAAC,CACvC,CAEA,SAASsC,EAAQE,EAAoBC,EAA8B,CACjE,GAAID,IAAe,EACjB,OAAOE,EAAgBD,CAAU,EAEnCtB,EAAO,MAAMN,EAAU,OAAO,CAAC,CACjC,CAEA,MAAM8B,EAAeC,EAAsB,YAAY,EAEjDC,EAAcxB,EAAO,KAAO,CAAC,CACjC,KAAMR,EAAU,iBAAiB,EACjC,QAAS,CACP,YAAaiC,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC3B,EACC,CACD,KAAM1B,EAAO,KAAK,KAClB,OAAQ,EAAA,CACT,EAAI,CAAA,EAEL,MAAI,CAACA,EAAO,MAAQY,QACV3B,GAAA,EAAsB,EAG9BC,EAAAA,KAACyC,EAAoB,SAApB,CAA6B,MAAOL,EACnC,SAAA,CAAAlC,MAAC,KAAA,CAAG,UAAU,KAAM,SAAAY,EAAO,KAAK,KAAK,EAErCd,EAAAA,KAAC,MAAA,CAAI,UAAU,oDACb,SAAA,CAAAE,MAACwC,GAAY,YAAAJ,EAA0B,EAEvCpC,EAAAA,IAACyC,EAAA,CACC,QAAQ,eACR,KAAMnD,EACN,eAAgBA,GAAQoD,EAAiB9B,EAAO,KAAMtB,CAAI,EAC1D,iBAAkB,CAChB,SAAUqD,EAAgB,gBAC1B,OAAQC,EAAW,MACnB,WAAYC,EAAW,KACvB,cAAeC,EAAc,QAAA,EAE/B,sBAAqB,EAAA,CAAA,CACvB,EACF,EAEAhD,EAAAA,KAAC,MAAA,CAAI,UAAU,OACZ,SAAA,CAAAwB,EACCtB,EAAAA,IAAC+C,EAAA,CACC,OAAAzB,EACA,gBAAA0B,EACA,sBAAuB,KACvB,2BAA4B,IAAM,KAClC,eAAgB,IAAM,GACtB,kBAAiB,GACjB,iBAAA7B,CAAA,CAAA,EAEFnB,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,MAACE,IAAiB,EACpB,GAGAqB,GAAWC,IACXxB,EAAAA,IAACiD,EAAA,CACC,WAAAzB,EACA,UAAWI,EACX,WAAAH,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,EACF,CAEJ"}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aj as g,a3 as V,l as j,L as E,j as e}from"./app-eQ6keCVj.js";import{u as v,P,I as A}from"./DfLXqnWC.chunk.js";import{u as L,a as R,V as N}from"./DqYjDOWl.chunk.js";import{h as F}from"./D91xJv6J.chunk.js";import{u as S}from"./p9Hw1u0F.chunk.js";import{E as C}from"./CxZxk1HQ.chunk.js";import{E as G}from"./OZVJyZgM.chunk.js";import{E as n}from"./CQnwddP2.chunk.js";import{a as I}from"./1JtZW3TW.chunk.js";import{a as M}from"./DkVa76dg.chunk.js";import"./COMMZ5NT.chunk.js";import"./CKE8GGKH.chunk.js";import"./CBYrUSmz.chunk.js";import"./Dj2iNM2-.chunk.js";import"./_sYSSSUN.chunk.js";import"./5jG1qquw.chunk.js";import"./BnkjQdg-.chunk.js";import"./DlvPyEMc.chunk.js";import"./BlDVEZsX.chunk.js";import"./DQP0C036.chunk.js";import"./pkzD5BEm.chunk.js";import"./BZp1TuCa.chunk.js";import"./e9ZqHdMv.chunk.js";import"./BKID_sLP.chunk.js";import"./lO5fmjgI.chunk.js";import"./D1o0K4Kj.chunk.js";import"./Ci21j_NU.chunk.js";import"./B1IKzVyn.chunk.js";import"./BwuTkpPz.chunk.js";import"./CeNx5Kzz.chunk.js";import"./DsAzRbUN.chunk.js";import"./DoJDzZ7U.chunk.js";import"./Doc0JWTn.chunk.js";import"./0Rgjdcqz.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=B6wIglzt.chunk.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as t,W as I,ad as U,ae as O,af as H,A as B,c as $,R,aB as L,aq as W,a as T,b as x,a3 as p,u as V,aT as G,l as Y,L as F,aD as q}from"./app-eQ6keCVj.js";import{P as K}from"./DoJDzZ7U.chunk.js";import{h as Z}from"./D91xJv6J.chunk.js";import{u as z}from"./DX5d-qLN.chunk.js";import{P as S,A as _,a as X}from"./CYuWFG4C.chunk.js";import{T as J,a as Q}from"./j26kM5AB.chunk.js";import{T as ee,a as te}from"./CMUKx3aO.chunk.js";import{T as f}from"./dlcOoTX2.chunk.js";import{u as ae}from"./DWYleim7.chunk.js";import{u as ne}from"./DbB0S2ZQ.chunk.js";import{t as se}from"./aImHyMo0.chunk.js";import{L as re}from"./CBYrUSmz.chunk.js";import{T as oe}from"./BYq9jK40.chunk.js";import"./e9ZqHdMv.chunk.js";import"./BlDVEZsX.chunk.js";import"./DQP0C036.chunk.js";import"./CKE8GGKH.chunk.js";import"./S6sUSK4X.chunk.js";import"./Dj2iNM2-.chunk.js";import"./DsAzRbUN.chunk.js";const ie="_pillTabSelector_1d8n6_1",le={pillTabSelector:ie},A=["All","#","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],ce={"#":"0"},de={actionType:H.Click,entity:O.Url,location:U.MagicTabs};function me(e,s){if(!e)return;if(e==="0")return"#";const r=A.find(a=>a.toUpperCase()===e.toUpperCase());if(!(r==="All"&&!s))return r}function ge(e){return A.map(s=>{if(s==="All"&&!e.showAll)return;const r=e.getItemAppLink(ce[s]??s);return{name:s,appLink:r,active:e.selected===s,analyticsData:{name:s,url:B.getHref(r)},analyticsOptions:de}}).filter(Boolean)}function ue(e){const s=me(e.selected,e.showAll),r=ge({selected:s,showAll:e.showAll,getItemAppLink:e.getItemAppLink});return t.jsx("div",{className:I(e.noMarginBottom?"mb-0":"mb-3",e.className),children:t.jsx(K,{tabs:r,className:le.pillTabSelector,enableSmallScreenSupport:e.enableSmallScreenSupport,formatDisplayText:e.formatDisplayText})})}const pe="_dateContainer_b9acj_1",he="_hover_b9acj_4",fe="_channelLogo_b9acj_7",Te="_channelLogoContainer_b9acj_10",xe="_programsContainer_b9acj_13",je="_date_b9acj_1",ve="_thumbnail_b9acj_27",g={dateContainer:pe,hover:he,channelLogo:fe,channelLogoContainer:Te,programsContainer:xe,date:je,thumbnail:ve};function be(e){function s(r){const a=$.findWhere(e.channels,{name:r});return a==null?void 0:a.logoUrl}return t.jsx("div",{className:"mb-2",children:e.groupedPrograms.map(([r,a])=>t.jsxs("div",{className:"border-top d-flex pt-3 pb-2",children:[t.jsx("div",{className:`${g.channelLogoContainer} flex-shrink-0 mb-3`,children:t.jsx("img",{src:s(r),alt:r,className:`${g.channelLogo} ms-4`})}),t.jsx("div",{className:"w-100",children:a.map(([i,n])=>t.jsx(Le,{date:i,programs:n,tvPreviewUrls:e.tvPreviewUrls},i))})]},r))})}function Le(e){const[s,r]=R.useState();function a(n){switch(n.programType){case S.Video:return{application:x.TV,action:T.Tv.PREVIEW,args:[n.regionCode,n.id]};case S.Audio:return{application:x.TV,action:T.Tv.RADIO_DOWNLOAD,args:[n.id]}}}function i(n){const j=e.tvPreviewUrls[n.regionCode],m=n.globalId.split("-").join("");return`${j}/thumbnail/${m}.jpg`}return t.jsx("div",{className:`${g.dateContainer} ${s?g.hover:""} py-2 px-3 rounded`,children:t.jsxs("div",{className:"d-flex align-items-center",children:[t.jsx("div",{className:`${g.thumbnail} flex-shrink-0 me-3 partial-loading-background rounded`,children:t.jsx(re,{src:i(s||e.programs[0]),alt:L.format(e.date,"D MMM"),extraClasses:"w-100 rounded"})}),t.jsxs("p",{className:`${g.date} fw-semibold flex-shrink-0 mb-0`,children:[L.format(e.date,"D MMM"),":"]}),t.jsx("div",{className:`${g.programsContainer} d-flex flex-wrap`,children:e.programs.map(n=>t.jsx("div",{onMouseEnter:()=>r(n),onMouseLeave:()=>r(null),children:t.jsx(W,{appLink:a(n),className:"text-decoration-none",children:t.jsx(oe,{program:n,showEndTime:!0})},n.id)},n.id))})]},e.date)})}const Ae="tv.programs",Pe=F.encloseNamespace(Ae),Ce=/^[a-zA-Z]/;function qe(e){const s=e.startsWith||"A",r=p(q.config()),a=p(f.region(e.region)),i=p(f.regions()),n=p(f.dateRange(e.region)),j=p(a.data&&f.channels(a.data.code)),m=p(a.data&&n.data&&f.programsByLetter(a.data.code,s,n.data.startDate,n.data.endDate)),{setRegion:N}=ne(),{liteUpgradeTypeCustomer:y}=V(null),w=R.useMemo(()=>{var C;if(!((C=m.data)!=null&&C.length))return[];const l={};m.data.forEach(o=>{e.startsWith==="0"&&Ce.test(o.title)||(l[o.title]||(l[o.title]=[]),l[o.title].push(o))});let c=Object.entries(l);return c=c.sort(([o],[v])=>o<v?-1:1),c.map(([o,v])=>{const E=v.reduce((d,u)=>{const h=u.channelName;d[h]||(d[h]={});const D=se(u.startTime,u.timeZone),b=L.format(D,"YYYY-MM-DD");return d[h][b]||(d[h][b]=[]),d[h][b].push(u),d},{}),k=Object.entries(E).map((([d,u])=>[d,Object.entries(u)]));return[o,k]})},[m.data]);[...A,"0"].includes(s)||Z(G.BadRequest),ae(a),z([i,m]),Y({title:Pe("title")});const M=a.hasCompleted&&i.hasCompleted&&n.hasCompleted&&m.hasCompleted&&r.hasCompleted;return t.jsxs(t.Fragment,{children:[t.jsx(ee,{region:a.data}),t.jsxs("div",{className:"d-flex justify-content-between",children:[t.jsx(J,{active:"programs",currentRegion:a.data,showTvGuide:!!y,config:r.data}),t.jsx(te,{currentRegion:a.data,regions:i.data,appLink:{application:x.TV,action:T.Tv.PROGRAMS,params:{startsWith:s}},onClick:N})]}),t.jsx(Q,{dateRange:n.data,region:a.data}),t.jsx(ue,{selected:s,getItemAppLink:l=>{var c;return{application:x.TV,action:T.Tv.PROGRAMS,args:[(c=a.data)==null?void 0:c.code],params:{startsWith:l}}}}),M?t.jsx(t.Fragment,{children:t.jsx(_,{children:w.map(([l,c],P)=>t.jsx(_.Header,{title:l,children:t.jsx(be,{groupedPrograms:c,channels:j.data,tvPreviewUrls:r.data.tvPreviewUrls})},P))})}):t.jsx(X,{})]})}export{qe as TvProgramsView};
|
|
2
|
-
//# sourceMappingURL=ByM31Op_.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ByM31Op_.chunk.js","sources":["../../../../libs/shared/src/components/letters-bar/LettersBar.tsx","../../src/apps/tv/views/tv-programs/components/program-selector/ProgramSelector.tsx","../../src/apps/tv/views/tv-programs/TvProgramsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTab, PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport styles from './letters-bar.module.scss';\n\nexport const ALPHABET = [\n 'All',\n '#',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'\n] as const;\n\ntype LetterBarOptions = typeof ALPHABET[number];\n\nconst LetterParamMap: {[key in LetterBarOptions]?: string} = {\n '#': '0'\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\nfunction getSelectedAlphabet(selected: string, showAll: boolean): LetterBarOptions | undefined {\n if (!selected)\n return;\n \n if (selected === '0')\n return '#';\n\n const alphabet = ALPHABET.find(letter => letter.toUpperCase() === selected.toUpperCase());\n\n if (alphabet === 'All' && !showAll)\n return;\n\n return alphabet;\n}\n\ninterface GenerateTabsOptions {\n selected: string;\n showAll: boolean;\n getItemAppLink: (letter: string) => Core.AppLink;\n}\n\nfunction generateTabs(options: GenerateTabsOptions): PillTab[] {\n return ALPHABET.map(letter => {\n if (letter === 'All' && !options.showAll)\n return;\n\n const appLink = options.getItemAppLink(LetterParamMap[letter] ?? letter);\n\n return {\n name: letter,\n appLink,\n active: options.selected === letter,\n analyticsData: {\n name: letter,\n url: Core.AppLinkHelper.getHref(appLink)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n };\n }).filter(Boolean);\n}\n\ninterface LettersBarProps {\n selected: string;\n getItemAppLink: (letter: string) => Core.AppLink;\n showAll?: boolean;\n enableSmallScreenSupport?: boolean;\n formatDisplayText?: (name: string) => string;\n className?: string;\n noMarginBottom?: boolean;\n}\n\nexport function LettersBar(props: LettersBarProps): JSX.Element {\n const localSelected = getSelectedAlphabet(props.selected, props.showAll);\n\n const tabs = generateTabs({\n selected: localSelected,\n showAll: props.showAll,\n getItemAppLink: props.getItemAppLink\n });\n \n return (\n <div className={classNames(props.noMarginBottom ? 'mb-0' : 'mb-3', props.className)}>\n <PillTabSelector\n tabs={tabs}\n className={styles.pillTabSelector}\n enableSmallScreenSupport={props.enableSmallScreenSupport}\n formatDisplayText={props.formatDisplayText}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvProgramTimeBadge } from 'apps/tv/components/tv-program-time-badge/TvProgramTimeBadge';\nimport { ProgramType } from 'apps/tv/interfaces/enums/ProgramType';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\n\nimport styles from './program-selector.module.scss';\n\ninterface ProgramSelectorProps {\n groupedPrograms: [string, [string, TvProgram[]][]][];\n channels: TvChannel[];\n tvPreviewUrls: { [region: string]: string };\n}\n\nexport function ProgramSelector(props: ProgramSelectorProps) {\n function getChannelLogo(channel: string) {\n const matchingChannel = ArrayHelper.findWhere(props.channels, { name: channel });\n return matchingChannel?.logoUrl;\n }\n\n return (\n <div className='mb-2'>\n {props.groupedPrograms.map(([ channel, dates ]) => (\n <div className={`border-top d-flex pt-3 pb-2`} key={channel}>\n <div className={`${styles.channelLogoContainer} flex-shrink-0 mb-3`}>\n <img src={getChannelLogo(channel)} alt={channel} className={`${styles.channelLogo} ms-4`} />\n </div>\n\n <div className='w-100'>\n {dates.map(([ date, programs ]) => (\n <GroupedPrograms key={date} date={date} programs={programs} tvPreviewUrls={props.tvPreviewUrls} />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\ninterface GroupedProgramsProps {\n date: string;\n programs: TvProgram[];\n tvPreviewUrls: { [region: string]: string };\n}\n\nexport function GroupedPrograms(props: GroupedProgramsProps) {\n const [ hoveredProgram, setHoveredProgram ] = React.useState<TvProgram>();\n\n function getProgramAppLink(program: TvProgram) {\n switch (program.programType) {\n case ProgramType.Video:\n return {\n application: AppChannels.TV,\n action: Actions.Tv.PREVIEW,\n args: [ program.regionCode, program.id ]\n };\n case ProgramType.Audio:\n return {\n application: AppChannels.TV,\n action: Actions.Tv.RADIO_DOWNLOAD,\n args: [program.id]\n };\n }\n }\n\n function getThumbnailUrl(program: TvProgram) {\n const previewUrl = props.tvPreviewUrls[program.regionCode];\n const globalId = program.globalId.split('-').join('');\n return `${previewUrl}/thumbnail/${globalId}.jpg`;\n }\n\n return (\n <div\n className={`${styles.dateContainer} ${hoveredProgram ? styles.hover : ''} py-2 px-3 rounded`}\n >\n <div key={props.date} className={`d-flex align-items-center`}>\n <div className={`${styles.thumbnail} flex-shrink-0 me-3 partial-loading-background rounded`}>\n <LazyImage\n src={getThumbnailUrl(hoveredProgram || props.programs[0])}\n alt={DateHelper.format(props.date, 'D MMM')}\n extraClasses='w-100 rounded'\n />\n </div>\n <p className={`${styles.date} fw-semibold flex-shrink-0 mb-0`}>{DateHelper.format(props.date, 'D MMM')}:</p>\n <div className={`${styles.programsContainer} d-flex flex-wrap`}>\n {props.programs.map((program: TvProgram) => (\n <div\n key={program.id}\n onMouseEnter={() => setHoveredProgram(program)}\n onMouseLeave={() => setHoveredProgram(null)}\n >\n <AppLink appLink={getProgramAppLink(program)} key={program.id} className='text-decoration-none'>\n <TvProgramTimeBadge program={program} showEndTime />\n </AppLink>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { ALPHABET, LettersBar } from 'libs/shared/components/letters-bar/LettersBar';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config } from 'libs/shared/interfaces';\n\nimport { AccordionList } from 'shared/components/accordion-list/AccordionList';\nimport { PartialAccordionList } from 'shared/components/accordion-list/partial-loading/PartialAccordionList';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\nimport { ProgramSelector } from 'apps/tv/views/tv-programs/components/program-selector/ProgramSelector';\n\nconst namespace = 'tv.programs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst FIRST_LETTER_REGEX = /^[a-zA-Z]/;\n\ninterface TvProgramsViewProps {\n region: string;\n startsWith: string;\n}\n\nexport function TvProgramsView(props: TvProgramsViewProps): JSX.Element {\n const startsWith = props.startsWith || 'A';\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const channels = Flight.useBasicFetch<TvChannel[]>(\n region.data && TvRequests.channels(region.data.code)\n );\n\n const programs = Flight.useBasicFetch<TvProgram[]>(\n region.data &&\n dateRange.data &&\n TvRequests.programsByLetter(\n region.data.code,\n startsWith,\n dateRange.data.startDate,\n dateRange.data.endDate\n )\n );\n\n const { setRegion } = useSelectedRegion();\n const { liteUpgradeTypeCustomer } = useSettings(null);\n\n const grouped = React.useMemo(() => {\n if (!programs.data?.length)\n return [] as any[];\n\n const groups: HashObject<TvProgram[]> = {};\n\n programs.data.forEach(program => {\n if (props.startsWith === '0' && FIRST_LETTER_REGEX.test(program.title))\n return;\n\n if (!groups[program.title])\n groups[program.title] = [];\n\n groups[program.title].push(program);\n });\n\n let sorted = Object.entries(groups);\n\n sorted = sorted.sort(([keyA], [keyB]) => (keyA < keyB ? -1 : 1));\n\n const groupedPrograms = sorted.map(([ title, data ]) => {\n const groupedProgram = data.reduce((acc: { [channel: string]: { [date: string]: TvProgram[]} }, program) => {\n const channelKey = program.channelName;\n if (!acc[channelKey]) {\n acc[channelKey] = {};\n }\n \n const startTime = toLocalTime(program.startTime, program.timeZone);\n const dateKey = DateHelper.format(startTime, 'YYYY-MM-DD');\n if (!acc[channelKey][dateKey]) {\n acc[channelKey][dateKey] = [];\n }\n\n acc[channelKey][dateKey].push(program);\n return acc;\n }, {});\n\n const groupedProgramEntries =\n Object\n .entries(groupedProgram)\n .map((([ channel, programs ]) => [ channel, Object.entries(programs) ]));\n \n return [ title, groupedProgramEntries ];\n });\n\n return groupedPrograms as [string, [string, TvProgram[]]];\n }, [programs.data]);\n\n const matchesLetters = [ ...ALPHABET, '0' ].includes(startsWith);\n if (!matchesLetters) {\n handleHttpError(HttpStatus.BadRequest);\n }\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, programs ]);\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const dataLoaded = (\n region.hasCompleted &&\n regions.hasCompleted &&\n dateRange.hasCompleted &&\n programs.hasCompleted &&\n config.hasCompleted\n );\n\n return (\n <>\n <TvSearchBar region={region.data} />\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='programs'\n currentRegion={region.data}\n showTvGuide={!!liteUpgradeTypeCustomer}\n config={config.data}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.PROGRAMS,\n params: { startsWith }\n }}\n onClick={setRegion}\n />\n </div>\n\n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n <LettersBar\n selected={startsWith}\n getItemAppLink={letter => ({\n application: AppChannels.TV,\n action: Actions.Tv.PROGRAMS,\n args: [region.data?.code],\n params: { startsWith: letter }\n })}\n />\n\n {dataLoaded ? (\n <>\n <AccordionList>\n {grouped.map(([ title, programs ], index) => (\n <AccordionList.Header key={index} title={title}>\n <ProgramSelector\n groupedPrograms={programs}\n channels={channels.data}\n tvPreviewUrls={config.data.tvPreviewUrls}\n />\n </AccordionList.Header>\n ))}\n </AccordionList>\n </>\n ) : (\n <PartialAccordionList />\n )}\n </>\n );\n}"],"names":["ALPHABET","LetterParamMap","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","getSelectedAlphabet","selected","showAll","alphabet","letter","generateTabs","options","appLink","Core.AppLinkHelper","LettersBar","props","localSelected","tabs","jsx","classNames","PillTabSelector","styles","ProgramSelector","getChannelLogo","channel","matchingChannel","ArrayHelper","dates","jsxs","date","programs","GroupedPrograms","hoveredProgram","setHoveredProgram","React","getProgramAppLink","program","ProgramType","AppChannels","Actions","getThumbnailUrl","previewUrl","globalId","LazyImage","DateHelper","AppLink","TvProgramTimeBadge","namespace","getPhrase","LanguageService","FIRST_LETTER_REGEX","TvProgramsView","startsWith","config","Flight.useBasicFetch","ConfigRequests","region","TvRequests","regions","dateRange","channels","setRegion","useSelectedRegion","liteUpgradeTypeCustomer","useSettings","grouped","_a","groups","sorted","keyA","keyB","title","data","groupedProgram","acc","channelKey","startTime","toLocalTime","dateKey","groupedProgramEntries","handleHttpError","HttpStatus","useHandleRegionError","useHandleObjectError","useSetPageMetadata","dataLoaded","Fragment","TvSearchBar","TvTabs","TvRegionSelect","TvInfoAlert","AccordionList","index","PartialAccordionList"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aj as m,a3 as c,l as n,L as p,j as e}from"./app-eQ6keCVj.js";import{u as h,P as x,F as g}from"./C8Ld-38h.chunk.js";import{L as l}from"./0Rgjdcqz.chunk.js";import{u as d}from"./DX5d-qLN.chunk.js";import{E as u}from"./CxZxk1HQ.chunk.js";import{E as f}from"./OZVJyZgM.chunk.js";import{E as j}from"./CQnwddP2.chunk.js";import{g as F}from"./DkVa76dg.chunk.js";import"./S6sUSK4X.chunk.js";import"./BwuTkpPz.chunk.js";import"./5jG1qquw.chunk.js";import"./lO5fmjgI.chunk.js";import"./CBYrUSmz.chunk.js";import"./COMMZ5NT.chunk.js";import"./CKE8GGKH.chunk.js";import"./D91xJv6J.chunk.js";import"./DsAzRbUN.chunk.js";import"./DoJDzZ7U.chunk.js";import"./e9ZqHdMv.chunk.js";import"./BlDVEZsX.chunk.js";import"./DQP0C036.chunk.js";import"./Doc0JWTn.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=COkVtt29.chunk.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{R as e,q as o,bM as i,aT as f}from"./app-eQ6keCVj.js";import{h as a}from"./D91xJv6J.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=DWYleim7.chunk.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n}from"./app-eQ6keCVj.js";import{h as s}from"./D91xJv6J.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=DX5d-qLN.chunk.js.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{at as b,j as t,aq as y,w as S,A as g,G as h,ab as j}from"./app-eQ6keCVj.js";import{B as k,a as v}from"./e9ZqHdMv.chunk.js";const _="_pillTabSelector_a6f6x_1",L="_tab_a6f6x_4",N="_minWidth_a6f6x_21",p="_radiusSmall_a6f6x_24",$="_tabLink_a6f6x_35",i={pillTabSelector:_,tab:L,minWidth:N,radiusSmall:p,tabLink:$};function m(e){return t.jsxs(t.Fragment,{children:[!!e.tab.svg&&t.jsx("div",{className:e.tab.name?"pe-1":"",children:t.jsx(h,{svg:e.tab.svg,size:e.tab.svgSize})}),e.tab.name,typeof e.tab.count=="number"&&t.jsx("div",{className:"ps-2",children:t.jsx(k,{type:v.Count,data:e.tab.count})})]})}function D(e){const{borderRadius:d="lg"}=e,c=b();function o(n){n.analyticsData&&n.analyticsOptions&&j.logUserAction(n.analyticsData,n.analyticsOptions)}function u(n){n.active||!n.onSelect||(n.onSelect(),o(n))}function x(n){const s=n.target.value,a=e.tabs.find(f=>f.name===s);!a||a.active||(o(a),g.trigger(a.appLink))}const l=e.tabs.find(n=>n.active),r=e.enableSmallScreenSupport&&(c.sm||c.xs);return t.jsxs("nav",{className:e.className??"",ref:e.containerRef,children:[r&&t.jsx("select",{className:"form-select",onChange:x,value:l==null?void 0:l.name,style:{minWidth:"150px"},children:e.tabs.map((n,s)=>{var a;return t.jsx("option",{value:n.name,children:((a=e.formatDisplayText)==null?void 0:a.call(e,n.name))??n.name},s)})}),!r&&t.jsx("ul",{className:`
|
|
2
|
-
list-unstyled d-inline-block m-0 ${i.pillTabSelector}
|
|
3
|
-
${d?i.radiusSmall:""}
|
|
4
|
-
${e.listClassName}
|
|
5
|
-
`,children:e.tabs.map((n,s)=>t.jsx("li",{className:`
|
|
6
|
-
p-0 ${i.tab} ${n.active?"btn btn-dark":"btn btn-outline-dark"}
|
|
7
|
-
${n.name?i.minWidth:""} ${n.className}
|
|
8
|
-
`,children:n.appLink?t.jsx(y,{appLink:n.appLink,analyticsData:n.analyticsData,analyticsOptions:n.analyticsOptions,className:`
|
|
9
|
-
cursor-pointer d-flex align-items-center justify-content-center
|
|
10
|
-
text-decoration-none text-reset px-2 text-nowrap ${i.tabLink}
|
|
11
|
-
`,children:t.jsx(m,{tab:n})}):t.jsx(S,{className:`
|
|
12
|
-
cursor-pointer d-flex align-items-center justify-content-center
|
|
13
|
-
text-decoration-none text-reset px-2 text-nowrap ${i.tabLink}
|
|
14
|
-
`,onClick:()=>u(n),children:t.jsx(m,{tab:n})})},s))})]})}export{D as P};
|
|
15
|
-
//# sourceMappingURL=DoJDzZ7U.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DoJDzZ7U.chunk.js","sources":["../../../../libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.module.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svg && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svg={props.tab.svg} size={props.tab.svgSize} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svg?: SvgIcon;\n svgSize?: SvgContainerSize;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n enableSmallScreenSupport?: boolean;\n formatDisplayText?: (name: string) => string;\n}\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n const { borderRadius = 'lg' } = props;\n \n const breakpoints = useBreakpoints();\n \n function logAnalytics(tab: PillTab): void {\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n \n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n logAnalytics(tab);\n }\n\n function onChangeSelect(event: React.ChangeEvent<HTMLSelectElement>): void {\n const value = event.target.value;\n const tab = props.tabs.find(tab => tab.name === value);\n if (!tab || tab.active)\n return;\n \n logAnalytics(tab);\n AppLinkHelper.trigger(tab.appLink);\n }\n\n const selectedTab = props.tabs.find(tab => tab.active);\n const showSelectDropdown = props.enableSmallScreenSupport && (breakpoints.sm || breakpoints.xs);\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n {showSelectDropdown && (\n <select className='form-select' onChange={onChangeSelect} value={selectedTab?.name} style={{ minWidth: '150px' }}>\n {props.tabs.map((tab, index) => {\n return (\n <option\n key={index}\n value={tab.name}>\n {props.formatDisplayText?.(tab.name) ?? tab.name}\n </option>\n );\n })}\n </select>\n )}\n \n {!showSelectDropdown && (\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </nav>\n );\n}\n"],"names":["TabContents","props","jsxs","Fragment","jsx","SvgContainer","Badge","BadgeType","PillTabSelector","borderRadius","breakpoints","useBreakpoints","logAnalytics","tab","AnalyticsHelper","onSelectTab","onChangeSelect","event","value","AppLinkHelper","selectedTab","showSelectDropdown","index","_a","styles","AppLink","DivButton"],"mappings":"4TAuBA,SAASA,EAAYC,EAAsC,CACzD,OACEC,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAA,CAAC,CAACF,EAAM,IAAI,WACV,MAAA,CAAI,UAAWA,EAAM,IAAI,KAAO,OAAS,GACxC,SAAAG,EAAAA,IAACC,EAAA,CAAa,IAAKJ,EAAM,IAAI,IAAK,KAAMA,EAAM,IAAI,OAAA,CAAS,CAAA,CAC7D,EAGDA,EAAM,IAAI,KAEV,OAAQA,EAAM,IAAI,OAAW,UAC5BG,EAAAA,IAAC,OAAI,UAAU,OACb,SAAAA,EAAAA,IAACE,EAAA,CAAM,KAAMC,EAAU,MAAO,KAAMN,EAAM,IAAI,MAAO,CAAA,CACvD,CAAA,EAEJ,CAEJ,CA6BO,SAASO,EAAgBP,EAA0C,CACxE,KAAM,CAAE,aAAAQ,EAAe,IAAA,EAASR,EAE1BS,EAAcC,EAAA,EAEpB,SAASC,EAAaC,EAAoB,CACpCA,EAAI,eAAiBA,EAAI,kBAC3BC,EAAgB,cAAcD,EAAI,cAAeA,EAAI,gBAAgB,CACzE,CAEA,SAASE,EAAYF,EAAoB,CACnCA,EAAI,QAAU,CAACA,EAAI,WAGvBA,EAAI,SAAA,EAEJD,EAAaC,CAAG,EAClB,CAEA,SAASG,EAAeC,EAAmD,CACzE,MAAMC,EAAQD,EAAM,OAAO,MACrBJ,EAAMZ,EAAM,KAAK,KAAKY,GAAOA,EAAI,OAASK,CAAK,EACjD,CAACL,GAAOA,EAAI,SAGhBD,EAAaC,CAAG,EAChBM,EAAc,QAAQN,EAAI,OAAO,EACnC,CAEA,MAAMO,EAAcnB,EAAM,KAAK,KAAKY,GAAOA,EAAI,MAAM,EAC/CQ,EAAqBpB,EAAM,2BAA6BS,EAAY,IAAMA,EAAY,IAE5F,OACER,OAAC,OAAI,UAAWD,EAAM,WAAa,GAAI,IAAKA,EAAM,aAC/C,SAAA,CAAAoB,SACE,SAAA,CAAO,UAAU,cAAc,SAAUL,EAAgB,MAAOI,GAAA,YAAAA,EAAa,KAAM,MAAO,CAAE,SAAU,SACpG,SAAAnB,EAAM,KAAK,IAAI,CAACY,EAAKS,IAAU,OAC9B,OACElB,EAAAA,IAAC,SAAA,CAEC,MAAOS,EAAI,KACV,WAAAU,EAAAtB,EAAM,oBAAN,YAAAsB,EAAA,KAAAtB,EAA0BY,EAAI,QAASA,EAAI,IAAA,EAFvCS,CAAA,CAKX,CAAC,CAAA,CACH,EAGD,CAACD,GACAjB,EAAAA,IAAC,KAAA,CAAG,UAAW;AAAA,6CACsBoB,EAAO,eAAe;AAAA,YACvDf,EAAee,EAAO,YAAc,EAAE;AAAA,YACtCvB,EAAM,aAAa;AAAA,UAEpB,SAAAA,EAAM,KAAK,IAAI,CAACY,EAAKS,IAElBlB,EAAAA,IAAC,KAAA,CACC,UAAW;AAAA,sBACLoB,EAAO,GAAG,IAAIX,EAAI,OAAS,eAAiB,sBAAsB;AAAA,kBACtEA,EAAI,KAAOW,EAAO,SAAW,EAAE,IAAIX,EAAI,SAAS;AAAA,gBAIjD,WAAI,QACHT,EAAAA,IAACqB,EAAA,CACC,QAASZ,EAAI,QACb,cAAeA,EAAI,cACnB,iBAAkBA,EAAI,iBACtB,UAAW;AAAA;AAAA,uEAEwCW,EAAO,OAAO;AAAA,oBAGjE,SAAApB,EAAAA,IAACJ,GAAY,IAAAa,CAAA,CAAU,CAAA,CAAA,EAGzBT,EAAAA,IAACsB,EAAA,CACC,UAAW;AAAA;AAAA,uEAEwCF,EAAO,OAAO;AAAA,oBAEjE,QAAS,IAAMT,EAAYF,CAAG,EAE9B,SAAAT,EAAAA,IAACJ,GAAY,IAAAa,CAAA,CAAU,CAAA,CAAA,CACzB,EAvBGS,CAAA,CA2BV,CAAA,CACH,CAAA,EAEJ,CAEJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,aq as k,a as f,b as j,a3 as m,R as T,u as E,aB as P,aT as S,l as H,aD as I}from"./app-eQ6keCVj.js";import{h as B}from"./D91xJv6J.chunk.js";import{u as M}from"./DX5d-qLN.chunk.js";import{P as N,A as b,a as _}from"./CYuWFG4C.chunk.js";import{L as D}from"./CBYrUSmz.chunk.js";import{T as U}from"./BYXBfLyn.chunk.js";import{T as V}from"./BYq9jK40.chunk.js";import{T as F,a as O}from"./j26kM5AB.chunk.js";import{T as q,a as $}from"./CMUKx3aO.chunk.js";import{T as h}from"./dlcOoTX2.chunk.js";import{u as W}from"./DWYleim7.chunk.js";import{u as z}from"./DbB0S2ZQ.chunk.js";import{t as G}from"./aImHyMo0.chunk.js";import"./S6sUSK4X.chunk.js";import"./DoJDzZ7U.chunk.js";import"./e9ZqHdMv.chunk.js";import"./BlDVEZsX.chunk.js";import"./DQP0C036.chunk.js";import"./CKE8GGKH.chunk.js";import"./Dj2iNM2-.chunk.js";import"./DsAzRbUN.chunk.js";const Z="_itemContainer_84hxn_1",J="_thumbnail_84hxn_12",C={itemContainer:Z,thumbnail:J};function K(a){function o(i,c){switch(i.programType){case N.Video:return{application:j.TV,action:f.Tv.PREVIEW,args:[c,i.id]};case N.Audio:return{application:j.TV,action:f.Tv.RADIO_DOWNLOAD,args:[c,i.id]}}}function t(i){const c=i.globalId.split("-").join("");return`${a.previewUrl}/thumbnail/${c}.jpg`}return e.jsx("div",{className:`${C.itemContainer} rounded mx-4 px-2`,children:e.jsxs(k,{appLink:o(a.program,a.region),className:"d-flex align-items-center justify-content-between py-2 px-3 text-decoration-none",children:[e.jsxs("div",{className:"w-50 d-flex align-items-center",children:[e.jsx("div",{className:`${C.thumbnail} flex-shrink-0 me-3 partial-loading-background rounded`,children:e.jsx(D,{src:t(a.program),alt:a.program.title,extraClasses:"w-100 rounded"})}),e.jsxs("div",{className:"d-flex align-items-center",children:[e.jsx("span",{className:"me-1",children:a.name}),a.program.hasAdsFree&&e.jsx(U,{small:!0})]})]}),e.jsx(V,{program:a.program,className:"pointer-events-none",showEndTime:!0})]},a.program.id)})}function Q(a){const{channel:o}=a;return e.jsxs("div",{className:"d-flex mb-3",children:[e.jsx("div",{className:"d-flex align-items-center me-3",style:{maxWidth:"7.5rem"},children:e.jsx("img",{className:"w-100",src:o.logoUrl})}),e.jsxs("div",{children:[e.jsx("h1",{className:"h3",children:o.displayName}),e.jsx("p",{className:"mb-0",children:o.description})]})]})}function X(){return e.jsxs("div",{className:"d-flex mb-3",children:[e.jsx("div",{className:"partial-loading-background d-flex align-items-center me-3",children:e.jsx("div",{style:{width:"7.5rem"}})}),e.jsxs("div",{className:"w-100",children:[e.jsx("div",{className:"partial-loading-background w-25 h3",children:" "}),e.jsx("p",{className:"partial-loading-background w-100 mb-0",children:" "})]})]})}function Te(a){const o=m(I.config()),t=m(h.region(a.region)),i=m(h.regions()),c=m(h.dateRange(a.region)),g=m(t.data&&h.channels(t.data.code)),s=T.useMemo(()=>{var n;return(n=g.data)==null?void 0:n.find(l=>l.id.toString()===a.channelId.toString())},[g.data]),{setRegion:R}=z(),{liteUpgradeTypeCustomer:w}=E(null),u=m(t.data&&s&&h.programsByChannel(t.data.code,s.name,s.startTime,s.stopTime)),A=T.useMemo(()=>{var p;if(!((p=u.data)!=null&&p.length))return[];const n={};return[...u.data].reverse().forEach(r=>{const d=P.format(G(r.startTime,r.timeZone),"dddd Do MMMM");n[d]||(n[d]=[]),n[d].push(r)}),Object.entries(n).map(([r,d])=>[r,d.reverse()])},[u]);g.hasCompleted&&!s&&B(S.BadRequest),W(t),M([i,g,u]),H({title:s==null?void 0:s.displayName});const y=t.hasCompleted&&i.hasCompleted&&g.hasCompleted&&s&&u.hasCompleted;function L(){var n;return a.selectedRegion?(n=i.data)==null?void 0:n.find(l=>l.code===a.selectedRegion):t.data}const x=L();return e.jsxs(e.Fragment,{children:[e.jsx(q,{region:x}),e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx(F,{active:"channels",currentRegion:x,showTvGuide:!!w,config:o.data}),e.jsx($,{currentRegion:x,regions:i.data,appLink:{application:j.TV,action:f.Tv.CHANNELS},onClick:R})]}),e.jsx(O,{dateRange:c.data,region:t.data}),s?e.jsx(Q,{channel:s}):e.jsx(X,{}),y?e.jsx(e.Fragment,{children:e.jsx(b,{children:A.map(([n,l],p)=>e.jsx(b.Header,{title:n,children:e.jsx("div",{className:"mt-2 pb-2",children:l&&l.map(r=>{var d,v;return e.jsx(K,{name:r.title,program:r,region:t.data.code,previewUrl:(v=o.data)==null?void 0:v.tvPreviewUrls[(d=t.data)==null?void 0:d.code]},r.id)})})},p))})}):e.jsx(_,{})]})}export{Te as TvChannelView};
|
|
2
|
-
//# sourceMappingURL=k5oLm6N7.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"k5oLm6N7.chunk.js","sources":["../../src/apps/tv/components/tv-accordion-list-item/TvAccordionListItem.tsx","../../src/apps/tv/views/tv-channel/components/tv-channel-header/TvChannelHeader.tsx","../../src/apps/tv/views/tv-channel/partial-loading/PartialTvChannelPrograms.tsx","../../src/apps/tv/views/tv-channel/TvChannelView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvAdFreeBadge } from 'apps/tv/components/tv-ad-free-badge/TvAdFreeBadge';\nimport { TvProgramTimeBadge } from 'apps/tv/components/tv-program-time-badge/TvProgramTimeBadge';\nimport { ProgramType } from 'apps/tv/interfaces/enums/ProgramType';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\n\nimport styles from './tv-accordion-list-item.module.scss';\n\ninterface TvAccordionListItemProps {\n name: string;\n program: TvProgram;\n region: string;\n showDate?: boolean;\n previewUrl: string;\n}\n\nexport function TvAccordionListItem(props: TvAccordionListItemProps) {\n function getProgramAppLink(program: TvProgram, region: string) {\n switch (program.programType) {\n case ProgramType.Video:\n return {\n application: AppChannels.TV,\n action: Actions.Tv.PREVIEW,\n args: [ region, program.id ]\n };\n case ProgramType.Audio:\n return {\n application: AppChannels.TV,\n action: Actions.Tv.RADIO_DOWNLOAD,\n args: [ region, program.id ]\n };\n }\n }\n \n function getThumbnailUrl(program: TvProgram) {\n const globalId = program.globalId.split('-').join('');\n return `${props.previewUrl}/thumbnail/${globalId}.jpg`;\n }\n\n return (\n <div className={`${styles.itemContainer} rounded mx-4 px-2`}>\n <AppLink\n key={props.program.id}\n appLink={getProgramAppLink(props.program, props.region)}\n className='d-flex align-items-center justify-content-between py-2 px-3 text-decoration-none'\n >\n <div className='w-50 d-flex align-items-center'>\n <div className={`${styles.thumbnail} flex-shrink-0 me-3 partial-loading-background rounded`}>\n <LazyImage\n src={getThumbnailUrl(props.program)}\n alt={props.program.title}\n extraClasses='w-100 rounded'\n />\n </div>\n <div className='d-flex align-items-center'>\n <span className='me-1'>{props.name}</span>\n {props.program.hasAdsFree && <TvAdFreeBadge small />}\n </div>\n </div>\n <TvProgramTimeBadge program={props.program} className='pointer-events-none' showEndTime />\n </AppLink>\n </div>\n );\n}","import React from 'react';\n\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\n\ninterface TvChannelHeaderProps {\n channel: TvChannel;\n}\n\nexport function TvChannelHeader(props: TvChannelHeaderProps): JSX.Element {\n const { channel } = props;\n\n return (\n <div className='d-flex mb-3'>\n <div\n className='d-flex align-items-center me-3'\n style={{ maxWidth: '7.5rem' }}>\n <img\n className='w-100'\n src={channel.logoUrl}\n />\n </div>\n <div>\n <h1 className='h3'>{channel.displayName}</h1>\n <p className='mb-0'>{channel.description}</p>\n </div>\n </div>\n );\n}","import React from 'react';\n\nexport function PartialTvChannel() {\n return (\n <div className='d-flex mb-3'>\n <div className='partial-loading-background d-flex align-items-center me-3'>\n <div style={{ width: '7.5rem' }}/>\n </div>\n <div className='w-100'>\n <div className='partial-loading-background w-25 h3'> </div>\n <p className='partial-loading-background w-100 mb-0'> </p>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config } from 'libs/shared/interfaces';\n\nimport { AccordionList } from 'shared/components/accordion-list/AccordionList';\nimport { PartialAccordionList } from 'shared/components/accordion-list/partial-loading/PartialAccordionList';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvAccordionListItem } from 'apps/tv/components/tv-accordion-list-item/TvAccordionListItem';\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\n\nimport { TvChannelHeader } from './components/tv-channel-header/TvChannelHeader';\nimport { PartialTvChannel } from './partial-loading/PartialTvChannelPrograms';\n\ninterface TvChannelViewProps {\n region: string;\n channelId: string;\n selectedRegion?: string;\n}\n\nexport function TvChannelView(props: TvChannelViewProps): JSX.Element {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const channels = Flight.useBasicFetch<TvChannel[]>(\n region.data && TvRequests.channels(region.data.code)\n );\n const channel = React.useMemo(() => {\n return channels.data?.find(c => c.id.toString() === props.channelId.toString());\n }, [channels.data]);\n\n const { setRegion } = useSelectedRegion();\n const { liteUpgradeTypeCustomer } = useSettings(null);\n\n const programs = Flight.useBasicFetch<TvProgram[]>(\n region.data &&\n channel &&\n TvRequests.programsByChannel(\n region.data.code,\n channel.name,\n channel.startTime,\n channel.stopTime\n )\n );\n\n const grouped = React.useMemo(() => {\n if (!programs.data?.length)\n return [];\n\n const groups: HashObject<TvProgram[]> = {};\n\n [...programs.data].reverse().forEach(program => {\n const startTime = DateHelper.format(toLocalTime(program.startTime, program.timeZone), 'dddd Do MMMM');\n\n if (!groups[startTime])\n groups[startTime] = [];\n\n groups[startTime].push(program);\n });\n const grouped = Object.entries(groups);\n return grouped.map(([ date, program ]) => [ date, program.reverse() ]);\n }, [programs]);\n\n if ((channels.hasCompleted && !channel)) {\n handleHttpError(HttpStatus.BadRequest);\n }\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, channels, programs ]);\n\n useSetPageMetadata({ title: channel?.displayName });\n\n const dataLoaded =\n region.hasCompleted && regions.hasCompleted && channels.hasCompleted && channel && programs.hasCompleted;\n\n function getCurrentRegion(): TvRegion {\n if (!props.selectedRegion) return region.data;\n\n return regions.data?.find(region => region.code === props.selectedRegion);\n }\n\n const currentRegion = getCurrentRegion();\n\n return (\n <>\n <TvSearchBar region={currentRegion} />\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='channels'\n currentRegion={currentRegion}\n showTvGuide={!!liteUpgradeTypeCustomer}\n config={config.data}\n />\n <TvRegionSelect\n currentRegion={currentRegion}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </div>\n \n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n {channel ? <TvChannelHeader channel={channel} /> : <PartialTvChannel />}\n\n {dataLoaded ? (\n <>\n <AccordionList>\n {grouped.map(([ date, programs ]: [string, TvProgram[]], index) => (\n <AccordionList.Header\n key={index}\n title={date}\n >\n <div className='mt-2 pb-2'>\n {programs && programs.map(program => (\n <TvAccordionListItem\n key={program.id}\n name={program.title}\n program={program}\n region={region.data.code}\n previewUrl={config.data?.tvPreviewUrls[region.data?.code]}\n />\n ))}\n </div>\n </AccordionList.Header>\n ))}\n </AccordionList>\n </>\n ) : (\n <PartialAccordionList />\n )}\n </>\n );\n}"],"names":["TvAccordionListItem","props","getProgramAppLink","program","region","ProgramType","AppChannels","Actions","getThumbnailUrl","globalId","styles","jsxs","AppLink","jsx","LazyImage","TvAdFreeBadge","TvProgramTimeBadge","TvChannelHeader","channel","PartialTvChannel","TvChannelView","config","Flight.useBasicFetch","ConfigRequests","TvRequests","regions","dateRange","channels","React","_a","c","setRegion","useSelectedRegion","liteUpgradeTypeCustomer","useSettings","programs","grouped","groups","startTime","DateHelper","toLocalTime","date","handleHttpError","HttpStatus","useHandleRegionError","useHandleObjectError","useSetPageMetadata","dataLoaded","getCurrentRegion","currentRegion","Fragment","TvSearchBar","TvTabs","TvRegionSelect","TvInfoAlert","AccordionList","index","_b","PartialAccordionList"],"mappings":"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"}
|