@saooti/octopus-sdk 42.2.1 → 42.2.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-fO5eaqLJ.mjs → AdvancedSearch-C4segSRv.mjs} +6 -6
- package/dist/AdvancedSearch-C4segSRv.mjs.map +1 -0
- package/dist/AdvancedSearch-DD9tnLCw.mjs.map +1 -0
- package/dist/{CategoryFilter-Cu2a0YE9.mjs → CategoryFilter-CpplEC8n.mjs} +5 -5
- package/dist/CategoryFilter-CpplEC8n.mjs.map +1 -0
- package/dist/CategoryFilter-cbQR_ySd.mjs.map +1 -0
- package/dist/{CategoryList-DkxZDrO5.mjs → CategoryList-BTabY3vQ.mjs} +2 -2
- package/dist/CategoryList-BTabY3vQ.mjs.map +1 -0
- package/dist/CategoryList-DHEJoaez.mjs.map +1 -0
- package/dist/CategoryPage-BbsCC3Wr.mjs.map +1 -0
- package/dist/CategoryPage-BxvUmThb.mjs.map +1 -0
- package/dist/{CategoryPage-3HFz1i7_.mjs → CategoryPage-D755GvQZ.mjs} +3 -3
- package/dist/CategoryPage-D755GvQZ.mjs.map +1 -0
- package/dist/CategoryPage-DDBJ2krs.mjs.map +1 -0
- package/dist/CategoryPage-DRCYjOqG.mjs.map +1 -0
- package/dist/ChapteringModal-CSQqCWIk.mjs.map +1 -0
- package/dist/ChapteringModal-Dt8Rsauh.mjs.map +1 -0
- package/dist/{ChapteringModal-C-rdkbSz.mjs → ChapteringModal-ei6ZqVJU.mjs} +2 -2
- package/dist/ChapteringModal-ei6ZqVJU.mjs.map +1 -0
- package/dist/CheckIdentityModal-CNFVJVB_.mjs.map +1 -0
- package/dist/{CheckIdentityModal-N9h8yvhC.mjs → CheckIdentityModal-cpMOuJGv.mjs} +3 -3
- package/dist/CheckIdentityModal-cpMOuJGv.mjs.map +1 -0
- package/dist/ClipboardModal-2ZGF38VB.mjs.map +1 -0
- package/dist/{ClipboardModal-CnieIOJr.mjs → ClipboardModal-DzCUqSph.mjs} +2 -2
- package/dist/ClipboardModal-DzCUqSph.mjs.map +1 -0
- package/dist/CommentInput-CV46HJN8.mjs.map +1 -0
- package/dist/{CommentInput-CEioyN7X.mjs → CommentInput-D_p03L68.mjs} +6 -6
- package/dist/CommentInput-D_p03L68.mjs.map +1 -0
- package/dist/CommentInput-DwRbD74k.mjs.map +1 -0
- package/dist/CommentItem-B6_XUaFR.mjs.map +1 -0
- package/dist/CommentItem-CbbmwVXB.mjs.map +1 -0
- package/dist/CommentItem-DfKKazY0.mjs.map +1 -0
- package/dist/CommentItem-JRjSLmui.mjs.map +1 -0
- package/dist/{CommentItem-BefuRoxQ.mjs → CommentItem-MFN0JNW1.mjs} +8 -8
- package/dist/CommentItem-MFN0JNW1.mjs.map +1 -0
- package/dist/{CommentList-BsPwzqkf.mjs → CommentList-BkKy5ftL.mjs} +3 -3
- package/dist/CommentList-BkKy5ftL.mjs.map +1 -0
- package/dist/CommentList-BrP71Ug4.mjs.map +1 -0
- package/dist/CommentList-Ng_YXr74.mjs.map +1 -0
- package/dist/CommentList-tKA7NFHM.mjs.map +1 -0
- package/dist/CommentList-yarlxaXg.mjs.map +1 -0
- package/dist/{CommentMoreActions-C86aqy8M.mjs → CommentMoreActions-CBSvuOGJ.mjs} +5 -5
- package/dist/CommentMoreActions-CBSvuOGJ.mjs.map +1 -0
- package/dist/CommentMoreActions-D7guBdA7.mjs.map +1 -0
- package/dist/CommentName-frCHmngc.mjs.map +1 -0
- package/dist/{CommentName-DT1QyPi3.mjs → CommentName-zTMSdG4d.mjs} +3 -3
- package/dist/CommentName-zTMSdG4d.mjs.map +1 -0
- package/dist/{CommentParentInfo-9Fe-3e6c.mjs → CommentParentInfo-CRTYPb8P.mjs} +2 -2
- package/dist/CommentParentInfo-CRTYPb8P.mjs.map +1 -0
- package/dist/CommentParentInfo-D8qquB6k.mjs.map +1 -0
- package/dist/CommentParentInfo-DC4Q6wNO.mjs.map +1 -0
- package/dist/CommentParentInfo-temUvqNv.mjs.map +1 -0
- package/dist/{CommentPlayer-CiWQM64Y.mjs → CommentPlayer-BMuLmZdI.mjs} +3 -3
- package/dist/CommentPlayer-BMuLmZdI.mjs.map +1 -0
- package/dist/CommentPlayer-BPA_lEoE.mjs.map +1 -0
- package/dist/CommentPlayer-CUNi1Lxv.mjs.map +1 -0
- package/dist/{CommentSection-Be38YIkC.mjs → CommentSection-B91sHMDT.mjs} +5 -5
- package/dist/CommentSection-B91sHMDT.mjs.map +1 -0
- package/dist/CommentSection-CpYd7i8U.mjs.map +1 -0
- package/dist/CommentSection-CrqweNX4.mjs.map +1 -0
- package/dist/CommentSection-G8rMWPrM.mjs.map +1 -0
- package/dist/CommentSection-xjY6h7nn.mjs.map +1 -0
- package/dist/CommentStore-9WWuGwIj.mjs.map +1 -0
- package/dist/{CommentStore-Dv7j94Uo.mjs → CommentStore-ClU882RI.mjs} +2 -2
- package/dist/CommentStore-ClU882RI.mjs.map +1 -0
- package/dist/ContractPreviewModal-C4_20E99.mjs.map +1 -0
- package/dist/{ContractPreviewModal-CPT6bDpJ.mjs → ContractPreviewModal-Dn5MeLFo.mjs} +2 -2
- package/dist/ContractPreviewModal-Dn5MeLFo.mjs.map +1 -0
- package/dist/{DownloadPodcastButton-6D8qNAkT.mjs → DownloadPodcastButton-BI_sZWcJ.mjs} +3 -3
- package/dist/DownloadPodcastButton-BI_sZWcJ.mjs.map +1 -0
- package/dist/DownloadPodcastButton-CSRcg8Nl.mjs.map +1 -0
- package/dist/EditCommentModal-KAP1l9RK.mjs.map +1 -0
- package/dist/{EditCommentModal-aAcjhc0v.mjs → EditCommentModal-RbVMVDOp.mjs} +2 -2
- package/dist/EditCommentModal-RbVMVDOp.mjs.map +1 -0
- package/dist/{EmissionGroupChooser-Djt1IZg7.mjs → EmissionGroupChooser-BXqM4iXP.mjs} +2 -2
- package/dist/EmissionGroupChooser-BXqM4iXP.mjs.map +1 -0
- package/dist/EmissionGroupChooser-CO1WBOUi.mjs.map +1 -0
- package/dist/EmissionInlineList-B-r4eI3D.mjs.map +1 -0
- package/dist/{EmissionInlineList-BcrKpW8S.mjs → EmissionInlineList-Cy1lbYKY.mjs} +6 -6
- package/dist/EmissionInlineList-Cy1lbYKY.mjs.map +1 -0
- package/dist/EmissionInlineList-IKPyjBTQ.mjs.map +1 -0
- package/dist/EmissionItem-982WkWkg.mjs.map +1 -0
- package/dist/EmissionItem-B8q9hnN5.mjs.map +1 -0
- package/dist/{EmissionItem-DfkPRcPz.mjs → EmissionItem-BwXm3nNx.mjs} +5 -5
- package/dist/EmissionItem-BwXm3nNx.mjs.map +1 -0
- package/dist/EmissionItem-ZDlQ7B9S.mjs.map +1 -0
- package/dist/{EmissionList-DSuGp0JO.mjs → EmissionList-C8OxrndH.mjs} +6 -6
- package/dist/EmissionList-C8OxrndH.mjs.map +1 -0
- package/dist/EmissionList-C9-UUWMV.mjs.map +1 -0
- package/dist/EmissionList-Dk9xS4s_.mjs.map +1 -0
- package/dist/EmissionList-nrY7ASws.mjs.map +1 -0
- package/dist/EmissionList-vH4NX1NW.mjs.map +1 -0
- package/dist/EmissionPage-BHAPlZw-.mjs.map +1 -0
- package/dist/EmissionPage-B_2JalGG.mjs.map +1 -0
- package/dist/EmissionPage-D4PjyZzN.mjs.map +1 -0
- package/dist/EmissionPage-HGPCRuZD.mjs.map +1 -0
- package/dist/{EmissionPage-Bo9fK8HE.mjs → EmissionPage-nCNIiWCo.mjs} +25 -18
- package/dist/EmissionPage-nCNIiWCo.mjs.map +1 -0
- package/dist/EmissionPlayerItem-B_wRzikv.mjs.map +1 -0
- package/dist/{EmissionPlayerItem-D21OrPmm.mjs → EmissionPlayerItem-Degbnz9F.mjs} +5 -5
- package/dist/EmissionPlayerItem-Degbnz9F.mjs.map +1 -0
- package/dist/EmissionPlayerItem-Dkd0o1ee.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BQ7HhOlC.mjs.map +1 -0
- package/dist/{EmissionPresentationItem-CwDIBurH.mjs → EmissionPresentationItem-CwBGPIgz.mjs} +2 -2
- package/dist/EmissionPresentationItem-CwBGPIgz.mjs.map +1 -0
- package/dist/{EmissionPresentationList-CASI5laP.mjs → EmissionPresentationList-BKI5mQdw.mjs} +4 -4
- package/dist/EmissionPresentationList-BKI5mQdw.mjs.map +1 -0
- package/dist/EmissionPresentationList-CLli23rs.mjs.map +1 -0
- package/dist/EmissionsPage-CO2xgVOR.mjs.map +1 -0
- package/dist/{EmissionsPage-Bw8Qtzlk.mjs → EmissionsPage-Cj7su56Z.mjs} +5 -5
- package/dist/EmissionsPage-Cj7su56Z.mjs.map +1 -0
- package/dist/EmissionsPage-DJdy0re_.mjs.map +1 -0
- package/dist/EmissionsPage-DR9r7_gH.mjs.map +1 -0
- package/dist/EmissionsPage-OVNfLKFu.mjs.map +1 -0
- package/dist/Error403Page-Ch535DfU.mjs.map +1 -0
- package/dist/{Error403Page-nTYCHwTi.mjs → Error403Page-DW2kK8ZZ.mjs} +2 -2
- package/dist/Error403Page-DW2kK8ZZ.mjs.map +1 -0
- package/dist/FooterGarSection-B76j-WZS.mjs.map +1 -0
- package/dist/{FooterGarSection-Cod8Key5.mjs → FooterGarSection-DVdF5RFq.mjs} +4 -4
- package/dist/FooterGarSection-DVdF5RFq.mjs.map +1 -0
- package/dist/FooterSection-BQiO-D1p.mjs.map +1 -0
- package/dist/{FooterSection-4WXBZj7c.mjs → FooterSection-CpYI9OGH.mjs} +5 -5
- package/dist/FooterSection-CpYI9OGH.mjs.map +1 -0
- package/dist/{HomeDropdown-CVe7yF6Y.mjs → HomeDropdown-D7FezAO8.mjs} +3 -3
- package/dist/HomeDropdown-D7FezAO8.mjs.map +1 -0
- package/dist/HomeDropdown-DQoMvBgU.mjs.map +1 -0
- package/dist/HomePage-BWs_az04.mjs.map +1 -0
- package/dist/HomePage-CMPKjRFA.mjs.map +1 -0
- package/dist/HomePage-CsXaeTCW.mjs.map +1 -0
- package/dist/HomePage-NH7OxpA_.mjs.map +1 -0
- package/dist/{HomePage-DupmOw6F.mjs → HomePage-vo6At2bL.mjs} +4 -4
- package/dist/HomePage-vo6At2bL.mjs.map +1 -0
- package/dist/{PodcastRubriqueList-BeTq7IRu.mjs → InlineRubriqueList-3ZVN9GJk.mjs} +14 -12
- package/dist/InlineRubriqueList-3ZVN9GJk.mjs.map +1 -0
- package/dist/InlineRubriqueList-D03VCzg8.mjs.map +1 -0
- package/dist/LikeSection-DtthHZj6.mjs.map +1 -0
- package/dist/{LikeSection-DAid96g9.mjs → LikeSection-jKjhnj88.mjs} +4 -4
- package/dist/LikeSection-jKjhnj88.mjs.map +1 -0
- package/dist/{ListPaginate-C9saxru9.mjs → ListPaginate-BXNnw_I8.mjs} +3 -3
- package/dist/ListPaginate-BXNnw_I8.mjs.map +1 -0
- package/dist/ListPaginate-COsL4t78.mjs.map +1 -0
- package/dist/ListPaginate-JuC0L113.mjs.map +1 -0
- package/dist/LiveHorizontalList-CFs9mGYs.mjs.map +1 -0
- package/dist/LiveHorizontalList-CWBQkS78.mjs.map +1 -0
- package/dist/LiveHorizontalList-DwPVmnvH.mjs.map +1 -0
- package/dist/LiveHorizontalList-jducN58c.mjs.map +1 -0
- package/dist/{LiveHorizontalList-OArlzudf.mjs → LiveHorizontalList-wgXkgFLv.mjs} +4 -4
- package/dist/LiveHorizontalList-wgXkgFLv.mjs.map +1 -0
- package/dist/LiveList-Bp-feBp9.mjs.map +1 -0
- package/dist/LiveList-ByyCyWUl.mjs.map +1 -0
- package/dist/{LiveList-EqIo_cye.mjs → LiveList-CA5n6VeN.mjs} +6 -6
- package/dist/LiveList-CA5n6VeN.mjs.map +1 -0
- package/dist/LiveList-Cah5VFun.mjs.map +1 -0
- package/dist/LiveList-DTAnN32j.mjs.map +1 -0
- package/dist/LivesPage-CNPMz3xS.mjs.map +1 -0
- package/dist/{LivesPage-BmHiBN8A.mjs → LivesPage-CTjXgU-Y.mjs} +5 -5
- package/dist/LivesPage-CTjXgU-Y.mjs.map +1 -0
- package/dist/LivesPage-CdhWyikV.mjs.map +1 -0
- package/dist/LivesPage-CwvFSl6G.mjs.map +1 -0
- package/dist/LivesPage-DyIfBEPX.mjs.map +1 -0
- package/dist/{MapPage-DcXKTGGh.mjs → MapPage-C_nGG0_5.mjs} +3 -3
- package/dist/MapPage-C_nGG0_5.mjs.map +1 -0
- package/dist/MapPage-DXV40zWN.mjs.map +1 -0
- package/dist/{MobileMenu-C0IYBWwF.mjs → MobileMenu-C95GAIm0.mjs} +4 -4
- package/dist/MobileMenu-C95GAIm0.mjs.map +1 -0
- package/dist/MobileMenu-CfHqWqsL.mjs.map +1 -0
- package/dist/NewsletterModal-4Lei4Y59.mjs.map +1 -0
- package/dist/{NewsletterModal-BzlUlz3P.mjs → NewsletterModal-B6ky7DBC.mjs} +2 -2
- package/dist/NewsletterModal-B6ky7DBC.mjs.map +1 -0
- package/dist/OrganisationChooser-BufDZsSd.mjs.map +1 -0
- package/dist/{OrganisationChooser-Bm4zqqCH.mjs → OrganisationChooser-CA0_LiTH.mjs} +3 -3
- package/dist/OrganisationChooser-CA0_LiTH.mjs.map +1 -0
- package/dist/{OrganisationChooserLight-BQ9B91mO.mjs → OrganisationChooserLight-BwG5mNdW.mjs} +2 -2
- package/dist/OrganisationChooserLight-BwG5mNdW.mjs.map +1 -0
- package/dist/OrganisationChooserLight-C2oGlc9Z.mjs.map +1 -0
- package/dist/{PageNotFound-BVQ8M8sO.mjs → PageNotFound-BHpjyNDo.mjs} +3 -3
- package/dist/PageNotFound-BHpjyNDo.mjs.map +1 -0
- package/dist/PageNotFound-IMnfLZqX.mjs.map +1 -0
- package/dist/{ParticipantInlineList-BQtQZFW1.mjs → ParticipantInlineList-A8UwjE4m.mjs} +5 -5
- package/dist/ParticipantInlineList-A8UwjE4m.mjs.map +1 -0
- package/dist/ParticipantInlineList-BpVOpEBm.mjs.map +1 -0
- package/dist/ParticipantInlineList-C5jWxedt.mjs.map +1 -0
- package/dist/ParticipantInlineList-C78uhskc.mjs.map +1 -0
- package/dist/ParticipantItem--Wv16z3V.mjs.map +1 -0
- package/dist/ParticipantItem-B3k4mf2V.mjs.map +1 -0
- package/dist/ParticipantItem-DAPOMGZD.mjs.map +1 -0
- package/dist/{ParticipantItem-EDPkxTT-.mjs → ParticipantItem-Szz8WXI6.mjs} +4 -4
- package/dist/ParticipantItem-Szz8WXI6.mjs.map +1 -0
- package/dist/ParticipantPage-BbKUwNKL.mjs.map +1 -0
- package/dist/ParticipantPage-Byq-9aCQ.mjs.map +1 -0
- package/dist/ParticipantPage-D4RVBlE-.mjs.map +1 -0
- package/dist/ParticipantPage-DfLxuZf-.mjs.map +1 -0
- package/dist/{ParticipantPage-BF-s1oof.mjs → ParticipantPage-y3OoBod8.mjs} +9 -9
- package/dist/ParticipantPage-y3OoBod8.mjs.map +1 -0
- package/dist/{ParticipantsPage-Bzt8Hxah.mjs → ParticipantsPage--BxmzVwz.mjs} +7 -7
- package/dist/ParticipantsPage--BxmzVwz.mjs.map +1 -0
- package/dist/ParticipantsPage-BEPHaCy5.mjs.map +1 -0
- package/dist/ParticipantsPage-BlQavFT6.mjs.map +1 -0
- package/dist/ParticipantsPage-D8ja25F9.mjs.map +1 -0
- package/dist/ParticipantsPage-R8LVrDFY.mjs.map +1 -0
- package/dist/{PlayerAnonymousModal-CbrqO1hs.mjs → PlayerAnonymousModal-BGPpTBPW.mjs} +3 -3
- package/dist/PlayerAnonymousModal-BGPpTBPW.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-BW239BiA.mjs.map +1 -0
- package/dist/PlayerCompact-BFC95d7Y.mjs.map +1 -0
- package/dist/PlayerCompact-C-WCTFZN.mjs.map +1 -0
- package/dist/{PlayerCompact-BtKfz384.mjs → PlayerCompact-DnJns8S2.mjs} +4 -4
- package/dist/PlayerCompact-DnJns8S2.mjs.map +1 -0
- package/dist/PlayerComponent-B8AGq9pg.mjs.map +1 -0
- package/dist/{PlayerComponent-CxNkDcFc.mjs → PlayerComponent-BRBrXVjI.mjs} +27 -39
- package/dist/PlayerComponent-BRBrXVjI.mjs.map +1 -0
- package/dist/PlayerComponent-BbvNS7sy.mjs.map +1 -0
- package/dist/PlayerComponent-By_JAwx_.mjs.map +1 -0
- package/dist/PlayerComponent-C425OWjX.mjs.map +1 -0
- package/dist/PlayerComponent-C5PNQ3TW.mjs.map +1 -0
- package/dist/PlayerComponent-Cnk_vePj.mjs.map +1 -0
- package/dist/PlayerComponent-CovfufPB.mjs.map +1 -0
- package/dist/PlayerComponent-DC4jQIwE.mjs.map +1 -0
- package/dist/PlayerComponent-DEUmVv0M.mjs.map +1 -0
- package/dist/PlayerComponent-DOXY0vL0.mjs.map +1 -0
- package/dist/PlayerComponent-DajZbHv7.mjs.map +1 -0
- package/dist/PlayerComponent-DejSC061.mjs.map +1 -0
- package/dist/PlayerComponent-p7W2UNk6.mjs.map +1 -0
- package/dist/PlayerLarge-3zzN7qom.mjs.map +1 -0
- package/dist/{PlayerLarge-BH6BLQxk.mjs → PlayerLarge-B97rRmrJ.mjs} +12 -10
- package/dist/PlayerLarge-B97rRmrJ.mjs.map +1 -0
- package/dist/PlayerLarge-BzwrEgVR.mjs.map +1 -0
- package/dist/PlayerLarge-CLOwDO6Q.mjs.map +1 -0
- package/dist/PlayerLarge-Chv7pMOU.mjs.map +1 -0
- package/dist/PlayerLarge-CkWGaDiY.mjs.map +1 -0
- package/dist/PlayerLarge-D0NMzCRi.mjs.map +1 -0
- package/dist/PlayerLarge-D3obSnYt.mjs.map +1 -0
- package/dist/PlayerLarge-DLGXpE3K.mjs.map +1 -0
- package/dist/PlayerLarge-QtUrqNm5.mjs.map +1 -0
- package/dist/PlayerLarge-juuY9yOX.mjs.map +1 -0
- package/dist/PlayerLarge-n7zyM6b_.mjs.map +1 -0
- package/dist/PlayerLarge-o4FVk0QB.mjs.map +1 -0
- package/dist/PlayerLarge-tMW3v2La.mjs.map +1 -0
- package/dist/PlayerPlayButton-CTu0337E.mjs.map +1 -0
- package/dist/PlayerPlayButton-CfJWIpoP.mjs.map +1 -0
- package/dist/{PlayerPlayButton-DT2OdqnI.mjs → PlayerPlayButton-zKdHGzFr.mjs} +5 -5
- package/dist/PlayerPlayButton-zKdHGzFr.mjs.map +1 -0
- package/dist/{PlayerProgressBar-CSYnPjZb.mjs → PlayerProgressBar-BG5NG596.mjs} +4 -4
- package/dist/PlayerProgressBar-BG5NG596.mjs.map +1 -0
- package/dist/PlayerProgressBar-Cjv8JVY2.mjs.map +1 -0
- package/dist/PlayerProgressBar-Co0_YEF3.mjs.map +1 -0
- package/dist/PlayerStore-B-L2PQ_b.mjs.map +1 -0
- package/dist/PlayerStore-C2XzSrF5.mjs.map +1 -0
- package/dist/{PlayerStore-DukkcHI_.mjs → PlayerStore-vYmnOEA_.mjs} +3 -3
- package/dist/PlayerStore-vYmnOEA_.mjs.map +1 -0
- package/dist/PlayerVideo-DD6NaGkU.mjs.map +1 -0
- package/dist/{PlayerVideo-_Uz00K_T.mjs → PlayerVideo-Ds0oYeTC.mjs} +5 -5
- package/dist/PlayerVideo-Ds0oYeTC.mjs.map +1 -0
- package/dist/PlayerVideo-cYHZOYMv.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-BPJdJNEB.mjs.map +1 -0
- package/dist/{PlayerVideoDigiteka-CjfuxXBF.mjs → PlayerVideoDigiteka-C7xb0ndg.mjs} +3 -3
- package/dist/PlayerVideoDigiteka-C7xb0ndg.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-oqtYXqYK.mjs.map +1 -0
- package/dist/PlayerVideoHls-CB4psqbz.mjs.map +1 -0
- package/dist/{PlayerVideoHls-Dms7iTSo.mjs → PlayerVideoHls-xSNqzBEw.mjs} +4 -4
- package/dist/PlayerVideoHls-xSNqzBEw.mjs.map +1 -0
- package/dist/PlayerVideoHls-zNbegJFp.mjs.map +1 -0
- package/dist/PlaylistPage-BUj1Lzfp.mjs.map +1 -0
- package/dist/PlaylistPage-BhcJkM15.mjs.map +1 -0
- package/dist/PlaylistPage-BsHMB2nn.mjs.map +1 -0
- package/dist/{PlaylistPage-CQX0LhXn.mjs → PlaylistPage-D4mcAo00.mjs} +12 -12
- package/dist/PlaylistPage-D4mcAo00.mjs.map +1 -0
- package/dist/PlaylistPage-DjAgejp8.mjs.map +1 -0
- package/dist/PlaylistsPage-B3V5-WT9.mjs.map +1 -0
- package/dist/PlaylistsPage-DSjvWTw5.mjs.map +1 -0
- package/dist/{PlaylistsPage-Bd-u4qlc.mjs → PlaylistsPage-Dr6HKHf8.mjs} +7 -7
- package/dist/PlaylistsPage-Dr6HKHf8.mjs.map +1 -0
- package/dist/PodcastFilterList-C-8AF1Dn.mjs.map +1 -0
- package/dist/{PodcastFilterList-DkH6bqv_.mjs → PodcastFilterList-CYwPiGko.mjs} +3 -3
- package/dist/PodcastFilterList-CYwPiGko.mjs.map +1 -0
- package/dist/PodcastFilterList-C_d1SyTB.mjs.map +1 -0
- package/dist/PodcastFilterList-ClMsIUaO.mjs.map +1 -0
- package/dist/PodcastFilterList-DBS0kvW6.mjs.map +1 -0
- package/dist/PodcastImage-B8o3T5zK.mjs.map +1 -0
- package/dist/{PodcastImage-BtxcPlrh.mjs → PodcastImage-Bs1lpubL.mjs} +4 -4
- package/dist/PodcastImage-Bs1lpubL.mjs.map +1 -0
- package/dist/PodcastImage-DBB5689n.mjs.map +1 -0
- package/dist/PodcastImage-DNLZH0dY.mjs.map +1 -0
- package/dist/PodcastImage-DrV8oxG8.mjs.map +1 -0
- package/dist/{PodcastInlineList-CVWfH5np.mjs → PodcastInlineList-B7-2QswT.mjs} +2 -2
- package/dist/PodcastInlineList-B7-2QswT.mjs.map +1 -0
- package/dist/PodcastInlineList-BVMV6Wvd.mjs.map +1 -0
- package/dist/PodcastInlineList-BXPpF0YD.mjs.map +1 -0
- package/dist/PodcastInlineList-CLjO1SpD.mjs.map +1 -0
- package/dist/PodcastInlineList-Cf5YF0j9.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-BX0tXOFx.mjs.map +1 -0
- package/dist/{PodcastInlineListTemplate-BWw1Ix-7.mjs → PodcastInlineListTemplate-DCWn3r7s.mjs} +4 -4
- package/dist/PodcastInlineListTemplate-DCWn3r7s.mjs.map +1 -0
- package/dist/PodcastIsPlaying-BG1_FgVX.mjs.map +1 -0
- package/dist/{PodcastIsPlaying-B7YVeSyB.mjs → PodcastIsPlaying-BsObdQGR.mjs} +2 -2
- package/dist/PodcastIsPlaying-BsObdQGR.mjs.map +1 -0
- package/dist/PodcastIsPlaying-Csd-C2jr.mjs.map +1 -0
- package/dist/PodcastItem-CGmEwYT4.mjs.map +1 -0
- package/dist/PodcastItem-CN6gwARQ.mjs.map +1 -0
- package/dist/PodcastItem-CdLjZKxf.mjs.map +1 -0
- package/dist/PodcastItem-D1MwHzhE.mjs.map +1 -0
- package/dist/{PodcastItem-CFk8MX9D.mjs → PodcastItem-_8ErwIDG.mjs} +7 -7
- package/dist/PodcastItem-_8ErwIDG.mjs.map +1 -0
- package/dist/PodcastList-BXla7F3u.mjs.map +1 -0
- package/dist/PodcastList-BqE8dwdc.mjs.map +1 -0
- package/dist/PodcastList-BvC6iOS6.mjs.map +1 -0
- package/dist/PodcastList-CRwA-s7F.mjs.map +1 -0
- package/dist/PodcastList-CVFr9WNS.mjs.map +1 -0
- package/dist/PodcastList-DZKxDulS.mjs.map +1 -0
- package/dist/{PodcastList-BLXPFjvL.mjs → PodcastList-DgLQjL0d.mjs} +6 -6
- package/dist/PodcastList-DgLQjL0d.mjs.map +1 -0
- package/dist/{PodcastList-c0Iwzakm.mjs → PodcastList-DhKeiBbv.mjs} +5 -5
- package/dist/PodcastList-DhKeiBbv.mjs.map +1 -0
- package/dist/PodcastList-Dtq6kEG4.mjs.map +1 -0
- package/dist/PodcastList-Dx-mo7Wo.mjs.map +1 -0
- package/dist/{PodcastPage-C_d9FaS7.mjs → PodcastPage-C5OCwW8q.mjs} +23 -23
- package/dist/PodcastPage-C5OCwW8q.mjs.map +1 -0
- package/dist/PodcastPage-CsVqOGWc.mjs.map +1 -0
- package/dist/PodcastPage-DQInD9ry.mjs.map +1 -0
- package/dist/PodcastPage-Dka9GEzi.mjs.map +1 -0
- package/dist/PodcastPage-acKIH0vO.mjs.map +1 -0
- package/dist/PodcastPlayBar-AgtR8Ia9.mjs.map +1 -0
- package/dist/PodcastPlayBar-D7CyLEM4.mjs.map +1 -0
- package/dist/{PodcastPlayBar-WjGn_KlZ.mjs → PodcastPlayBar-DC5HCx76.mjs} +4 -4
- package/dist/PodcastPlayBar-DC5HCx76.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-DHYxw3NX.mjs.map +1 -0
- package/dist/{PodcastPlayBasicButton-BNKlqhGR.mjs → PodcastPlayBasicButton-PJHza4d_.mjs} +2 -2
- package/dist/PodcastPlayBasicButton-PJHza4d_.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-gK82n3YL.mjs.map +1 -0
- package/dist/{PodcastPlayButton-B9hWbPEk.mjs → PodcastPlayButton-1eaXWTlG.mjs} +4 -4
- package/dist/PodcastPlayButton-1eaXWTlG.mjs.map +1 -0
- package/dist/PodcastPlayButton-Bosq5ozq.mjs.map +1 -0
- package/dist/PodcastPlayButton-DIQi57Oh.mjs.map +1 -0
- package/dist/PodcastPlayButton-DcjbCnlT.mjs.map +1 -0
- package/dist/PodcastPlayButton-DgSCyhrd.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-C0HZum5z.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-CSziI2j4.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-CvX2rauY.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-H_rnCHag.mjs.map +1 -0
- package/dist/{PodcastPlaylistInlineList-_csxbYAx.mjs → PodcastPlaylistInlineList-XTbhC8OJ.mjs} +5 -5
- package/dist/PodcastPlaylistInlineList-XTbhC8OJ.mjs.map +1 -0
- package/dist/{PodcastPresentationList-BD8XmnW0.mjs → PodcastPresentationList-BUl5Rq83.mjs} +5 -5
- package/dist/PodcastPresentationList-BUl5Rq83.mjs.map +1 -0
- package/dist/PodcastPresentationList-BvkEDbtG.mjs.map +1 -0
- package/dist/PodcastPresentationList-C0n-xr5w.mjs.map +1 -0
- package/dist/PodcastPresentationList-CnrMkINf.mjs.map +1 -0
- package/dist/PodcastPresentationList-DC-Oi_eK.mjs.map +1 -0
- package/dist/PodcastProgressBar-CP-0ptRF.mjs.map +1 -0
- package/dist/{PodcastProgressBar-B3XOeeJx.mjs → PodcastProgressBar-VG-mRcpi.mjs} +4 -4
- package/dist/PodcastProgressBar-VG-mRcpi.mjs.map +1 -0
- package/dist/PodcastProgressBar-jY43GoFx.mjs.map +1 -0
- package/dist/PodcastRawTranscript-BAu-dt2V.mjs.map +1 -0
- package/dist/{PodcastRawTranscript-D0Nm7jGM.mjs → PodcastRawTranscript-Bf6f5yNd.mjs} +3 -3
- package/dist/PodcastRawTranscript-Bf6f5yNd.mjs.map +1 -0
- package/dist/{PodcastSwiperList-DJ0O3dqM.mjs → PodcastSwiperList-BhulNkN-.mjs} +5 -5
- package/dist/PodcastSwiperList-BhulNkN-.mjs.map +1 -0
- package/dist/PodcastSwiperList-CGeumBPj.mjs.map +1 -0
- package/dist/PodcastSwiperList-CzUkS6M6.mjs.map +1 -0
- package/dist/PodcastSwiperList-DLKOAjUS.mjs.map +1 -0
- package/dist/PodcastSwiperList-DaTHwrHm.mjs.map +1 -0
- package/dist/PodcastmakerHeader-BZT-U0KX.mjs.map +1 -0
- package/dist/{PodcastmakerHeader-DAATtOG_.mjs → PodcastmakerHeader-Df0g2dCr.mjs} +2 -2
- package/dist/PodcastmakerHeader-Df0g2dCr.mjs.map +1 -0
- package/dist/PodcastsPage-B-Qzlif0.mjs.map +1 -0
- package/dist/PodcastsPage-BoK55Z9G.mjs.map +1 -0
- package/dist/PodcastsPage-CTzbr2VD.mjs.map +1 -0
- package/dist/{PodcastsPage-ZhEVoMp1.mjs → PodcastsPage-DSJUPRZE.mjs} +5 -5
- package/dist/PodcastsPage-DSJUPRZE.mjs.map +1 -0
- package/dist/PodcastsPage-Jg_jAix6.mjs.map +1 -0
- package/dist/{ProductorSearch-xs0kzX_E.mjs → ProductorSearch-BTj9gIOs.mjs} +3 -3
- package/dist/ProductorSearch-BTj9gIOs.mjs.map +1 -0
- package/dist/ProductorSearch-ziDbxrDd.mjs.map +1 -0
- package/dist/ProgressBar-BOq9RfZ2.mjs.map +1 -0
- package/dist/{ProgressBar-0DSoUTwB.mjs → ProgressBar-BVc0_6Lv.mjs} +2 -2
- package/dist/ProgressBar-BVc0_6Lv.mjs.map +1 -0
- package/dist/ProgressBar-Cgt2PqnO.mjs.map +1 -0
- package/dist/QrCode-DNiPIFIA.mjs.map +1 -0
- package/dist/{QrCode-CUP2O18d.mjs → QrCode-MCv4t_Bn.mjs} +2 -2
- package/dist/QrCode-MCv4t_Bn.mjs.map +1 -0
- package/dist/{QrCodeModal-DXBCuki7.mjs → QrCodeModal-Be8E0JlC.mjs} +2 -2
- package/dist/QrCodeModal-Be8E0JlC.mjs.map +1 -0
- package/dist/QrCodeModal-DYDKLLuw.mjs.map +1 -0
- package/dist/RadioCurrently-BJOmCSby.mjs.map +1 -0
- package/dist/RadioCurrently-CZePLInZ.mjs.map +1 -0
- package/dist/{RadioCurrently-D5M81oIX.mjs → RadioCurrently-DWySwV64.mjs} +4 -4
- package/dist/RadioCurrently-DWySwV64.mjs.map +1 -0
- package/dist/RadioHistory-7EGvEAMx.mjs.map +1 -0
- package/dist/RadioHistory-BdMa013x.mjs.map +1 -0
- package/dist/{RadioHistory-BgOve4jk.mjs → RadioHistory-DlQFZYp2.mjs} +3 -3
- package/dist/RadioHistory-DlQFZYp2.mjs.map +1 -0
- package/dist/{RadioImage-CUTRr3DL.mjs → RadioImage-BIe2KpG_.mjs} +5 -5
- package/dist/RadioImage-BIe2KpG_.mjs.map +1 -0
- package/dist/RadioImage-CXFZXN1N.mjs.map +1 -0
- package/dist/RadioImage-CpJmuc8a.mjs.map +1 -0
- package/dist/{RadioList-CwzOFHc1.mjs → RadioList-B23gsiEF.mjs} +5 -5
- package/dist/RadioList-B23gsiEF.mjs.map +1 -0
- package/dist/RadioList-BwzgNcMO.mjs.map +1 -0
- package/dist/RadioList-KvAacjmD.mjs.map +1 -0
- package/dist/RadioPage-CM_4A1AQ.mjs.map +1 -0
- package/dist/RadioPage-DkBL81mI.mjs.map +1 -0
- package/dist/{RadioPage-DVflzCV-.mjs → RadioPage-Jg2kmtna.mjs} +11 -11
- package/dist/RadioPage-Jg2kmtna.mjs.map +1 -0
- package/dist/{RadioPlanning-CJ7Qqyhs.mjs → RadioPlanning-2aWTnbZb.mjs} +3 -3
- package/dist/RadioPlanning-2aWTnbZb.mjs.map +1 -0
- package/dist/RadioPlanning-DHxcBVQo.mjs.map +1 -0
- package/dist/RadioProgressBar-BHAawrHe.mjs.map +1 -0
- package/dist/RadioProgressBar-CPjLAoPB.mjs.map +1 -0
- package/dist/{RadioProgressBar-BmJbzzQA.mjs → RadioProgressBar-yIz1oI5d.mjs} +2 -2
- package/dist/RadioProgressBar-yIz1oI5d.mjs.map +1 -0
- package/dist/RecaptchaModal-DKugsU7h.mjs.map +1 -0
- package/dist/{RecaptchaModal-DX9rAHUg.mjs → RecaptchaModal-dfMCfebx.mjs} +2 -2
- package/dist/RecaptchaModal-dfMCfebx.mjs.map +1 -0
- package/dist/ReportAbuseModal-Bxr7NTvH.mjs.map +1 -0
- package/dist/{ReportAbuseModal-CYCRaFAY.mjs → ReportAbuseModal-DZKRbYXJ.mjs} +4 -4
- package/dist/ReportAbuseModal-DZKRbYXJ.mjs.map +1 -0
- package/dist/RightsIndicator-BgW0q3af.mjs.map +1 -0
- package/dist/RightsIndicator-BtzqiPWc.mjs.map +1 -0
- package/dist/{RightsIndicator-qIU4_wiF.mjs → RightsIndicator-D5I3DOfO.mjs} +2 -2
- package/dist/RightsIndicator-D5I3DOfO.mjs.map +1 -0
- package/dist/RightsIndicator-NOZ05rEh.mjs.map +1 -0
- package/dist/RightsWrapper-Cv41FXNO.mjs.map +1 -0
- package/dist/{RightsWrapper-Cs6prZ3E.mjs → RightsWrapper-HasUbnny.mjs} +3 -3
- package/dist/RightsWrapper-HasUbnny.mjs.map +1 -0
- package/dist/{RubriqueFilter-OA_DJKL1.mjs → RubriqueFilter-3SPVH4nT.mjs} +3 -3
- package/dist/RubriqueFilter-3SPVH4nT.mjs.map +1 -0
- package/dist/RubriqueFilter-B_F2fyA0.mjs.map +1 -0
- package/dist/RubriqueList-CalsqgcR.mjs.map +1 -0
- package/dist/{RubriqueList-B94NM5yi.mjs → RubriqueList-TnVM2-Ry.mjs} +3 -3
- package/dist/RubriqueList-TnVM2-Ry.mjs.map +1 -0
- package/dist/RubriquePage-BhneK7GY.mjs.map +1 -0
- package/dist/RubriquePage-CPV9lztT.mjs.map +1 -0
- package/dist/{RubriquePage-DyusiBmp.mjs → RubriquePage-D223TaA2.mjs} +5 -5
- package/dist/RubriquePage-D223TaA2.mjs.map +1 -0
- package/dist/RubriquePage-DriBVVmv.mjs.map +1 -0
- package/dist/RubriquePage-x_tOmQCH.mjs.map +1 -0
- package/dist/SearchPage-B-KDO-5r.mjs.map +1 -0
- package/dist/{SearchPage-BGOBGS4j.mjs → SearchPage-BH1gYkHn.mjs} +3 -3
- package/dist/SearchPage-BH1gYkHn.mjs.map +1 -0
- package/dist/SearchPage-CXOoJF_2.mjs.map +1 -0
- package/dist/SearchPage-DyX_tEm5.mjs.map +1 -0
- package/dist/SearchPage-IvX74fSJ.mjs.map +1 -0
- package/dist/{ShareAnonymous-Chfdzzra.mjs → ShareAnonymous-4UxjKrIe.mjs} +6 -6
- package/dist/ShareAnonymous-4UxjKrIe.mjs.map +1 -0
- package/dist/ShareAnonymous-C4xPMrgf.mjs.map +1 -0
- package/dist/{ShareModalPlayer-CLY_JFFD.mjs → ShareModalPlayer-B0wPlpdU.mjs} +2 -2
- package/dist/ShareModalPlayer-B0wPlpdU.mjs.map +1 -0
- package/dist/ShareModalPlayer-CEvDV-I_.mjs.map +1 -0
- package/dist/ShareNewsletter-Bno5t4ay.mjs.map +1 -0
- package/dist/{ShareNewsletter-B4dn4-jA.mjs → ShareNewsletter-Cf9w-I6c.mjs} +2 -2
- package/dist/ShareNewsletter-Cf9w-I6c.mjs.map +1 -0
- package/dist/SharePlayer-BLqYnywl.mjs.map +1 -0
- package/dist/{SharePlayer-wHDYsWYd.mjs → SharePlayer-Oy1pWckd.mjs} +4 -4
- package/dist/SharePlayer-Oy1pWckd.mjs.map +1 -0
- package/dist/{SharePlayerRadio-D3LXD_gK.mjs → SharePlayerRadio-CI6glNuI.mjs} +3 -3
- package/dist/SharePlayerRadio-CI6glNuI.mjs.map +1 -0
- package/dist/SharePlayerRadio-c_HFTupz.mjs.map +1 -0
- package/dist/SharePlayerTypes-Dkmmw2We.mjs.map +1 -0
- package/dist/{SharePlayerTypes-eYSeVl-W.mjs → SharePlayerTypes-cUgCFZ65.mjs} +2 -2
- package/dist/SharePlayerTypes-cUgCFZ65.mjs.map +1 -0
- package/dist/{ShareSocialsButtons-iHtSoQ3K.mjs → ShareSocialsButtons-BYsXc2Jr.mjs} +2 -2
- package/dist/ShareSocialsButtons-BYsXc2Jr.mjs.map +1 -0
- package/dist/ShareSocialsButtons-DZLZc1c6.mjs.map +1 -0
- package/dist/SimpleLayout-BCsUQENG.mjs.map +1 -0
- package/dist/SimpleLayout-BGKNHHjx.mjs.map +1 -0
- package/dist/SimpleLayout-BHIdltFB.mjs.map +1 -0
- package/dist/SimpleLayout-BKkwQmN6.mjs.map +1 -0
- package/dist/SimpleLayout-BORx9hRX.mjs.map +1 -0
- package/dist/{SimpleLayout-Bk74CAAr.mjs → SimpleLayout-BTJyAJO6.mjs} +3 -3
- package/dist/SimpleLayout-BTJyAJO6.mjs.map +1 -0
- package/dist/SimpleLayout-BvOAauzs.mjs.map +1 -0
- package/dist/SimpleLayout-C3xekYgM.mjs.map +1 -0
- package/dist/SimpleLayout-C4xNk0R4.mjs.map +1 -0
- package/dist/SimpleLayout-CDcsE-Be.mjs.map +1 -0
- package/dist/SimpleLayout-D3M_c1Eu.mjs.map +1 -0
- package/dist/SimpleLayout-DJgC3LcZ.mjs.map +1 -0
- package/dist/SimpleLayout-DkvEZxow.mjs.map +1 -0
- package/dist/SimpleLayout-gtbBGlVV.mjs.map +1 -0
- package/dist/SmartLinkPage-BF8hfaWZ.mjs.map +1 -0
- package/dist/{SmartLinkPage-DbuQT8GM.mjs → SmartLinkPage-DQljzYa-.mjs} +5 -5
- package/dist/SmartLinkPage-DQljzYa-.mjs.map +1 -0
- package/dist/SmartLinkPage-DmlqwhYP.mjs.map +1 -0
- package/dist/SubscribeButtons-DO4MRuDr.mjs.map +1 -0
- package/dist/{SubscribeButtons-rnonTVzT.mjs → SubscribeButtons-lAAMYQCm.mjs} +3 -3
- package/dist/SubscribeButtons-lAAMYQCm.mjs.map +1 -0
- package/dist/{SwiperList-C1v0T1wx.mjs → SwiperList-C51H-enh.mjs} +2 -2
- package/dist/SwiperList-C51H-enh.mjs.map +1 -0
- package/dist/SwiperList-Dsq1MFX6.mjs.map +1 -0
- package/dist/TagList-B5C9zojs.mjs.map +1 -0
- package/dist/{TagList-VeuYS_zJ.mjs → TagList-D3Bn2fIn.mjs} +2 -2
- package/dist/TagList-D3Bn2fIn.mjs.map +1 -0
- package/dist/TagPage-B71pZpRY.mjs.map +1 -0
- package/dist/{TagPage-Bd81QJHn.mjs → TagPage-Brw9iL1F.mjs} +4 -4
- package/dist/TagPage-Brw9iL1F.mjs.map +1 -0
- package/dist/TagPage-CWRyUZkD.mjs.map +1 -0
- package/dist/TagPage-DFo25ZeP.mjs.map +1 -0
- package/dist/TagPage-sI917OpV.mjs.map +1 -0
- package/dist/TopBar-CaCA8kOs.mjs.map +1 -0
- package/dist/{TopBar-CZVp2T7C.mjs → TopBar-DIdhyJi_.mjs} +7 -7
- package/dist/TopBar-DIdhyJi_.mjs.map +1 -0
- package/dist/{UserButtonContent-DmNyGmWr.mjs → UserButtonContent-D13cVA34.mjs} +7 -7
- package/dist/UserButtonContent-D13cVA34.mjs.map +1 -0
- package/dist/UserButtonContent-DMKyXEmF.mjs.map +1 -0
- package/dist/{VideoModuleBox-yJZpgCw6.mjs → VideoModuleBox-CFQmvPrA.mjs} +2 -2
- package/dist/VideoModuleBox-CFQmvPrA.mjs.map +1 -0
- package/dist/VideoModuleBox-DsBLAMrh.mjs.map +1 -0
- package/dist/VideoPage-CfJeWV-R.mjs.map +1 -0
- package/dist/VideoPage-CnIZYz-k.mjs.map +1 -0
- package/dist/VideoPage-D6UNKt2D.mjs.map +1 -0
- package/dist/{VideoPage-y6G4Y2Zi.mjs → VideoPage-DU9dJviO.mjs} +10 -10
- package/dist/VideoPage-DU9dJviO.mjs.map +1 -0
- package/dist/VideoPage-OIb28KAS.mjs.map +1 -0
- package/dist/classicApi-C70YSK8J.mjs.map +1 -0
- package/dist/classicApi-DuzZv1Wk.mjs.map +1 -1
- package/dist/{classicApi-CkDHWZG1.mjs → classicApi-xjOqAovv.mjs} +11 -8
- package/dist/classicApi-xjOqAovv.mjs.map +1 -0
- package/dist/downloadHelper-C4q0i5xN.mjs.map +1 -0
- package/dist/{downloadHelper-DLdkblYN.mjs → downloadHelper-DY3fF3dA.mjs} +2 -2
- package/dist/downloadHelper-DY3fF3dA.mjs.map +1 -0
- package/dist/index.mjs +102 -97
- package/dist/index.mjs.map +1 -1
- package/dist/tests.mjs +2 -2
- package/dist/{useAdvancedParamInit-B7G2Mvjv.mjs → useAdvancedParamInit-CCprE3H2.mjs} +6 -6
- package/dist/useAdvancedParamInit-CCprE3H2.mjs.map +1 -0
- package/dist/useAdvancedParamInit-CT8CdPFW.mjs.map +1 -0
- package/dist/useDayjs-BPXVSBns.mjs.map +1 -0
- package/dist/{useDayjs-C3cnTiDW.mjs → useDayjs-DPVjvJPN.mjs} +2 -2
- package/dist/useDayjs-DPVjvJPN.mjs.map +1 -0
- package/dist/useErrorHandler-BxQT9ZGf.mjs.map +1 -0
- package/dist/{useErrorHandler-DtLjD9t_.mjs → useErrorHandler-D3XVxUh6.mjs} +2 -2
- package/dist/useErrorHandler-D3XVxUh6.mjs.map +1 -0
- package/dist/{useImageProxy-Bj0cOCct.mjs → useImageProxy-BdQJmj4a.mjs} +2 -2
- package/dist/useImageProxy-BdQJmj4a.mjs.map +1 -0
- package/dist/useImageProxy-DROuweGY.mjs.map +1 -0
- package/dist/{useOrgaComputed-BLSpEDfb.mjs → useOrgaComputed-B2Bq0VBT.mjs} +2 -2
- package/dist/useOrgaComputed-B2Bq0VBT.mjs.map +1 -0
- package/dist/useOrgaComputed-CGomgs0r.mjs.map +1 -0
- package/dist/{usePlayerLogicProgress-75G9QMg_.mjs → usePlayerLogicProgress-DcHbYGOR.mjs} +3 -3
- package/dist/usePlayerLogicProgress-DcHbYGOR.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-Dchl5sUO.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-lqnQ5qNd.mjs.map +1 -0
- package/dist/{usePodcastView-BftS642h.mjs → usePodcastView-BDZ6CGQj.mjs} +4 -4
- package/dist/usePodcastView-BDZ6CGQj.mjs.map +1 -0
- package/dist/usePodcastView-CI5le-WW.mjs.map +1 -0
- package/dist/usePresentationItem-Cw9fBYUi.mjs.map +1 -0
- package/dist/{usePresentationItem-CNXIk-Sf.mjs → usePresentationItem-UwAuhVqo.mjs} +4 -4
- package/dist/usePresentationItem-UwAuhVqo.mjs.map +1 -0
- package/dist/useRights-D8CLzCMH.mjs.map +1 -0
- package/dist/{useRights-Co0TgD8y.mjs → useRights-DSZ-5pFg.mjs} +2 -2
- package/dist/useRights-DSZ-5pFg.mjs.map +1 -0
- package/dist/{useRubriquesFilterComputed-VsdTUNL6.mjs → useRubriquesFilterComputed-BkDeXTf-.mjs} +2 -2
- package/dist/useRubriquesFilterComputed-BkDeXTf-.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-Bkre15fg.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-BmE8v1fS.mjs.map +1 -0
- package/dist/{useRubriquesFilterParam--x07HEw1.mjs → useRubriquesFilterParam-Delgf48y.mjs} +2 -2
- package/dist/useRubriquesFilterParam-Delgf48y.mjs.map +1 -0
- package/dist/{useSharePlatforms-CSSRTkTG.mjs → useSharePlatforms-07n3JYu2.mjs} +3 -3
- package/dist/useSharePlatforms-07n3JYu2.mjs.map +1 -0
- package/dist/useSharePlatforms-B_3OwBFv.mjs.map +1 -0
- package/dist/{useSimplePageParam-ClaGQ9yj.mjs → useSimplePageParam-CsY_ie3c.mjs} +2 -2
- package/dist/useSimplePageParam-CsY_ie3c.mjs.map +1 -0
- package/dist/useSimplePageParam-ki2VyM-X.mjs.map +1 -0
- package/dist/{useTranslation-BNshNMQT.mjs → useTranslation-ChEasnl9.mjs} +25 -8
- package/dist/useTranslation-ChEasnl9.mjs.map +1 -0
- package/dist/useTranslation-D0R0BSx9.mjs.map +1 -0
- package/dist/usefetchRadioData-BPmkztGC.mjs.map +1 -0
- package/dist/{usefetchRadioData-C2cwiaCP.mjs → usefetchRadioData-CkrAfN1c.mjs} +2 -2
- package/dist/usefetchRadioData-CkrAfN1c.mjs.map +1 -0
- package/package.json +1 -1
- package/src/components/composable/player/usePlayerLive.ts +8 -7
- package/src/stores/AuthStore.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmissionList-nrY7ASws.mjs","names":[],"sources":["../src/components/display/emission/EmissionList.vue","../src/components/display/emission/EmissionList.vue"],"sourcesContent":["<template>\n <ListPaginate\n id=\"emissionListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n showCount && emissions.length > 1\n ? t('Number emissions', { nb: displayCount }) + sortText\n : undefined\n \"\n :total-count=\"totalCount\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading emissions ...') : undefined\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div v-if=\"!state.emissionsPage.itemPlayer\" class=\"octopus-element-list two-items-list\">\n <ClassicLazy\n v-for=\"e in displayArray\"\n :key=\"e.emissionId\"\n :min-height=\"250\"\n class=\"d-flex flex-column flex-grow-1\"\n >\n <EmissionItem v-if=\"0 !== e.emissionId\" :emission=\"e\" />\n <template #preview>\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: e.emissionId },\n }\"\n :title=\"t('Series name page', { name: e.name })\"\n >\n {{ e.name }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n <div\n v-else\n v-show=\"(displayRubriquage && rubriques) || !displayRubriquage\"\n class=\"d-flex flex-wrap justify-content-around\"\n >\n <template v-for=\"e in displayArray\" :key=\"e.emissionId\">\n <EmissionPlayerItem\n v-if=\"0 !== e.emissionId\"\n :emission=\"e\"\n class=\"m-3 flex-shrink-0\"\n :class=\"mainRubriquage(e)\"\n :nb-podcasts=\"nbPodcasts\"\n :rubrique-name=\"rubriquesId(e)\"\n />\n </template>\n </div>\n </template>\n </ListPaginate>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Emission, emptyEmissionData } from \"../../../stores/class/general/emission\";\nimport { Rubrique } from \"../../../stores/class/rubrique/rubrique\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onMounted } from \"vue\";\nimport { FetchParam } from \"../../../stores/class/general/fetchParam\";\nimport { AxiosError } from \"axios\";\nimport { Rubriquage } from \"../../../stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { ListClassicReturn } from \"../../../stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nimport { EmissionGroup } from \"../../../api/groupsApi\";\nconst EmissionItem = defineAsyncComponent(() => import(\"./EmissionItem.vue\"));\nconst EmissionPlayerItem = defineAsyncComponent(\n () => import(\"./EmissionPlayerItem.vue\"),\n);\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n query: { default: undefined, type: String },\n iabId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n monetisable: { default: \"UNDEFINED\", type: String },\n before: { default: undefined, type: String },\n after: { default: undefined, type: String },\n sort: { default: \"DATE\", type: String },\n showCount: { default: false, type: Boolean },\n includeHidden: { default: false, type: Boolean },\n rubriqueId: { default: () => [], type: Array as () => Array<number> },\n rubriquageId: { default: () => [], type: Array as () => Array<number> },\n noRubriquageId: { default: () => [], type: Array as () => Array<number> },\n nbPodcasts: { default: undefined, type: Number },\n /** The beneficiaries to filter on */\n beneficiaries: { default: null, type: Array as () => Array<string> },\n /** The emission groups to filter on */\n emissionGroups: { default: null, type: Array as () => Array<EmissionGroup> }\n})\n\n//Data \nconst loading = ref(true);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst displayCount = ref(0);\nconst isMobile = ref(false);\nconst emissions: Ref<Array<Emission>> = ref([]);\nconst rubriques: Ref<Array<Rubrique> | undefined> = ref(undefined);\n \n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return emissions.value;\n }\n return emissions.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\nconst displayRubriquage = computed(() => state.emissionsPage.rubriquage);\nconst changePaginate = computed(() => `${props.first}|${props.size}`);\n/** Computed property to track for configuration changes */\nconst changed = computed(() => {\n return `${props.organisationId}|${props.query}|${props.monetisable}|${props.includeHidden}|\\\n ${props.iabId}|${props.rubriqueId}|${props.rubriquageId}|${props.before}|\\\n ${props.after}|${props.sort}|${props.noRubriquageId}|${props.beneficiaries}|\\\n ${props.emissionGroups}`;\n});\nconst sortText = computed(() => {\n let textSort = \"\";\n switch (props.sort) {\n case \"SCORE\":\n textSort = \" \" + t(\"sort by score\");\n break;\n case \"LAST_PODCAST_DESC\":\n textSort = \" \" + t(\"sort by date\");\n break;\n case \"NAME\":\n textSort = \" \" + t(\"sort by alphabetical\");\n break;\n default:\n textSort = \" \" + t(\"sort by date\");\n break;\n }\n return textSort.replace(\"triés\", \"triées\");\n});\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\n\n\n//Watch\nwatch(changePaginate, () => {\n dfirst.value = props.first;\n dsize.value = props.size;\n});\nwatch(changed, () =>fetchContent(true));\nwatch(dsize, () =>fetchContent(true));\nwatch(dfirst, () =>{\n if (\n !emissions.value[dfirst.value] ||\n 0 === emissions.value[dfirst.value].emissionId\n ) {\n fetchContent(false);\n }\n});\n\n\nonMounted(()=>{\n fetchContent(false);\n if (displayRubriquage.value) {\n fetchRubriques();\n }\n})\n\n//Methods\nasync function fetchContent(reset: boolean): Promise<void> {\n loading.value = true;\n const param: FetchParam = {\n first: reset? 0: dfirst.value,\n size: dsize.value,\n query: props.query,\n groupId: props.emissionGroups?.map(g => g.groupId),\n organisationId: organisation.value,\n monetisable: props.monetisable,\n iabId: props.iabId,\n before: props.before,\n after: props.after,\n sort: props.sort,\n noRubriquageId: props.noRubriquageId.length\n ? props.noRubriquageId\n : undefined,\n rubriqueId: props.rubriqueId.length ? props.rubriqueId : undefined,\n rubriquageId: props.rubriquageId.length ? props.rubriquageId : undefined,\n includeHidden: props.includeHidden,\n beneficiary: props.beneficiaries ?? undefined\n };\n\n // When fetching hidden episodes, also fetch hidden emissions\n if (props.includeHidden === true) {\n param.visible = 'ALL';\n } else {\n param.visible = 'VISIBLE';\n }\n\n // TODO use emissionGroups\n\n try {\n const data = await classicApi.fetchData<ListClassicReturn<Emission>>({\n api: 0,\n path: \"emission/search\",\n parameters: param,\n specialTreatement: true,\n });\n afterFetching(reset, data);\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Emission>; sort: string },\n): void {\n if (reset) {\n dfirst.value = 0;\n emissions.value.length = 0;\n }\n if (dfirst.value > emissions.value.length) {\n for (\n let i = emissions.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n emissions.value.push(emptyEmissionData());\n }\n }\n displayCount.value = data.count;\n const responseEmissions = data.result.filter((e: Emission | null) => {\n if (null === e) {\n displayCount.value--;\n }\n return null !== e;\n });\n emissions.value = emissions.value\n .slice(0, dfirst.value)\n .concat(responseEmissions)\n .concat(\n emissions.value.slice(dfirst.value + dsize.value, emissions.value.length),\n );\n totalCount.value = data.count;\n loading.value = false;\n}\nasync function fetchRubriques(): Promise<void> {\n const data = await classicApi.fetchData<Rubriquage>({\n api: 0,\n path: \"rubriquage/\" + displayRubriquage.value,\n });\n rubriques.value = data.rubriques;\n}\nfunction mainRubriquage(emission: Emission): string {\n return emission.rubriqueIds?.[0] === state.emissionsPage.mainRubrique\n ? \"partenaireRubrique\"\n : \"\";\n}\nfunction rubriquesId(emission: Emission): string | undefined {\n if (\n !displayRubriquage.value ||\n !emission.rubriqueIds ||\n 0 === emission.rubriqueIds.length ||\n !rubriques.value ||\n !rubriques.value.length\n )\n return undefined;\n const rubrique = rubriques.value.find(\n (element: Rubrique) => element.rubriqueId === emission.rubriqueIds[0],\n );\n if (!rubrique) {\n return undefined;\n }\n return rubrique.name;\n}\n</script>\n","<template>\n <ListPaginate\n id=\"emissionListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n showCount && emissions.length > 1\n ? t('Number emissions', { nb: displayCount }) + sortText\n : undefined\n \"\n :total-count=\"totalCount\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading emissions ...') : undefined\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div v-if=\"!state.emissionsPage.itemPlayer\" class=\"octopus-element-list two-items-list\">\n <ClassicLazy\n v-for=\"e in displayArray\"\n :key=\"e.emissionId\"\n :min-height=\"250\"\n class=\"d-flex flex-column flex-grow-1\"\n >\n <EmissionItem v-if=\"0 !== e.emissionId\" :emission=\"e\" />\n <template #preview>\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: e.emissionId },\n }\"\n :title=\"t('Series name page', { name: e.name })\"\n >\n {{ e.name }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n <div\n v-else\n v-show=\"(displayRubriquage && rubriques) || !displayRubriquage\"\n class=\"d-flex flex-wrap justify-content-around\"\n >\n <template v-for=\"e in displayArray\" :key=\"e.emissionId\">\n <EmissionPlayerItem\n v-if=\"0 !== e.emissionId\"\n :emission=\"e\"\n class=\"m-3 flex-shrink-0\"\n :class=\"mainRubriquage(e)\"\n :nb-podcasts=\"nbPodcasts\"\n :rubrique-name=\"rubriquesId(e)\"\n />\n </template>\n </div>\n </template>\n </ListPaginate>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Emission, emptyEmissionData } from \"../../../stores/class/general/emission\";\nimport { Rubrique } from \"../../../stores/class/rubrique/rubrique\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onMounted } from \"vue\";\nimport { FetchParam } from \"../../../stores/class/general/fetchParam\";\nimport { AxiosError } from \"axios\";\nimport { Rubriquage } from \"../../../stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { ListClassicReturn } from \"../../../stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nimport { EmissionGroup } from \"../../../api/groupsApi\";\nconst EmissionItem = defineAsyncComponent(() => import(\"./EmissionItem.vue\"));\nconst EmissionPlayerItem = defineAsyncComponent(\n () => import(\"./EmissionPlayerItem.vue\"),\n);\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n query: { default: undefined, type: String },\n iabId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n monetisable: { default: \"UNDEFINED\", type: String },\n before: { default: undefined, type: String },\n after: { default: undefined, type: String },\n sort: { default: \"DATE\", type: String },\n showCount: { default: false, type: Boolean },\n includeHidden: { default: false, type: Boolean },\n rubriqueId: { default: () => [], type: Array as () => Array<number> },\n rubriquageId: { default: () => [], type: Array as () => Array<number> },\n noRubriquageId: { default: () => [], type: Array as () => Array<number> },\n nbPodcasts: { default: undefined, type: Number },\n /** The beneficiaries to filter on */\n beneficiaries: { default: null, type: Array as () => Array<string> },\n /** The emission groups to filter on */\n emissionGroups: { default: null, type: Array as () => Array<EmissionGroup> }\n})\n\n//Data \nconst loading = ref(true);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst displayCount = ref(0);\nconst isMobile = ref(false);\nconst emissions: Ref<Array<Emission>> = ref([]);\nconst rubriques: Ref<Array<Rubrique> | undefined> = ref(undefined);\n \n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return emissions.value;\n }\n return emissions.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\nconst displayRubriquage = computed(() => state.emissionsPage.rubriquage);\nconst changePaginate = computed(() => `${props.first}|${props.size}`);\n/** Computed property to track for configuration changes */\nconst changed = computed(() => {\n return `${props.organisationId}|${props.query}|${props.monetisable}|${props.includeHidden}|\\\n ${props.iabId}|${props.rubriqueId}|${props.rubriquageId}|${props.before}|\\\n ${props.after}|${props.sort}|${props.noRubriquageId}|${props.beneficiaries}|\\\n ${props.emissionGroups}`;\n});\nconst sortText = computed(() => {\n let textSort = \"\";\n switch (props.sort) {\n case \"SCORE\":\n textSort = \" \" + t(\"sort by score\");\n break;\n case \"LAST_PODCAST_DESC\":\n textSort = \" \" + t(\"sort by date\");\n break;\n case \"NAME\":\n textSort = \" \" + t(\"sort by alphabetical\");\n break;\n default:\n textSort = \" \" + t(\"sort by date\");\n break;\n }\n return textSort.replace(\"triés\", \"triées\");\n});\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\n\n\n//Watch\nwatch(changePaginate, () => {\n dfirst.value = props.first;\n dsize.value = props.size;\n});\nwatch(changed, () =>fetchContent(true));\nwatch(dsize, () =>fetchContent(true));\nwatch(dfirst, () =>{\n if (\n !emissions.value[dfirst.value] ||\n 0 === emissions.value[dfirst.value].emissionId\n ) {\n fetchContent(false);\n }\n});\n\n\nonMounted(()=>{\n fetchContent(false);\n if (displayRubriquage.value) {\n fetchRubriques();\n }\n})\n\n//Methods\nasync function fetchContent(reset: boolean): Promise<void> {\n loading.value = true;\n const param: FetchParam = {\n first: reset? 0: dfirst.value,\n size: dsize.value,\n query: props.query,\n groupId: props.emissionGroups?.map(g => g.groupId),\n organisationId: organisation.value,\n monetisable: props.monetisable,\n iabId: props.iabId,\n before: props.before,\n after: props.after,\n sort: props.sort,\n noRubriquageId: props.noRubriquageId.length\n ? props.noRubriquageId\n : undefined,\n rubriqueId: props.rubriqueId.length ? props.rubriqueId : undefined,\n rubriquageId: props.rubriquageId.length ? props.rubriquageId : undefined,\n includeHidden: props.includeHidden,\n beneficiary: props.beneficiaries ?? undefined\n };\n\n // When fetching hidden episodes, also fetch hidden emissions\n if (props.includeHidden === true) {\n param.visible = 'ALL';\n } else {\n param.visible = 'VISIBLE';\n }\n\n // TODO use emissionGroups\n\n try {\n const data = await classicApi.fetchData<ListClassicReturn<Emission>>({\n api: 0,\n path: \"emission/search\",\n parameters: param,\n specialTreatement: true,\n });\n afterFetching(reset, data);\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Emission>; sort: string },\n): void {\n if (reset) {\n dfirst.value = 0;\n emissions.value.length = 0;\n }\n if (dfirst.value > emissions.value.length) {\n for (\n let i = emissions.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n emissions.value.push(emptyEmissionData());\n }\n }\n displayCount.value = data.count;\n const responseEmissions = data.result.filter((e: Emission | null) => {\n if (null === e) {\n displayCount.value--;\n }\n return null !== e;\n });\n emissions.value = emissions.value\n .slice(0, dfirst.value)\n .concat(responseEmissions)\n .concat(\n emissions.value.slice(dfirst.value + dsize.value, emissions.value.length),\n );\n totalCount.value = data.count;\n loading.value = false;\n}\nasync function fetchRubriques(): Promise<void> {\n const data = await classicApi.fetchData<Rubriquage>({\n api: 0,\n path: \"rubriquage/\" + displayRubriquage.value,\n });\n rubriques.value = data.rubriques;\n}\nfunction mainRubriquage(emission: Emission): string {\n return emission.rubriqueIds?.[0] === state.emissionsPage.mainRubrique\n ? \"partenaireRubrique\"\n : \"\";\n}\nfunction rubriquesId(emission: Emission): string | undefined {\n if (\n !displayRubriquage.value ||\n !emission.rubriqueIds ||\n 0 === emission.rubriqueIds.length ||\n !rubriques.value ||\n !rubriques.value.length\n )\n return undefined;\n const rubrique = rubriques.value.find(\n (element: Rubrique) => element.rubriqueId === emission.rubriqueIds[0],\n );\n if (!rubrique) {\n return undefined;\n }\n return rubrique.name;\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmissionList-vH4NX1NW.mjs","names":[],"sources":["../src/components/display/emission/EmissionList.vue","../src/components/display/emission/EmissionList.vue"],"sourcesContent":["<template>\n <ListPaginate\n id=\"emissionListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n showCount && emissions.length > 1\n ? t('Number emissions', { nb: displayCount }) + sortText\n : undefined\n \"\n :total-count=\"totalCount\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading emissions ...') : undefined\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div v-if=\"!state.emissionsPage.itemPlayer\" class=\"octopus-element-list two-items-list\">\n <ClassicLazy\n v-for=\"e in displayArray\"\n :key=\"e.emissionId\"\n :min-height=\"250\"\n class=\"d-flex flex-column flex-grow-1\"\n >\n <EmissionItem v-if=\"0 !== e.emissionId\" :emission=\"e\" />\n <template #preview>\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: e.emissionId },\n }\"\n :title=\"t('Series name page', { name: e.name })\"\n >\n {{ e.name }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n <div\n v-else\n v-show=\"(displayRubriquage && rubriques) || !displayRubriquage\"\n class=\"d-flex flex-wrap justify-content-around\"\n >\n <template v-for=\"e in displayArray\" :key=\"e.emissionId\">\n <EmissionPlayerItem\n v-if=\"0 !== e.emissionId\"\n :emission=\"e\"\n class=\"m-3 flex-shrink-0\"\n :class=\"mainRubriquage(e)\"\n :nb-podcasts=\"nbPodcasts\"\n :rubrique-name=\"rubriquesId(e)\"\n />\n </template>\n </div>\n </template>\n </ListPaginate>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Emission, emptyEmissionData } from \"../../../stores/class/general/emission\";\nimport { Rubrique } from \"../../../stores/class/rubrique/rubrique\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onMounted } from \"vue\";\nimport { FetchParam } from \"../../../stores/class/general/fetchParam\";\nimport { AxiosError } from \"axios\";\nimport { Rubriquage } from \"../../../stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { ListClassicReturn } from \"../../../stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nimport { EmissionGroup } from \"../../../api/groupsApi\";\nconst EmissionItem = defineAsyncComponent(() => import(\"./EmissionItem.vue\"));\nconst EmissionPlayerItem = defineAsyncComponent(\n () => import(\"./EmissionPlayerItem.vue\"),\n);\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n query: { default: undefined, type: String },\n iabId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n monetisable: { default: \"UNDEFINED\", type: String },\n before: { default: undefined, type: String },\n after: { default: undefined, type: String },\n sort: { default: \"DATE\", type: String },\n showCount: { default: false, type: Boolean },\n includeHidden: { default: false, type: Boolean },\n rubriqueId: { default: () => [], type: Array as () => Array<number> },\n rubriquageId: { default: () => [], type: Array as () => Array<number> },\n noRubriquageId: { default: () => [], type: Array as () => Array<number> },\n nbPodcasts: { default: undefined, type: Number },\n /** The beneficiaries to filter on */\n beneficiaries: { default: null, type: Array as () => Array<string> },\n /** The emission groups to filter on */\n emissionGroups: { default: null, type: Array as () => Array<EmissionGroup> }\n})\n\n//Data \nconst loading = ref(true);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst displayCount = ref(0);\nconst isMobile = ref(false);\nconst emissions: Ref<Array<Emission>> = ref([]);\nconst rubriques: Ref<Array<Rubrique> | undefined> = ref(undefined);\n \n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return emissions.value;\n }\n return emissions.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\nconst displayRubriquage = computed(() => state.emissionsPage.rubriquage);\nconst changePaginate = computed(() => `${props.first}|${props.size}`);\n/** Computed property to track for configuration changes */\nconst changed = computed(() => {\n return `${props.organisationId}|${props.query}|${props.monetisable}|${props.includeHidden}|\\\n ${props.iabId}|${props.rubriqueId}|${props.rubriquageId}|${props.before}|\\\n ${props.after}|${props.sort}|${props.noRubriquageId}|${props.beneficiaries}|\\\n ${props.emissionGroups}`;\n});\nconst sortText = computed(() => {\n let textSort = \"\";\n switch (props.sort) {\n case \"SCORE\":\n textSort = \" \" + t(\"sort by score\");\n break;\n case \"LAST_PODCAST_DESC\":\n textSort = \" \" + t(\"sort by date\");\n break;\n case \"NAME\":\n textSort = \" \" + t(\"sort by alphabetical\");\n break;\n default:\n textSort = \" \" + t(\"sort by date\");\n break;\n }\n return textSort.replace(\"triés\", \"triées\");\n});\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\n\n\n//Watch\nwatch(changePaginate, () => {\n dfirst.value = props.first;\n dsize.value = props.size;\n});\nwatch(changed, () =>fetchContent(true));\nwatch(dsize, () =>fetchContent(true));\nwatch(dfirst, () =>{\n if (\n !emissions.value[dfirst.value] ||\n 0 === emissions.value[dfirst.value].emissionId\n ) {\n fetchContent(false);\n }\n});\n\n\nonMounted(()=>{\n fetchContent(false);\n if (displayRubriquage.value) {\n fetchRubriques();\n }\n})\n\n//Methods\nasync function fetchContent(reset: boolean): Promise<void> {\n loading.value = true;\n const param: FetchParam = {\n first: reset? 0: dfirst.value,\n size: dsize.value,\n query: props.query,\n groupId: props.emissionGroups?.map(g => g.groupId),\n organisationId: organisation.value,\n monetisable: props.monetisable,\n iabId: props.iabId,\n before: props.before,\n after: props.after,\n sort: props.sort,\n noRubriquageId: props.noRubriquageId.length\n ? props.noRubriquageId\n : undefined,\n rubriqueId: props.rubriqueId.length ? props.rubriqueId : undefined,\n rubriquageId: props.rubriquageId.length ? props.rubriquageId : undefined,\n includeHidden: props.includeHidden,\n beneficiary: props.beneficiaries ?? undefined\n };\n\n // When fetching hidden episodes, also fetch hidden emissions\n if (props.includeHidden === true) {\n param.visible = 'ALL';\n } else {\n param.visible = 'VISIBLE';\n }\n\n // TODO use emissionGroups\n\n try {\n const data = await classicApi.fetchData<ListClassicReturn<Emission>>({\n api: 0,\n path: \"emission/search\",\n parameters: param,\n specialTreatement: true,\n });\n afterFetching(reset, data);\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Emission>; sort: string },\n): void {\n if (reset) {\n dfirst.value = 0;\n emissions.value.length = 0;\n }\n if (dfirst.value > emissions.value.length) {\n for (\n let i = emissions.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n emissions.value.push(emptyEmissionData());\n }\n }\n displayCount.value = data.count;\n const responseEmissions = data.result.filter((e: Emission | null) => {\n if (null === e) {\n displayCount.value--;\n }\n return null !== e;\n });\n emissions.value = emissions.value\n .slice(0, dfirst.value)\n .concat(responseEmissions)\n .concat(\n emissions.value.slice(dfirst.value + dsize.value, emissions.value.length),\n );\n totalCount.value = data.count;\n loading.value = false;\n}\nasync function fetchRubriques(): Promise<void> {\n const data = await classicApi.fetchData<Rubriquage>({\n api: 0,\n path: \"rubriquage/\" + displayRubriquage.value,\n });\n rubriques.value = data.rubriques;\n}\nfunction mainRubriquage(emission: Emission): string {\n return emission.rubriqueIds?.[0] === state.emissionsPage.mainRubrique\n ? \"partenaireRubrique\"\n : \"\";\n}\nfunction rubriquesId(emission: Emission): string | undefined {\n if (\n !displayRubriquage.value ||\n !emission.rubriqueIds ||\n 0 === emission.rubriqueIds.length ||\n !rubriques.value ||\n !rubriques.value.length\n )\n return undefined;\n const rubrique = rubriques.value.find(\n (element: Rubrique) => element.rubriqueId === emission.rubriqueIds[0],\n );\n if (!rubrique) {\n return undefined;\n }\n return rubrique.name;\n}\n</script>\n","<template>\n <ListPaginate\n id=\"emissionListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n showCount && emissions.length > 1\n ? t('Number emissions', { nb: displayCount }) + sortText\n : undefined\n \"\n :total-count=\"totalCount\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading emissions ...') : undefined\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div v-if=\"!state.emissionsPage.itemPlayer\" class=\"octopus-element-list two-items-list\">\n <ClassicLazy\n v-for=\"e in displayArray\"\n :key=\"e.emissionId\"\n :min-height=\"250\"\n class=\"d-flex flex-column flex-grow-1\"\n >\n <EmissionItem v-if=\"0 !== e.emissionId\" :emission=\"e\" />\n <template #preview>\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: e.emissionId },\n }\"\n :title=\"t('Series name page', { name: e.name })\"\n >\n {{ e.name }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n <div\n v-else\n v-show=\"(displayRubriquage && rubriques) || !displayRubriquage\"\n class=\"d-flex flex-wrap justify-content-around\"\n >\n <template v-for=\"e in displayArray\" :key=\"e.emissionId\">\n <EmissionPlayerItem\n v-if=\"0 !== e.emissionId\"\n :emission=\"e\"\n class=\"m-3 flex-shrink-0\"\n :class=\"mainRubriquage(e)\"\n :nb-podcasts=\"nbPodcasts\"\n :rubrique-name=\"rubriquesId(e)\"\n />\n </template>\n </div>\n </template>\n </ListPaginate>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { Emission, emptyEmissionData } from \"../../../stores/class/general/emission\";\nimport { Rubrique } from \"../../../stores/class/rubrique/rubrique\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onMounted } from \"vue\";\nimport { FetchParam } from \"../../../stores/class/general/fetchParam\";\nimport { AxiosError } from \"axios\";\nimport { Rubriquage } from \"../../../stores/class/rubrique/rubriquage\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { ListClassicReturn } from \"../../../stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nimport { EmissionGroup } from \"../../../api/groupsApi\";\nconst EmissionItem = defineAsyncComponent(() => import(\"./EmissionItem.vue\"));\nconst EmissionPlayerItem = defineAsyncComponent(\n () => import(\"./EmissionPlayerItem.vue\"),\n);\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n query: { default: undefined, type: String },\n iabId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n monetisable: { default: \"UNDEFINED\", type: String },\n before: { default: undefined, type: String },\n after: { default: undefined, type: String },\n sort: { default: \"DATE\", type: String },\n showCount: { default: false, type: Boolean },\n includeHidden: { default: false, type: Boolean },\n rubriqueId: { default: () => [], type: Array as () => Array<number> },\n rubriquageId: { default: () => [], type: Array as () => Array<number> },\n noRubriquageId: { default: () => [], type: Array as () => Array<number> },\n nbPodcasts: { default: undefined, type: Number },\n /** The beneficiaries to filter on */\n beneficiaries: { default: null, type: Array as () => Array<string> },\n /** The emission groups to filter on */\n emissionGroups: { default: null, type: Array as () => Array<EmissionGroup> }\n})\n\n//Data \nconst loading = ref(true);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst displayCount = ref(0);\nconst isMobile = ref(false);\nconst emissions: Ref<Array<Emission>> = ref([]);\nconst rubriques: Ref<Array<Rubrique> | undefined> = ref(undefined);\n \n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return emissions.value;\n }\n return emissions.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\nconst displayRubriquage = computed(() => state.emissionsPage.rubriquage);\nconst changePaginate = computed(() => `${props.first}|${props.size}`);\n/** Computed property to track for configuration changes */\nconst changed = computed(() => {\n return `${props.organisationId}|${props.query}|${props.monetisable}|${props.includeHidden}|\\\n ${props.iabId}|${props.rubriqueId}|${props.rubriquageId}|${props.before}|\\\n ${props.after}|${props.sort}|${props.noRubriquageId}|${props.beneficiaries}|\\\n ${props.emissionGroups}`;\n});\nconst sortText = computed(() => {\n let textSort = \"\";\n switch (props.sort) {\n case \"SCORE\":\n textSort = \" \" + t(\"sort by score\");\n break;\n case \"LAST_PODCAST_DESC\":\n textSort = \" \" + t(\"sort by date\");\n break;\n case \"NAME\":\n textSort = \" \" + t(\"sort by alphabetical\");\n break;\n default:\n textSort = \" \" + t(\"sort by date\");\n break;\n }\n return textSort.replace(\"triés\", \"triées\");\n});\nconst organisation = computed(() => props.organisationId ? props.organisationId : filterStore.filterOrgaId);\n\n\n//Watch\nwatch(changePaginate, () => {\n dfirst.value = props.first;\n dsize.value = props.size;\n});\nwatch(changed, () =>fetchContent(true));\nwatch(dsize, () =>fetchContent(true));\nwatch(dfirst, () =>{\n if (\n !emissions.value[dfirst.value] ||\n 0 === emissions.value[dfirst.value].emissionId\n ) {\n fetchContent(false);\n }\n});\n\n\nonMounted(()=>{\n fetchContent(false);\n if (displayRubriquage.value) {\n fetchRubriques();\n }\n})\n\n//Methods\nasync function fetchContent(reset: boolean): Promise<void> {\n loading.value = true;\n const param: FetchParam = {\n first: reset? 0: dfirst.value,\n size: dsize.value,\n query: props.query,\n groupId: props.emissionGroups?.map(g => g.groupId),\n organisationId: organisation.value,\n monetisable: props.monetisable,\n iabId: props.iabId,\n before: props.before,\n after: props.after,\n sort: props.sort,\n noRubriquageId: props.noRubriquageId.length\n ? props.noRubriquageId\n : undefined,\n rubriqueId: props.rubriqueId.length ? props.rubriqueId : undefined,\n rubriquageId: props.rubriquageId.length ? props.rubriquageId : undefined,\n includeHidden: props.includeHidden,\n beneficiary: props.beneficiaries ?? undefined\n };\n\n // When fetching hidden episodes, also fetch hidden emissions\n if (props.includeHidden === true) {\n param.visible = 'ALL';\n } else {\n param.visible = 'VISIBLE';\n }\n\n // TODO use emissionGroups\n\n try {\n const data = await classicApi.fetchData<ListClassicReturn<Emission>>({\n api: 0,\n path: \"emission/search\",\n parameters: param,\n specialTreatement: true,\n });\n afterFetching(reset, data);\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Emission>; sort: string },\n): void {\n if (reset) {\n dfirst.value = 0;\n emissions.value.length = 0;\n }\n if (dfirst.value > emissions.value.length) {\n for (\n let i = emissions.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n emissions.value.push(emptyEmissionData());\n }\n }\n displayCount.value = data.count;\n const responseEmissions = data.result.filter((e: Emission | null) => {\n if (null === e) {\n displayCount.value--;\n }\n return null !== e;\n });\n emissions.value = emissions.value\n .slice(0, dfirst.value)\n .concat(responseEmissions)\n .concat(\n emissions.value.slice(dfirst.value + dsize.value, emissions.value.length),\n );\n totalCount.value = data.count;\n loading.value = false;\n}\nasync function fetchRubriques(): Promise<void> {\n const data = await classicApi.fetchData<Rubriquage>({\n api: 0,\n path: \"rubriquage/\" + displayRubriquage.value,\n });\n rubriques.value = data.rubriques;\n}\nfunction mainRubriquage(emission: Emission): string {\n return emission.rubriqueIds?.[0] === state.emissionsPage.mainRubrique\n ? \"partenaireRubrique\"\n : \"\";\n}\nfunction rubriquesId(emission: Emission): string | undefined {\n if (\n !displayRubriquage.value ||\n !emission.rubriqueIds ||\n 0 === emission.rubriqueIds.length ||\n !rubriques.value ||\n !rubriques.value.length\n )\n return undefined;\n const rubrique = rubriques.value.find(\n (element: Rubrique) => element.rubriqueId === emission.rubriqueIds[0],\n );\n if (!rubrique) {\n return undefined;\n }\n return rubrique.name;\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmissionPage-BHAPlZw-.mjs","names":[],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmissionPage-B_2JalGG.mjs","names":[],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmissionPage-D4PjyZzN.mjs","names":[],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwKA,MAAM,iBAAiB,2BAA2B,OAAO,gCAAwC;EACjG,MAAM,oBAAoB,2BAChB,OAAO,mCACjB;EACA,MAAM,cAAc,2BACV,OAAO,8BAAA,MAAA,MAAA,EAAA,CAAA,CACjB;EACA,MAAM,sBAAsB,2BAClB,OAAO,qCACjB;EACA,MAAM,mBAAmB,2BACf,OAAO,mCAAA,MAAA,MAAA,EAAA,CAAA,CACjB;EACA,MAAM,qBAAqB,2BACjB,OAAO,oCACjB;EACA,MAAM,oBAAoB,2BAChB,OAAO,oCAAA,MAAA,MAAA,EAAA,CAAA,CACjB;EACA,MAAM,qBAAqB,2BACjB,OAAO,oCACjB;EACA,MAAM,UAAU,2BAA2B,OAAO,yBAAkC;EAGpF,MAAM,QAAQ;EAYd,MAAM,SAAS,IAAI,KAAK;EACxB,MAAM,QAAQ,IAAI,KAAK;EACvB,MAAM,WAAsC,IAAI,KAAA,CAAS;EACzD,MAAM,cAAwC,IAAI,KAAA,CAAS;EAI3D,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,qBAAqB,cAAc;EAC3C,MAAM,EAAE,gBAAgB,cAAc,eAAe,gBAAgB;EACrE,MAAM,EAAE,qBAAqB,eAAe;EAC5C,MAAM,EAAE,cAAc,gBAAgB;EACtC,MAAM,cAAc,eAAe;EACnC,MAAM,eAAe,gBAAgB;EACrC,MAAM,QAAQ,SAAS;EACvB,MAAM,EACF,eACA,eACA,WACA,mBAAmB,OAAO,IAAI;EAClC,MAAM,EAAE,mBAAmB,cAAc,iBAAiB,qBAAqB;EAI/E,MAAM,OAAO,eAAe,SAAS,OAAO,QAAQ,EAAE;EACtD,MAAM,cAAc,eAAe,SAAS,OAAO,eAAe,EAAE;EACpE,MAAM,YAAY,eAAe,aAAa,SAAS,OAAO,KAAK,EAAE,CAAC;EAEtE,MAAM,uBAAuB,eAAuB;GAChD,MAAM,OAAO,EAAE,8BAA8B;GAC7C,IAAI,YAAY,UAAU,KAAA,KAAa,kBAAkB,SAAS,KAAK,GACnE,OAAO,OAAO,KAAK,aAAa,YAAY,KAAK,EAAE;QAEnD,OAAO;EAEf,CAAC;EAGD,YAAY,MAAM,YAAY,oBAAoB,EAAE,WAAW,KAAK,CAAC;EAGrE,sBAAsB;GAClB,aAAa,uBAAuB,IAAI;EAC5C,CAAC;EAGD,SAAS,OAAO,MAAsB;GAClC,OAAO,sBAAc,OAAO,IAAI;EACpC;EACA,SAAS,YAAkB;GACvB,MAAM,QAAQ;GACd,OAAO,QAAQ;EACnB;EACA,eAAe,qBAAoC;GAC/C,OAAO,QAAQ;GACf,MAAM,QAAQ;GACd,IAAI;IACA,SAAS,QAAQ,MAAM,YAAY,IAAI,MAAM,UAAU;IACvD,YAAY,sBAAsB,SAAS,MAAM,KAAK,EAAE;IACxD,IACI,aAAa,SAAS,MAAM,KAAK,WACjC,YAAY,iBAAiB,SAAS,MAAM,KAAK,MACjD,MAAM,MAAM,cAAc,SAAS,MAAM,KAAK,IAChD;KACE,UAAU;KACV;IACJ;IACA,aAAa,uBAAuB,SAAS,KAAK;IAClD,iBAAiB,KAAK,KAAK;IAC3B,OAAO,QAAQ;GACnB,SAAS,OAAO;IACZ,UAAU,KAAmB;IAC7B,UAAU;GACd;EACJ;EAEA,SAAS,0BAA0B,GAAqB;GACpD,OAAO,YAAY,EAAE,oBAAoB,EAAE,aAAa,cAAc,EAAE,UAAU;EACtF;EAEA,SAAS,gBAAgB,UAA0B,QAA0B;GAEzE,IAAI,kBAAkB,SAAS,KAAK,GAAG;IAEnC,MAAM,YAAY,aAAa,SAAS,KAAK;IAC7C,IAAI,WAAW,KAAA,KAAa,WAAW,WACnC;IAGJ,YAAY,QAAQ,SAAS,SAAS,yBAAyB;GACnE,OAGI,YAAY,QAAQ,SAAS,KAAK,yBAAyB;EAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGyB,eAAwB;IAC7C,OAAO,MAAM,cAAc,iCAAiC;GAChE,CAAA;iBAGqB,eAAwB;IACzC,OAAO,SAAS,MAAM,aAAa,YAAY,MAAM,cAAc,iBAAiB;GACxF,CAAA;aAGiB,eAAwB;IACrC,IAAI,MAAM,cAAc,aAAa,MACjC,OAAO;IAGX,OAAO,KAAA,MAAc,SAAS,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAK;GAC1E,CAAA;;;;;;;;;;;;;;;;;;;mBC9Ta,OAAM,WAAU;mBAWJ,OAAM,aAAY;mBAQlB,OAAM,aAAY;;mBAWd,OAAM,oDAAmD;;;CAgBtC,OAAM;;;;CAYrB,OAAM;CAAS,OAAA,EAAA,eAAA,SAAA;;;;CASA,OAAM;;oBAKrB,OAAM,eAAc;oBAsC5B,OAAM,aAAY;;;qBA9GvC,mBA4IU,WA5IV,YA4IU,CA3IU,OAAA,UAAM,CAAK,OAAA,SAAS,OAAA,YAAA,UAAA,GAApC,mBAsIW,UAAA,EAAA,KAAA,EAAA,GAAA,CApIG,OAAA,kBAAA,UAAA,GADV,YAIE,OAAA,uBAAA;;EAFG,cAAY,OAAA,mBAAmB,OAAA,SAAS,OAAO,OAAA,EAAC,UAAA;EAChD,WAAS,OAAA,SAAS;6EAEvB,mBA+HM,OAAA,EA9HF,OAAK,eAAA,CAAC,mCACE,OAAA,iBAAc,8BAAA,EAAA,CAAA,EAAA,GAAA;EAEtB,mBAyFU,WAzFV,YAyFU,CAvFI,OAAA,aAAS,CAAK,OAAA,iBADxB,WAKE,KAAA,QAAA,YAAA;;GAFG,UAAU,OAAA;GACV,WAAY,OAAA;yCAGjB,mBAgFM,OAhFN,YAgFM;kBA/EF,mBAQC,OAAA;IANG,OAAM;IACN,QAAO;IACP,eAAY;IACZ,KAAI;IACH,OAAO,OAAA,EAAC,uBAAA,EAAA,MAA0B,OAAA,KAAI,CAAA;IACvC,OAAM;+CANE,OAAA,iBAAiB,OAAA,SAAS,UAAQ,KAAA,CAAA,CAAA,CAAA;GAS9C,mBAeM,OAfN,YAeM,CAdF,mBAOK,MAAA,MAAA,CAND,YAIE,OAAA,oBAAA;IAHE,QAAA;IACC,UAAU,OAAA;IACX,QAAO;8CACT,MACF,gBAAG,OAAA,IAAI,GAAA,CAAA,CAAA,CAAA,GAAA,CAGA,OAAA,aAAA,UAAA,GADX,YAKE,OAAA,mBAAA;;IAHE,OAAM;IACL,UAAU,OAAA;IACV,mBAAiB,OAAA,SAAS,KAAK;;GAG9B,OAAA,gBAAA,UAAA,GAAV,mBAEK,MAFL,YAEK,gBADE,OAAA,SAAS,YAAY,QAAQ,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA;GAGpC,mBAAA,gCAAA;GACA,mBAGE,KAAA;IAFE,OAAM;IACN,WAAQ,OAAA,OAAO,OAAA,WAAW;;GAE9B,mBAAA,iBAAA;GAEoB,OAAA,SAAS,YAAO,SAAA,UAAA,GAApC,YAQe,OAAA,iBAAA,EAAA,KAAA,EAAA,GAAA;2BADL,CANN,mBAMM,OANN,YAMM,CALF,mBAA4D,OAAA,MAAA,gBAApD,OAAA,EAAC,wCAAA,CAAA,GAAA,CAAA,GAET,YAEoB,OAAA,sBAAA;KAFD,kBAAe;KAAe,OAAA;;4BACE,CAAA,gBAAA,gBAA5C,OAAA,EAAC,sCAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;GAKL,OAAA,eAAA,UAAA,GAAX,mBAQM,OARN,YAQM,CAPF,YAGE,OAAA,sBAAA;IAFG,SAAS,OAAA;IACT,gBAAc;6BAEnB,mBAEM,OAFN,aAEM,gBADC,OAAA,oBAAoB,GAAA,CAAA,CAAA,CAAA,KAAA,mBAAA,QAAA,IAAA;GAI/B,mBAAA,YAAA;GAEU,OAAA,YAAA,UAAA,GADV,YAME,OAAA,YAAA;;IAJG,YAAU,OAAA,SAAS;IACnB,WAAS,OAAA;IACT,wBAAsB,OAAA,SAAS;IAC/B,KAAK,OAAA,MAAM,aAAa;;;;;;;GAInB,OAAA,SAAS,aAAa,UAAA,UAAA,GADhC,YAIE,OAAA,uBAAA;;IAFG,WAAS,OAAA,SAAS,KAAK;IACvB,gBAAc,OAAA,SAAS;;GAIlB,OAAA,kBAAA,UAAA,GADV,YAME,OAAA,qBAAA;;IAJE,OAAM;IACL,SAAS,OAAA;IACT,gBAAc;IACd,kBAAgB;;;EAKnB,OAAA,MAAM,aAAa,gBAAA,UAAA,GAD7B,YAGE,OAAA,wBAAA;;GADG,mBAAiB,OAAA,SAAS,KAAK;;GAGzB,OAAA,kBAAkB,OAAA,aAAA,UAAA,GAD7B,YAIE,OAAA,gBAAA;;GAFG,UAAU,OAAA;GACV,mBAAiB,OAAA;;EAEtB,mBAqBU,WArBV,aAqBU,CAAA,CAnBK,OAAA,kBAAA,UAAA,GADX,YAIE,OAAA,uBAAA;;GAFE,OAAM;GACL,eAAa,OAAA;oEAGR,OAAA,UAAA,UAAA,GADV,YAcE,OAAA,sBAAA;;GAZU,OAAO,OAAA;2DAAA,OAAA,gBAAa;GAC5B,OAAM;GACL,OAAO,OAAA;GACP,MAAM,OAAA;GACN,cAAY;GACZ,eAAa,OAAA;GACb,UAAU,OAAA;GACV,mBAAiB;GACjB,cAAY,OAAA;GACZ,gBAAY,CAAG,OAAA,SAAS,KAAK,EAAE;GAC/B,2BAAyB;GACzB,SAAO,OAAA;;;;;;;;;;EAIhB,WAA4C,KAAA,QAAA,UAAA,eAAA,mBAAA,EAAA,UAAd,OAAA,SAAQ,CAAA,CAAA,CAAA;kDAG9C,YAGE,OAAA,mBAAA;EAFG,gBAAY,CAAG,OAAA,SAAS,OAAA,EAAC,qBAAA,IAA0B,KAAA;EACnD,cAAY,OAAA,QAAQ,OAAA,EAAC,wBAAA,IAA6B,KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmissionPage-HGPCRuZD.mjs","names":[],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
2
2
|
import { t as ClassicLoading_default } from "./ClassicLoading-Crlw7cAx.mjs";
|
|
3
|
-
import { A as state, C as emissionApi, r as useFilterStore } from "./classicApi-
|
|
3
|
+
import { A as state, C as emissionApi, r as useFilterStore } from "./classicApi-xjOqAovv.mjs";
|
|
4
4
|
import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
|
|
5
|
-
import { t as useImageProxy } from "./useImageProxy-
|
|
5
|
+
import { t as useImageProxy } from "./useImageProxy-BdQJmj4a.mjs";
|
|
6
6
|
import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
|
|
7
|
-
import { t as useErrorHandler } from "./useErrorHandler-
|
|
8
|
-
import { t as useSimplePageParam } from "./useSimplePageParam-
|
|
7
|
+
import { t as useErrorHandler } from "./useErrorHandler-D3XVxUh6.mjs";
|
|
8
|
+
import { t as useSimplePageParam } from "./useSimplePageParam-CsY_ie3c.mjs";
|
|
9
9
|
import { t as useSeoTitleUrl } from "./useSeoTitleUrl-CrM1YzAc.mjs";
|
|
10
|
-
import { t as useOrgaComputed } from "./useOrgaComputed-
|
|
10
|
+
import { t as useOrgaComputed } from "./useOrgaComputed-B2Bq0VBT.mjs";
|
|
11
11
|
import { t as useSeasonsManagement } from "./useSeasonsManagement-D-ngDipg.mjs";
|
|
12
|
-
import { t as RightsIndicator_default } from "./RightsIndicator-
|
|
12
|
+
import { t as RightsIndicator_default } from "./RightsIndicator-D5I3DOfO.mjs";
|
|
13
|
+
import { t as InlineRubriqueList_default } from "./InlineRubriqueList-3ZVN9GJk.mjs";
|
|
13
14
|
import { t as ClassicHelpButton_default } from "./ClassicHelpButton-B6jXpEKT.mjs";
|
|
14
15
|
import { t as ErrorMessage_default } from "./ErrorMessage-D2XAzxpC.mjs";
|
|
15
16
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, guardReactiveProps, normalizeClass, normalizeProps, onBeforeUnmount, openBlock, ref, renderSlot, resolveDirective, toDisplayString, watch, withCtx, withDirectives } from "vue";
|
|
@@ -41,15 +42,15 @@ var EmissionPage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
41
42
|
},
|
|
42
43
|
setup(__props, { expose: __expose }) {
|
|
43
44
|
__expose();
|
|
44
|
-
const ShareAnonymous = defineAsyncComponent(() => import("./ShareAnonymous-
|
|
45
|
-
const PodcastFilterList = defineAsyncComponent(() => import("./PodcastFilterList-
|
|
46
|
-
const SharePlayer = defineAsyncComponent(() => import("./SharePlayer-
|
|
47
|
-
const ShareSocialsButtons = defineAsyncComponent(() => import("./ShareSocialsButtons-
|
|
48
|
-
const SubscribeButtons = defineAsyncComponent(() => import("./SubscribeButtons-
|
|
49
|
-
const LiveHorizontalList = defineAsyncComponent(() => import("./LiveHorizontalList-
|
|
50
|
-
const PodcastPlayButton = defineAsyncComponent(() => import("./PodcastPlayButton-
|
|
51
|
-
const PodcastmakerHeader = defineAsyncComponent(() => import("./PodcastmakerHeader-
|
|
52
|
-
const TagList = defineAsyncComponent(() => import("./TagList-
|
|
45
|
+
const ShareAnonymous = defineAsyncComponent(() => import("./ShareAnonymous-4UxjKrIe.mjs"));
|
|
46
|
+
const PodcastFilterList = defineAsyncComponent(() => import("./PodcastFilterList-CYwPiGko.mjs"));
|
|
47
|
+
const SharePlayer = defineAsyncComponent(() => import("./SharePlayer-Oy1pWckd.mjs").then((n) => n.n));
|
|
48
|
+
const ShareSocialsButtons = defineAsyncComponent(() => import("./ShareSocialsButtons-BYsXc2Jr.mjs"));
|
|
49
|
+
const SubscribeButtons = defineAsyncComponent(() => import("./SubscribeButtons-lAAMYQCm.mjs").then((n) => n.n));
|
|
50
|
+
const LiveHorizontalList = defineAsyncComponent(() => import("./LiveHorizontalList-wgXkgFLv.mjs"));
|
|
51
|
+
const PodcastPlayButton = defineAsyncComponent(() => import("./PodcastPlayButton-1eaXWTlG.mjs").then((n) => n.n));
|
|
52
|
+
const PodcastmakerHeader = defineAsyncComponent(() => import("./PodcastmakerHeader-Df0g2dCr.mjs"));
|
|
53
|
+
const TagList = defineAsyncComponent(() => import("./TagList-D3Bn2fIn.mjs"));
|
|
53
54
|
const props = __props;
|
|
54
55
|
const loaded = ref(false);
|
|
55
56
|
const error = ref(false);
|
|
@@ -168,7 +169,8 @@ var EmissionPage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
168
169
|
ClassicLoading: ClassicLoading_default,
|
|
169
170
|
ErrorMessage: ErrorMessage_default,
|
|
170
171
|
ClassicHelpButton: ClassicHelpButton_default,
|
|
171
|
-
RightsIndicator: RightsIndicator_default
|
|
172
|
+
RightsIndicator: RightsIndicator_default,
|
|
173
|
+
InlineRubriqueList: InlineRubriqueList_default
|
|
172
174
|
};
|
|
173
175
|
Object.defineProperty(__returned__, "__isScriptSetup", {
|
|
174
176
|
enumerable: false,
|
|
@@ -263,8 +265,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
263
265
|
"emission-annotations",
|
|
264
266
|
"max"
|
|
265
267
|
])) : createCommentVNode("v-if", true),
|
|
266
|
-
$setup.
|
|
268
|
+
$setup.emission.rubriqueIds?.length ? (openBlock(), createBlock($setup["InlineRubriqueList"], {
|
|
267
269
|
key: 4,
|
|
270
|
+
"orga-id": $setup.emission.orga.id,
|
|
271
|
+
"rubrique-ids": $setup.emission.rubriqueIds
|
|
272
|
+
}, null, 8, ["orga-id", "rubrique-ids"])) : createCommentVNode("v-if", true),
|
|
273
|
+
$setup.isPodcastmaker ? (openBlock(), createBlock($setup["SubscribeButtons"], {
|
|
274
|
+
key: 5,
|
|
268
275
|
class: "mt-4",
|
|
269
276
|
content: $setup.emission,
|
|
270
277
|
"window-width": 1e3,
|
|
@@ -318,4 +325,4 @@ var EmissionPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Emiss
|
|
|
318
325
|
//#endregion
|
|
319
326
|
export { EmissionPage_default as default };
|
|
320
327
|
|
|
321
|
-
//# sourceMappingURL=EmissionPage-
|
|
328
|
+
//# sourceMappingURL=EmissionPage-nCNIiWCo.mjs.map
|