@saooti/octopus-sdk 42.1.0 → 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-BDxs2o7K.mjs +429 -0
- 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-BtvszT_D.mjs +237 -0
- 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-BirNjSgi.mjs +182 -0
- 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-zRFFW7lm.mjs +57 -0
- 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-DSrRb0wM.mjs +82 -0
- 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-BeoPGlll.mjs +86 -0
- 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/CheckIdentityModal-Du2Jqur2.mjs.map +1 -0
- package/dist/ClassicAlert-DUQplMvs.mjs +85 -0
- package/dist/ClassicInputText-D2wR2cwa.mjs +371 -0
- package/dist/ClassicInputText-D2wR2cwa.mjs.map +1 -0
- package/dist/ClassicWysiwyg-Bew6KMXn.mjs +230 -0
- package/dist/ClassicWysiwyg-Bew6KMXn.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-Dm9Z1sRK.mjs +84 -0
- package/dist/ClipboardModal-Dm9Z1sRK.mjs.map +1 -0
- package/dist/ClipboardModal-PbKpLGXl.mjs.map +1 -0
- package/dist/CommentBasicView-BIiF59xV.mjs +129 -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.map +1 -0
- package/dist/CommentInput-yE5YpwPd.mjs +186 -0
- package/dist/CommentInput-yE5YpwPd.mjs.map +1 -0
- package/dist/CommentItem-B3jrVyCL.mjs.map +1 -0
- package/dist/CommentItem-B95BndID.mjs +232 -0
- 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/CommentItem-Vvd1NE_W.mjs.map +1 -0
- package/dist/CommentItem-vMMaiTCB.mjs.map +1 -0
- package/dist/CommentList-AZvaBFne.mjs.map +1 -0
- package/dist/CommentList-AwpVcpBT.mjs.map +1 -0
- package/dist/CommentList-BcFHoPtE.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-Cn5TPBet.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-l9y2S0t4.mjs +302 -0
- 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-BR4CRRey.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-tL6Uqw1X.mjs +286 -0
- 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.map +1 -0
- package/dist/CommentName-Dg4--t-W.mjs +96 -0
- 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-8jbjym0a.mjs +64 -0
- 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-lesewf4s.mjs +86 -0
- 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-BRUVbqPQ.mjs +141 -0
- 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-CRfcutkV.mjs.map +1 -0
- package/dist/CommentSection-ClFb7E4o.mjs.map +1 -0
- package/dist/CommentSection-CsyPvXiH.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-C9bhViPU.mjs +355 -0
- 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-DDJNYv49.mjs +101 -0
- 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-DXJGjfIn.mjs +53 -0
- 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.map +1 -0
- package/dist/EditCommentModal-Czp-qN4t.mjs +162 -0
- 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-ZdhmJ8Bp.mjs +82 -0
- 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-Bqvh02uF.mjs +188 -0
- 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-DoBM2Zk2.mjs +183 -0
- 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-Bh3ZlvV4.mjs +325 -0
- 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-BG6RIWP2.mjs +322 -0
- 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-CvoVh-dC.mjs +167 -0
- 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-B2PbYGuW.mjs +78 -0
- 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-BXNJsC5t.mjs +125 -0
- 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-B1arrsZ7.mjs +199 -0
- 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-Bv-DWyb6.mjs +69 -0
- 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/ErrorMessage-D2XAzxpC.mjs +44 -0
- package/dist/FooterGarSection-77dYJO_c.mjs +71 -0
- 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-B1hXBiqI.mjs +242 -0
- 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-XGEgsnuF.mjs.map +1 -0
- package/dist/FooterSection-mtZULuem.mjs.map +1 -0
- package/dist/HomeDropdown-87gJP-lN.mjs +110 -0
- 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-Brr9jjcQ.mjs +166 -0
- 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-1P9-7FQ5.mjs +167 -0
- 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-CComV07M.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-CEgFM1e5.mjs +202 -0
- 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-G4GVIv-L.mjs +136 -0
- 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-BiODr6Zp.mjs +324 -0
- 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-vu6VOIIy.mjs +76 -0
- 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-DmEdjPRe.mjs +303 -0
- 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-xNe7tNdx.mjs +187 -0
- 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-LqgD6CbF.mjs +82 -0
- 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-BiNMu3dn.mjs +190 -0
- 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-BJwIMZ6G.mjs +84 -0
- 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-ChQf6Ngj.mjs +58 -0
- 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-CcCfd9rJ.mjs +117 -0
- 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-Ch4_98y_.mjs +138 -0
- 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-DtAxvp2W.mjs +203 -0
- 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-BzdpZCDO.mjs +262 -0
- 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-BKaI6E9o.mjs +84 -0
- 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-B-WRNyqn.mjs +209 -0
- 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-CUHTRJic.mjs +929 -0
- 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-Kt-pV6N_.mjs +190 -0
- 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-CAElMmMV.mjs +400 -0
- 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-DWAyhBWx.mjs +86 -0
- 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-7vhL8Npe.mjs +230 -0
- 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-Dq7OHOig.mjs +72 -0
- 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-pNFWNrON.mjs +102 -0
- package/dist/PlayerVideoDigiteka-pNFWNrON.mjs.map +1 -0
- package/dist/PlayerVideoHls-BDDiwxGb.mjs.map +1 -0
- package/dist/PlayerVideoHls-CE2SIkEn.mjs +232 -0
- 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-Cb5ukqXZ.mjs +228 -0
- 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-DAVADzhL.mjs +395 -0
- 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-CmqrA2oC.mjs +254 -0
- 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-FhC5F4MR.mjs +174 -0
- 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-CDumc8n6.mjs +138 -0
- 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-CB3uZjwS.mjs +233 -0
- 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-DqnPEYSJ.mjs +30 -0
- 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-rF33x3wp.mjs +287 -0
- 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-BewxderG.mjs +330 -0
- 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-DYLAwHbt.mjs +182 -0
- 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-BvRTyXh8.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-DlZWXScN.mjs.map +1 -0
- package/dist/PodcastPage-DoUwareI.mjs.map +1 -0
- package/dist/PodcastPage-NMZSFjQm.mjs +756 -0
- 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-D_b7qme_.mjs +83 -0
- 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-Br9wqAv7.mjs +72 -0
- 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-Dgv5W72_.mjs +236 -0
- 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-YDhy9TvO.mjs +115 -0
- 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-DxUwH3dU.mjs +200 -0
- 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-D_togvfJ.mjs +98 -0
- 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-CHnE4Q9g.mjs +184 -0
- 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-DqHgAzXW.mjs +83 -0
- 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-PoinXUn2.mjs +219 -0
- 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-CTOmo93E.mjs +58 -0
- 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-B1JUH1co.mjs +217 -0
- 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-XQ1jGYQw.mjs +161 -0
- 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-CyddCXNJ.mjs +158 -0
- 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-6ZkgX9Ta.mjs +177 -0
- 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-BNVatZWE.mjs +64 -0
- 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-Bf-Pg-J_.mjs +112 -0
- 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-C7tOpvUk.mjs +139 -0
- 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-CiIj65_a.mjs +85 -0
- 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-BotOeNwF.mjs +125 -0
- 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-CcPPJUmX.mjs +137 -0
- 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-C8MtglrL.mjs +290 -0
- 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-1PEu9PP_.mjs +67 -0
- 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-CHFdC9Sq.mjs +148 -0
- 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-CRcYir1i.mjs +134 -0
- 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-Dhr0wNeN.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-DeX5rK6p.mjs +124 -0
- 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-B8WfUUyU.mjs +212 -0
- 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-DL_FXRSA.mjs +199 -0
- 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-CMOS69Vq.mjs +206 -0
- 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-TE1WN6Ij.mjs +108 -0
- 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-DMmu7a0f.mjs +77 -0
- 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-BRlQaJhi.mjs +321 -0
- 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-D98G_Ndx.mjs +135 -0
- 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-C-clOCKi.mjs +211 -0
- 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-ChACZKgH.mjs +378 -0
- 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-CTMdvwN2.mjs +127 -0
- 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-B7FLniHB.mjs +232 -0
- 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-DiJVocCJ.mjs +159 -0
- 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-DLEAl9OH.mjs +41 -0
- package/dist/SimpleLayout-DLEAl9OH.mjs.map +1 -0
- package/dist/SmartLinkPage-BJoMvpYI.mjs +238 -0
- 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-Va9APuBC.mjs +203 -0
- package/dist/SubscribeButtons-Va9APuBC.mjs.map +1 -0
- package/dist/SwiperList-B20Vye8P.mjs +207 -0
- 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-B4PT2uXD.mjs +134 -0
- 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-BUXelbn2.mjs +125 -0
- 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-Bg0jGbps.mjs +760 -0
- 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-CPa7Icpi.mjs +185 -0
- 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-CIZ34N35.mjs +85 -0
- 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-B-7n9a0w.mjs +274 -0
- 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-Dr-rwYv9.mjs.map +1 -0
- package/dist/VideoPage-Gr_u3MAh.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-ChvwoPGT.mjs +1906 -0
- 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-CuFfOvc0.mjs +36 -0
- 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 +100 -100
- package/dist/messages-BBXCgqNE.mjs.map +1 -0
- package/dist/messages-BfcKCwbs.mjs.map +1 -0
- package/dist/messages-C-3-wU0o.mjs +2757 -0
- 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-DpFW5LOX.mjs +162 -0
- 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-CK_TIXDt.mjs +32 -0
- 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-BZkAkzNC.mjs +19 -0
- 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-DdK55qB4.mjs +20 -0
- 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-D5SfqMx9.mjs +19 -0
- 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-C-gsD-ec.mjs +108 -0
- 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-DlzuYDsj.mjs +56 -0
- 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-CUGbjF4i.mjs +190 -0
- 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-DNL2VJUc.mjs +276 -0
- 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-Dg4HclyQ.mjs +13 -0
- 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-BrWFpJhb.mjs +36 -0
- 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-BqPO-hyZ.mjs +468 -0
- 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-ByeUUq4Z.mjs +54 -0
- 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-Dsw1HxX9.mjs +205 -0
- package/dist/useTranslation-Dsw1HxX9.mjs.map +1 -0
- package/dist/useTranslation-kKZZLtgm.mjs.map +1 -0
- package/dist/usefetchRadioData-3E5_FJJM.mjs +55 -0
- 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/components/form/ClassicWysiwyg.vue +2 -4
- package/src/components/misc/FooterSection.vue +3 -1
- 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
- package/dist/AdvancedSearch-C__BZuJX.mjs +0 -429
- package/dist/CategoryFilter-DRXTrqyR.mjs +0 -237
- package/dist/CategoryList-BeBPhibG.mjs +0 -182
- package/dist/CategoryPage-CsabctRT.mjs +0 -57
- package/dist/ChapteringModal-BCPmvaRT.mjs +0 -82
- package/dist/CheckIdentityModal-fNecycn-.mjs +0 -86
- package/dist/ClassicAlert-dYigdfoZ.mjs +0 -85
- package/dist/ClassicInputText-B7EAwP2N.mjs +0 -371
- package/dist/ClassicWysiwyg-BKq8ExjM.mjs +0 -230
- package/dist/ClipboardModal-Bd_hrJu_.mjs +0 -84
- package/dist/CommentBasicView-bNaLVdjT.mjs +0 -129
- package/dist/CommentInput-B7qnp3is.mjs +0 -186
- package/dist/CommentItem-DDCavfx_.mjs +0 -232
- package/dist/CommentList-BbEaau4S.mjs +0 -302
- package/dist/CommentMoreActions-CB8419fO.mjs +0 -286
- package/dist/CommentName-DFzxl7mU.mjs +0 -96
- package/dist/CommentParentInfo-BDSceNbu.mjs +0 -64
- package/dist/CommentPlayer-D_cgM4oc.mjs +0 -86
- package/dist/CommentSection-CfhzLqZE.mjs +0 -141
- package/dist/CommentStore-DAa7RQ_3.mjs +0 -355
- package/dist/ContractPreviewModal-CC3KTcFM.mjs +0 -101
- package/dist/DownloadPodcastButton-DdWnV_YZ.mjs +0 -53
- package/dist/EditCommentModal-7vDcLEPD.mjs +0 -162
- package/dist/EmissionGroupChooser-ZJLNTZLc.mjs +0 -82
- package/dist/EmissionInlineList-JQp7JC97.mjs +0 -188
- package/dist/EmissionItem-9HFaHgWp.mjs +0 -183
- package/dist/EmissionList-Clu9bigG.mjs +0 -325
- package/dist/EmissionPage-DX_2HI0y.mjs +0 -322
- package/dist/EmissionPlayerItem-C8IKeJ7q.mjs +0 -167
- package/dist/EmissionPresentationItem-CmxIvauh.mjs +0 -78
- package/dist/EmissionPresentationList-CIx49QaD.mjs +0 -125
- package/dist/EmissionsPage-CxLXKG5S.mjs +0 -199
- package/dist/Error403Page-DARTxoEK.mjs +0 -69
- package/dist/ErrorMessage-DhSwu9H_.mjs +0 -44
- package/dist/FooterGarSection-IH0ADl_V.mjs +0 -71
- package/dist/FooterSection-r3Ehg0kp.mjs +0 -238
- package/dist/HomeDropdown-B9Hg49uX.mjs +0 -110
- package/dist/HomePage-C3t8bQ4X.mjs +0 -166
- package/dist/LikeSection-KEHYZ6eH.mjs +0 -167
- package/dist/ListPaginate-Dd3eeyMI.mjs +0 -202
- package/dist/LiveHorizontalList-CiyK7eIx.mjs +0 -136
- package/dist/LiveList-DnEolyFx.mjs +0 -324
- package/dist/LivesPage-BjOGZLj4.mjs +0 -76
- package/dist/MapPage-BO2h6OPn.mjs +0 -303
- package/dist/MobileMenu-DzyIn4Ww.mjs +0 -187
- package/dist/NewsletterModal-MVu7IC0K.mjs +0 -82
- package/dist/OrganisationChooser-BZnwu6PU.mjs +0 -190
- package/dist/OrganisationChooserLight-DtC9SY2k.mjs +0 -84
- package/dist/PageNotFound-XkbxiC3R.mjs +0 -58
- package/dist/ParticipantInlineList-D13FKP63.mjs +0 -117
- package/dist/ParticipantItem-NaOJtacr.mjs +0 -138
- package/dist/ParticipantPage-CVDQ4I-p.mjs +0 -203
- package/dist/ParticipantsPage-CxDl6EWr.mjs +0 -262
- package/dist/PlayerAnonymousModal-DstBQ-Zs.mjs +0 -84
- package/dist/PlayerCompact-DgsZttBX.mjs +0 -209
- package/dist/PlayerComponent-BDJQLPcs.mjs +0 -929
- package/dist/PlayerLarge-CubFsFCt.mjs +0 -190
- package/dist/PlayerPlayButton-DQBkOGod.mjs +0 -400
- package/dist/PlayerProgressBar-AhqJPkUk.mjs +0 -86
- package/dist/PlayerStore-S4mFfJ75.mjs +0 -230
- package/dist/PlayerVideo-D-TYPaLL.mjs +0 -72
- package/dist/PlayerVideoDigiteka-DMC8L6Mz.mjs +0 -102
- package/dist/PlayerVideoHls-VFKtt3Qx.mjs +0 -232
- package/dist/PlaylistPage-BrZuaX3e.mjs +0 -228
- package/dist/PlaylistsPage-CAaiC48j.mjs +0 -395
- package/dist/PodcastFilterList-YdyFX695.mjs +0 -254
- package/dist/PodcastImage-CF7D3Alx.mjs +0 -174
- package/dist/PodcastInlineList-C_dvAa4O.mjs +0 -138
- package/dist/PodcastInlineListTemplate-DpveKzmq.mjs +0 -233
- package/dist/PodcastIsPlaying-Dx_XNjz4.mjs +0 -30
- package/dist/PodcastItem-C5U2vYiX.mjs +0 -287
- package/dist/PodcastList-BHOJTVqP.mjs +0 -182
- package/dist/PodcastList-Dkh7Kahu.mjs +0 -330
- package/dist/PodcastPage-CTwEe_n7.mjs +0 -725
- package/dist/PodcastPlayBar-BafidGw3.mjs +0 -83
- package/dist/PodcastPlayBasicButton-DqomjSS_.mjs +0 -72
- package/dist/PodcastPlayButton--X67hSEO.mjs +0 -236
- package/dist/PodcastPlaylistInlineList-Csf1PwTQ.mjs +0 -115
- package/dist/PodcastPresentationList-DSQebLtP.mjs +0 -200
- package/dist/PodcastProgressBar-BoRBxgPF.mjs +0 -98
- package/dist/PodcastRawTranscript-HOcGzqam.mjs +0 -184
- package/dist/PodcastRubriqueList-C6IUkNSJ.mjs +0 -83
- package/dist/PodcastSwiperList-B6Rb4sb3.mjs +0 -219
- package/dist/PodcastmakerHeader-SuHA7pwQ.mjs +0 -58
- package/dist/PodcastsPage-BA8vFVBZ.mjs +0 -217
- package/dist/ProductorSearch-DXwssvrx.mjs +0 -161
- package/dist/ProgressBar-BPdSp8k3.mjs +0 -158
- package/dist/QrCode-DIUhV-JI.mjs +0 -177
- package/dist/QrCodeModal-DsqDbf2S.mjs +0 -64
- package/dist/RadioCurrently-2uhupYt4.mjs +0 -112
- package/dist/RadioHistory-7HK9VIXU.mjs +0 -139
- package/dist/RadioImage-DgrrJqhi.mjs +0 -85
- package/dist/RadioList-5WLGZn1M.mjs +0 -125
- package/dist/RadioPage-BLrZ2cZQ.mjs +0 -137
- package/dist/RadioPlanning-CMSEqOnd.mjs +0 -290
- package/dist/RadioProgressBar-imph2EDe.mjs +0 -67
- package/dist/RecaptchaModal-CxDPhjIv.mjs +0 -148
- package/dist/ReportAbuseModal-Cn4dKNYU.mjs +0 -134
- package/dist/RightsIndicator-DMZt2V0j.mjs +0 -124
- package/dist/RightsWrapper-CH6QzSWu.mjs +0 -212
- package/dist/RubriqueFilter-BIBa9NNw.mjs +0 -199
- package/dist/RubriqueList-7NFIBpzM.mjs +0 -206
- package/dist/RubriquePage-Dh4NUQ2M.mjs +0 -108
- package/dist/SearchPage-nupT1-eH.mjs +0 -77
- package/dist/ShareAnonymous-BmIwbMz_.mjs +0 -321
- package/dist/ShareModalPlayer-CKQAlhfC.mjs +0 -135
- package/dist/ShareNewsletter-YyZJPmj3.mjs +0 -211
- package/dist/SharePlayer-B-8165rs.mjs +0 -378
- package/dist/SharePlayerRadio-CqLsQYYx.mjs +0 -127
- package/dist/SharePlayerTypes-Bt2LQhZe.mjs +0 -232
- package/dist/ShareSocialsButtons-CZtpG1zL.mjs +0 -159
- package/dist/SimpleLayout-TPl5v_-v.mjs +0 -41
- package/dist/SmartLinkPage-DsLBvlOf.mjs +0 -238
- package/dist/SubscribeButtons-DTu2q9nM.mjs +0 -203
- package/dist/SwiperList-DkzjytBq.mjs +0 -207
- package/dist/TagList-CZwg6-Wl.mjs +0 -134
- package/dist/TagPage-DX0T8dNu.mjs +0 -125
- package/dist/TopBar-BshQ_eFb.mjs +0 -760
- package/dist/UserButtonContent-BwvIN_8j.mjs +0 -185
- package/dist/VideoModuleBox-CYxZFZQV.mjs +0 -85
- package/dist/VideoPage-B1udtWP7.mjs +0 -274
- package/dist/classicApi-DpwVUC0E.mjs +0 -1906
- package/dist/downloadHelper-DNFvCWE7.mjs +0 -36
- package/dist/messages-DxAfPLH1.mjs +0 -2745
- package/dist/useAdvancedParamInit-XK-FI81b.mjs +0 -162
- package/dist/useDayjs-CD7LNHpM.mjs +0 -32
- package/dist/useErrorHandler-DpcjkDh_.mjs +0 -19
- package/dist/useImageProxy-DI8RhM5W.mjs +0 -20
- package/dist/useOrgaComputed-Cv6ZE0fR.mjs +0 -19
- package/dist/usePlayerLogicProgress-DJXygp1R.mjs +0 -108
- package/dist/usePodcastView-AB8-AjDO.mjs +0 -56
- package/dist/usePresentationItem-BSIM0LPe.mjs +0 -190
- package/dist/useRights-9acWcTMy.mjs +0 -276
- package/dist/useRubriquesFilterComputed-Hr6ZScZJ.mjs +0 -13
- package/dist/useRubriquesFilterParam-CHOhIyzc.mjs +0 -36
- package/dist/useSharePlatforms-BS51_Mgp.mjs +0 -468
- package/dist/useSimplePageParam-CWi9AKl0.mjs +0 -54
- package/dist/useTranslation-Bw07I8Rj.mjs +0 -205
- package/dist/usefetchRadioData-CoAFZngO.mjs +0 -55
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
2
|
+
import { A as state, C as emissionApi, _ as playlistApi, m as podcastApi, p as PodcastSort, y as organisationApi } from "./classicApi-ChvwoPGT.mjs";
|
|
3
|
+
import { n as usePlayerStore } from "./PlayerStore-7vhL8Npe.mjs";
|
|
4
|
+
import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
|
|
5
|
+
import { t as useImageProxy } from "./useImageProxy-DdK55qB4.mjs";
|
|
6
|
+
import { r as useSharePlatforms } from "./useSharePlatforms-BqPO-hyZ.mjs";
|
|
7
|
+
import { t as useSeoTitleUrl } from "./useSeoTitleUrl-CrM1YzAc.mjs";
|
|
8
|
+
import { t as useSharePath } from "./useSharePath-Vh29oc9Z.mjs";
|
|
9
|
+
import "./logo_saooti_play_black-BLx_RUuM.mjs";
|
|
10
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeStyle, onMounted, openBlock, ref, renderList, resolveDirective, resolveDynamicComponent, toDisplayString, withDirectives } from "vue";
|
|
11
|
+
import PlayIcon from "vue-material-design-icons/Play.vue";
|
|
12
|
+
//#region src/components/pages/SmartLinkPage.vue?vue&type=script&setup=true&lang.ts
|
|
13
|
+
var SmartLinkPage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
14
|
+
__name: "SmartLinkPage",
|
|
15
|
+
props: {
|
|
16
|
+
playlistId: {
|
|
17
|
+
type: null,
|
|
18
|
+
required: false
|
|
19
|
+
},
|
|
20
|
+
emissionId: {
|
|
21
|
+
type: null,
|
|
22
|
+
required: false
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
setup(__props, { expose: __expose }) {
|
|
26
|
+
__expose();
|
|
27
|
+
const { updatePathParams } = useSeoTitleUrl();
|
|
28
|
+
const { useProxyImageUrl } = useImageProxy();
|
|
29
|
+
const { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();
|
|
30
|
+
/** Props used when displaying a playlist */
|
|
31
|
+
/** The currently displayed element, if any */
|
|
32
|
+
const element = ref(null);
|
|
33
|
+
onMounted(async () => {
|
|
34
|
+
if (__props.playlistId) {
|
|
35
|
+
element.value = await playlistApi.get(__props.playlistId);
|
|
36
|
+
initPlatforms(element.value.organisation.id);
|
|
37
|
+
} else if (__props.emissionId) {
|
|
38
|
+
element.value = await emissionApi.get(__props.emissionId);
|
|
39
|
+
initPlatforms(element.value.orga.id);
|
|
40
|
+
} else console.error("No content defined");
|
|
41
|
+
updatePathParams(title.value);
|
|
42
|
+
getOrganisationAttributes();
|
|
43
|
+
getLatestPodcast();
|
|
44
|
+
});
|
|
45
|
+
/** Title of the element displayed */
|
|
46
|
+
const title = computed(() => {
|
|
47
|
+
if (__props.playlistId) return element.value.title;
|
|
48
|
+
if (__props.emissionId) return element.value.name;
|
|
49
|
+
return "";
|
|
50
|
+
});
|
|
51
|
+
/** Description of the element displayed */
|
|
52
|
+
const description = computed(() => {
|
|
53
|
+
let description = element.value.description;
|
|
54
|
+
if (state.smartLink.showOnlyFirstParagraphInDescription === true) {
|
|
55
|
+
const matches = description.match(/^(.+?(?:\n+.*?)*<\/p>)/);
|
|
56
|
+
if (matches && matches.length >= 2) description = matches[1];
|
|
57
|
+
}
|
|
58
|
+
return displayHelper_default.urlify(description);
|
|
59
|
+
});
|
|
60
|
+
/** The organisation associated with the element */
|
|
61
|
+
const organisation = computed(() => {
|
|
62
|
+
if (!element.value) return;
|
|
63
|
+
if (__props.playlistId) return element.value.organisation;
|
|
64
|
+
else if (__props.emissionId) return element.value.orga;
|
|
65
|
+
});
|
|
66
|
+
/** The URL to the podcastmaker of the organisation, if any */
|
|
67
|
+
const organisationAttributes = ref(null);
|
|
68
|
+
const { getSharePath } = useSharePath();
|
|
69
|
+
async function getOrganisationAttributes() {
|
|
70
|
+
if (organisation.value) organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);
|
|
71
|
+
}
|
|
72
|
+
/** The URL to the element on the podcastmaker, or original platform, if any */
|
|
73
|
+
const podcastmakerElementUrl = computed(() => {
|
|
74
|
+
if (__props.playlistId) return getSharePath({
|
|
75
|
+
name: "playlist",
|
|
76
|
+
params: { playlistId: __props.playlistId }
|
|
77
|
+
}, organisationAttributes.value);
|
|
78
|
+
else if (__props.emissionId) return getSharePath({
|
|
79
|
+
name: "emission",
|
|
80
|
+
params: { emissionId: __props.emissionId }
|
|
81
|
+
}, organisationAttributes.value);
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* The available share platforms for the element
|
|
85
|
+
*/
|
|
86
|
+
const sharePlatforms = computed(() => {
|
|
87
|
+
if (!element.value) return [];
|
|
88
|
+
return getPlatformsWithLinks(element.value.annotations);
|
|
89
|
+
});
|
|
90
|
+
function gradient(platform) {
|
|
91
|
+
return { "--gradient-color": platform.color };
|
|
92
|
+
}
|
|
93
|
+
function openLink(link) {
|
|
94
|
+
window.open(link, "_blank").focus();
|
|
95
|
+
}
|
|
96
|
+
const playerStore = usePlayerStore();
|
|
97
|
+
const latestPodcast = ref(null);
|
|
98
|
+
async function getLatestPodcast() {
|
|
99
|
+
if (__props.playlistId) {
|
|
100
|
+
const content = await playlistApi.getContent(__props.playlistId);
|
|
101
|
+
if (content.length > 0) {
|
|
102
|
+
const id = content[content.length - 1].podcastId;
|
|
103
|
+
latestPodcast.value = await podcastApi.get(id);
|
|
104
|
+
}
|
|
105
|
+
} else if (__props.emissionId) {
|
|
106
|
+
const result = await podcastApi.searchFull({
|
|
107
|
+
emissionId: __props.emissionId,
|
|
108
|
+
sort: PodcastSort.DATE,
|
|
109
|
+
size: 1
|
|
110
|
+
});
|
|
111
|
+
if (result.count > 0) latestPodcast.value = result.result[0];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function playLatestPodcast() {
|
|
115
|
+
if (!latestPodcast.value) return;
|
|
116
|
+
playerStore.playerPlay(latestPodcast.value);
|
|
117
|
+
}
|
|
118
|
+
const __returned__ = {
|
|
119
|
+
updatePathParams,
|
|
120
|
+
useProxyImageUrl,
|
|
121
|
+
getPlatformsWithLinks,
|
|
122
|
+
initPlatforms,
|
|
123
|
+
element,
|
|
124
|
+
title,
|
|
125
|
+
description,
|
|
126
|
+
organisation,
|
|
127
|
+
organisationAttributes,
|
|
128
|
+
getSharePath,
|
|
129
|
+
getOrganisationAttributes,
|
|
130
|
+
podcastmakerElementUrl,
|
|
131
|
+
sharePlatforms,
|
|
132
|
+
gradient,
|
|
133
|
+
openLink,
|
|
134
|
+
playerStore,
|
|
135
|
+
latestPodcast,
|
|
136
|
+
getLatestPodcast,
|
|
137
|
+
playLatestPodcast,
|
|
138
|
+
PlayIcon
|
|
139
|
+
};
|
|
140
|
+
Object.defineProperty(__returned__, "__isScriptSetup", {
|
|
141
|
+
enumerable: false,
|
|
142
|
+
value: true
|
|
143
|
+
});
|
|
144
|
+
return __returned__;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
//#endregion
|
|
148
|
+
//#region src/components/pages/SmartLinkPage.vue
|
|
149
|
+
var _hoisted_1 = {
|
|
150
|
+
key: 0,
|
|
151
|
+
class: "background"
|
|
152
|
+
};
|
|
153
|
+
var _hoisted_2 = ["src"];
|
|
154
|
+
var _hoisted_3 = { key: 1 };
|
|
155
|
+
var _hoisted_4 = { class: "content" };
|
|
156
|
+
var _hoisted_5 = { class: "left" };
|
|
157
|
+
var _hoisted_6 = {
|
|
158
|
+
width: "250",
|
|
159
|
+
height: "250",
|
|
160
|
+
class: "img-box",
|
|
161
|
+
"aria-hidden": "true",
|
|
162
|
+
alt: ""
|
|
163
|
+
};
|
|
164
|
+
var _hoisted_7 = ["innerHTML"];
|
|
165
|
+
var _hoisted_8 = { class: "platforms" };
|
|
166
|
+
var _hoisted_9 = ["onClick"];
|
|
167
|
+
var _hoisted_10 = { class: "platform-label" };
|
|
168
|
+
var _hoisted_11 = { class: "footer" };
|
|
169
|
+
var _hoisted_12 = {
|
|
170
|
+
target: "_blank",
|
|
171
|
+
href: "/"
|
|
172
|
+
};
|
|
173
|
+
var _hoisted_13 = ["href"];
|
|
174
|
+
var _hoisted_14 = { key: 0 };
|
|
175
|
+
var _hoisted_15 = { key: 1 };
|
|
176
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
177
|
+
const _directive_lazy = resolveDirective("lazy");
|
|
178
|
+
return openBlock(), createElementBlock(Fragment, null, [$setup.element ? (openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("img", { src: $setup.useProxyImageUrl($setup.element.imageUrl, "1600") }, null, 8, _hoisted_2)])) : createCommentVNode("v-if", true), $setup.element ? (openBlock(), createElementBlock("article", _hoisted_3, [
|
|
179
|
+
createCommentVNode(" Top part of smartlink, with image, title and description "),
|
|
180
|
+
createElementVNode("div", _hoisted_4, [
|
|
181
|
+
createElementVNode("div", _hoisted_5, [
|
|
182
|
+
withDirectives(createElementVNode("img", _hoisted_6, null, 512), [[_directive_lazy, $setup.useProxyImageUrl($setup.element.imageUrl, "250")]]),
|
|
183
|
+
createCommentVNode(" Play button when not viewing with phone "),
|
|
184
|
+
$setup.latestPodcast ? (openBlock(), createElementBlock("button", {
|
|
185
|
+
key: 0,
|
|
186
|
+
class: "btn btn-primary play-button pe-3 hide-phone",
|
|
187
|
+
onClick: $setup.playLatestPodcast
|
|
188
|
+
}, [createVNode($setup["PlayIcon"], { class: "me-2" }), createTextVNode(" " + toDisplayString(_ctx.$t("SmartLink - Listen to latest episode")), 1)])) : createCommentVNode("v-if", true)
|
|
189
|
+
]),
|
|
190
|
+
createElementVNode("h1", null, toDisplayString($setup.title), 1),
|
|
191
|
+
createElementVNode("div", { innerHTML: $setup.description }, null, 8, _hoisted_7),
|
|
192
|
+
createCommentVNode(" Play button when viewing with phone "),
|
|
193
|
+
$setup.latestPodcast ? (openBlock(), createElementBlock("button", {
|
|
194
|
+
key: 0,
|
|
195
|
+
class: "btn btn-primary play-button pe-3 mt-4 show-phone-flex",
|
|
196
|
+
onClick: $setup.playLatestPodcast
|
|
197
|
+
}, [createVNode($setup["PlayIcon"], { class: "me-2" }), createTextVNode(" " + toDisplayString(_ctx.$t("SmartLink - Listen to latest episode")), 1)])) : createCommentVNode("v-if", true)
|
|
198
|
+
]),
|
|
199
|
+
createCommentVNode(" Links "),
|
|
200
|
+
createElementVNode("div", _hoisted_8, [(openBlock(true), createElementBlock(Fragment, null, renderList($setup.sharePlatforms, (platform) => {
|
|
201
|
+
return openBlock(), createElementBlock("div", {
|
|
202
|
+
key: platform.name,
|
|
203
|
+
class: "platform-btn"
|
|
204
|
+
}, [createElementVNode("button", {
|
|
205
|
+
class: "btn w-100",
|
|
206
|
+
style: normalizeStyle($setup.gradient(platform)),
|
|
207
|
+
onClick: ($event) => $setup.openLink(platform.url)
|
|
208
|
+
}, [
|
|
209
|
+
createCommentVNode(" Icon of platform "),
|
|
210
|
+
(openBlock(), createBlock(resolveDynamicComponent(platform.icon), {
|
|
211
|
+
size: 36,
|
|
212
|
+
"fill-color": platform.color,
|
|
213
|
+
class: "me-2"
|
|
214
|
+
}, null, 8, ["fill-color"])),
|
|
215
|
+
createElementVNode("span", _hoisted_10, toDisplayString(platform.title), 1)
|
|
216
|
+
], 12, _hoisted_9)]);
|
|
217
|
+
}), 128))]),
|
|
218
|
+
createCommentVNode(" Footer "),
|
|
219
|
+
createElementVNode("div", _hoisted_11, [createElementVNode("a", _hoisted_12, [createElementVNode("span", null, toDisplayString(_ctx.$t("SmartLink - Made by")), 1), _cache[0] || (_cache[0] = createElementVNode("img", {
|
|
220
|
+
src: "/img/logo_saooti_play_black.svg",
|
|
221
|
+
height: "24",
|
|
222
|
+
class: "ms-2"
|
|
223
|
+
}, null, -1))]), $setup.podcastmakerElementUrl ? (openBlock(), createElementBlock("a", {
|
|
224
|
+
key: 0,
|
|
225
|
+
target: "_blank",
|
|
226
|
+
href: $setup.podcastmakerElementUrl
|
|
227
|
+
}, [$props.playlistId ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(_ctx.$t("SmartLink - To playlist on podcastmaker", { organisation: $setup.organisation.name })), 1)) : $props.emissionId ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(_ctx.$t("SmartLink - To emission on podcastmaker", { organisation: $setup.organisation.name })), 1)) : createCommentVNode("v-if", true)], 8, _hoisted_13)) : createCommentVNode("v-if", true)])
|
|
228
|
+
])) : createCommentVNode("v-if", true)], 64);
|
|
229
|
+
}
|
|
230
|
+
var SmartLinkPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(SmartLinkPage_vue_vue_type_script_setup_true_lang_default, [
|
|
231
|
+
["render", _sfc_render],
|
|
232
|
+
["__scopeId", "data-v-91795447"],
|
|
233
|
+
["__file", "/home/julien/Workspace/octopus-sdk/src/components/pages/SmartLinkPage.vue"]
|
|
234
|
+
]);
|
|
235
|
+
//#endregion
|
|
236
|
+
export { SmartLinkPage_default as default };
|
|
237
|
+
|
|
238
|
+
//# sourceMappingURL=SmartLinkPage-BJoMvpYI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartLinkPage-BJoMvpYI.mjs","names":[],"sources":["../src/components/pages/SmartLinkPage.vue","../src/components/pages/SmartLinkPage.vue"],"sourcesContent":["<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n","<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartLinkPage-Bd0ODVRl.mjs","names":[],"sources":["../src/components/pages/SmartLinkPage.vue","../src/components/pages/SmartLinkPage.vue"],"sourcesContent":["<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n","<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartLinkPage-C_zq0_aw.mjs","names":[],"sources":["../src/components/pages/SmartLinkPage.vue","../src/components/pages/SmartLinkPage.vue"],"sourcesContent":["<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n","<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartLinkPage-D1QlrObF.mjs","names":[],"sources":["../src/components/pages/SmartLinkPage.vue","../src/components/pages/SmartLinkPage.vue"],"sourcesContent":["<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n","<template>\n <div v-if=\"element\" class=\"background\">\n <img :src=\"useProxyImageUrl(element.imageUrl, '1600')\">\n </div>\n <article v-if=\"element\">\n <!-- Top part of smartlink, with image, title and description -->\n <div class=\"content\">\n <div class=\"left\">\n <img\n v-lazy=\"useProxyImageUrl(element.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n class=\"img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n >\n <!-- Play button when not viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 hide-phone\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n <h1>{{ title }}</h1>\n <div v-html=\"description\" />\n\n <!-- Play button when viewing with phone -->\n <button\n v-if=\"latestPodcast\"\n class=\"btn btn-primary play-button pe-3 mt-4 show-phone-flex\"\n @click=\"playLatestPodcast\"\n >\n <PlayIcon class=\"me-2\" />\n {{ $t('SmartLink - Listen to latest episode') }}\n </button>\n </div>\n\n <!-- Links -->\n <div class=\"platforms\">\n <div\n v-for=\"platform in sharePlatforms\"\n :key=\"platform.name\"\n class=\"platform-btn\"\n >\n <button\n class=\"btn w-100\"\n :style=\"gradient(platform)\"\n @click=\"openLink(platform.url)\"\n >\n <!-- Icon of platform -->\n <component\n :is=\"platform.icon\"\n :size=\"36\"\n :fill-color=\"platform.color\"\n class=\"me-2\"\n />\n\n <span class=\"platform-label\">{{ platform.title }}</span>\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a target=\"_blank\" href=\"/\">\n <span>{{ $t('SmartLink - Made by') }}</span>\n <img\n src=\"/img/logo_saooti_play_black.svg\"\n height=\"24\"\n class=\"ms-2\"\n >\n </a>\n <a\n v-if=\"podcastmakerElementUrl\"\n target=\"_blank\"\n :href=\"podcastmakerElementUrl\"\n >\n <span v-if=\"playlistId\">{{ $t('SmartLink - To playlist on podcastmaker', { organisation: organisation.name }) }}</span>\n <span v-else-if=\"emissionId\">{{ $t('SmartLink - To emission on podcastmaker', { organisation: organisation.name }) }}</span>\n </a>\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport { useSeoTitleUrl } from '../composable/route/useSeoTitleUrl';\n\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\n\nimport { Emission } from '../../stores/class/general/emission';\nimport { Playlist } from '../../stores/class/general/playlist';\nimport { playlistApi } from '../../api/playlistApi';\nimport { emissionApi } from '../../api/emissionApi';\nimport { useImageProxy } from '../composable/useImageProxy';\nimport { SharePlatform, useSharePlatforms } from '../composable/share/useSharePlatforms';\nimport { Organisation, OrganisationAttributes } from '../../stores/class/general/organisation';\nimport { organisationApi } from '../../api/organisationApi';\nimport { Podcast } from '@/stores/class/general/podcast';\nimport { usePlayerStore } from '../../stores/PlayerStore';\nimport { podcastApi, PodcastSort } from '../../api/podcastApi';\nimport { useSharePath } from '../composable/share/useSharePath';\nimport displayHelper from '../../helper/displayHelper';\nimport { state } from '../../stores/ParamSdkStore';\n\nconst { updatePathParams } = useSeoTitleUrl();\nconst { useProxyImageUrl } = useImageProxy();\nconst { getPlatformsWithLinks, initPlatforms } = useSharePlatforms();\n\n/** Props used when displaying a playlist */\ninterface PlaylistProps {\n /** ID of the playlist to display */\n playlistId: number;\n /** Disallow use of emission id */\n emissionId?: never;\n}\n\n/** Props used when displaying an emission */\ninterface EmissionProps {\n /** Disallow use of playlist id */\n playlistId?: never;\n /** ID of the emission to display */\n emissionId: number;\n}\n\nconst { playlistId, emissionId } = defineProps<PlaylistProps|EmissionProps>();\n\n/** The currently displayed element, if any */\nconst element = ref<Playlist|Emission|null>(null);\n\nonMounted(async() => {\n // Retrieve element\n if (playlistId) {\n element.value = await playlistApi.get(playlistId);\n initPlatforms(element.value.organisation.id);\n } else if (emissionId) {\n element.value = await emissionApi.get(emissionId);\n initPlatforms(element.value.orga.id);\n } else {\n console.error('No content defined');\n }\n\n // Update title & path\n updatePathParams(title.value);\n\n getOrganisationAttributes();\n getLatestPodcast();\n});\n\n/** Title of the element displayed */\nconst title = computed((): string => {\n if (playlistId) {\n return (element.value as Playlist).title;\n }\n if (emissionId) {\n return (element.value as Emission).name;\n }\n return '';\n});\n\n/** Description of the element displayed */\nconst description = computed((): string => {\n let description = element.value.description;\n if (state.smartLink.showOnlyFirstParagraphInDescription === true) {\n // Find everything up to the end of the first paragraph, including newlines\n const pattern = /^(.+?(?:\\n+.*?)*<\\/p>)/;\n const matches = description.match(pattern);\n if (matches && matches.length >= 2) {\n description = matches[1];\n }\n }\n\n return displayHelper.urlify(description);\n});\n\n/** The organisation associated with the element */\nconst organisation = computed((): Organisation|undefined => {\n if (!element.value) {\n return;\n }\n\n if (playlistId) {\n return (element.value as Playlist).organisation;\n } else if (emissionId) {\n return (element.value as Emission).orga;\n }\n return undefined;\n});\n\n/** The URL to the podcastmaker of the organisation, if any */\nconst organisationAttributes = ref<OrganisationAttributes|null>(null);\nconst { getSharePath } = useSharePath();\n\nasync function getOrganisationAttributes(): Promise<void> {\n if (organisation.value) {\n organisationAttributes.value = await organisationApi.getAttributes(organisation.value.id);\n }\n}\n\n/** The URL to the element on the podcastmaker, or original platform, if any */\nconst podcastmakerElementUrl = computed((): string|undefined => {\n // Retrieve full URL of element\n if (playlistId) {\n return getSharePath({ name: 'playlist', params: { playlistId }}, organisationAttributes.value);\n } else if (emissionId) {\n return getSharePath({ name: 'emission', params: { emissionId }}, organisationAttributes.value);\n }\n return undefined;\n});\n\n/**\n * The available share platforms for the element\n */\nconst sharePlatforms = computed(() => {\n if (!element.value) {\n return [];\n }\n return getPlatformsWithLinks(element.value.annotations);\n});\n\nfunction gradient(platform: SharePlatform): Record<string, string> {\n return {\n '--gradient-color': platform.color\n };\n}\n\nfunction openLink(link: string): void {\n window.open(link, '_blank').focus();\n}\n\nconst playerStore = usePlayerStore();\nconst latestPodcast = ref<Podcast|null>(null);\n\nasync function getLatestPodcast(): Promise<void> {\n if (playlistId) {\n const content = await playlistApi.getContent(playlistId);\n if (content.length > 0) {\n const id = content[content.length - 1].podcastId;\n latestPodcast.value = await podcastApi.get(id);\n }\n } else if (emissionId) {\n const result = await podcastApi.searchFull({\n emissionId,\n sort: PodcastSort.DATE,\n size: 1\n });\n\n if (result.count > 0) {\n latestPodcast.value = result.result[0];\n }\n }\n}\n\nfunction playLatestPodcast(): void {\n if (!latestPodcast.value) {\n return;\n }\n\n playerStore.playerPlay(latestPodcast.value);\n}\n</script>\n\n<style scoped lang=\"scss\">\n.background {\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Do not take place in page\n position: fixed;\n // Make rest of page appear in front of image\n z-index: -1;\n\n img {\n width: 100%;\n height: 100%;\n // Background image display\n object-fit: cover;\n // Blur image\n filter: blur(40px) sepia(0.4);\n transform: scale(1.1);\n\n @media (width <= 960px) {\n // Better display for small screens\n filter: blur(15px);\n }\n }\n}\n\narticle {\n // Set variables\n --background: white;\n --border-radius: 20px;\n\n margin: 8rem auto 2rem;\n padding: 20px;\n width: 900px;\n border-radius: var(--border-radius);\n\n // Background for card\n background: var(--background);\n // Subtle border\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n\n @media (width <= 960px) {\n // Adapt card for small screens\n margin-top: 5rem;\n width: 100%;\n }\n\n .play-button {\n width: 250px;\n\n @media (width <= 960px) {\n // Center button\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n &::before {\n // Remove additional content\n display: none;\n }\n }\n\n .left {\n // Align left\n float: left;\n\n @media (width <= 960px) {\n // On small screens, center content\n margin: 0 auto;\n float: none;\n }\n }\n\n .img-box {\n // Move image\n margin-top: -70px;\n margin-bottom: 0px;\n\n // Move image left with content going to its right, and below it\n margin-right: 20px;\n\n // Add a border\n border: 2px solid var(--background);\n border-radius: var(--border-radius);\n\n @media (width <= 960px) {\n margin: -70px auto 10px;\n }\n }\n\n // Section for title & description of content\n .content {\n margin-left: 20px;\n\n @media (width <= 960px) {\n margin-left: 0;\n }\n\n h1 {\n text-align: start !important;\n font-size: var(--octopus-smartlink-title-fontsize);\n color: var(--octopus-smartlink-title-color);\n\n @media (width <= 960px) {\n text-align: center !important;\n }\n }\n }\n\n // Section for displaying platforms\n .platforms {\n // Allow display on columns\n display: flex;\n flex-wrap: wrap;\n margin-top: 50px;\n\n @media (width <= 960px) {\n // Lower top margin when on mobile\n margin-top: 20px;\n }\n\n .platform-btn {\n display: flex;\n padding: 4px 8px;\n // Display on two columns\n flex-basis: 50%;\n // Center elements when possible\n margin: auto;\n\n @media (width <= 960px) {\n // On small screens, buttons take full width\n flex-basis: 100%;\n }\n }\n\n .btn {\n display: flex;\n height: 52px;\n // Center content vertically\n align-items: center;\n padding-left: 40px;\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 40%));\n .platform-label {\n margin-left: 30px;\n }\n\n &:hover {\n background: linear-gradient(155deg, var(--octopus-secondary) 30%, oklch(from var(--gradient-color) l c h / 100%));\n }\n\n }\n }\n}\n\n.footer {\n cursor: pointer;\n margin: 34px auto 0;\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n\n @media (width <= 960px) {\n flex-direction: column-reverse;\n align-items: center;\n }\n\n a {\n display: flex;\n align-items: center;\n color: var(--octopus-color-text);\n\n &:hover {\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n"],"mappings":"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"}
|