@saooti/octopus-sdk 42.1.1 → 42.1.2
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/{AdvancedSearch-C__BZuJX.mjs → AdvancedSearch-BDxs2o7K.mjs} +6 -6
- package/dist/AdvancedSearch-BDxs2o7K.mjs.map +1 -0
- package/dist/AdvancedSearch-BHnCcqYo.mjs.map +1 -0
- package/dist/AdvancedSearch-BKZL4Og4.mjs.map +1 -0
- package/dist/AdvancedSearch-CARbyVFc.mjs.map +1 -0
- package/dist/AdvancedSearch-CzWBQyRR.mjs.map +1 -0
- package/dist/AdvancedSearch-DM5MiCRf.mjs.map +1 -0
- package/dist/AdvancedSearch-Wbmubxbf.mjs.map +1 -0
- package/dist/CategoryFilter-BpAevuLH.mjs.map +1 -0
- package/dist/CategoryFilter-BpgBUxCX.mjs.map +1 -0
- package/dist/{CategoryFilter-DRXTrqyR.mjs → CategoryFilter-BtvszT_D.mjs} +5 -5
- package/dist/CategoryFilter-BtvszT_D.mjs.map +1 -0
- package/dist/CategoryFilter-D-eWUCe_.mjs.map +1 -0
- package/dist/CategoryFilter-D38WmeC3.mjs.map +1 -0
- package/dist/CategoryFilter-DLSD7boE.mjs.map +1 -0
- package/dist/CategoryFilter-DbsUFHSn.mjs.map +1 -0
- package/dist/{CategoryList-BeBPhibG.mjs → CategoryList-BirNjSgi.mjs} +2 -2
- package/dist/CategoryList-BirNjSgi.mjs.map +1 -0
- package/dist/CategoryList-BrImjKgB.mjs.map +1 -0
- package/dist/CategoryList-BwqfZEqt.mjs.map +1 -0
- package/dist/CategoryList-C-v_Us7L.mjs.map +1 -0
- package/dist/CategoryList-CvNF6D7q.mjs.map +1 -0
- package/dist/CategoryList-DiSaK_Hw.mjs.map +1 -0
- package/dist/CategoryList-DpDoSFYT.mjs.map +1 -0
- package/dist/CategoryPage-BSD7wvZY.mjs.map +1 -0
- package/dist/CategoryPage-C5eTwFuy.mjs.map +1 -0
- package/dist/CategoryPage-Ck7xTJ1X.mjs.map +1 -0
- package/dist/CategoryPage-CmX_-CLt.mjs.map +1 -0
- package/dist/CategoryPage-CnGzdY2g.mjs.map +1 -0
- package/dist/CategoryPage-D5i0OhIn.mjs.map +1 -0
- package/dist/CategoryPage-D7FVaEMo.mjs.map +1 -0
- package/dist/CategoryPage-ymiYVbKH.mjs.map +1 -0
- package/dist/{CategoryPage-B_IUEC85.mjs → CategoryPage-zRFFW7lm.mjs} +3 -3
- package/dist/CategoryPage-zRFFW7lm.mjs.map +1 -0
- package/dist/ChapteringModal-BT3rYLl7.mjs.map +1 -0
- package/dist/ChapteringModal-CZxza2Hl.mjs.map +1 -0
- package/dist/ChapteringModal-DF99rhXl.mjs.map +1 -0
- package/dist/{ChapteringModal-BCPmvaRT.mjs → ChapteringModal-DSrRb0wM.mjs} +2 -2
- package/dist/ChapteringModal-DSrRb0wM.mjs.map +1 -0
- package/dist/ChapteringModal-DYg4Rsyc.mjs.map +1 -0
- package/dist/ChapteringModal-mbAIsypl.mjs.map +1 -0
- package/dist/ChapteringModal-nWgj6pH1.mjs.map +1 -0
- package/dist/CheckIdentityModal-9R4NGHGc.mjs.map +1 -0
- package/dist/CheckIdentityModal-B1TGBzW-.mjs.map +1 -0
- package/dist/{CheckIdentityModal-Du2Jqur2.mjs → CheckIdentityModal-BeoPGlll.mjs} +3 -3
- package/dist/CheckIdentityModal-BeoPGlll.mjs.map +1 -0
- package/dist/CheckIdentityModal-C-LeNKnp.mjs.map +1 -0
- package/dist/CheckIdentityModal-CVh4TWaA.mjs.map +1 -0
- package/dist/CheckIdentityModal-DG5UwIww.mjs.map +1 -0
- package/dist/CheckIdentityModal-DgfR8eN8.mjs.map +1 -0
- package/dist/ClipboardModal-7VJwXjk7.mjs.map +1 -0
- package/dist/ClipboardModal-BNGanHiD.mjs.map +1 -0
- package/dist/ClipboardModal-BXQoN3az.mjs.map +1 -0
- package/dist/ClipboardModal-BeGqMvLb.mjs.map +1 -0
- package/dist/ClipboardModal-CS-czxOJ.mjs.map +1 -0
- package/dist/{ClipboardModal-Bd_hrJu_.mjs → ClipboardModal-Dm9Z1sRK.mjs} +2 -2
- package/dist/ClipboardModal-Dm9Z1sRK.mjs.map +1 -0
- package/dist/ClipboardModal-PbKpLGXl.mjs.map +1 -0
- package/dist/CommentInput-BHP1nNsj.mjs.map +1 -0
- package/dist/CommentInput-BJTzH-_a.mjs.map +1 -0
- package/dist/CommentInput-BS_2bqYB.mjs.map +1 -0
- package/dist/CommentInput-Bp_Tu2c1.mjs.map +1 -0
- package/dist/CommentInput-C5ZDqAmV.mjs.map +1 -0
- package/dist/CommentInput-CnLukNZs.mjs.map +1 -0
- package/dist/{CommentInput-DRmRcSy-.mjs → CommentInput-yE5YpwPd.mjs} +6 -6
- package/dist/CommentInput-yE5YpwPd.mjs.map +1 -0
- package/dist/CommentItem-B3jrVyCL.mjs.map +1 -0
- package/dist/{CommentItem-Vvd1NE_W.mjs → CommentItem-B95BndID.mjs} +8 -8
- package/dist/CommentItem-B95BndID.mjs.map +1 -0
- package/dist/CommentItem-BbVr_2V6.mjs.map +1 -0
- package/dist/CommentItem-CYzCxLtJ.mjs.map +1 -0
- package/dist/CommentItem-Czdd1oCE.mjs.map +1 -0
- package/dist/CommentItem-D39oSH9h.mjs.map +1 -0
- package/dist/CommentItem-DCzZsT7J.mjs.map +1 -0
- package/dist/CommentItem-DPieWrkL.mjs.map +1 -0
- package/dist/CommentItem-DmyqQ7Z6.mjs.map +1 -0
- package/dist/CommentList-AZvaBFne.mjs.map +1 -0
- package/dist/CommentList-AwpVcpBT.mjs.map +1 -0
- package/dist/CommentList-BiDfTOiB.mjs.map +1 -0
- package/dist/CommentList-Bms6vEQA.mjs.map +1 -0
- package/dist/CommentList-CeoSTTP_.mjs.map +1 -0
- package/dist/CommentList-D0WPAZgF.mjs.map +1 -0
- package/dist/CommentList-Dj_kHO7R.mjs.map +1 -0
- package/dist/CommentList-Iyun_PoW.mjs.map +1 -0
- package/dist/{CommentList-Cn5TPBet.mjs → CommentList-l9y2S0t4.mjs} +3 -3
- package/dist/CommentList-l9y2S0t4.mjs.map +1 -0
- package/dist/CommentMoreActions-BAroeo8E.mjs.map +1 -0
- package/dist/CommentMoreActions-BLA7K7Wk.mjs.map +1 -0
- package/dist/CommentMoreActions-CrVm5-lX.mjs.map +1 -0
- package/dist/CommentMoreActions-DL8XqQRk.mjs.map +1 -0
- package/dist/CommentMoreActions-Q4pEU-LO.mjs.map +1 -0
- package/dist/CommentMoreActions-Tqomh5Yr.mjs.map +1 -0
- package/dist/{CommentMoreActions-BR4CRRey.mjs → CommentMoreActions-tL6Uqw1X.mjs} +5 -5
- package/dist/CommentMoreActions-tL6Uqw1X.mjs.map +1 -0
- package/dist/CommentName-5ZjKhTYa.mjs.map +1 -0
- package/dist/CommentName-BXD3T5EZ.mjs.map +1 -0
- package/dist/{CommentName-D6y51EaZ.mjs → CommentName-Dg4--t-W.mjs} +3 -3
- package/dist/CommentName-Dg4--t-W.mjs.map +1 -0
- package/dist/CommentName-Dlnmhpr3.mjs.map +1 -0
- package/dist/CommentName-DxVYb9pg.mjs.map +1 -0
- package/dist/CommentName-RfqW4AQ6.mjs.map +1 -0
- package/dist/CommentName-sDkjL2pg.mjs.map +1 -0
- package/dist/{CommentParentInfo-0WKRt9an.mjs → CommentParentInfo-8jbjym0a.mjs} +2 -2
- package/dist/CommentParentInfo-8jbjym0a.mjs.map +1 -0
- package/dist/CommentParentInfo-9pG8GbXZ.mjs.map +1 -0
- package/dist/CommentParentInfo-C8OdTBnA.mjs.map +1 -0
- package/dist/CommentParentInfo-CR723vnS.mjs.map +1 -0
- package/dist/CommentParentInfo-CbW6NDS2.mjs.map +1 -0
- package/dist/CommentParentInfo-CmJmczbB.mjs.map +1 -0
- package/dist/CommentParentInfo-DNRID2W9.mjs.map +1 -0
- package/dist/CommentParentInfo-DvhjIGxr.mjs.map +1 -0
- package/dist/CommentParentInfo-Sr7QsGrE.mjs.map +1 -0
- package/dist/CommentPlayer-BAqa0jnq.mjs.map +1 -0
- package/dist/CommentPlayer-CbcrWm1W.mjs.map +1 -0
- package/dist/CommentPlayer-Ckqy3Uy2.mjs.map +1 -0
- package/dist/CommentPlayer-DG-Vm9oa.mjs.map +1 -0
- package/dist/CommentPlayer-DWWiCxmf.mjs.map +1 -0
- package/dist/CommentPlayer-RqOzQeht.mjs.map +1 -0
- package/dist/{CommentPlayer-D_cgM4oc.mjs → CommentPlayer-lesewf4s.mjs} +3 -3
- package/dist/CommentPlayer-lesewf4s.mjs.map +1 -0
- package/dist/CommentSection-0qvo2Lir.mjs.map +1 -0
- package/dist/CommentSection-B1No9DSa.mjs.map +1 -0
- package/dist/CommentSection-BH0240SR.mjs.map +1 -0
- package/dist/{CommentSection-CRfcutkV.mjs → CommentSection-BRUVbqPQ.mjs} +5 -5
- package/dist/CommentSection-BRUVbqPQ.mjs.map +1 -0
- package/dist/CommentSection-BW11Kkmw.mjs.map +1 -0
- package/dist/CommentSection-CGRHE7GP.mjs.map +1 -0
- package/dist/CommentSection-CLvjEX6w.mjs.map +1 -0
- package/dist/CommentSection-ClFb7E4o.mjs.map +1 -0
- package/dist/CommentSection-DPMfFBSU.mjs.map +1 -0
- package/dist/CommentStore-B68P59zw.mjs.map +1 -0
- package/dist/CommentStore-BTml7qHF.mjs.map +1 -0
- package/dist/CommentStore-BwTJgPTy.mjs.map +1 -0
- package/dist/CommentStore-C1k1GX5R.mjs.map +1 -0
- package/dist/{CommentStore-DAa7RQ_3.mjs → CommentStore-C9bhViPU.mjs} +2 -2
- package/dist/CommentStore-C9bhViPU.mjs.map +1 -0
- package/dist/CommentStore-Ce-VQB6Q.mjs.map +1 -0
- package/dist/CommentStore-WgCnFHHi.mjs.map +1 -0
- package/dist/ContractPreviewModal-B9TjRP6t.mjs.map +1 -0
- package/dist/ContractPreviewModal-BrB9KaNH.mjs.map +1 -0
- package/dist/ContractPreviewModal-DB0Uv_bC.mjs.map +1 -0
- package/dist/{ContractPreviewModal-CC3KTcFM.mjs → ContractPreviewModal-DDJNYv49.mjs} +2 -2
- package/dist/ContractPreviewModal-DDJNYv49.mjs.map +1 -0
- package/dist/ContractPreviewModal-Dlnmubps.mjs.map +1 -0
- package/dist/ContractPreviewModal-Duqx-yDT.mjs.map +1 -0
- package/dist/ContractPreviewModal-nMZHO_9q.mjs.map +1 -0
- package/dist/DownloadPodcastButton-BDYJT1At.mjs.map +1 -0
- package/dist/DownloadPodcastButton-C9RI5S7T.mjs.map +1 -0
- package/dist/DownloadPodcastButton-CQFTSstH.mjs.map +1 -0
- package/dist/DownloadPodcastButton-CvO14B8j.mjs.map +1 -0
- package/dist/DownloadPodcastButton-DAH2mwB3.mjs.map +1 -0
- package/dist/{DownloadPodcastButton-DdWnV_YZ.mjs → DownloadPodcastButton-DXJGjfIn.mjs} +3 -3
- package/dist/DownloadPodcastButton-DXJGjfIn.mjs.map +1 -0
- package/dist/DownloadPodcastButton-DunrZi_3.mjs.map +1 -0
- package/dist/EditCommentModal-BHmUXtiy.mjs.map +1 -0
- package/dist/{EditCommentModal-Bs7nuqdq.mjs → EditCommentModal-Czp-qN4t.mjs} +2 -2
- package/dist/EditCommentModal-Czp-qN4t.mjs.map +1 -0
- package/dist/EditCommentModal-D90FgueB.mjs.map +1 -0
- package/dist/EditCommentModal-DXo4LVcx.mjs.map +1 -0
- package/dist/EditCommentModal-SelQld7b.mjs.map +1 -0
- package/dist/EditCommentModal-dnPijKAh.mjs.map +1 -0
- package/dist/EditCommentModal-ntxMdZu5.mjs.map +1 -0
- package/dist/EmissionGroupChooser-BWcOXb7T.mjs.map +1 -0
- package/dist/EmissionGroupChooser-CFP7ChoW.mjs.map +1 -0
- package/dist/EmissionGroupChooser-DArypPDT.mjs.map +1 -0
- package/dist/EmissionGroupChooser-Dy1hnlF_.mjs.map +1 -0
- package/dist/{EmissionGroupChooser-ZJLNTZLc.mjs → EmissionGroupChooser-ZdhmJ8Bp.mjs} +2 -2
- package/dist/EmissionGroupChooser-ZdhmJ8Bp.mjs.map +1 -0
- package/dist/EmissionGroupChooser-ylVvYy2W.mjs.map +1 -0
- package/dist/EmissionGroupChooser-zSxcBqKm.mjs.map +1 -0
- package/dist/EmissionInlineList-BH4EgEIF.mjs.map +1 -0
- package/dist/EmissionInlineList-B_HOW86o.mjs.map +1 -0
- package/dist/{EmissionInlineList-JQp7JC97.mjs → EmissionInlineList-Bqvh02uF.mjs} +6 -6
- package/dist/EmissionInlineList-Bqvh02uF.mjs.map +1 -0
- package/dist/EmissionInlineList-CBmzKWGR.mjs.map +1 -0
- package/dist/EmissionInlineList-CO8i9b1t.mjs.map +1 -0
- package/dist/EmissionInlineList-Ciye_EZb.mjs.map +1 -0
- package/dist/EmissionInlineList-nNNANPRs.mjs.map +1 -0
- package/dist/EmissionItem-4CsF574w.mjs.map +1 -0
- package/dist/EmissionItem-BhghTyeT.mjs.map +1 -0
- package/dist/EmissionItem-Bv7O9sQY.mjs.map +1 -0
- package/dist/EmissionItem-DC_Gc-Yw.mjs.map +1 -0
- package/dist/{EmissionItem-CwxO_AWw.mjs → EmissionItem-DoBM2Zk2.mjs} +5 -5
- package/dist/EmissionItem-DoBM2Zk2.mjs.map +1 -0
- package/dist/EmissionItem-M-lMW-jg.mjs.map +1 -0
- package/dist/EmissionItem-VxhfrUve.mjs.map +1 -0
- package/dist/EmissionItem-aVrOlqEx.mjs.map +1 -0
- package/dist/EmissionItem-imaccCr_.mjs.map +1 -0
- package/dist/EmissionList-BQ1mTIYn.mjs.map +1 -0
- package/dist/EmissionList-BRPN4Bbj.mjs.map +1 -0
- package/dist/EmissionList-BYIBfZWr.mjs.map +1 -0
- package/dist/{EmissionList-DxnXwOri.mjs → EmissionList-Bh3ZlvV4.mjs} +6 -6
- package/dist/EmissionList-Bh3ZlvV4.mjs.map +1 -0
- package/dist/EmissionList-CCfo5-ne.mjs.map +1 -0
- package/dist/EmissionList-CyEpkgR4.mjs.map +1 -0
- package/dist/EmissionList-DCeUp8TW.mjs.map +1 -0
- package/dist/EmissionList-DJydSpE4.mjs.map +1 -0
- package/dist/EmissionList-WYL-BhnJ.mjs.map +1 -0
- package/dist/EmissionPage-B2oy9fmW.mjs.map +1 -0
- package/dist/{EmissionPage-DrTFNH8I.mjs → EmissionPage-BG6RIWP2.mjs} +16 -16
- package/dist/EmissionPage-BG6RIWP2.mjs.map +1 -0
- package/dist/EmissionPage-BTfSMrZf.mjs.map +1 -0
- package/dist/EmissionPage-BpAJ1yOV.mjs.map +1 -0
- package/dist/EmissionPage-BzQpG8xt.mjs.map +1 -0
- package/dist/EmissionPage-Cf529LJJ.mjs.map +1 -0
- package/dist/EmissionPage-CwwNOUrQ.mjs.map +1 -0
- package/dist/EmissionPage-DCdIpmQo.mjs.map +1 -0
- package/dist/EmissionPage-DFnA4TXs.mjs.map +1 -0
- package/dist/EmissionPlayerItem-C3gZhSS3.mjs.map +1 -0
- package/dist/EmissionPlayerItem-CX-QVZ9s.mjs.map +1 -0
- package/dist/EmissionPlayerItem-CmghDKRx.mjs.map +1 -0
- package/dist/EmissionPlayerItem-CoeKMQgN.mjs.map +1 -0
- package/dist/{EmissionPlayerItem-C8IKeJ7q.mjs → EmissionPlayerItem-CvoVh-dC.mjs} +5 -5
- package/dist/EmissionPlayerItem-CvoVh-dC.mjs.map +1 -0
- package/dist/EmissionPlayerItem-D1Ebv-_R.mjs.map +1 -0
- package/dist/EmissionPlayerItem-D6BXdTio.mjs.map +1 -0
- package/dist/{EmissionPresentationItem-CmxIvauh.mjs → EmissionPresentationItem-B2PbYGuW.mjs} +2 -2
- package/dist/EmissionPresentationItem-B2PbYGuW.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BQo96is9.mjs.map +1 -0
- package/dist/EmissionPresentationItem-CC_LJc4L.mjs.map +1 -0
- package/dist/EmissionPresentationItem-CQvXZ8NH.mjs.map +1 -0
- package/dist/EmissionPresentationItem-DGNyBwfe.mjs.map +1 -0
- package/dist/EmissionPresentationItem-hWnX_Niv.mjs.map +1 -0
- package/dist/EmissionPresentationItem-qoHKghk0.mjs.map +1 -0
- package/dist/EmissionPresentationList-B2NzHsFl.mjs.map +1 -0
- package/dist/EmissionPresentationList-BQfeuKW5.mjs.map +1 -0
- package/dist/{EmissionPresentationList-CIx49QaD.mjs → EmissionPresentationList-BXNJsC5t.mjs} +4 -4
- package/dist/EmissionPresentationList-BXNJsC5t.mjs.map +1 -0
- package/dist/EmissionPresentationList-CHFD5_a2.mjs.map +1 -0
- package/dist/EmissionPresentationList-D0TKOmTK.mjs.map +1 -0
- package/dist/EmissionPresentationList-Ddvukpya.mjs.map +1 -0
- package/dist/EmissionPresentationList-DnnKYjsb.mjs.map +1 -0
- package/dist/EmissionsPage-4WdKVeuO.mjs.map +1 -0
- package/dist/EmissionsPage-A04HnSMy.mjs.map +1 -0
- package/dist/{EmissionsPage-y9p63k_v.mjs → EmissionsPage-B1arrsZ7.mjs} +5 -5
- package/dist/EmissionsPage-B1arrsZ7.mjs.map +1 -0
- package/dist/EmissionsPage-B6SUW-vO.mjs.map +1 -0
- package/dist/EmissionsPage-BvF7n3Yb.mjs.map +1 -0
- package/dist/EmissionsPage-CNFwsWQZ.mjs.map +1 -0
- package/dist/EmissionsPage-CduOfydR.mjs.map +1 -0
- package/dist/EmissionsPage-Cf94lGLe.mjs.map +1 -0
- package/dist/EmissionsPage-O86N2cgU.mjs.map +1 -0
- package/dist/Error403Page-B9KNl0uP.mjs.map +1 -0
- package/dist/Error403Page-BLJFuPG2.mjs.map +1 -0
- package/dist/Error403Page-BmdiuBiS.mjs.map +1 -0
- package/dist/Error403Page-Bpi0DQqg.mjs.map +1 -0
- package/dist/{Error403Page-DARTxoEK.mjs → Error403Page-Bv-DWyb6.mjs} +2 -2
- package/dist/Error403Page-Bv-DWyb6.mjs.map +1 -0
- package/dist/Error403Page-D4NmqstJ.mjs.map +1 -0
- package/dist/Error403Page-DO2cfKKn.mjs.map +1 -0
- package/dist/{FooterGarSection-IH0ADl_V.mjs → FooterGarSection-77dYJO_c.mjs} +4 -4
- package/dist/FooterGarSection-77dYJO_c.mjs.map +1 -0
- package/dist/FooterGarSection-D4m9HB_o.mjs.map +1 -0
- package/dist/FooterGarSection-DQpsC2u3.mjs.map +1 -0
- package/dist/FooterGarSection-DVMJjVGm.mjs.map +1 -0
- package/dist/FooterGarSection-JoXm35Vy.mjs.map +1 -0
- package/dist/FooterGarSection-SpmxTFrf.mjs.map +1 -0
- package/dist/FooterGarSection-t4vNUGXJ.mjs.map +1 -0
- package/dist/{FooterSection-XGEgsnuF.mjs → FooterSection-B1hXBiqI.mjs} +5 -5
- package/dist/FooterSection-B1hXBiqI.mjs.map +1 -0
- package/dist/FooterSection-BAJcoVwL.mjs.map +1 -0
- package/dist/FooterSection-Bq3lB2TI.mjs.map +1 -0
- package/dist/FooterSection-C5CqAdjV.mjs.map +1 -0
- package/dist/FooterSection-CsQxaQcK.mjs.map +1 -0
- package/dist/FooterSection-DuQdO0l0.mjs.map +1 -0
- package/dist/FooterSection-mtZULuem.mjs.map +1 -0
- package/dist/{HomeDropdown-B9Hg49uX.mjs → HomeDropdown-87gJP-lN.mjs} +3 -3
- package/dist/HomeDropdown-87gJP-lN.mjs.map +1 -0
- package/dist/HomeDropdown-CDNruBUp.mjs.map +1 -0
- package/dist/HomeDropdown-COZXjE97.mjs.map +1 -0
- package/dist/HomeDropdown-CbsZFW4n.mjs.map +1 -0
- package/dist/HomeDropdown-CjYjgO1n.mjs.map +1 -0
- package/dist/HomeDropdown-CxQn-jPC.mjs.map +1 -0
- package/dist/HomeDropdown-DEIBKTqy.mjs.map +1 -0
- package/dist/HomePage-1jBFTx4x.mjs.map +1 -0
- package/dist/HomePage-B5guMcf_.mjs.map +1 -0
- package/dist/HomePage-BapL4kmy.mjs.map +1 -0
- package/dist/{HomePage-Dk595L99.mjs → HomePage-Brr9jjcQ.mjs} +4 -4
- package/dist/HomePage-Brr9jjcQ.mjs.map +1 -0
- package/dist/HomePage-C8nsZZ_c.mjs.map +1 -0
- package/dist/HomePage-CP_NQ_PF.mjs.map +1 -0
- package/dist/HomePage-DnHbPmY9.mjs.map +1 -0
- package/dist/HomePage-Dxhi0hWO.mjs.map +1 -0
- package/dist/HomePage-MPbx0_Rn.mjs.map +1 -0
- package/dist/{LikeSection-CComV07M.mjs → LikeSection-1P9-7FQ5.mjs} +4 -4
- package/dist/LikeSection-1P9-7FQ5.mjs.map +1 -0
- package/dist/LikeSection-BTmkwQD8.mjs.map +1 -0
- package/dist/LikeSection-BUY3_ffV.mjs.map +1 -0
- package/dist/LikeSection-B_WX9gZJ.mjs.map +1 -0
- package/dist/LikeSection-BaUfRdSh.mjs.map +1 -0
- package/dist/LikeSection-Cdz0IJU0.mjs.map +1 -0
- package/dist/LikeSection-U8EqRJ-f.mjs.map +1 -0
- package/dist/ListPaginate-8oxuFw7s.mjs.map +1 -0
- package/dist/ListPaginate-Brg8Wr3w.mjs.map +1 -0
- package/dist/{ListPaginate-Dd3eeyMI.mjs → ListPaginate-CEgFM1e5.mjs} +3 -3
- package/dist/ListPaginate-CEgFM1e5.mjs.map +1 -0
- package/dist/ListPaginate-COITr_yE.mjs.map +1 -0
- package/dist/ListPaginate-DdKoq0e5.mjs.map +1 -0
- package/dist/ListPaginate-FHXkQDy8.mjs.map +1 -0
- package/dist/ListPaginate-zVukPB6N.mjs.map +1 -0
- package/dist/LiveHorizontalList-7JGEvrpb.mjs.map +1 -0
- package/dist/LiveHorizontalList-B1SBPu5Q.mjs.map +1 -0
- package/dist/LiveHorizontalList-B2xa65mW.mjs.map +1 -0
- package/dist/LiveHorizontalList-BUvldEM0.mjs.map +1 -0
- package/dist/LiveHorizontalList-C1hlGGKj.mjs.map +1 -0
- package/dist/LiveHorizontalList-CE9LoLWi.mjs.map +1 -0
- package/dist/LiveHorizontalList-DPNeqKTt.mjs.map +1 -0
- package/dist/{LiveHorizontalList-ZPpLxrPr.mjs → LiveHorizontalList-G4GVIv-L.mjs} +4 -4
- package/dist/LiveHorizontalList-G4GVIv-L.mjs.map +1 -0
- package/dist/LiveHorizontalList-X8_qayl-.mjs.map +1 -0
- package/dist/LiveList-BbuHhQob.mjs.map +1 -0
- package/dist/{LiveList-B0CuTJqy.mjs → LiveList-BiODr6Zp.mjs} +6 -6
- package/dist/LiveList-BiODr6Zp.mjs.map +1 -0
- package/dist/LiveList-CPABb0tx.mjs.map +1 -0
- package/dist/LiveList-CR-jqjcU.mjs.map +1 -0
- package/dist/LiveList-DSogJX1N.mjs.map +1 -0
- package/dist/LiveList-DkZ1l2Xt.mjs.map +1 -0
- package/dist/LiveList-Dr_7cqG_.mjs.map +1 -0
- package/dist/LiveList-dc4ARAq2.mjs.map +1 -0
- package/dist/LiveList-oosaj9TJ.mjs.map +1 -0
- package/dist/LivesPage-BHmymrRD.mjs.map +1 -0
- package/dist/LivesPage-BPwVGQdv.mjs.map +1 -0
- package/dist/LivesPage-BfhAMY15.mjs.map +1 -0
- package/dist/LivesPage-CAa4XsJW.mjs.map +1 -0
- package/dist/LivesPage-CHLwG5gj.mjs.map +1 -0
- package/dist/LivesPage-DGA3L9AW.mjs.map +1 -0
- package/dist/LivesPage-DIjoqz-K.mjs.map +1 -0
- package/dist/LivesPage-LF5yGp4X.mjs.map +1 -0
- package/dist/{LivesPage-3nPItQ68.mjs → LivesPage-vu6VOIIy.mjs} +5 -5
- package/dist/LivesPage-vu6VOIIy.mjs.map +1 -0
- package/dist/MapPage-BAdp_uyS.mjs.map +1 -0
- package/dist/MapPage-BUwYdsZz.mjs.map +1 -0
- package/dist/MapPage-CP0LRWUV.mjs.map +1 -0
- package/dist/{MapPage-BO2h6OPn.mjs → MapPage-DmEdjPRe.mjs} +2 -2
- package/dist/MapPage-DmEdjPRe.mjs.map +1 -0
- package/dist/MapPage-Dr-Lo2xc.mjs.map +1 -0
- package/dist/MapPage-DsNW6bfn.mjs.map +1 -0
- package/dist/MapPage-acIILN8p.mjs.map +1 -0
- package/dist/MobileMenu-B8KrEHS7.mjs.map +1 -0
- package/dist/MobileMenu-BBX4HKwH.mjs.map +1 -0
- package/dist/MobileMenu-Bz6UhLWC.mjs.map +1 -0
- package/dist/MobileMenu-C3Ti4eGr.mjs.map +1 -0
- package/dist/MobileMenu-C4rmAeeO.mjs.map +1 -0
- package/dist/MobileMenu-D_oFeqsX.mjs.map +1 -0
- package/dist/{MobileMenu-DzyIn4Ww.mjs → MobileMenu-xNe7tNdx.mjs} +4 -4
- package/dist/MobileMenu-xNe7tNdx.mjs.map +1 -0
- package/dist/NewsletterModal-C0yXR-kQ.mjs.map +1 -0
- package/dist/NewsletterModal-Cdyqy09L.mjs.map +1 -0
- package/dist/NewsletterModal-D586dru6.mjs.map +1 -0
- package/dist/NewsletterModal-DNrt2N6S.mjs.map +1 -0
- package/dist/{NewsletterModal-MVu7IC0K.mjs → NewsletterModal-LqgD6CbF.mjs} +2 -2
- package/dist/NewsletterModal-LqgD6CbF.mjs.map +1 -0
- package/dist/NewsletterModal-nsrnL-nQ.mjs.map +1 -0
- package/dist/NewsletterModal-uv5C55km.mjs.map +1 -0
- package/dist/{OrganisationChooser-BZnwu6PU.mjs → OrganisationChooser-BiNMu3dn.mjs} +3 -3
- package/dist/OrganisationChooser-BiNMu3dn.mjs.map +1 -0
- package/dist/OrganisationChooser-CTkEs5Lk.mjs.map +1 -0
- package/dist/OrganisationChooser-D2PVq36_.mjs.map +1 -0
- package/dist/OrganisationChooser-D4pgbdT9.mjs.map +1 -0
- package/dist/OrganisationChooser-Df1zfiwF.mjs.map +1 -0
- package/dist/OrganisationChooser-DsfCK19O.mjs.map +1 -0
- package/dist/OrganisationChooser-RBwmBNhI.mjs.map +1 -0
- package/dist/{OrganisationChooserLight-DtC9SY2k.mjs → OrganisationChooserLight-BJwIMZ6G.mjs} +2 -2
- package/dist/OrganisationChooserLight-BJwIMZ6G.mjs.map +1 -0
- package/dist/OrganisationChooserLight-BsmG2mng.mjs.map +1 -0
- package/dist/OrganisationChooserLight-C1VGVe3p.mjs.map +1 -0
- package/dist/OrganisationChooserLight-CP3_D7XA.mjs.map +1 -0
- package/dist/OrganisationChooserLight-DI8OeLkm.mjs.map +1 -0
- package/dist/OrganisationChooserLight-Dpi7pho1.mjs.map +1 -0
- package/dist/OrganisationChooserLight-DyisKiU3.mjs.map +1 -0
- package/dist/PageNotFound-5He9oK3T.mjs.map +1 -0
- package/dist/PageNotFound-BILSb0NS.mjs.map +1 -0
- package/dist/PageNotFound-C-HodkyM.mjs.map +1 -0
- package/dist/PageNotFound-CJmz7PmV.mjs.map +1 -0
- package/dist/{PageNotFound-XkbxiC3R.mjs → PageNotFound-ChQf6Ngj.mjs} +3 -3
- package/dist/PageNotFound-ChQf6Ngj.mjs.map +1 -0
- package/dist/PageNotFound-D8OzzGBQ.mjs.map +1 -0
- package/dist/PageNotFound-Dl4pr9W6.mjs.map +1 -0
- package/dist/ParticipantInlineList-BEnBWVWR.mjs.map +1 -0
- package/dist/ParticipantInlineList-C0nBiyWg.mjs.map +1 -0
- package/dist/ParticipantInlineList-CRBcuszy.mjs.map +1 -0
- package/dist/{ParticipantInlineList-CXt6fXdk.mjs → ParticipantInlineList-CcCfd9rJ.mjs} +5 -5
- package/dist/ParticipantInlineList-CcCfd9rJ.mjs.map +1 -0
- package/dist/ParticipantInlineList-Cnqgz2lu.mjs.map +1 -0
- package/dist/ParticipantInlineList-CrEivwtQ.mjs.map +1 -0
- package/dist/ParticipantInlineList-DR2ZAj4I.mjs.map +1 -0
- package/dist/ParticipantInlineList-NKPnosX0.mjs.map +1 -0
- package/dist/ParticipantInlineList-tRiCRhZT.mjs.map +1 -0
- package/dist/ParticipantItem-BUux9Sod.mjs.map +1 -0
- package/dist/ParticipantItem-Bo3lOYet.mjs.map +1 -0
- package/dist/ParticipantItem-CQkg9uA2.mjs.map +1 -0
- package/dist/ParticipantItem-CYD8mFKj.mjs.map +1 -0
- package/dist/{ParticipantItem-DuNtN4xy.mjs → ParticipantItem-Ch4_98y_.mjs} +4 -4
- package/dist/ParticipantItem-Ch4_98y_.mjs.map +1 -0
- package/dist/ParticipantItem-Duf1Dqiy.mjs.map +1 -0
- package/dist/ParticipantItem-Py7gMJEO.mjs.map +1 -0
- package/dist/ParticipantItem-cWDpHBmw.mjs.map +1 -0
- package/dist/ParticipantItem-sU3HvxsO.mjs.map +1 -0
- package/dist/ParticipantPage-BjbzvT79.mjs.map +1 -0
- package/dist/ParticipantPage-CFOmsr7J.mjs.map +1 -0
- package/dist/ParticipantPage-CJF_q763.mjs.map +1 -0
- package/dist/ParticipantPage-CayKwqJR.mjs.map +1 -0
- package/dist/ParticipantPage-Cc6c48Re.mjs.map +1 -0
- package/dist/ParticipantPage-D-47wU1r.mjs.map +1 -0
- package/dist/ParticipantPage-DhEts9Fb.mjs.map +1 -0
- package/dist/ParticipantPage-DkQssmwq.mjs.map +1 -0
- package/dist/{ParticipantPage-CNxK2NDT.mjs → ParticipantPage-DtAxvp2W.mjs} +9 -9
- package/dist/ParticipantPage-DtAxvp2W.mjs.map +1 -0
- package/dist/ParticipantsPage-BQWxk0kn.mjs.map +1 -0
- package/dist/ParticipantsPage-ByDJNNQP.mjs.map +1 -0
- package/dist/{ParticipantsPage-BRmwzzh-.mjs → ParticipantsPage-BzdpZCDO.mjs} +7 -7
- package/dist/ParticipantsPage-BzdpZCDO.mjs.map +1 -0
- package/dist/ParticipantsPage-C0zCaBAN.mjs.map +1 -0
- package/dist/ParticipantsPage-CMlr61eA.mjs.map +1 -0
- package/dist/ParticipantsPage-COkwBD_g.mjs.map +1 -0
- package/dist/ParticipantsPage-CxOpIszl.mjs.map +1 -0
- package/dist/ParticipantsPage-DbCJ_xh8.mjs.map +1 -0
- package/dist/ParticipantsPage-lPPbUyo7.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-7vjldHzL.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-BKSUU6ln.mjs.map +1 -0
- package/dist/{PlayerAnonymousModal-DstBQ-Zs.mjs → PlayerAnonymousModal-BKaI6E9o.mjs} +3 -3
- package/dist/PlayerAnonymousModal-BKaI6E9o.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-BtghKP8M.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-Bz_vt6vZ.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-CnKXq6ez.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-ZqyARAv3.mjs.map +1 -0
- package/dist/{PlayerCompact-DgsZttBX.mjs → PlayerCompact-B-WRNyqn.mjs} +4 -4
- package/dist/PlayerCompact-B-WRNyqn.mjs.map +1 -0
- package/dist/PlayerCompact-B-x6J7cl.mjs.map +1 -0
- package/dist/PlayerCompact-BzcQcgqX.mjs.map +1 -0
- package/dist/PlayerCompact-CcRdWagH.mjs.map +1 -0
- package/dist/PlayerCompact-D2p0ZIHQ.mjs.map +1 -0
- package/dist/PlayerCompact-aIbQLF3h.mjs.map +1 -0
- package/dist/PlayerCompact-gWt2fJaQ.mjs.map +1 -0
- package/dist/PlayerComponent-BzlYi_Ow.mjs.map +1 -0
- package/dist/PlayerComponent-CBZxYTU1.mjs.map +1 -0
- package/dist/{PlayerComponent-BDJQLPcs.mjs → PlayerComponent-CUHTRJic.mjs} +8 -8
- package/dist/PlayerComponent-CUHTRJic.mjs.map +1 -0
- package/dist/PlayerComponent-D2h1w9z5.mjs.map +1 -0
- package/dist/PlayerComponent-D4U1OmjB.mjs.map +1 -0
- package/dist/PlayerComponent-Dnqs6S8R.mjs.map +1 -0
- package/dist/PlayerComponent-ZTo5F4BH.mjs.map +1 -0
- package/dist/PlayerLarge-2ekd361u.mjs.map +1 -0
- package/dist/PlayerLarge-BisiuTbM.mjs.map +1 -0
- package/dist/PlayerLarge-Cujee7Yx.mjs.map +1 -0
- package/dist/PlayerLarge-DUX0TfTs.mjs.map +1 -0
- package/dist/PlayerLarge-DmbtYNNk.mjs.map +1 -0
- package/dist/{PlayerLarge-CubFsFCt.mjs → PlayerLarge-Kt-pV6N_.mjs} +7 -7
- package/dist/PlayerLarge-Kt-pV6N_.mjs.map +1 -0
- package/dist/PlayerLarge-qjnmbVOv.mjs.map +1 -0
- package/dist/PlayerPlayButton-BPsfZCY3.mjs.map +1 -0
- package/dist/{PlayerPlayButton-DQBkOGod.mjs → PlayerPlayButton-CAElMmMV.mjs} +5 -5
- package/dist/PlayerPlayButton-CAElMmMV.mjs.map +1 -0
- package/dist/PlayerPlayButton-CCjszcz0.mjs.map +1 -0
- package/dist/PlayerPlayButton-Ch13_VDS.mjs.map +1 -0
- package/dist/PlayerPlayButton-Cyrw_cga.mjs.map +1 -0
- package/dist/PlayerPlayButton-XWMj19eH.mjs.map +1 -0
- package/dist/PlayerPlayButton-pCY5tl9N.mjs.map +1 -0
- package/dist/PlayerProgressBar-BAOBWS7y.mjs.map +1 -0
- package/dist/PlayerProgressBar-Bx_i6wnH.mjs.map +1 -0
- package/dist/PlayerProgressBar-CwMFzYDi.mjs.map +1 -0
- package/dist/PlayerProgressBar-D-cNkJmu.mjs.map +1 -0
- package/dist/{PlayerProgressBar-AhqJPkUk.mjs → PlayerProgressBar-DWAyhBWx.mjs} +4 -4
- package/dist/PlayerProgressBar-DWAyhBWx.mjs.map +1 -0
- package/dist/PlayerProgressBar-Drigrm0o.mjs.map +1 -0
- package/dist/PlayerProgressBar-MfOUpxGI.mjs.map +1 -0
- package/dist/PlayerStore-7LlyIvl0.mjs.map +1 -0
- package/dist/{PlayerStore-S4mFfJ75.mjs → PlayerStore-7vhL8Npe.mjs} +2 -2
- package/dist/PlayerStore-7vhL8Npe.mjs.map +1 -0
- package/dist/PlayerStore-B6kwXQZ8.mjs.map +1 -0
- package/dist/PlayerStore-BvkLLLst.mjs.map +1 -0
- package/dist/PlayerStore-C1tm0Oar.mjs.map +1 -0
- package/dist/PlayerStore-DZiDRLQN.mjs.map +1 -0
- package/dist/PlayerStore-kuZWcb-U.mjs.map +1 -0
- package/dist/PlayerVideo-7nnfCTlR.mjs.map +1 -0
- package/dist/PlayerVideo-BofTa3uM.mjs.map +1 -0
- package/dist/PlayerVideo-BtkR6jg2.mjs.map +1 -0
- package/dist/PlayerVideo-CG_vQWU0.mjs.map +1 -0
- package/dist/PlayerVideo-CJ9eefTe.mjs.map +1 -0
- package/dist/{PlayerVideo-D-TYPaLL.mjs → PlayerVideo-Dq7OHOig.mjs} +5 -5
- package/dist/PlayerVideo-Dq7OHOig.mjs.map +1 -0
- package/dist/PlayerVideo-DqT3hB5y.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-BFLGMVo-.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-CAmI0Em3.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-Cy0L4YOd.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-DnNkrWIT.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-Dt73T6Qs.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-Dud6Y4wc.mjs.map +1 -0
- package/dist/{PlayerVideoDigiteka-DMC8L6Mz.mjs → PlayerVideoDigiteka-pNFWNrON.mjs} +3 -3
- package/dist/PlayerVideoDigiteka-pNFWNrON.mjs.map +1 -0
- package/dist/PlayerVideoHls-BDDiwxGb.mjs.map +1 -0
- package/dist/{PlayerVideoHls-VFKtt3Qx.mjs → PlayerVideoHls-CE2SIkEn.mjs} +4 -4
- package/dist/PlayerVideoHls-CE2SIkEn.mjs.map +1 -0
- package/dist/PlayerVideoHls-CoK72Ry1.mjs.map +1 -0
- package/dist/PlayerVideoHls-D-nrZlVs.mjs.map +1 -0
- package/dist/PlayerVideoHls-cotysRp5.mjs.map +1 -0
- package/dist/PlayerVideoHls-jOa02CyD.mjs.map +1 -0
- package/dist/PlayerVideoHls-k_3vIV-3.mjs.map +1 -0
- package/dist/PlaylistPage-BZx9ojty.mjs.map +1 -0
- package/dist/PlaylistPage-CBWEAkDm.mjs.map +1 -0
- package/dist/{PlaylistPage-DCMCB2S0.mjs → PlaylistPage-Cb5ukqXZ.mjs} +12 -12
- package/dist/PlaylistPage-Cb5ukqXZ.mjs.map +1 -0
- package/dist/PlaylistPage-Cv15l4gs.mjs.map +1 -0
- package/dist/PlaylistPage-D6OVQKg7.mjs.map +1 -0
- package/dist/PlaylistPage-D__PNCOf.mjs.map +1 -0
- package/dist/PlaylistPage-Jv5rPWTt.mjs.map +1 -0
- package/dist/PlaylistPage-Le2dLhgP.mjs.map +1 -0
- package/dist/PlaylistPage-Tbq77bN4.mjs.map +1 -0
- package/dist/PlaylistsPage-BSD4BZop.mjs.map +1 -0
- package/dist/PlaylistsPage-C_aZ8Lzc.mjs.map +1 -0
- package/dist/PlaylistsPage-D8YgTvxe.mjs.map +1 -0
- package/dist/{PlaylistsPage-CAaiC48j.mjs → PlaylistsPage-DAVADzhL.mjs} +7 -7
- package/dist/PlaylistsPage-DAVADzhL.mjs.map +1 -0
- package/dist/PlaylistsPage-DkkPMbPD.mjs.map +1 -0
- package/dist/PlaylistsPage-MqIyXNlI.mjs.map +1 -0
- package/dist/PlaylistsPage-W-eroSMe.mjs.map +1 -0
- package/dist/PodcastFilterList-CPtCzU9P.mjs.map +1 -0
- package/dist/{PodcastFilterList-DC_MbmDG.mjs → PodcastFilterList-CmqrA2oC.mjs} +3 -3
- package/dist/PodcastFilterList-CmqrA2oC.mjs.map +1 -0
- package/dist/PodcastFilterList-Co_yncww.mjs.map +1 -0
- package/dist/PodcastFilterList-CqqSn_UR.mjs.map +1 -0
- package/dist/PodcastFilterList-CsN5tLJ5.mjs.map +1 -0
- package/dist/PodcastFilterList-DluBCeUz.mjs.map +1 -0
- package/dist/PodcastFilterList-DooOZgn6.mjs.map +1 -0
- package/dist/PodcastFilterList-Dt-zeKoY.mjs.map +1 -0
- package/dist/PodcastFilterList-ScEWo73F.mjs.map +1 -0
- package/dist/PodcastImage-BeXlZu-M.mjs.map +1 -0
- package/dist/PodcastImage-C0y1-_Ef.mjs.map +1 -0
- package/dist/PodcastImage-C21I_lnU.mjs.map +1 -0
- package/dist/PodcastImage-CWKY72t1.mjs.map +1 -0
- package/dist/PodcastImage-CbOp5HBb.mjs.map +1 -0
- package/dist/PodcastImage-DamlmvBn.mjs.map +1 -0
- package/dist/PodcastImage-DsU_qbcI.mjs.map +1 -0
- package/dist/{PodcastImage-Dk-1L3AQ.mjs → PodcastImage-FhC5F4MR.mjs} +4 -4
- package/dist/PodcastImage-FhC5F4MR.mjs.map +1 -0
- package/dist/PodcastImage-fBx9FmaM.mjs.map +1 -0
- package/dist/PodcastInlineList-4uf55RGp.mjs.map +1 -0
- package/dist/PodcastInlineList-BFe-4rfk.mjs.map +1 -0
- package/dist/PodcastInlineList-BP-eXViR.mjs.map +1 -0
- package/dist/{PodcastInlineList-CIrrTrdd.mjs → PodcastInlineList-CDumc8n6.mjs} +2 -2
- package/dist/PodcastInlineList-CDumc8n6.mjs.map +1 -0
- package/dist/PodcastInlineList-CMLSSgCl.mjs.map +1 -0
- package/dist/PodcastInlineList-CoLPUU1O.mjs.map +1 -0
- package/dist/PodcastInlineList-DVEOw_jZ.mjs.map +1 -0
- package/dist/PodcastInlineList-NuchUq3F.mjs.map +1 -0
- package/dist/PodcastInlineList-TrVj1WsC.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-Bif2XHIx.mjs.map +1 -0
- package/dist/{PodcastInlineListTemplate-DpveKzmq.mjs → PodcastInlineListTemplate-CB3uZjwS.mjs} +4 -4
- package/dist/PodcastInlineListTemplate-CB3uZjwS.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-CiXIYnv7.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-CpLRagzE.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-D9_3zHeM.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-DJSNNFOh.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-PnoLyihJ.mjs.map +1 -0
- package/dist/PodcastIsPlaying-640MMTTV.mjs.map +1 -0
- package/dist/PodcastIsPlaying-BfKDPivV.mjs.map +1 -0
- package/dist/PodcastIsPlaying-CjnQmJ0x.mjs.map +1 -0
- package/dist/PodcastIsPlaying-DMXKbEjS.mjs.map +1 -0
- package/dist/PodcastIsPlaying-DpUjmLlW.mjs.map +1 -0
- package/dist/{PodcastIsPlaying-Dx_XNjz4.mjs → PodcastIsPlaying-DqnPEYSJ.mjs} +2 -2
- package/dist/PodcastIsPlaying-DqnPEYSJ.mjs.map +1 -0
- package/dist/PodcastIsPlaying-j9a5pcJu.mjs.map +1 -0
- package/dist/PodcastItem-B2omNjKA.mjs.map +1 -0
- package/dist/PodcastItem-BTKSsuZY.mjs.map +1 -0
- package/dist/PodcastItem-BUe2ZVg7.mjs.map +1 -0
- package/dist/PodcastItem-DlzucX-c.mjs.map +1 -0
- package/dist/PodcastItem-DqcitfgD.mjs.map +1 -0
- package/dist/PodcastItem-_eKhUVGk.mjs.map +1 -0
- package/dist/PodcastItem-a9u75Wpq.mjs.map +1 -0
- package/dist/PodcastItem-cssDzcpa.mjs.map +1 -0
- package/dist/{PodcastItem-BrCf4kZs.mjs → PodcastItem-rF33x3wp.mjs} +7 -7
- package/dist/PodcastItem-rF33x3wp.mjs.map +1 -0
- package/dist/PodcastList-3w_q0Qic.mjs.map +1 -0
- package/dist/PodcastList-5vsIa70L.mjs.map +1 -0
- package/dist/PodcastList-ATGmVU1-.mjs.map +1 -0
- package/dist/PodcastList-B20GtO2V.mjs.map +1 -0
- package/dist/PodcastList-BSKlfx8q.mjs.map +1 -0
- package/dist/PodcastList-BV902l6U.mjs.map +1 -0
- package/dist/PodcastList-BWYRh4OU.mjs.map +1 -0
- package/dist/{PodcastList-0qKdtTwt.mjs → PodcastList-BewxderG.mjs} +5 -5
- package/dist/PodcastList-BewxderG.mjs.map +1 -0
- package/dist/PodcastList-CHOZ5sWV.mjs.map +1 -0
- package/dist/PodcastList-CMATMgPs.mjs.map +1 -0
- package/dist/PodcastList-CzAh_ZPT.mjs.map +1 -0
- package/dist/{PodcastList-CmxUF9_N.mjs → PodcastList-DYLAwHbt.mjs} +6 -6
- package/dist/PodcastList-DYLAwHbt.mjs.map +1 -0
- package/dist/PodcastList-Dxg8A4ui.mjs.map +1 -0
- package/dist/PodcastList-NQ0QF4lo.mjs.map +1 -0
- package/dist/PodcastList-TLe8ef1p.mjs.map +1 -0
- package/dist/PodcastList-aeKPA2Pa.mjs.map +1 -0
- package/dist/PodcastList-w8j9w3A3.mjs.map +1 -0
- package/dist/PodcastList-zLoXrLjM.mjs.map +1 -0
- package/dist/PodcastPage-7TvhRhNY.mjs.map +1 -0
- package/dist/PodcastPage-9LBDV577.mjs.map +1 -0
- package/dist/PodcastPage-ASnAv0Hy.mjs.map +1 -0
- package/dist/PodcastPage-B8AKWW1N.mjs.map +1 -0
- package/dist/PodcastPage-BHnY1AyE.mjs.map +1 -0
- package/dist/PodcastPage-BOuG5LyA.mjs.map +1 -0
- package/dist/PodcastPage-BwzigA-q.mjs.map +1 -0
- package/dist/PodcastPage-CQvLnC1G.mjs.map +1 -0
- package/dist/PodcastPage-C_8OMBPC.mjs.map +1 -0
- package/dist/PodcastPage-C_Eg4Zbc.mjs.map +1 -0
- package/dist/PodcastPage-CbwfzcE9.mjs.map +1 -0
- package/dist/PodcastPage-CgjKlSvp.mjs.map +1 -0
- package/dist/PodcastPage-CrF52JIi.mjs.map +1 -0
- package/dist/PodcastPage-Culwyrcp.mjs.map +1 -0
- package/dist/PodcastPage-D8kQEHyz.mjs.map +1 -0
- package/dist/PodcastPage-DPXR-5-z.mjs.map +1 -0
- package/dist/PodcastPage-DStxOLRd.mjs.map +1 -0
- package/dist/PodcastPage-DcvotAob.mjs.map +1 -0
- package/dist/PodcastPage-DoUwareI.mjs.map +1 -0
- package/dist/{PodcastPage-BvRTyXh8.mjs → PodcastPage-NMZSFjQm.mjs} +63 -32
- package/dist/PodcastPage-NMZSFjQm.mjs.map +1 -0
- package/dist/PodcastPage-V1XY5ICb.mjs.map +1 -0
- package/dist/PodcastPage-fC-hXh-c.mjs.map +1 -0
- package/dist/PodcastPage-k8D3U82P.mjs.map +1 -0
- package/dist/PodcastPage-wTylVERN.mjs.map +1 -0
- package/dist/PodcastPage-xjk1WBAv.mjs.map +1 -0
- package/dist/PodcastPlayBar-BEyKbC22.mjs.map +1 -0
- package/dist/PodcastPlayBar-Cggx8A-d.mjs.map +1 -0
- package/dist/PodcastPlayBar-DHIXjuJO.mjs.map +1 -0
- package/dist/{PodcastPlayBar-BafidGw3.mjs → PodcastPlayBar-D_b7qme_.mjs} +4 -4
- package/dist/PodcastPlayBar-D_b7qme_.mjs.map +1 -0
- package/dist/PodcastPlayBar-N3TwfXUo.mjs.map +1 -0
- package/dist/PodcastPlayBar-_e0LCcGd.mjs.map +1 -0
- package/dist/PodcastPlayBar-lojf3mqg.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-BoFyO-5v.mjs.map +1 -0
- package/dist/{PodcastPlayBasicButton-DqomjSS_.mjs → PodcastPlayBasicButton-Br9wqAv7.mjs} +2 -2
- package/dist/PodcastPlayBasicButton-Br9wqAv7.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-Ca7KCiwF.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-Cot0Hw7f.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-CuRUgSxj.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-D2RrMC3u.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-KJRkgfDO.mjs.map +1 -0
- package/dist/PodcastPlayButton-BE6hVdpb.mjs.map +1 -0
- package/dist/PodcastPlayButton-BL06-DcD.mjs.map +1 -0
- package/dist/PodcastPlayButton-CIlav88-.mjs.map +1 -0
- package/dist/PodcastPlayButton-CfbXWla-.mjs.map +1 -0
- package/dist/PodcastPlayButton-CkUupm2O.mjs.map +1 -0
- package/dist/PodcastPlayButton-Cwh7588y.mjs.map +1 -0
- package/dist/{PodcastPlayButton-D7YuFUWp.mjs → PodcastPlayButton-Dgv5W72_.mjs} +4 -4
- package/dist/PodcastPlayButton-Dgv5W72_.mjs.map +1 -0
- package/dist/PodcastPlayButton-DwKPWtV0.mjs.map +1 -0
- package/dist/PodcastPlayButton-vspf9u4U.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-B3cji_kZ.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-BdfZY6Bi.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-BxUy7Yg7.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-C3khc2NN.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-CQF7SZ6j.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-D8VLeO5u.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-D9PS9Z2X.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-WISkRxKn.mjs.map +1 -0
- package/dist/{PodcastPlaylistInlineList-Dx1iJbdA.mjs → PodcastPlaylistInlineList-YDhy9TvO.mjs} +5 -5
- package/dist/PodcastPlaylistInlineList-YDhy9TvO.mjs.map +1 -0
- package/dist/PodcastPresentationList-6ZP8AnoX.mjs.map +1 -0
- package/dist/PodcastPresentationList-AP-ZURmT.mjs.map +1 -0
- package/dist/PodcastPresentationList-BC6cS2jK.mjs.map +1 -0
- package/dist/PodcastPresentationList-BfakxuQt.mjs.map +1 -0
- package/dist/PodcastPresentationList-CfsRs5zo.mjs.map +1 -0
- package/dist/PodcastPresentationList-Crr-1ywF.mjs.map +1 -0
- package/dist/PodcastPresentationList-Cvn11sIu.mjs.map +1 -0
- package/dist/{PodcastPresentationList-CaTtzsoH.mjs → PodcastPresentationList-DxUwH3dU.mjs} +5 -5
- package/dist/PodcastPresentationList-DxUwH3dU.mjs.map +1 -0
- package/dist/PodcastPresentationList-V-rJhaqG.mjs.map +1 -0
- package/dist/PodcastProgressBar-BBwzkXWn.mjs.map +1 -0
- package/dist/PodcastProgressBar-C2Kbdsds.mjs.map +1 -0
- package/dist/PodcastProgressBar-CxWDWvG2.mjs.map +1 -0
- package/dist/PodcastProgressBar-DY-PA2H4.mjs.map +1 -0
- package/dist/{PodcastProgressBar-BoRBxgPF.mjs → PodcastProgressBar-D_togvfJ.mjs} +4 -4
- package/dist/PodcastProgressBar-D_togvfJ.mjs.map +1 -0
- package/dist/PodcastProgressBar-lNHC70cW.mjs.map +1 -0
- package/dist/PodcastProgressBar-n2ASk6Jr.mjs.map +1 -0
- package/dist/PodcastRawTranscript-BXaXSOG0.mjs.map +1 -0
- package/dist/PodcastRawTranscript-Bp-DCioJ.mjs.map +1 -0
- package/dist/{PodcastRawTranscript-HOcGzqam.mjs → PodcastRawTranscript-CHnE4Q9g.mjs} +3 -3
- package/dist/PodcastRawTranscript-CHnE4Q9g.mjs.map +1 -0
- package/dist/PodcastRawTranscript-Cl5YD7_I.mjs.map +1 -0
- package/dist/PodcastRawTranscript-D2eMeI5k.mjs.map +1 -0
- package/dist/PodcastRawTranscript-DyHxxFrC.mjs.map +1 -0
- package/dist/PodcastRawTranscript-yTs0EUKz.mjs.map +1 -0
- package/dist/PodcastRubriqueList-BSqs8IWw.mjs.map +1 -0
- package/dist/PodcastRubriqueList-BoQ3r-hl.mjs.map +1 -0
- package/dist/PodcastRubriqueList-D6UwV3RM.mjs.map +1 -0
- package/dist/PodcastRubriqueList-DHWcZB1k.mjs.map +1 -0
- package/dist/PodcastRubriqueList-DQhU9j2T.mjs.map +1 -0
- package/dist/{PodcastRubriqueList-C6IUkNSJ.mjs → PodcastRubriqueList-DqHgAzXW.mjs} +2 -2
- package/dist/PodcastRubriqueList-DqHgAzXW.mjs.map +1 -0
- package/dist/PodcastRubriqueList-MKouh9FT.mjs.map +1 -0
- package/dist/PodcastSwiperList-BIlusV0y.mjs.map +1 -0
- package/dist/PodcastSwiperList-BcOEmb2L.mjs.map +1 -0
- package/dist/PodcastSwiperList-Bcl4Sr87.mjs.map +1 -0
- package/dist/PodcastSwiperList-CHiE_5Np.mjs.map +1 -0
- package/dist/PodcastSwiperList-CW7KHrXE.mjs.map +1 -0
- package/dist/PodcastSwiperList-CZ0_rjSj.mjs.map +1 -0
- package/dist/PodcastSwiperList-DlOf7qj-.mjs.map +1 -0
- package/dist/PodcastSwiperList-DwAm99HI.mjs.map +1 -0
- package/dist/{PodcastSwiperList-ByXlm62M.mjs → PodcastSwiperList-PoinXUn2.mjs} +5 -5
- package/dist/PodcastSwiperList-PoinXUn2.mjs.map +1 -0
- package/dist/PodcastmakerHeader-3PeM3wyF.mjs.map +1 -0
- package/dist/PodcastmakerHeader-BC7yZTRo.mjs.map +1 -0
- package/dist/PodcastmakerHeader-BVeOsj4_.mjs.map +1 -0
- package/dist/PodcastmakerHeader-C-vkFOcc.mjs.map +1 -0
- package/dist/PodcastmakerHeader-CLPAECC5.mjs.map +1 -0
- package/dist/{PodcastmakerHeader-SuHA7pwQ.mjs → PodcastmakerHeader-CTOmo93E.mjs} +2 -2
- package/dist/PodcastmakerHeader-CTOmo93E.mjs.map +1 -0
- package/dist/PodcastmakerHeader-DOD21_py.mjs.map +1 -0
- package/dist/PodcastsPage-234XpWuj.mjs.map +1 -0
- package/dist/{PodcastsPage-C_-VnfGg.mjs → PodcastsPage-B1JUH1co.mjs} +5 -5
- package/dist/PodcastsPage-B1JUH1co.mjs.map +1 -0
- package/dist/PodcastsPage-BNc0uI4a.mjs.map +1 -0
- package/dist/PodcastsPage-C601uah1.mjs.map +1 -0
- package/dist/PodcastsPage-CJHRB5IS.mjs.map +1 -0
- package/dist/PodcastsPage-Cp5g1lhW.mjs.map +1 -0
- package/dist/PodcastsPage-D7jjbbx6.mjs.map +1 -0
- package/dist/PodcastsPage-T8kmqhD6.mjs.map +1 -0
- package/dist/PodcastsPage-xZGU98Tj.mjs.map +1 -0
- package/dist/ProductorSearch-CTMYAxKp.mjs.map +1 -0
- package/dist/ProductorSearch-CeZ-1cW7.mjs.map +1 -0
- package/dist/ProductorSearch-D4fWcKog.mjs.map +1 -0
- package/dist/ProductorSearch-DCH0mawe.mjs.map +1 -0
- package/dist/ProductorSearch-DEQwq8Qp.mjs.map +1 -0
- package/dist/{ProductorSearch-DXwssvrx.mjs → ProductorSearch-XQ1jGYQw.mjs} +3 -3
- package/dist/ProductorSearch-XQ1jGYQw.mjs.map +1 -0
- package/dist/ProductorSearch-xyzEQY1e.mjs.map +1 -0
- package/dist/ProgressBar-6lP5chZK.mjs.map +1 -0
- package/dist/ProgressBar-Bt-AMFne.mjs.map +1 -0
- package/dist/ProgressBar-ButRLZKn.mjs.map +1 -0
- package/dist/{ProgressBar-BPdSp8k3.mjs → ProgressBar-CyddCXNJ.mjs} +2 -2
- package/dist/ProgressBar-CyddCXNJ.mjs.map +1 -0
- package/dist/ProgressBar-DSMOh1wT.mjs.map +1 -0
- package/dist/ProgressBar-NFkInTLb.mjs.map +1 -0
- package/dist/ProgressBar-Z51T1XCf.mjs.map +1 -0
- package/dist/QrCode-20OgUzN2.mjs.map +1 -0
- package/dist/{QrCode-DIUhV-JI.mjs → QrCode-6ZkgX9Ta.mjs} +2 -2
- package/dist/QrCode-6ZkgX9Ta.mjs.map +1 -0
- package/dist/QrCode-Bc2uQc55.mjs.map +1 -0
- package/dist/QrCode-CeV2SpH9.mjs.map +1 -0
- package/dist/QrCode-Do-uF9l1.mjs.map +1 -0
- package/dist/QrCode-LWqUFrdO.mjs.map +1 -0
- package/dist/QrCode-pbaY5gW1.mjs.map +1 -0
- package/dist/QrCodeModal-BHfET22K.mjs.map +1 -0
- package/dist/{QrCodeModal-DsqDbf2S.mjs → QrCodeModal-BNVatZWE.mjs} +2 -2
- package/dist/QrCodeModal-BNVatZWE.mjs.map +1 -0
- package/dist/QrCodeModal-DFfNl0fW.mjs.map +1 -0
- package/dist/QrCodeModal-DemrNflK.mjs.map +1 -0
- package/dist/QrCodeModal-Do265wVe.mjs.map +1 -0
- package/dist/QrCodeModal-NiYU4p1I.mjs.map +1 -0
- package/dist/QrCodeModal-wRXhUjGf.mjs.map +1 -0
- package/dist/RadioCurrently-BFAEfLFX.mjs.map +1 -0
- package/dist/{RadioCurrently-2uhupYt4.mjs → RadioCurrently-Bf-Pg-J_.mjs} +4 -4
- package/dist/RadioCurrently-Bf-Pg-J_.mjs.map +1 -0
- package/dist/RadioCurrently-CXjYjO3m.mjs.map +1 -0
- package/dist/RadioCurrently-CZiABA2W.mjs.map +1 -0
- package/dist/RadioCurrently-CoOjRUyE.mjs.map +1 -0
- package/dist/RadioCurrently-JKL0a_SK.mjs.map +1 -0
- package/dist/RadioCurrently-hx7bw94i.mjs.map +1 -0
- package/dist/RadioHistory-BF-qlL2M.mjs.map +1 -0
- package/dist/RadioHistory-Bf2QIRr6.mjs.map +1 -0
- package/dist/{RadioHistory-7HK9VIXU.mjs → RadioHistory-C7tOpvUk.mjs} +3 -3
- package/dist/RadioHistory-C7tOpvUk.mjs.map +1 -0
- package/dist/RadioHistory-CQCcGdcs.mjs.map +1 -0
- package/dist/RadioHistory-D-xw6ZDO.mjs.map +1 -0
- package/dist/RadioHistory-D6niGKEI.mjs.map +1 -0
- package/dist/RadioHistory-mkQlj0G1.mjs.map +1 -0
- package/dist/RadioImage-6T5CmnKh.mjs.map +1 -0
- package/dist/RadioImage-BUvykGlw.mjs.map +1 -0
- package/dist/RadioImage-BrYBuloV.mjs.map +1 -0
- package/dist/RadioImage-CMtQaqiz.mjs.map +1 -0
- package/dist/{RadioImage-DgrrJqhi.mjs → RadioImage-CiIj65_a.mjs} +5 -5
- package/dist/RadioImage-CiIj65_a.mjs.map +1 -0
- package/dist/RadioImage-DVwQNtMT.mjs.map +1 -0
- package/dist/RadioImage-XqoEXwZv.mjs.map +1 -0
- package/dist/{RadioList-5WLGZn1M.mjs → RadioList-BotOeNwF.mjs} +5 -5
- package/dist/RadioList-BotOeNwF.mjs.map +1 -0
- package/dist/RadioList-CjP-UN50.mjs.map +1 -0
- package/dist/RadioList-CroBp4d5.mjs.map +1 -0
- package/dist/RadioList-DUkyj-3T.mjs.map +1 -0
- package/dist/RadioList-Dp5kjFiW.mjs.map +1 -0
- package/dist/RadioList-DpSiNcDT.mjs.map +1 -0
- package/dist/RadioList-k2aCdh24.mjs.map +1 -0
- package/dist/RadioPage-BE4wCcA2.mjs.map +1 -0
- package/dist/RadioPage-BeTgvUPE.mjs.map +1 -0
- package/dist/{RadioPage-BLrZ2cZQ.mjs → RadioPage-CcPPJUmX.mjs} +11 -11
- package/dist/RadioPage-CcPPJUmX.mjs.map +1 -0
- package/dist/RadioPage-Cqc1x0Ld.mjs.map +1 -0
- package/dist/RadioPage-Cvr1JY6T.mjs.map +1 -0
- package/dist/RadioPage-DwYxk45W.mjs.map +1 -0
- package/dist/RadioPage-IflTSXFQ.mjs.map +1 -0
- package/dist/RadioPlanning-BHklVGWm.mjs.map +1 -0
- package/dist/RadioPlanning-C5dPMP4_.mjs.map +1 -0
- package/dist/{RadioPlanning-CMSEqOnd.mjs → RadioPlanning-C8MtglrL.mjs} +3 -3
- package/dist/RadioPlanning-C8MtglrL.mjs.map +1 -0
- package/dist/RadioPlanning-DCyp5l76.mjs.map +1 -0
- package/dist/RadioPlanning-Iw9vA8fj.mjs.map +1 -0
- package/dist/RadioPlanning-MiAA82P8.mjs.map +1 -0
- package/dist/RadioPlanning-zfc80hVQ.mjs.map +1 -0
- package/dist/{RadioProgressBar-imph2EDe.mjs → RadioProgressBar-1PEu9PP_.mjs} +2 -2
- package/dist/RadioProgressBar-1PEu9PP_.mjs.map +1 -0
- package/dist/RadioProgressBar-B1zJqxTH.mjs.map +1 -0
- package/dist/RadioProgressBar-BE7xpKuz.mjs.map +1 -0
- package/dist/RadioProgressBar-C7Lk7NWa.mjs.map +1 -0
- package/dist/RadioProgressBar-C7syfJeD.mjs.map +1 -0
- package/dist/RadioProgressBar-DKaDO8E3.mjs.map +1 -0
- package/dist/RadioProgressBar-DUwPmtUM.mjs.map +1 -0
- package/dist/RecaptchaModal-B4NgHMv8.mjs.map +1 -0
- package/dist/RecaptchaModal-Bh0R-LJQ.mjs.map +1 -0
- package/dist/{RecaptchaModal-CxDPhjIv.mjs → RecaptchaModal-CHFdC9Sq.mjs} +2 -2
- package/dist/RecaptchaModal-CHFdC9Sq.mjs.map +1 -0
- package/dist/RecaptchaModal-DDN7f19l.mjs.map +1 -0
- package/dist/RecaptchaModal-DZgBJsqv.mjs.map +1 -0
- package/dist/RecaptchaModal-D_Jsgg1Y.mjs.map +1 -0
- package/dist/RecaptchaModal-DeXzozPd.mjs.map +1 -0
- package/dist/ReportAbuseModal-BNmgx7J8.mjs.map +1 -0
- package/dist/ReportAbuseModal-CGdwy6AX.mjs.map +1 -0
- package/dist/{ReportAbuseModal-Dhr0wNeN.mjs → ReportAbuseModal-CRcYir1i.mjs} +4 -4
- package/dist/ReportAbuseModal-CRcYir1i.mjs.map +1 -0
- package/dist/ReportAbuseModal-Cd05gQRG.mjs.map +1 -0
- package/dist/ReportAbuseModal-DZZSuWJL.mjs.map +1 -0
- package/dist/ReportAbuseModal-Jkua96nx.mjs.map +1 -0
- package/dist/ReportAbuseModal-fW3qVnqB.mjs.map +1 -0
- package/dist/RightsIndicator-BS3j-fVM.mjs.map +1 -0
- package/dist/RightsIndicator-BfnK3wyp.mjs.map +1 -0
- package/dist/RightsIndicator-CIvYsls2.mjs.map +1 -0
- package/dist/RightsIndicator-DCXOdtYK.mjs.map +1 -0
- package/dist/{RightsIndicator-mnSeA5VR.mjs → RightsIndicator-DeX5rK6p.mjs} +2 -2
- package/dist/RightsIndicator-DeX5rK6p.mjs.map +1 -0
- package/dist/RightsIndicator-IodEqXTS.mjs.map +1 -0
- package/dist/RightsIndicator-Tp19E3wH.mjs.map +1 -0
- package/dist/RightsIndicator-UnNA-JnX.mjs.map +1 -0
- package/dist/RightsIndicator-fNFREWAW.mjs.map +1 -0
- package/dist/{RightsWrapper-CH6QzSWu.mjs → RightsWrapper-B8WfUUyU.mjs} +3 -3
- package/dist/RightsWrapper-B8WfUUyU.mjs.map +1 -0
- package/dist/RightsWrapper-C4RmSfic.mjs.map +1 -0
- package/dist/RightsWrapper-CuyTiPNy.mjs.map +1 -0
- package/dist/RightsWrapper-CwfoSSsa.mjs.map +1 -0
- package/dist/RightsWrapper-Dfn3I70v.mjs.map +1 -0
- package/dist/RightsWrapper-Du_voV0a.mjs.map +1 -0
- package/dist/RightsWrapper-cUlJfjI3.mjs.map +1 -0
- package/dist/RubriqueFilter-CM7kr6ig.mjs.map +1 -0
- package/dist/RubriqueFilter-CZDYRGY1.mjs.map +1 -0
- package/dist/RubriqueFilter-ChiOg_xE.mjs.map +1 -0
- package/dist/RubriqueFilter-CmuKuprg.mjs.map +1 -0
- package/dist/{RubriqueFilter-BIBa9NNw.mjs → RubriqueFilter-DL_FXRSA.mjs} +3 -3
- package/dist/RubriqueFilter-DL_FXRSA.mjs.map +1 -0
- package/dist/RubriqueFilter-DrH0XXvc.mjs.map +1 -0
- package/dist/RubriqueFilter-MMI5yYaP.mjs.map +1 -0
- package/dist/RubriqueList-16-5nihG.mjs.map +1 -0
- package/dist/RubriqueList-BdfABEgq.mjs.map +1 -0
- package/dist/RubriqueList-BsPLy3ay.mjs.map +1 -0
- package/dist/RubriqueList-CJa6V4RB.mjs.map +1 -0
- package/dist/{RubriqueList-7NFIBpzM.mjs → RubriqueList-CMOS69Vq.mjs} +3 -3
- package/dist/RubriqueList-CMOS69Vq.mjs.map +1 -0
- package/dist/RubriqueList-CqwNtNAT.mjs.map +1 -0
- package/dist/RubriqueList-CwjcXWs4.mjs.map +1 -0
- package/dist/RubriquePage-08LTF55B.mjs.map +1 -0
- package/dist/RubriquePage-CCy-5tNr.mjs.map +1 -0
- package/dist/RubriquePage-CPZDxfSO.mjs.map +1 -0
- package/dist/RubriquePage-CuiSjNdT.mjs.map +1 -0
- package/dist/RubriquePage-D4eQhRIL.mjs.map +1 -0
- package/dist/RubriquePage-DB366qxe.mjs.map +1 -0
- package/dist/RubriquePage-DFHbwv9G.mjs.map +1 -0
- package/dist/{RubriquePage-D-4GhME5.mjs → RubriquePage-TE1WN6Ij.mjs} +5 -5
- package/dist/RubriquePage-TE1WN6Ij.mjs.map +1 -0
- package/dist/RubriquePage-hjdDUqyU.mjs.map +1 -0
- package/dist/SearchPage-B8jX1vjG.mjs.map +1 -0
- package/dist/SearchPage-BwFLn1-g.mjs.map +1 -0
- package/dist/SearchPage-CPD8eLYV.mjs.map +1 -0
- package/dist/SearchPage-CUtOUZtw.mjs.map +1 -0
- package/dist/SearchPage-D21Gk42b.mjs.map +1 -0
- package/dist/{SearchPage-C3hFn5z8.mjs → SearchPage-DMmu7a0f.mjs} +3 -3
- package/dist/SearchPage-DMmu7a0f.mjs.map +1 -0
- package/dist/SearchPage-DucZ1EKg.mjs.map +1 -0
- package/dist/SearchPage-DxnpnU0j.mjs.map +1 -0
- package/dist/SearchPage-oR9fUtW3.mjs.map +1 -0
- package/dist/ShareAnonymous---HePDRB.mjs.map +1 -0
- package/dist/{ShareAnonymous-BmIwbMz_.mjs → ShareAnonymous-BRlQaJhi.mjs} +6 -6
- package/dist/ShareAnonymous-BRlQaJhi.mjs.map +1 -0
- package/dist/ShareAnonymous-BW1VhJ2n.mjs.map +1 -0
- package/dist/ShareAnonymous-CsldJHoJ.mjs.map +1 -0
- package/dist/ShareAnonymous-DEGyPCUj.mjs.map +1 -0
- package/dist/ShareAnonymous-DiNPUc2X.mjs.map +1 -0
- package/dist/ShareAnonymous-eT0sUVWS.mjs.map +1 -0
- package/dist/ShareModalPlayer-BIwH-p5d.mjs.map +1 -0
- package/dist/ShareModalPlayer-CdUUtZ-5.mjs.map +1 -0
- package/dist/{ShareModalPlayer-CKQAlhfC.mjs → ShareModalPlayer-D98G_Ndx.mjs} +2 -2
- package/dist/ShareModalPlayer-D98G_Ndx.mjs.map +1 -0
- package/dist/ShareModalPlayer-DANO4VOp.mjs.map +1 -0
- package/dist/ShareModalPlayer-DjvS43q5.mjs.map +1 -0
- package/dist/ShareModalPlayer-b-ZIHCWY.mjs.map +1 -0
- package/dist/ShareModalPlayer-o8Tnrbh1.mjs.map +1 -0
- package/dist/ShareNewsletter--cvmmWE0.mjs.map +1 -0
- package/dist/{ShareNewsletter-YyZJPmj3.mjs → ShareNewsletter-C-clOCKi.mjs} +2 -2
- package/dist/ShareNewsletter-C-clOCKi.mjs.map +1 -0
- package/dist/ShareNewsletter-CUcmJiot.mjs.map +1 -0
- package/dist/ShareNewsletter-Cp4-g5fA.mjs.map +1 -0
- package/dist/ShareNewsletter-D8_5L_AT.mjs.map +1 -0
- package/dist/ShareNewsletter-Je8-QirK.mjs.map +1 -0
- package/dist/ShareNewsletter-N55dIA_B.mjs.map +1 -0
- package/dist/SharePlayer-B4Ljxcx6.mjs.map +1 -0
- package/dist/SharePlayer-BxHten3Y.mjs.map +1 -0
- package/dist/SharePlayer-CD7oGqJ2.mjs.map +1 -0
- package/dist/SharePlayer-CE1qHkec.mjs.map +1 -0
- package/dist/{SharePlayer-B-8165rs.mjs → SharePlayer-ChACZKgH.mjs} +4 -4
- package/dist/SharePlayer-ChACZKgH.mjs.map +1 -0
- package/dist/SharePlayer-CltOR0Zh.mjs.map +1 -0
- package/dist/SharePlayer-CxoaWa3_.mjs.map +1 -0
- package/dist/SharePlayerRadio-BJVzAG1L.mjs.map +1 -0
- package/dist/SharePlayerRadio-Bixx8yFN.mjs.map +1 -0
- package/dist/SharePlayerRadio-CMsTpb_x.mjs.map +1 -0
- package/dist/{SharePlayerRadio-CqLsQYYx.mjs → SharePlayerRadio-CTMdvwN2.mjs} +3 -3
- package/dist/SharePlayerRadio-CTMdvwN2.mjs.map +1 -0
- package/dist/SharePlayerRadio-DU35ed7Y.mjs.map +1 -0
- package/dist/SharePlayerRadio-Djz3HIfx.mjs.map +1 -0
- package/dist/SharePlayerRadio-Dn3ui9OK.mjs.map +1 -0
- package/dist/{SharePlayerTypes-Bt2LQhZe.mjs → SharePlayerTypes-B7FLniHB.mjs} +2 -2
- package/dist/SharePlayerTypes-B7FLniHB.mjs.map +1 -0
- package/dist/SharePlayerTypes-C8lDg7bE.mjs.map +1 -0
- package/dist/SharePlayerTypes-CFjDgT1d.mjs.map +1 -0
- package/dist/SharePlayerTypes-C_YQdJl2.mjs.map +1 -0
- package/dist/SharePlayerTypes-CzN4HZRH.mjs.map +1 -0
- package/dist/SharePlayerTypes-Dkw0Yqdu.mjs.map +1 -0
- package/dist/SharePlayerTypes-M9s8-uCs.mjs.map +1 -0
- package/dist/ShareSocialsButtons--KcYTi2-.mjs.map +1 -0
- package/dist/ShareSocialsButtons--haMp5t-.mjs.map +1 -0
- package/dist/ShareSocialsButtons-CGq1RtWh.mjs.map +1 -0
- package/dist/ShareSocialsButtons-DEojeSLw.mjs.map +1 -0
- package/dist/ShareSocialsButtons-DLb_GRG-.mjs.map +1 -0
- package/dist/{ShareSocialsButtons-CZtpG1zL.mjs → ShareSocialsButtons-DiJVocCJ.mjs} +2 -2
- package/dist/ShareSocialsButtons-DiJVocCJ.mjs.map +1 -0
- package/dist/ShareSocialsButtons-IJQ1CgrC.mjs.map +1 -0
- package/dist/SimpleLayout-BAZ05Zz6.mjs.map +1 -0
- package/dist/SimpleLayout-BDnreCwm.mjs.map +1 -0
- package/dist/SimpleLayout-BHNwX8pP.mjs.map +1 -0
- package/dist/SimpleLayout-CPmBnpo-.mjs.map +1 -0
- package/dist/SimpleLayout-CUVtAQSt.mjs.map +1 -0
- package/dist/SimpleLayout-CjDOkAVU.mjs.map +1 -0
- package/dist/{SimpleLayout-TPl5v_-v.mjs → SimpleLayout-DLEAl9OH.mjs} +3 -3
- package/dist/SimpleLayout-DLEAl9OH.mjs.map +1 -0
- package/dist/{SmartLinkPage-DsLBvlOf.mjs → SmartLinkPage-BJoMvpYI.mjs} +5 -5
- package/dist/SmartLinkPage-BJoMvpYI.mjs.map +1 -0
- package/dist/SmartLinkPage-Bd0ODVRl.mjs.map +1 -0
- package/dist/SmartLinkPage-C_zq0_aw.mjs.map +1 -0
- package/dist/SmartLinkPage-D1QlrObF.mjs.map +1 -0
- package/dist/SmartLinkPage-Dd0BLsjZ.mjs.map +1 -0
- package/dist/SmartLinkPage-DfFv2Nmb.mjs.map +1 -0
- package/dist/SmartLinkPage-wnKKixdQ.mjs.map +1 -0
- package/dist/SubscribeButtons-6HA0Mk9a.mjs.map +1 -0
- package/dist/SubscribeButtons-B6i1IdLa.mjs.map +1 -0
- package/dist/SubscribeButtons-BZrXH39i.mjs.map +1 -0
- package/dist/SubscribeButtons-C64eSNCp.mjs.map +1 -0
- package/dist/SubscribeButtons-DQ5YmkQO.mjs.map +1 -0
- package/dist/SubscribeButtons-EUkx8pZP.mjs.map +1 -0
- package/dist/{SubscribeButtons-DTu2q9nM.mjs → SubscribeButtons-Va9APuBC.mjs} +3 -3
- package/dist/SubscribeButtons-Va9APuBC.mjs.map +1 -0
- package/dist/{SwiperList-DkzjytBq.mjs → SwiperList-B20Vye8P.mjs} +2 -2
- package/dist/SwiperList-B20Vye8P.mjs.map +1 -0
- package/dist/SwiperList-Bokt5AG5.mjs.map +1 -0
- package/dist/SwiperList-CFKov21b.mjs.map +1 -0
- package/dist/SwiperList-DkllmyUF.mjs.map +1 -0
- package/dist/SwiperList-F5w64QMB.mjs.map +1 -0
- package/dist/SwiperList-LZV53McU.mjs.map +1 -0
- package/dist/SwiperList-ek1fgcDE.mjs.map +1 -0
- package/dist/{TagList-CZwg6-Wl.mjs → TagList-B4PT2uXD.mjs} +2 -2
- package/dist/TagList-B4PT2uXD.mjs.map +1 -0
- package/dist/TagList-BGlKCk4Q.mjs.map +1 -0
- package/dist/TagList-BjCugYvL.mjs.map +1 -0
- package/dist/TagList-DNMyr3U9.mjs.map +1 -0
- package/dist/TagList-DgsYcSmt.mjs.map +1 -0
- package/dist/TagList-WMAlflFl.mjs.map +1 -0
- package/dist/TagList-aSS_8yRX.mjs.map +1 -0
- package/dist/TagPage-BNeE4Lhq.mjs.map +1 -0
- package/dist/{TagPage-DJ05ef4Y.mjs → TagPage-BUXelbn2.mjs} +4 -4
- package/dist/TagPage-BUXelbn2.mjs.map +1 -0
- package/dist/TagPage-Bsc2U_3X.mjs.map +1 -0
- package/dist/TagPage-C2iQSROU.mjs.map +1 -0
- package/dist/TagPage-CgscaJP0.mjs.map +1 -0
- package/dist/TagPage-DEHCzUJu.mjs.map +1 -0
- package/dist/TagPage-DFQt2R7S.mjs.map +1 -0
- package/dist/TagPage-DPjY0S19.mjs.map +1 -0
- package/dist/TagPage-DRTznoWj.mjs.map +1 -0
- package/dist/{TopBar-BshQ_eFb.mjs → TopBar-Bg0jGbps.mjs} +7 -7
- package/dist/TopBar-Bg0jGbps.mjs.map +1 -0
- package/dist/TopBar-Br6MU5NS.mjs.map +1 -0
- package/dist/TopBar-C5xvL55I.mjs.map +1 -0
- package/dist/TopBar-Ct2Wi2fl.mjs.map +1 -0
- package/dist/TopBar-Ct9XAxTS.mjs.map +1 -0
- package/dist/TopBar-sSswTZjE.mjs.map +1 -0
- package/dist/TopBar-tJHG0wJq.mjs.map +1 -0
- package/dist/UserButtonContent-CE-161kg.mjs.map +1 -0
- package/dist/{UserButtonContent-BwvIN_8j.mjs → UserButtonContent-CPa7Icpi.mjs} +2 -2
- package/dist/UserButtonContent-CPa7Icpi.mjs.map +1 -0
- package/dist/UserButtonContent-D4Gfs-j-.mjs.map +1 -0
- package/dist/UserButtonContent-DPWKHiAu.mjs.map +1 -0
- package/dist/UserButtonContent-DV8mGqxl.mjs.map +1 -0
- package/dist/UserButtonContent-DoRcEYhc.mjs.map +1 -0
- package/dist/UserButtonContent-Y-pBXCLI.mjs.map +1 -0
- package/dist/VideoModuleBox-8vaXrEZb.mjs.map +1 -0
- package/dist/VideoModuleBox-BBIipxxW.mjs.map +1 -0
- package/dist/{VideoModuleBox-CYxZFZQV.mjs → VideoModuleBox-CIZ34N35.mjs} +2 -2
- package/dist/VideoModuleBox-CIZ34N35.mjs.map +1 -0
- package/dist/VideoModuleBox-Ckr0ogRq.mjs.map +1 -0
- package/dist/VideoModuleBox-Dqiduxtz.mjs.map +1 -0
- package/dist/VideoModuleBox-Gs2cRVCQ.mjs.map +1 -0
- package/dist/VideoModuleBox-T3Fic5E1.mjs.map +1 -0
- package/dist/VideoPage-5l2yCwzq.mjs.map +1 -0
- package/dist/{VideoPage-Dr-rwYv9.mjs → VideoPage-B-7n9a0w.mjs} +10 -10
- package/dist/VideoPage-B-7n9a0w.mjs.map +1 -0
- package/dist/VideoPage-C9RjP0jZ.mjs.map +1 -0
- package/dist/VideoPage-C_EGSeQr.mjs.map +1 -0
- package/dist/VideoPage-Ck6UhhNl.mjs.map +1 -0
- package/dist/VideoPage-CzK2E8of.mjs.map +1 -0
- package/dist/VideoPage-DDW-8u0o.mjs.map +1 -0
- package/dist/VideoPage-DVSiNd8a.mjs.map +1 -0
- package/dist/VideoPage-w0OwVwV2.mjs.map +1 -0
- package/dist/classicApi-BB-XyzeX.mjs.map +1 -0
- package/dist/classicApi-BGltEbgE.mjs.map +1 -0
- package/dist/classicApi-BTNeGEhM.mjs.map +1 -0
- package/dist/classicApi-CaN5kdYr.mjs.map +1 -0
- package/dist/{classicApi-DpwVUC0E.mjs → classicApi-ChvwoPGT.mjs} +2 -2
- package/dist/classicApi-ChvwoPGT.mjs.map +1 -0
- package/dist/classicApi-CzfRsZHJ.mjs.map +1 -0
- package/dist/classicApi-D1fMJl0J.mjs.map +1 -0
- package/dist/downloadHelper-C64lrfkY.mjs.map +1 -0
- package/dist/downloadHelper-CMi7-Uui.mjs.map +1 -0
- package/dist/downloadHelper-COaLNbRP.mjs.map +1 -0
- package/dist/downloadHelper-CVAsxSd_.mjs.map +1 -0
- package/dist/{downloadHelper-DNFvCWE7.mjs → downloadHelper-CuFfOvc0.mjs} +2 -2
- package/dist/downloadHelper-CuFfOvc0.mjs.map +1 -0
- package/dist/downloadHelper-euySfVzt.mjs.map +1 -0
- package/dist/downloadHelper-fJeVpKge.mjs.map +1 -0
- package/dist/index.mjs +96 -96
- package/dist/messages-BBXCgqNE.mjs.map +1 -0
- package/dist/messages-BfcKCwbs.mjs.map +1 -0
- package/dist/{messages-DxAfPLH1.mjs → messages-C-3-wU0o.mjs} +18 -6
- package/dist/messages-C-3-wU0o.mjs.map +1 -0
- package/dist/messages-DFgZU_JY.mjs.map +1 -0
- package/dist/messages-DI0RP16T.mjs.map +1 -0
- package/dist/messages-ffqRcdFK.mjs.map +1 -0
- package/dist/messages-tvu0LPPD.mjs.map +1 -0
- package/dist/tests.mjs +2 -2
- package/dist/useAdvancedParamInit-B0q6bEG9.mjs.map +1 -0
- package/dist/useAdvancedParamInit-Bmasoyik.mjs.map +1 -0
- package/dist/useAdvancedParamInit-BnHjPfDr.mjs.map +1 -0
- package/dist/useAdvancedParamInit-Cqr0FvM6.mjs.map +1 -0
- package/dist/{useAdvancedParamInit-XK-FI81b.mjs → useAdvancedParamInit-DpFW5LOX.mjs} +6 -6
- package/dist/useAdvancedParamInit-DpFW5LOX.mjs.map +1 -0
- package/dist/useAdvancedParamInit-TYud_aDM.mjs.map +1 -0
- package/dist/useAdvancedParamInit-TnnXwHRW.mjs.map +1 -0
- package/dist/{useDayjs-CD7LNHpM.mjs → useDayjs-CK_TIXDt.mjs} +2 -2
- package/dist/useDayjs-CK_TIXDt.mjs.map +1 -0
- package/dist/useDayjs-CXOnFQYE.mjs.map +1 -0
- package/dist/useDayjs-D_JdvkuA.mjs.map +1 -0
- package/dist/useDayjs-Dcl8o-f2.mjs.map +1 -0
- package/dist/useDayjs-DfbYqqzw.mjs.map +1 -0
- package/dist/useDayjs-DgjE7bQE.mjs.map +1 -0
- package/dist/useDayjs-Qw7bsgun.mjs.map +1 -0
- package/dist/useErrorHandler-B2omq-xn.mjs.map +1 -0
- package/dist/{useErrorHandler-DpcjkDh_.mjs → useErrorHandler-BZkAkzNC.mjs} +2 -2
- package/dist/useErrorHandler-BZkAkzNC.mjs.map +1 -0
- package/dist/useErrorHandler-BpXnCp74.mjs.map +1 -0
- package/dist/useErrorHandler-Ccs5lCXK.mjs.map +1 -0
- package/dist/useErrorHandler-DDjgV9tS.mjs.map +1 -0
- package/dist/useErrorHandler-TP_xzyLW.mjs.map +1 -0
- package/dist/useErrorHandler-hTEtFcs_.mjs.map +1 -0
- package/dist/useImageProxy-B0l13vKR.mjs.map +1 -0
- package/dist/useImageProxy-BCtwrFPB.mjs.map +1 -0
- package/dist/useImageProxy-CFXtzue5.mjs.map +1 -0
- package/dist/useImageProxy-CLgdcHCl.mjs.map +1 -0
- package/dist/useImageProxy-CNYAGjLf.mjs.map +1 -0
- package/dist/{useImageProxy-DI8RhM5W.mjs → useImageProxy-DdK55qB4.mjs} +2 -2
- package/dist/useImageProxy-DdK55qB4.mjs.map +1 -0
- package/dist/useImageProxy-Drr0R83A.mjs.map +1 -0
- package/dist/useOrgaComputed-B07BGfc5.mjs.map +1 -0
- package/dist/useOrgaComputed-CZYeUhPI.mjs.map +1 -0
- package/dist/useOrgaComputed-Cvryrkbp.mjs.map +1 -0
- package/dist/{useOrgaComputed-Cv6ZE0fR.mjs → useOrgaComputed-D5SfqMx9.mjs} +2 -2
- package/dist/useOrgaComputed-D5SfqMx9.mjs.map +1 -0
- package/dist/useOrgaComputed-D8Aak710.mjs.map +1 -0
- package/dist/useOrgaComputed-Dcs2QQ4K.mjs.map +1 -0
- package/dist/useOrgaComputed-dKPouMl1.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-Bb_pkMxz.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-BckKC1fU.mjs.map +1 -0
- package/dist/{usePlayerLogicProgress-DJXygp1R.mjs → usePlayerLogicProgress-C-gsD-ec.mjs} +3 -3
- package/dist/usePlayerLogicProgress-C-gsD-ec.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-DRrXB53_.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-KiC9MszQ.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-lypDuxfv.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-mpS1rYM1.mjs.map +1 -0
- package/dist/usePodcastView-3dCNrbxq.mjs.map +1 -0
- package/dist/usePodcastView-Bxbpf2Aj.mjs.map +1 -0
- package/dist/usePodcastView-C4Ak6N5U.mjs.map +1 -0
- package/dist/usePodcastView-CWnGApRW.mjs.map +1 -0
- package/dist/usePodcastView-Cm6ruTDT.mjs.map +1 -0
- package/dist/{usePodcastView-AB8-AjDO.mjs → usePodcastView-DlzuYDsj.mjs} +4 -4
- package/dist/usePodcastView-DlzuYDsj.mjs.map +1 -0
- package/dist/usePodcastView-_Gt7IKys.mjs.map +1 -0
- package/dist/usePresentationItem-1wOfXOdb.mjs.map +1 -0
- package/dist/usePresentationItem-BIoivvjV.mjs.map +1 -0
- package/dist/usePresentationItem-BkAS8Vr0.mjs.map +1 -0
- package/dist/{usePresentationItem-BSIM0LPe.mjs → usePresentationItem-CUGbjF4i.mjs} +4 -4
- package/dist/usePresentationItem-CUGbjF4i.mjs.map +1 -0
- package/dist/usePresentationItem-D5rbUsCh.mjs.map +1 -0
- package/dist/usePresentationItem-Dq1BLr6j.mjs.map +1 -0
- package/dist/usePresentationItem-Dww8g4Vm.mjs.map +1 -0
- package/dist/useRights-2iW8A6VG.mjs.map +1 -0
- package/dist/useRights-Bh8pPIIT.mjs.map +1 -0
- package/dist/useRights-C0SGDVHr.mjs.map +1 -0
- package/dist/useRights-C_1sfdF_.mjs.map +1 -0
- package/dist/useRights-ChjlGASZ.mjs.map +1 -0
- package/dist/{useRights-9acWcTMy.mjs → useRights-DNL2VJUc.mjs} +2 -2
- package/dist/useRights-DNL2VJUc.mjs.map +1 -0
- package/dist/useRights-DeR0K7I4.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-BORLAh8s.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-CC3kqtFK.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-CKezlYVc.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-DHNQz04L.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-DWgN-E8P.mjs.map +1 -0
- package/dist/{useRubriquesFilterComputed-Hr6ZScZJ.mjs → useRubriquesFilterComputed-Dg4HclyQ.mjs} +2 -2
- package/dist/useRubriquesFilterComputed-Dg4HclyQ.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-NQGEdYXb.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-BGBTXNIe.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-BbLPbrFy.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-BjMqOyMg.mjs.map +1 -0
- package/dist/{useRubriquesFilterParam-CHOhIyzc.mjs → useRubriquesFilterParam-BrWFpJhb.mjs} +2 -2
- package/dist/useRubriquesFilterParam-BrWFpJhb.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-DwnlkS0K.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-YXdzWQqQ.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-r0AJqZsJ.mjs.map +1 -0
- package/dist/{useSharePlatforms-BS51_Mgp.mjs → useSharePlatforms-BqPO-hyZ.mjs} +3 -3
- package/dist/useSharePlatforms-BqPO-hyZ.mjs.map +1 -0
- package/dist/useSharePlatforms-CP7lHEZ0.mjs.map +1 -0
- package/dist/useSharePlatforms-C_EB_xsb.mjs.map +1 -0
- package/dist/useSharePlatforms-CcG4_k68.mjs.map +1 -0
- package/dist/useSharePlatforms-CgGpSSII.mjs.map +1 -0
- package/dist/useSharePlatforms-CrHyAS2m.mjs.map +1 -0
- package/dist/useSharePlatforms-D81_zd1r.mjs.map +1 -0
- package/dist/useSimplePageParam-9ps_YIpq.mjs.map +1 -0
- package/dist/{useSimplePageParam-CWi9AKl0.mjs → useSimplePageParam-ByeUUq4Z.mjs} +2 -2
- package/dist/useSimplePageParam-ByeUUq4Z.mjs.map +1 -0
- package/dist/useSimplePageParam-C4qdDtdw.mjs.map +1 -0
- package/dist/useSimplePageParam-COisq-R3.mjs.map +1 -0
- package/dist/useSimplePageParam-DT1XPwfb.mjs.map +1 -0
- package/dist/useSimplePageParam-DZIpRJUc.mjs.map +1 -0
- package/dist/useSimplePageParam-Dw3p3GCC.mjs.map +1 -0
- package/dist/useTranslation-BPLqy26U.mjs.map +1 -0
- package/dist/useTranslation-C4rvyoXK.mjs.map +1 -0
- package/dist/useTranslation-C8Dy1ma7.mjs.map +1 -0
- package/dist/useTranslation-CLkN3q6e.mjs.map +1 -0
- package/dist/useTranslation-COKe4d2D.mjs.map +1 -0
- package/dist/{useTranslation-Bw07I8Rj.mjs → useTranslation-Dsw1HxX9.mjs} +2 -2
- package/dist/useTranslation-Dsw1HxX9.mjs.map +1 -0
- package/dist/useTranslation-kKZZLtgm.mjs.map +1 -0
- package/dist/{usefetchRadioData-CoAFZngO.mjs → usefetchRadioData-3E5_FJJM.mjs} +2 -2
- package/dist/usefetchRadioData-3E5_FJJM.mjs.map +1 -0
- package/dist/usefetchRadioData-B5vQJGHp.mjs.map +1 -0
- package/dist/usefetchRadioData-Cb6piM3h.mjs.map +1 -0
- package/dist/usefetchRadioData-Ch_otD17.mjs.map +1 -0
- package/dist/usefetchRadioData-D5WFrvWd.mjs.map +1 -0
- package/dist/usefetchRadioData-lhw_qPJh.mjs.map +1 -0
- package/dist/usefetchRadioData-qr9F-158.mjs.map +1 -0
- package/package.json +1 -1
- package/src/components/display/podcasts/PodcastModuleBox.vue +293 -252
- package/src/locale/de.json +3 -1
- package/src/locale/en.json +3 -1
- package/src/locale/es.json +3 -1
- package/src/locale/fr.json +3 -0
- package/src/locale/it.json +3 -1
- package/src/locale/sl.json +3 -1
- package/tests/components/display/podcasts/PodcastModuleBox.spec.ts +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerVideoHls-cotysRp5.mjs","names":[],"sources":["../src/components/misc/player/video/PlayerVideoHls.vue","../src/components/misc/player/video/PlayerVideoHls.vue"],"sourcesContent":["<template>\n <div\n id=\"player-video-hls\"\n class=\"video-player\"\n :class=\"responsive ? 'video-responsive-wrapper' : ''\"\n >\n <div v-if=\"errorPlay.length\" class=\"video-live-error\">{{ errorPlay }}</div>\n <video\n id=\"video-element-hls\"\n ref=\"videoelement\"\n class=\"video-js\"\n playsinline\n ></video>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport {usePlayerLogicProgress} from \"../../../composable/player/usePlayerLogicProgress\";\nimport videojs, { VideoJsPlayer } from \"video.js\";\nimport qualitySelectorHls from \"videojs-quality-selector-hls\";\nif (undefined === videojs.getPlugin(\"qualitySelectorHls\")) {\n videojs.registerPlugin(\"qualitySelectorHls\", qualitySelectorHls);\n}\nimport { computed, onMounted, onUnmounted, Ref, ref, useTemplateRef } from \"vue\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n hlsUrl: { default: \"\", type: String },\n responsive: { default: false, type: Boolean },\n isSecured: { default: true, type: Boolean },\n})\n\n//Data\nconst errorPlay = ref(\"\");\nconst useVideoSrc = ref(false);\nconst player: Ref<VideoJsPlayer | undefined> = ref(false);\nconst playing = ref(false);\nconst isPaused = ref(false);\nconst stalledTimout: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\nconst videoElementRef = useTemplateRef('videoelement');\n\n\n//Composables\nconst { t } = useI18n();\nconst { downloadId, initLiveDownloadId, onTimeUpdateProgress, endListeningProgress} = usePlayerLogicProgress();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n\n\n//Computed\nconst videoElement = computed(() => {\n return videoElementRef?.value as HTMLVideoElement;\n});\nconst videoOptions = computed(() => {\n return {\n autoplay: true,\n controls: true,\n liveui: true,\n sources: [\n {\n src: props.hlsUrl,\n type: \"application/x-mpegURL\",\n },\n ],\n html5: {\n vhs: {\n overrideNative: !videojs.browser.IS_SAFARI,\n },\n nativeAudioTracks: false,\n nativeVideoTracks: false,\n },\n };\n});\n\n\nonMounted(()=>{\n playerStore.playerUpdatePlayerHlsUrl(props.hlsUrl);\n useVideoSrc.value =\n \"\" !== videoElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !navigator.userAgent.includes(\"Android\");\n playLive();\n})\n\nonUnmounted(()=>{\n if (playing.value) {\n stopLive();\n }\n})\n\n\n//Methods\nfunction definedStalledTimeout() {\n isPaused.value = false;\n stalledTimout.value = setTimeout(() => {\n if (isPaused.value) {\n return;\n }\n videoClean();\n playLive();\n }, 15000);\n}\nasync function playLive(): Promise<void> {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n await initLiveDownloadId();\n if (useVideoSrc.value) {\n playLiveIos();\n return;\n }\n if (props.isSecured && authStore.authParam.accessToken) {\n const globalXhrRequestHook = (options: any) => {\n options.beforeSend = (xhr: XMLHttpRequest) => {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \"+authStore.authParam.accessToken);\n };\n return options;\n };\n videojs.Vhs.xhr.onRequest(globalXhrRequestHook);\n }\n player.value = videojs(\n document.getElementById(\"video-element-hls\") as Element,\n videoOptions.value,\n () => {\n player.value.qualitySelectorHls({ displayCurrentQuality: true });\n errorPlay.value = \"\";\n playing.value = true;\n },\n );\n player.value.on(\"error\", (error: any) => {\n stopLive();\n if (error.description?.includes(\"403\")) {\n errorPlay.value = t(\"Video is unavailable\");\n } else {\n errorPlay.value = t(\"Podcast play error\");\n }\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n player.value.on(\"pause\", () => {\n isPaused.value = true;\n });\n player.value.on(\"timeupdate\", () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n}\n\nasync function playLiveIos(): Promise<void> {\n videoElement.value.onloadedmetadata = () => {\n const playPromise = videoElement.value.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n errorPlay.value = \"\";\n playing.value = true;\n })\n .catch(() => {\n playing.value = false;\n });\n }\n };\n videoElement.value.onerror = async () => {\n stopLive();\n errorPlay.value = t(\"Podcast play error\");\n };\n videoElement.value.ontimeupdate = async () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n };\n videoElement.value.onpause = async () => {\n isPaused.value = true;\n };\n videoElement.value.onseeking = async () => {\n playerStore.playerUpdateSeekTime(videoElement.value.currentTime);\n };\n if (props.isSecured && authStore.authParam.accessToken) {\n videoElement.value.src = props.hlsUrl + \"access_token=\"+authStore.authParam.accessToken;\n }else{\n videoElement.value.src = props.hlsUrl;\n }\n videoElement.value.src = props.hlsUrl;\n}\n\nfunction videoClean(): void {\n if (useVideoSrc.value) {\n videoElement.value.pause();\n videoElement.value.removeAttribute(\"src\");\n videoElement.value.load();\n return;\n }\n if (player.value) {\n player.value.dispose();\n //Redraw\n const video_parent = document.getElementById(\"player-video-hls\");\n if (video_parent) {\n const video = document.createElement(\"video\");\n video.id = \"video-element-hls\";\n video.className = \"video-js\";\n video.preload = \"auto\";\n video.setAttribute(\"playsinline\", \"true\");\n video_parent.appendChild(video);\n }\n }\n}\nfunction stopLive(): void {\n clearTimeout(stalledTimout.value);\n errorPlay.value = \"\";\n videoClean();\n playing.value = false;\n endListeningProgress();\n}\nfunction onTimeUpdateVideo(): void {\n if (!downloadId.value) {\n return;\n }\n const currentTime =player.value?.currentTime() ?? videoElement.value.currentTime;\n onTimeUpdateProgress(currentTime);\n}\n</script>\n\n<style lang=\"scss\">\n@use \"video.js\";\n@use \"../../../../style/videoPlayer\";\n\n.octopus-app {\n .video-live-error {\n text-align: center;\n width: 100%;\n font-size: 1rem;\n font-weight: bold;\n padding: 0.2rem 0;\n color: white;\n position: absolute;\n top: 0;\n background: var(--octopus-danger);\n z-index: 1;\n }\n\n .video-js {\n width: 500px;\n height: 281px;\n }\n}\n</style>\n","<template>\n <div\n id=\"player-video-hls\"\n class=\"video-player\"\n :class=\"responsive ? 'video-responsive-wrapper' : ''\"\n >\n <div v-if=\"errorPlay.length\" class=\"video-live-error\">{{ errorPlay }}</div>\n <video\n id=\"video-element-hls\"\n ref=\"videoelement\"\n class=\"video-js\"\n playsinline\n ></video>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport {usePlayerLogicProgress} from \"../../../composable/player/usePlayerLogicProgress\";\nimport videojs, { VideoJsPlayer } from \"video.js\";\nimport qualitySelectorHls from \"videojs-quality-selector-hls\";\nif (undefined === videojs.getPlugin(\"qualitySelectorHls\")) {\n videojs.registerPlugin(\"qualitySelectorHls\", qualitySelectorHls);\n}\nimport { computed, onMounted, onUnmounted, Ref, ref, useTemplateRef } from \"vue\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n hlsUrl: { default: \"\", type: String },\n responsive: { default: false, type: Boolean },\n isSecured: { default: true, type: Boolean },\n})\n\n//Data\nconst errorPlay = ref(\"\");\nconst useVideoSrc = ref(false);\nconst player: Ref<VideoJsPlayer | undefined> = ref(false);\nconst playing = ref(false);\nconst isPaused = ref(false);\nconst stalledTimout: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\nconst videoElementRef = useTemplateRef('videoelement');\n\n\n//Composables\nconst { t } = useI18n();\nconst { downloadId, initLiveDownloadId, onTimeUpdateProgress, endListeningProgress} = usePlayerLogicProgress();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n\n\n//Computed\nconst videoElement = computed(() => {\n return videoElementRef?.value as HTMLVideoElement;\n});\nconst videoOptions = computed(() => {\n return {\n autoplay: true,\n controls: true,\n liveui: true,\n sources: [\n {\n src: props.hlsUrl,\n type: \"application/x-mpegURL\",\n },\n ],\n html5: {\n vhs: {\n overrideNative: !videojs.browser.IS_SAFARI,\n },\n nativeAudioTracks: false,\n nativeVideoTracks: false,\n },\n };\n});\n\n\nonMounted(()=>{\n playerStore.playerUpdatePlayerHlsUrl(props.hlsUrl);\n useVideoSrc.value =\n \"\" !== videoElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !navigator.userAgent.includes(\"Android\");\n playLive();\n})\n\nonUnmounted(()=>{\n if (playing.value) {\n stopLive();\n }\n})\n\n\n//Methods\nfunction definedStalledTimeout() {\n isPaused.value = false;\n stalledTimout.value = setTimeout(() => {\n if (isPaused.value) {\n return;\n }\n videoClean();\n playLive();\n }, 15000);\n}\nasync function playLive(): Promise<void> {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n await initLiveDownloadId();\n if (useVideoSrc.value) {\n playLiveIos();\n return;\n }\n if (props.isSecured && authStore.authParam.accessToken) {\n const globalXhrRequestHook = (options: any) => {\n options.beforeSend = (xhr: XMLHttpRequest) => {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \"+authStore.authParam.accessToken);\n };\n return options;\n };\n videojs.Vhs.xhr.onRequest(globalXhrRequestHook);\n }\n player.value = videojs(\n document.getElementById(\"video-element-hls\") as Element,\n videoOptions.value,\n () => {\n player.value.qualitySelectorHls({ displayCurrentQuality: true });\n errorPlay.value = \"\";\n playing.value = true;\n },\n );\n player.value.on(\"error\", (error: any) => {\n stopLive();\n if (error.description?.includes(\"403\")) {\n errorPlay.value = t(\"Video is unavailable\");\n } else {\n errorPlay.value = t(\"Podcast play error\");\n }\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n player.value.on(\"pause\", () => {\n isPaused.value = true;\n });\n player.value.on(\"timeupdate\", () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n}\n\nasync function playLiveIos(): Promise<void> {\n videoElement.value.onloadedmetadata = () => {\n const playPromise = videoElement.value.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n errorPlay.value = \"\";\n playing.value = true;\n })\n .catch(() => {\n playing.value = false;\n });\n }\n };\n videoElement.value.onerror = async () => {\n stopLive();\n errorPlay.value = t(\"Podcast play error\");\n };\n videoElement.value.ontimeupdate = async () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n };\n videoElement.value.onpause = async () => {\n isPaused.value = true;\n };\n videoElement.value.onseeking = async () => {\n playerStore.playerUpdateSeekTime(videoElement.value.currentTime);\n };\n if (props.isSecured && authStore.authParam.accessToken) {\n videoElement.value.src = props.hlsUrl + \"access_token=\"+authStore.authParam.accessToken;\n }else{\n videoElement.value.src = props.hlsUrl;\n }\n videoElement.value.src = props.hlsUrl;\n}\n\nfunction videoClean(): void {\n if (useVideoSrc.value) {\n videoElement.value.pause();\n videoElement.value.removeAttribute(\"src\");\n videoElement.value.load();\n return;\n }\n if (player.value) {\n player.value.dispose();\n //Redraw\n const video_parent = document.getElementById(\"player-video-hls\");\n if (video_parent) {\n const video = document.createElement(\"video\");\n video.id = \"video-element-hls\";\n video.className = \"video-js\";\n video.preload = \"auto\";\n video.setAttribute(\"playsinline\", \"true\");\n video_parent.appendChild(video);\n }\n }\n}\nfunction stopLive(): void {\n clearTimeout(stalledTimout.value);\n errorPlay.value = \"\";\n videoClean();\n playing.value = false;\n endListeningProgress();\n}\nfunction onTimeUpdateVideo(): void {\n if (!downloadId.value) {\n return;\n }\n const currentTime =player.value?.currentTime() ?? videoElement.value.currentTime;\n onTimeUpdateProgress(currentTime);\n}\n</script>\n\n<style lang=\"scss\">\n@use \"video.js\";\n@use \"../../../../style/videoPlayer\";\n\n.octopus-app {\n .video-live-error {\n text-align: center;\n width: 100%;\n font-size: 1rem;\n font-weight: bold;\n padding: 0.2rem 0;\n color: white;\n position: absolute;\n top: 0;\n background: var(--octopus-danger);\n z-index: 1;\n }\n\n .video-js {\n width: 500px;\n height: 281px;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerVideoHls-jOa02CyD.mjs","names":[],"sources":["../src/components/misc/player/video/PlayerVideoHls.vue","../src/components/misc/player/video/PlayerVideoHls.vue"],"sourcesContent":["<template>\n <div\n id=\"player-video-hls\"\n class=\"video-player\"\n :class=\"responsive ? 'video-responsive-wrapper' : ''\"\n >\n <div v-if=\"errorPlay.length\" class=\"video-live-error\">{{ errorPlay }}</div>\n <video\n id=\"video-element-hls\"\n ref=\"videoelement\"\n class=\"video-js\"\n playsinline\n ></video>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport {usePlayerLogicProgress} from \"../../../composable/player/usePlayerLogicProgress\";\nimport videojs, { VideoJsPlayer } from \"video.js\";\nimport qualitySelectorHls from \"videojs-quality-selector-hls\";\nif (undefined === videojs.getPlugin(\"qualitySelectorHls\")) {\n videojs.registerPlugin(\"qualitySelectorHls\", qualitySelectorHls);\n}\nimport { computed, onMounted, onUnmounted, Ref, ref, useTemplateRef } from \"vue\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n hlsUrl: { default: \"\", type: String },\n responsive: { default: false, type: Boolean },\n isSecured: { default: true, type: Boolean },\n})\n\n//Data\nconst errorPlay = ref(\"\");\nconst useVideoSrc = ref(false);\nconst player: Ref<VideoJsPlayer | undefined> = ref(false);\nconst playing = ref(false);\nconst isPaused = ref(false);\nconst stalledTimout: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\nconst videoElementRef = useTemplateRef('videoelement');\n\n\n//Composables\nconst { t } = useI18n();\nconst { downloadId, initLiveDownloadId, onTimeUpdateProgress, endListeningProgress} = usePlayerLogicProgress();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n\n\n//Computed\nconst videoElement = computed(() => {\n return videoElementRef?.value as HTMLVideoElement;\n});\nconst videoOptions = computed(() => {\n return {\n autoplay: true,\n controls: true,\n liveui: true,\n sources: [\n {\n src: props.hlsUrl,\n type: \"application/x-mpegURL\",\n },\n ],\n html5: {\n vhs: {\n overrideNative: !videojs.browser.IS_SAFARI,\n },\n nativeAudioTracks: false,\n nativeVideoTracks: false,\n },\n };\n});\n\n\nonMounted(()=>{\n playerStore.playerUpdatePlayerHlsUrl(props.hlsUrl);\n useVideoSrc.value =\n \"\" !== videoElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !navigator.userAgent.includes(\"Android\");\n playLive();\n})\n\nonUnmounted(()=>{\n if (playing.value) {\n stopLive();\n }\n})\n\n\n//Methods\nfunction definedStalledTimeout() {\n isPaused.value = false;\n stalledTimout.value = setTimeout(() => {\n if (isPaused.value) {\n return;\n }\n videoClean();\n playLive();\n }, 15000);\n}\nasync function playLive(): Promise<void> {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n await initLiveDownloadId();\n if (useVideoSrc.value) {\n playLiveIos();\n return;\n }\n if (props.isSecured && authStore.authParam.accessToken) {\n const globalXhrRequestHook = (options: any) => {\n options.beforeSend = (xhr: XMLHttpRequest) => {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \"+authStore.authParam.accessToken);\n };\n return options;\n };\n videojs.Vhs.xhr.onRequest(globalXhrRequestHook);\n }\n player.value = videojs(\n document.getElementById(\"video-element-hls\") as Element,\n videoOptions.value,\n () => {\n player.value.qualitySelectorHls({ displayCurrentQuality: true });\n errorPlay.value = \"\";\n playing.value = true;\n },\n );\n player.value.on(\"error\", (error: any) => {\n stopLive();\n if (error.description?.includes(\"403\")) {\n errorPlay.value = t(\"Video is unavailable\");\n } else {\n errorPlay.value = t(\"Podcast play error\");\n }\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n player.value.on(\"pause\", () => {\n isPaused.value = true;\n });\n player.value.on(\"timeupdate\", () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n}\n\nasync function playLiveIos(): Promise<void> {\n videoElement.value.onloadedmetadata = () => {\n const playPromise = videoElement.value.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n errorPlay.value = \"\";\n playing.value = true;\n })\n .catch(() => {\n playing.value = false;\n });\n }\n };\n videoElement.value.onerror = async () => {\n stopLive();\n errorPlay.value = t(\"Podcast play error\");\n };\n videoElement.value.ontimeupdate = async () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n };\n videoElement.value.onpause = async () => {\n isPaused.value = true;\n };\n videoElement.value.onseeking = async () => {\n playerStore.playerUpdateSeekTime(videoElement.value.currentTime);\n };\n if (props.isSecured && authStore.authParam.accessToken) {\n videoElement.value.src = props.hlsUrl + \"access_token=\"+authStore.authParam.accessToken;\n }else{\n videoElement.value.src = props.hlsUrl;\n }\n videoElement.value.src = props.hlsUrl;\n}\n\nfunction videoClean(): void {\n if (useVideoSrc.value) {\n videoElement.value.pause();\n videoElement.value.removeAttribute(\"src\");\n videoElement.value.load();\n return;\n }\n if (player.value) {\n player.value.dispose();\n //Redraw\n const video_parent = document.getElementById(\"player-video-hls\");\n if (video_parent) {\n const video = document.createElement(\"video\");\n video.id = \"video-element-hls\";\n video.className = \"video-js\";\n video.preload = \"auto\";\n video.setAttribute(\"playsinline\", \"true\");\n video_parent.appendChild(video);\n }\n }\n}\nfunction stopLive(): void {\n clearTimeout(stalledTimout.value);\n errorPlay.value = \"\";\n videoClean();\n playing.value = false;\n endListeningProgress();\n}\nfunction onTimeUpdateVideo(): void {\n if (!downloadId.value) {\n return;\n }\n const currentTime =player.value?.currentTime() ?? videoElement.value.currentTime;\n onTimeUpdateProgress(currentTime);\n}\n</script>\n\n<style lang=\"scss\">\n@use \"video.js\";\n@use \"../../../../style/videoPlayer\";\n\n.octopus-app {\n .video-live-error {\n text-align: center;\n width: 100%;\n font-size: 1rem;\n font-weight: bold;\n padding: 0.2rem 0;\n color: white;\n position: absolute;\n top: 0;\n background: var(--octopus-danger);\n z-index: 1;\n }\n\n .video-js {\n width: 500px;\n height: 281px;\n }\n}\n</style>\n","<template>\n <div\n id=\"player-video-hls\"\n class=\"video-player\"\n :class=\"responsive ? 'video-responsive-wrapper' : ''\"\n >\n <div v-if=\"errorPlay.length\" class=\"video-live-error\">{{ errorPlay }}</div>\n <video\n id=\"video-element-hls\"\n ref=\"videoelement\"\n class=\"video-js\"\n playsinline\n ></video>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport {usePlayerLogicProgress} from \"../../../composable/player/usePlayerLogicProgress\";\nimport videojs, { VideoJsPlayer } from \"video.js\";\nimport qualitySelectorHls from \"videojs-quality-selector-hls\";\nif (undefined === videojs.getPlugin(\"qualitySelectorHls\")) {\n videojs.registerPlugin(\"qualitySelectorHls\", qualitySelectorHls);\n}\nimport { computed, onMounted, onUnmounted, Ref, ref, useTemplateRef } from \"vue\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n hlsUrl: { default: \"\", type: String },\n responsive: { default: false, type: Boolean },\n isSecured: { default: true, type: Boolean },\n})\n\n//Data\nconst errorPlay = ref(\"\");\nconst useVideoSrc = ref(false);\nconst player: Ref<VideoJsPlayer | undefined> = ref(false);\nconst playing = ref(false);\nconst isPaused = ref(false);\nconst stalledTimout: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\nconst videoElementRef = useTemplateRef('videoelement');\n\n\n//Composables\nconst { t } = useI18n();\nconst { downloadId, initLiveDownloadId, onTimeUpdateProgress, endListeningProgress} = usePlayerLogicProgress();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n\n\n//Computed\nconst videoElement = computed(() => {\n return videoElementRef?.value as HTMLVideoElement;\n});\nconst videoOptions = computed(() => {\n return {\n autoplay: true,\n controls: true,\n liveui: true,\n sources: [\n {\n src: props.hlsUrl,\n type: \"application/x-mpegURL\",\n },\n ],\n html5: {\n vhs: {\n overrideNative: !videojs.browser.IS_SAFARI,\n },\n nativeAudioTracks: false,\n nativeVideoTracks: false,\n },\n };\n});\n\n\nonMounted(()=>{\n playerStore.playerUpdatePlayerHlsUrl(props.hlsUrl);\n useVideoSrc.value =\n \"\" !== videoElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !navigator.userAgent.includes(\"Android\");\n playLive();\n})\n\nonUnmounted(()=>{\n if (playing.value) {\n stopLive();\n }\n})\n\n\n//Methods\nfunction definedStalledTimeout() {\n isPaused.value = false;\n stalledTimout.value = setTimeout(() => {\n if (isPaused.value) {\n return;\n }\n videoClean();\n playLive();\n }, 15000);\n}\nasync function playLive(): Promise<void> {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n await initLiveDownloadId();\n if (useVideoSrc.value) {\n playLiveIos();\n return;\n }\n if (props.isSecured && authStore.authParam.accessToken) {\n const globalXhrRequestHook = (options: any) => {\n options.beforeSend = (xhr: XMLHttpRequest) => {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \"+authStore.authParam.accessToken);\n };\n return options;\n };\n videojs.Vhs.xhr.onRequest(globalXhrRequestHook);\n }\n player.value = videojs(\n document.getElementById(\"video-element-hls\") as Element,\n videoOptions.value,\n () => {\n player.value.qualitySelectorHls({ displayCurrentQuality: true });\n errorPlay.value = \"\";\n playing.value = true;\n },\n );\n player.value.on(\"error\", (error: any) => {\n stopLive();\n if (error.description?.includes(\"403\")) {\n errorPlay.value = t(\"Video is unavailable\");\n } else {\n errorPlay.value = t(\"Podcast play error\");\n }\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n player.value.on(\"pause\", () => {\n isPaused.value = true;\n });\n player.value.on(\"timeupdate\", () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n}\n\nasync function playLiveIos(): Promise<void> {\n videoElement.value.onloadedmetadata = () => {\n const playPromise = videoElement.value.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n errorPlay.value = \"\";\n playing.value = true;\n })\n .catch(() => {\n playing.value = false;\n });\n }\n };\n videoElement.value.onerror = async () => {\n stopLive();\n errorPlay.value = t(\"Podcast play error\");\n };\n videoElement.value.ontimeupdate = async () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n };\n videoElement.value.onpause = async () => {\n isPaused.value = true;\n };\n videoElement.value.onseeking = async () => {\n playerStore.playerUpdateSeekTime(videoElement.value.currentTime);\n };\n if (props.isSecured && authStore.authParam.accessToken) {\n videoElement.value.src = props.hlsUrl + \"access_token=\"+authStore.authParam.accessToken;\n }else{\n videoElement.value.src = props.hlsUrl;\n }\n videoElement.value.src = props.hlsUrl;\n}\n\nfunction videoClean(): void {\n if (useVideoSrc.value) {\n videoElement.value.pause();\n videoElement.value.removeAttribute(\"src\");\n videoElement.value.load();\n return;\n }\n if (player.value) {\n player.value.dispose();\n //Redraw\n const video_parent = document.getElementById(\"player-video-hls\");\n if (video_parent) {\n const video = document.createElement(\"video\");\n video.id = \"video-element-hls\";\n video.className = \"video-js\";\n video.preload = \"auto\";\n video.setAttribute(\"playsinline\", \"true\");\n video_parent.appendChild(video);\n }\n }\n}\nfunction stopLive(): void {\n clearTimeout(stalledTimout.value);\n errorPlay.value = \"\";\n videoClean();\n playing.value = false;\n endListeningProgress();\n}\nfunction onTimeUpdateVideo(): void {\n if (!downloadId.value) {\n return;\n }\n const currentTime =player.value?.currentTime() ?? videoElement.value.currentTime;\n onTimeUpdateProgress(currentTime);\n}\n</script>\n\n<style lang=\"scss\">\n@use \"video.js\";\n@use \"../../../../style/videoPlayer\";\n\n.octopus-app {\n .video-live-error {\n text-align: center;\n width: 100%;\n font-size: 1rem;\n font-weight: bold;\n padding: 0.2rem 0;\n color: white;\n position: absolute;\n top: 0;\n background: var(--octopus-danger);\n z-index: 1;\n }\n\n .video-js {\n width: 500px;\n height: 281px;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerVideoHls-k_3vIV-3.mjs","names":[],"sources":["../src/components/misc/player/video/PlayerVideoHls.vue","../src/components/misc/player/video/PlayerVideoHls.vue"],"sourcesContent":["<template>\n <div\n id=\"player-video-hls\"\n class=\"video-player\"\n :class=\"responsive ? 'video-responsive-wrapper' : ''\"\n >\n <div v-if=\"errorPlay.length\" class=\"video-live-error\">{{ errorPlay }}</div>\n <video\n id=\"video-element-hls\"\n ref=\"videoelement\"\n class=\"video-js\"\n playsinline\n ></video>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport {usePlayerLogicProgress} from \"../../../composable/player/usePlayerLogicProgress\";\nimport videojs, { VideoJsPlayer } from \"video.js\";\nimport qualitySelectorHls from \"videojs-quality-selector-hls\";\nif (undefined === videojs.getPlugin(\"qualitySelectorHls\")) {\n videojs.registerPlugin(\"qualitySelectorHls\", qualitySelectorHls);\n}\nimport { computed, onMounted, onUnmounted, Ref, ref, useTemplateRef } from \"vue\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n hlsUrl: { default: \"\", type: String },\n responsive: { default: false, type: Boolean },\n isSecured: { default: true, type: Boolean },\n})\n\n//Data\nconst errorPlay = ref(\"\");\nconst useVideoSrc = ref(false);\nconst player: Ref<VideoJsPlayer | undefined> = ref(false);\nconst playing = ref(false);\nconst isPaused = ref(false);\nconst stalledTimout: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\nconst videoElementRef = useTemplateRef('videoelement');\n\n\n//Composables\nconst { t } = useI18n();\nconst { downloadId, initLiveDownloadId, onTimeUpdateProgress, endListeningProgress} = usePlayerLogicProgress();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n\n\n//Computed\nconst videoElement = computed(() => {\n return videoElementRef?.value as HTMLVideoElement;\n});\nconst videoOptions = computed(() => {\n return {\n autoplay: true,\n controls: true,\n liveui: true,\n sources: [\n {\n src: props.hlsUrl,\n type: \"application/x-mpegURL\",\n },\n ],\n html5: {\n vhs: {\n overrideNative: !videojs.browser.IS_SAFARI,\n },\n nativeAudioTracks: false,\n nativeVideoTracks: false,\n },\n };\n});\n\n\nonMounted(()=>{\n playerStore.playerUpdatePlayerHlsUrl(props.hlsUrl);\n useVideoSrc.value =\n \"\" !== videoElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !navigator.userAgent.includes(\"Android\");\n playLive();\n})\n\nonUnmounted(()=>{\n if (playing.value) {\n stopLive();\n }\n})\n\n\n//Methods\nfunction definedStalledTimeout() {\n isPaused.value = false;\n stalledTimout.value = setTimeout(() => {\n if (isPaused.value) {\n return;\n }\n videoClean();\n playLive();\n }, 15000);\n}\nasync function playLive(): Promise<void> {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n await initLiveDownloadId();\n if (useVideoSrc.value) {\n playLiveIos();\n return;\n }\n if (props.isSecured && authStore.authParam.accessToken) {\n const globalXhrRequestHook = (options: any) => {\n options.beforeSend = (xhr: XMLHttpRequest) => {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \"+authStore.authParam.accessToken);\n };\n return options;\n };\n videojs.Vhs.xhr.onRequest(globalXhrRequestHook);\n }\n player.value = videojs(\n document.getElementById(\"video-element-hls\") as Element,\n videoOptions.value,\n () => {\n player.value.qualitySelectorHls({ displayCurrentQuality: true });\n errorPlay.value = \"\";\n playing.value = true;\n },\n );\n player.value.on(\"error\", (error: any) => {\n stopLive();\n if (error.description?.includes(\"403\")) {\n errorPlay.value = t(\"Video is unavailable\");\n } else {\n errorPlay.value = t(\"Podcast play error\");\n }\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n player.value.on(\"pause\", () => {\n isPaused.value = true;\n });\n player.value.on(\"timeupdate\", () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n}\n\nasync function playLiveIos(): Promise<void> {\n videoElement.value.onloadedmetadata = () => {\n const playPromise = videoElement.value.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n errorPlay.value = \"\";\n playing.value = true;\n })\n .catch(() => {\n playing.value = false;\n });\n }\n };\n videoElement.value.onerror = async () => {\n stopLive();\n errorPlay.value = t(\"Podcast play error\");\n };\n videoElement.value.ontimeupdate = async () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n };\n videoElement.value.onpause = async () => {\n isPaused.value = true;\n };\n videoElement.value.onseeking = async () => {\n playerStore.playerUpdateSeekTime(videoElement.value.currentTime);\n };\n if (props.isSecured && authStore.authParam.accessToken) {\n videoElement.value.src = props.hlsUrl + \"access_token=\"+authStore.authParam.accessToken;\n }else{\n videoElement.value.src = props.hlsUrl;\n }\n videoElement.value.src = props.hlsUrl;\n}\n\nfunction videoClean(): void {\n if (useVideoSrc.value) {\n videoElement.value.pause();\n videoElement.value.removeAttribute(\"src\");\n videoElement.value.load();\n return;\n }\n if (player.value) {\n player.value.dispose();\n //Redraw\n const video_parent = document.getElementById(\"player-video-hls\");\n if (video_parent) {\n const video = document.createElement(\"video\");\n video.id = \"video-element-hls\";\n video.className = \"video-js\";\n video.preload = \"auto\";\n video.setAttribute(\"playsinline\", \"true\");\n video_parent.appendChild(video);\n }\n }\n}\nfunction stopLive(): void {\n clearTimeout(stalledTimout.value);\n errorPlay.value = \"\";\n videoClean();\n playing.value = false;\n endListeningProgress();\n}\nfunction onTimeUpdateVideo(): void {\n if (!downloadId.value) {\n return;\n }\n const currentTime =player.value?.currentTime() ?? videoElement.value.currentTime;\n onTimeUpdateProgress(currentTime);\n}\n</script>\n\n<style lang=\"scss\">\n@use \"video.js\";\n@use \"../../../../style/videoPlayer\";\n\n.octopus-app {\n .video-live-error {\n text-align: center;\n width: 100%;\n font-size: 1rem;\n font-weight: bold;\n padding: 0.2rem 0;\n color: white;\n position: absolute;\n top: 0;\n background: var(--octopus-danger);\n z-index: 1;\n }\n\n .video-js {\n width: 500px;\n height: 281px;\n }\n}\n</style>\n","<template>\n <div\n id=\"player-video-hls\"\n class=\"video-player\"\n :class=\"responsive ? 'video-responsive-wrapper' : ''\"\n >\n <div v-if=\"errorPlay.length\" class=\"video-live-error\">{{ errorPlay }}</div>\n <video\n id=\"video-element-hls\"\n ref=\"videoelement\"\n class=\"video-js\"\n playsinline\n ></video>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport {usePlayerLogicProgress} from \"../../../composable/player/usePlayerLogicProgress\";\nimport videojs, { VideoJsPlayer } from \"video.js\";\nimport qualitySelectorHls from \"videojs-quality-selector-hls\";\nif (undefined === videojs.getPlugin(\"qualitySelectorHls\")) {\n videojs.registerPlugin(\"qualitySelectorHls\", qualitySelectorHls);\n}\nimport { computed, onMounted, onUnmounted, Ref, ref, useTemplateRef } from \"vue\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n hlsUrl: { default: \"\", type: String },\n responsive: { default: false, type: Boolean },\n isSecured: { default: true, type: Boolean },\n})\n\n//Data\nconst errorPlay = ref(\"\");\nconst useVideoSrc = ref(false);\nconst player: Ref<VideoJsPlayer | undefined> = ref(false);\nconst playing = ref(false);\nconst isPaused = ref(false);\nconst stalledTimout: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\nconst videoElementRef = useTemplateRef('videoelement');\n\n\n//Composables\nconst { t } = useI18n();\nconst { downloadId, initLiveDownloadId, onTimeUpdateProgress, endListeningProgress} = usePlayerLogicProgress();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n\n\n//Computed\nconst videoElement = computed(() => {\n return videoElementRef?.value as HTMLVideoElement;\n});\nconst videoOptions = computed(() => {\n return {\n autoplay: true,\n controls: true,\n liveui: true,\n sources: [\n {\n src: props.hlsUrl,\n type: \"application/x-mpegURL\",\n },\n ],\n html5: {\n vhs: {\n overrideNative: !videojs.browser.IS_SAFARI,\n },\n nativeAudioTracks: false,\n nativeVideoTracks: false,\n },\n };\n});\n\n\nonMounted(()=>{\n playerStore.playerUpdatePlayerHlsUrl(props.hlsUrl);\n useVideoSrc.value =\n \"\" !== videoElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !navigator.userAgent.includes(\"Android\");\n playLive();\n})\n\nonUnmounted(()=>{\n if (playing.value) {\n stopLive();\n }\n})\n\n\n//Methods\nfunction definedStalledTimeout() {\n isPaused.value = false;\n stalledTimout.value = setTimeout(() => {\n if (isPaused.value) {\n return;\n }\n videoClean();\n playLive();\n }, 15000);\n}\nasync function playLive(): Promise<void> {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n await initLiveDownloadId();\n if (useVideoSrc.value) {\n playLiveIos();\n return;\n }\n if (props.isSecured && authStore.authParam.accessToken) {\n const globalXhrRequestHook = (options: any) => {\n options.beforeSend = (xhr: XMLHttpRequest) => {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \"+authStore.authParam.accessToken);\n };\n return options;\n };\n videojs.Vhs.xhr.onRequest(globalXhrRequestHook);\n }\n player.value = videojs(\n document.getElementById(\"video-element-hls\") as Element,\n videoOptions.value,\n () => {\n player.value.qualitySelectorHls({ displayCurrentQuality: true });\n errorPlay.value = \"\";\n playing.value = true;\n },\n );\n player.value.on(\"error\", (error: any) => {\n stopLive();\n if (error.description?.includes(\"403\")) {\n errorPlay.value = t(\"Video is unavailable\");\n } else {\n errorPlay.value = t(\"Podcast play error\");\n }\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n player.value.on(\"pause\", () => {\n isPaused.value = true;\n });\n player.value.on(\"timeupdate\", () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n });\n player.value.on(\"seeking\", () => {\n playerStore.playerUpdateSeekTime(player.value?.currentTime() ?? 0);\n });\n}\n\nasync function playLiveIos(): Promise<void> {\n videoElement.value.onloadedmetadata = () => {\n const playPromise = videoElement.value.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n errorPlay.value = \"\";\n playing.value = true;\n })\n .catch(() => {\n playing.value = false;\n });\n }\n };\n videoElement.value.onerror = async () => {\n stopLive();\n errorPlay.value = t(\"Podcast play error\");\n };\n videoElement.value.ontimeupdate = async () => {\n clearTimeout(stalledTimout.value);\n definedStalledTimeout();\n onTimeUpdateVideo();\n };\n videoElement.value.onpause = async () => {\n isPaused.value = true;\n };\n videoElement.value.onseeking = async () => {\n playerStore.playerUpdateSeekTime(videoElement.value.currentTime);\n };\n if (props.isSecured && authStore.authParam.accessToken) {\n videoElement.value.src = props.hlsUrl + \"access_token=\"+authStore.authParam.accessToken;\n }else{\n videoElement.value.src = props.hlsUrl;\n }\n videoElement.value.src = props.hlsUrl;\n}\n\nfunction videoClean(): void {\n if (useVideoSrc.value) {\n videoElement.value.pause();\n videoElement.value.removeAttribute(\"src\");\n videoElement.value.load();\n return;\n }\n if (player.value) {\n player.value.dispose();\n //Redraw\n const video_parent = document.getElementById(\"player-video-hls\");\n if (video_parent) {\n const video = document.createElement(\"video\");\n video.id = \"video-element-hls\";\n video.className = \"video-js\";\n video.preload = \"auto\";\n video.setAttribute(\"playsinline\", \"true\");\n video_parent.appendChild(video);\n }\n }\n}\nfunction stopLive(): void {\n clearTimeout(stalledTimout.value);\n errorPlay.value = \"\";\n videoClean();\n playing.value = false;\n endListeningProgress();\n}\nfunction onTimeUpdateVideo(): void {\n if (!downloadId.value) {\n return;\n }\n const currentTime =player.value?.currentTime() ?? videoElement.value.currentTime;\n onTimeUpdateProgress(currentTime);\n}\n</script>\n\n<style lang=\"scss\">\n@use \"video.js\";\n@use \"../../../../style/videoPlayer\";\n\n.octopus-app {\n .video-live-error {\n text-align: center;\n width: 100%;\n font-size: 1rem;\n font-weight: bold;\n padding: 0.2rem 0;\n color: white;\n position: absolute;\n top: 0;\n background: var(--octopus-danger);\n z-index: 1;\n }\n\n .video-js {\n width: 500px;\n height: 281px;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBA,IAAI,KAAA,MAAc,QAAQ,UAAU,oBAAoB,GACtD,QAAQ,eAAe,sBAAsB,kBAAkB;EAOjE,MAAM,QAAQ;EAOd,MAAM,YAAY,IAAI,EAAE;EACxB,MAAM,cAAc,IAAI,KAAK;EAC7B,MAAM,SAAyC,IAAI,KAAK;EACxD,MAAM,UAAU,IAAI,KAAK;EACzB,MAAM,WAAW,IAAI,KAAK;EAC1B,MAAM,gBAAgE,IAAI,KAAA,CAAS;EACnF,MAAM,kBAAkB,eAAe,cAAc;EAIrD,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,YAAY,oBAAoB,sBAAsB,yBAAwB,uBAAuB;EAC7G,MAAM,YAAY,aAAa;EAC/B,MAAM,cAAc,eAAe;EAKnC,MAAM,eAAe,eAAe;GAClC,OAAO,iBAAiB;EAC1B,CAAC;EACD,MAAM,eAAe,eAAe;GAClC,OAAO;IACL,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS,CACP;KACE,KAAK,MAAM;KACX,MAAM;IACR,CACF;IACA,OAAO;KACL,KAAK,EACH,gBAAgB,CAAC,QAAQ,QAAQ,UACnC;KACA,mBAAmB;KACnB,mBAAmB;IACrB;GACF;EACF,CAAC;EAGD,gBAAc;GACZ,YAAY,yBAAyB,MAAM,MAAM;GACjD,YAAY,QACV,OAAO,aAAa,MAAM,YAAY,+BAA+B,KACrE,CAAC,UAAU,UAAU,SAAS,SAAS;GACzC,SAAS;EACX,CAAC;EAED,kBAAgB;GACd,IAAI,QAAQ,OACV,SAAS;EAEb,CAAC;EAID,SAAS,wBAAwB;GAC/B,SAAS,QAAQ;GACjB,cAAc,QAAQ,iBAAiB;IACrC,IAAI,SAAS,OACX;IAEF,WAAW;IACX,SAAS;GACX,GAAG,IAAK;EACV;EACA,eAAe,WAA0B;GACvC,aAAa,cAAc,KAAK;GAChC,sBAAsB;GACtB,MAAM,mBAAmB;GACzB,IAAI,YAAY,OAAO;IACrB,YAAY;IACZ;GACF;GACA,IAAI,MAAM,aAAa,UAAU,UAAU,aAAa;IACtD,MAAM,wBAAwB,YAAiB;KAC7C,QAAQ,cAAc,QAAwB;MAC5C,IAAI,iBAAiB,iBAAiB,YAAU,UAAU,UAAU,WAAW;KACjF;KACA,OAAO;IACT;IACA,QAAQ,IAAI,IAAI,UAAU,oBAAoB;GAChD;GACA,OAAO,QAAQ,QACb,SAAS,eAAe,mBAAmB,GAC3C,aAAa,aACP;IACJ,OAAO,MAAM,mBAAmB,EAAE,uBAAuB,KAAK,CAAC;IAC/D,UAAU,QAAQ;IAClB,QAAQ,QAAQ;GAClB,CACF;GACA,OAAO,MAAM,GAAG,UAAU,UAAe;IACvC,SAAS;IACT,IAAI,MAAM,aAAa,SAAS,KAAK,GACnC,UAAU,QAAQ,EAAE,sBAAsB;SAE1C,UAAU,QAAQ,EAAE,oBAAoB;GAE5C,CAAC;GACD,OAAO,MAAM,GAAG,iBAAiB;IAC/B,YAAY,qBAAqB,OAAO,OAAO,YAAY,KAAK,CAAC;GACnE,CAAC;GACD,OAAO,MAAM,GAAG,eAAe;IAC7B,SAAS,QAAQ;GACnB,CAAC;GACD,OAAO,MAAM,GAAG,oBAAoB;IAClC,aAAa,cAAc,KAAK;IAChC,sBAAsB;IACtB,kBAAkB;GACpB,CAAC;GACD,OAAO,MAAM,GAAG,iBAAiB;IAC/B,YAAY,qBAAqB,OAAO,OAAO,YAAY,KAAK,CAAC;GACnE,CAAC;EACH;EAEA,eAAe,cAA6B;GAC1C,aAAa,MAAM,yBAAyB;IAC1C,MAAM,cAAc,aAAa,MAAM,KAAK;IAC5C,IAAI,gBAAgB,KAAA,GAClB,YACG,WAAW;KACV,UAAU,QAAQ;KAClB,QAAQ,QAAQ;IAClB,CAAC,EACA,YAAY;KACX,QAAQ,QAAQ;IAClB,CAAC;GAEP;GACA,aAAa,MAAM,UAAU,YAAY;IACvC,SAAS;IACT,UAAU,QAAQ,EAAE,oBAAoB;GAC1C;GACA,aAAa,MAAM,eAAe,YAAY;IAC5C,aAAa,cAAc,KAAK;IAChC,sBAAsB;IACtB,kBAAkB;GACpB;GACA,aAAa,MAAM,UAAU,YAAY;IACvC,SAAS,QAAQ;GACnB;GACA,aAAa,MAAM,YAAY,YAAY;IACzC,YAAY,qBAAqB,aAAa,MAAM,WAAW;GACjE;GACA,IAAI,MAAM,aAAa,UAAU,UAAU,aACzC,aAAa,MAAM,MAAM,MAAM,SAAS,kBAAgB,UAAU,UAAU;QAE5E,aAAa,MAAM,MAAM,MAAM;GAEjC,aAAa,MAAM,MAAM,MAAM;EACjC;EAEA,SAAS,aAAmB;GAC1B,IAAI,YAAY,OAAO;IACrB,aAAa,MAAM,MAAM;IACzB,aAAa,MAAM,gBAAgB,KAAK;IACxC,aAAa,MAAM,KAAK;IACxB;GACF;GACA,IAAI,OAAO,OAAO;IAChB,OAAO,MAAM,QAAQ;IAErB,MAAM,eAAe,SAAS,eAAe,kBAAkB;IAC/D,IAAI,cAAc;KAChB,MAAM,QAAQ,SAAS,cAAc,OAAO;KAC5C,MAAM,KAAK;KACX,MAAM,YAAY;KAClB,MAAM,UAAU;KAChB,MAAM,aAAa,eAAe,MAAM;KACxC,aAAa,YAAY,KAAK;IAChC;GACF;EACF;EACA,SAAS,WAAiB;GACxB,aAAa,cAAc,KAAK;GAChC,UAAU,QAAQ;GAClB,WAAW;GACX,QAAQ,QAAQ;GAChB,qBAAqB;EACvB;EACA,SAAS,oBAA0B;GACjC,IAAI,CAAC,WAAW,OACd;GAGF,qBADmB,OAAO,OAAO,YAAY,KAAK,aAAa,MAAM,WACrC;EAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CC3NiC,OAAM;;;CAEjC,IAAG;CACH,KAAI;CACJ,OAAM;CACN,aAAA;;;qBAVJ,mBAYM,OAAA;EAXJ,IAAG;EACH,OAAK,eAAA,CAAC,gBACE,OAAA,aAAU,6BAAA,EAAA,CAAA;KAEP,OAAA,UAAU,UAAA,UAAA,GAArB,mBAA2E,OAA3E,YAA2E,gBAAlB,OAAA,SAAS,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,GAClE,mBAKS,SALT,YAKS,MAAA,GAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-BZx9ojty.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-CBWEAkDm.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
2
2
|
import { t as ClassicLoading_default } from "./ClassicLoading-Crlw7cAx.mjs";
|
|
3
|
-
import { A as state, _ as playlistApi, i as useAuthStore, r as useFilterStore } from "./classicApi-
|
|
3
|
+
import { A as state, _ as playlistApi, i as useAuthStore, r as useFilterStore } from "./classicApi-ChvwoPGT.mjs";
|
|
4
4
|
import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
|
|
5
|
-
import { t as useImageProxy } from "./useImageProxy-
|
|
5
|
+
import { t as useImageProxy } from "./useImageProxy-DdK55qB4.mjs";
|
|
6
6
|
import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
|
|
7
|
-
import { t as useErrorHandler } from "./useErrorHandler-
|
|
8
|
-
import { t as useSimplePageParam } from "./useSimplePageParam-
|
|
7
|
+
import { t as useErrorHandler } from "./useErrorHandler-BZkAkzNC.mjs";
|
|
8
|
+
import { t as useSimplePageParam } from "./useSimplePageParam-ByeUUq4Z.mjs";
|
|
9
9
|
import { t as useSeoTitleUrl } from "./useSeoTitleUrl-CrM1YzAc.mjs";
|
|
10
|
-
import { t as useOrgaComputed } from "./useOrgaComputed-
|
|
11
|
-
import { t as PodcastList_default } from "./PodcastList-
|
|
12
|
-
import { t as SubscribeButtons_default } from "./SubscribeButtons-
|
|
10
|
+
import { t as useOrgaComputed } from "./useOrgaComputed-D5SfqMx9.mjs";
|
|
11
|
+
import { t as PodcastList_default } from "./PodcastList-DYLAwHbt.mjs";
|
|
12
|
+
import { t as SubscribeButtons_default } from "./SubscribeButtons-Va9APuBC.mjs";
|
|
13
13
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, guardReactiveProps, normalizeClass, normalizeProps, onBeforeUnmount, openBlock, ref, renderSlot, resolveDirective, toDisplayString, watch, withDirectives } from "vue";
|
|
14
14
|
import { useI18n } from "vue-i18n";
|
|
15
15
|
import { useRoute } from "vue-router";
|
|
@@ -36,10 +36,10 @@ var PlaylistPage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
36
36
|
},
|
|
37
37
|
setup(__props, { expose: __expose }) {
|
|
38
38
|
__expose();
|
|
39
|
-
const ShareSocialsButtons = defineAsyncComponent(() => import("./ShareSocialsButtons-
|
|
40
|
-
const SharePlayer = defineAsyncComponent(() => import("./SharePlayer-
|
|
41
|
-
const PodcastmakerHeader = defineAsyncComponent(() => import("./PodcastmakerHeader-
|
|
42
|
-
const ShareAnonymous = defineAsyncComponent(() => import("./ShareAnonymous-
|
|
39
|
+
const ShareSocialsButtons = defineAsyncComponent(() => import("./ShareSocialsButtons-DiJVocCJ.mjs"));
|
|
40
|
+
const SharePlayer = defineAsyncComponent(() => import("./SharePlayer-ChACZKgH.mjs").then((n) => n.n));
|
|
41
|
+
const PodcastmakerHeader = defineAsyncComponent(() => import("./PodcastmakerHeader-CTOmo93E.mjs"));
|
|
42
|
+
const ShareAnonymous = defineAsyncComponent(() => import("./ShareAnonymous-BRlQaJhi.mjs"));
|
|
43
43
|
const props = __props;
|
|
44
44
|
const loaded = ref(false);
|
|
45
45
|
const error = ref(false);
|
|
@@ -225,4 +225,4 @@ var PlaylistPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Playl
|
|
|
225
225
|
//#endregion
|
|
226
226
|
export { PlaylistPage_default as default };
|
|
227
227
|
|
|
228
|
-
//# sourceMappingURL=PlaylistPage-
|
|
228
|
+
//# sourceMappingURL=PlaylistPage-Cb5ukqXZ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-Cb5ukqXZ.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-Cv15l4gs.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-D6OVQKg7.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-D__PNCOf.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-Jv5rPWTt.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaylistPage-Le2dLhgP.mjs","names":[],"sources":["../src/components/pages/PlaylistPage.vue","../src/components/pages/PlaylistPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && playlist\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"pageTitle\"\n :img-url=\"playlist.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :playlist=\"playlist\"\n />\n\n <div class=\"mb-5 mt-3 description-text\">\n <img\n v-lazy=\"useProxyImageUrl(playlist.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Playlist name image', { name: name })\"\n class=\"img-box float-start me-3 mb-3\"\n />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ name }}</h2>\n <ShareAnonymous v-if=\"!editRight\" class=\"d-flex justify-content-end flex-grow-1\" :playlist=\"playlist\" :organisation-id=\"playlist.organisation?.id\"/>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <p class=\"html-wysiwyg-content\" v-html=\"urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"playlist\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </section>\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :playlist=\"playlist\"\n :organisation-id=\"authOrgaId\"\n />\n <ShareSocialsButtons\n v-if=\"state.podcastPage.ShareButtons\"\n :organisation-id=\"playlist.organisation.id\"\n />\n <section class=\"module-box\">\n <PodcastList \n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :playlist=\"playlist\"\n />\n </section>\n </div>\n\n <slot name=\"bottom\" v-bind=\"{ playlist }\" />\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Playlist doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport PodcastList from \"../display/playlist/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport {defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport { playlistApi } from \"../../api/playlistApi\";\n\nimport SubscribeButtons from \"../display/sharing/SubscribeButtons.vue\"; \nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n\n\n//Props\nconst props = defineProps({\n playlistId: { default: undefined, type: Number },\n pr: { default: 0, type: Number },\n ps: { default: 30, type: Number },\n routeQuery: { default: \"\", type: String },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst playlist : Ref<Playlist | undefined> = ref(undefined);\n\n\n//Composables\nconst route = useRoute();\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\n\n\n//Computed\nconst playlistRadio = computed(() =>{\n return (\n \"AMBIANCE\" === playlist.value?.ambianceType ||\n \"AMBIANCE_PROGRAMMED\" === playlist.value?.ambianceType\n );\n});\nconst pageTitle = computed(() =>playlistRadio.value? t(\"Mix of episodes\"): t(\"Playlist\"));\nconst name = computed(() =>playlist.value?.title ?? \"\");\nconst description = computed(() =>playlist.value?.description ?? \"\");\nconst editRight = computed(() =>{\n return isEditRights(\n playlist.value?.organisation?.id,\n authStore.isRolePlaylists,\n );\n});\n\n\n//Watch\nwatch(()=>props.playlistId, () => {getPlaylistDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getPlaylistDetails(): Promise<void> {\n try {\n loaded.value = false;\n error.value = false;\n playlist.value = await playlistApi.get(props.playlistId);\n filterStore.updateOrgaIfNecessary(playlist.value.organisation?.id);\n if (\n (!editRight.value && playlistRadio.value) ||\n (\"PUBLIC\" !== playlist.value.organisation?.privacy &&\n filterStore.filterOrgaId !== playlist.value.organisation?.id &&\n route.query.productor !== playlist.value.organisation?.id)\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(playlist.value);\n updatePathParams(playlist.value.title);\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n loaded.value = true;\n}\n\n</script>\n"],"mappings":"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"}
|