@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":"ShareAnonymous-4UxjKrIe.mjs","names":[],"sources":["../src/components/display/sharing/ShareAnonymous.vue","../src/components/display/sharing/ShareAnonymous.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading && !noSharing\">\n <button\n id=\"anonymous-share-button\"\n :class=\"btnClass\"\n :title=\"t('Share')\"\n >\n <DotsHorizontalIcon />\n </button>\n <ClassicPopover\n target=\"anonymous-share-button\"\n :relative-class=\"relativeClass\"\n :is-fixed=\"true\"\n :left-pos=\"true\"\n :only-click=\"true\"\n >\n <div \n v-for=\"button in dropdownButtons\"\n :key=\"button.icon\"\n class=\"d-flex flex-column\"\n >\n <button\n v-if=\"button.condition\"\n :key=\"button.title\"\n class=\"btn-transparent d-flex flex-nowrap justify-content-start align-items-center octopus-dropdown-item py-2\"\n :title=\"button.title\"\n @mousedown=\"clickButton(button.emitName)\"\n @keydown.enter=\"clickButton(button.emitName)\"\n >\n <component :is=\"button.icon\" />\n <span class=\"ms-1\">{{ button.title }}</span>\n </button>\n </div>\n </ClassicPopover>\n <QrCodeModal\n v-if=\"isQrCodeModal\"\n :url-page=\"urlPage\"\n :orga-for-color=\"organisationId\"\n @close=\"isQrCodeModal = false\"\n />\n <PlayerAnonymousModal\n v-if=\"isPlayerModal\"\n :podcast=\"podcast\"\n :emission=\"emission ?? podcast?.emission\"\n :exclusive=\"!playerCanBeSharedOthers\"\n :not-exclusive=\"playerCanBeSharedAnonymous\"\n @close=\"isPlayerModal = false\"\n />\n <NewsletterModal\n v-if=\"isNewsletterModal\"\n :closable=\"true\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n @close=\"isNewsletterModal = false\"\n />\n <ClipboardModal\n v-if=\"isRssModal\"\n :link=\"rssUrl\"\n @close=\"isRssModal = false\"\n />\n <SnackBar\n v-if=\"lazyLoadingSnackbar\"\n ref=\"snackbar\"\n position=\"bottom-left\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport QrcodeIcon from \"vue-material-design-icons/Qrcode.vue\";\nimport LinkVariantIcon from \"vue-material-design-icons/LinkVariant.vue\";\nimport LinkVariantPlusIcon from \"vue-material-design-icons/LinkVariantPlus.vue\";\nimport DotsHorizontalIcon from \"vue-material-design-icons/DotsHorizontal.vue\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useI18n } from \"vue-i18n\";\nimport { useSharePath } from \"@/components/composable/share/useSharePath\";\nconst SnackBar = defineAsyncComponent(() => import(\"../../misc/SnackBar.vue\"));\nconst NewsletterModal = defineAsyncComponent(\n () => import(\"../../misc/modal/NewsletterModal.vue\"),\n);\nconst QrCodeModal = defineAsyncComponent(\n () => import(\"../../misc/modal/QrCodeModal.vue\"),\n);\nconst ClipboardModal = defineAsyncComponent(\n () => import(\"../../misc/modal/ClipboardModal.vue\"),\n);\nconst PlayerAnonymousModal = defineAsyncComponent(\n () => import(\"../sharing/PlayerAnonymousModal.vue\"),\n);\nconst CodeTagsIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/CodeTags.vue\"),\n);\nconst EmailNewsletterIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/EmailNewsletter.vue\"),\n);\nconst RssIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/Rss.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n participantId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n relativeClass: { default: \"page-element\", type: String },\n btnClass: { default: \"btn btn-transparent\", type: String },\n})\n\n//Data \nconst lazyLoadingSnackbar = ref(false);\nconst isNewsletterModal = ref(false);\nconst isQrCodeModal = ref(false);\nconst displayRss = ref(false);\nconst noSharing = ref(true);\nconst playerCanBeSharedAnonymous = ref(false);\nconst playerCanBeSharedOthers = ref(false);\nconst isLoading = ref(true);\nconst isRssModal = ref(false);\nconst isPlayerModal = ref(false);\nconst snackBarRef = useTemplateRef('snackbar');\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst saveFetchStore = useSaveFetchStore();\nconst { getSmartLink } = useSharePath();\n\n//Computed\nconst urlPage = computed(() => window.location.href);\nconst isPodcastmaker = computed(() => state.generalParameters.podcastmaker);\nconst rssUrl = computed(() => {\n const api = apiStore.apiUrl + \"rss/\";\n if (\n (!isPodcastmaker.value && props.playlist) ||\n props.podcast ||\n props.emission\n ) {\n return \"\";\n }\n if (props.participantId) {\n return api + \"participant/\" + props.participantId + \".rss\";\n }\n if (props.playlist) {\n return api + \"playlist/\" + props.playlist.playlistId + \".rss\";\n }\n if (props.organisationId) {\n return api + \"productor/\" + props.organisationId + \".rss\";\n }\n return \"\";\n});\nconst titleRssButton = computed(() => {\n if (props.participantId) {\n return t(\"Subscribe to this participant\");\n }\n if (props.emission) {\n return t(\"Subscribe to this emission\");\n }\n return t(\"Subscribe to this RSS feed\");\n});\n\nconst dropdownButtons = computed(() => {\n return [\n {\n title: t(\"Copy this page URL\"),\n icon: LinkVariantIcon,\n condition:true,\n emitName: \"link\",\n },\n {\n title: t(\"SmartLink - Share link\"),\n icon: LinkVariantPlusIcon,\n condition: isPodcastmaker.value && (props.emission || props.playlist),\n emitName: \"smartlink\",\n },\n {\n title: t(\"Share the player\"),\n icon: CodeTagsIcon,\n condition: !isPodcastmaker.value && (playerCanBeSharedAnonymous.value || (playerCanBeSharedOthers.value && authStore.authOrgaId)),\n emitName: \"player\",\n },\n {\n title: t(\"Share newsletter\"),\n icon: EmailNewsletterIcon,\n condition: props.podcast || props.emission || props.playlist,\n emitName: \"newsletter\",\n },\n {\n title: t(\"Share QR Code\"),\n icon: QrcodeIcon,\n condition: true,\n emitName: \"qrcode\",\n },\n {\n title: titleRssButton.value,\n icon: RssIcon,\n condition: '' !== rssUrl.value && displayRss.value && !authStore.isGarRole,\n emitName: \"rss\",\n },\n ];\n});\n\n\nonBeforeMount(()=>initShareButtons())\n\n\n//Methods\nasync function initShareButtons() {\n if (undefined !== props.participantId) {\n displayRss.value = await classicApi.fetchData<boolean>({\n api: 0,\n path: `rss/participants/allowed/${props.organisationId}`,\n isNotAuth: true,\n });\n } else {\n displayRss.value = true;\n }\n determinePlayerCanBeShared();\n if (!props.organisationId) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(props.organisationId);\n noSharing.value = \"true\" === attributes.noSharing;\n isLoading.value = false;\n}\nfunction determinePlayerCanBeShared() {\n const emissionAnnot = props.podcast?.emission.annotations ?? props.emission?.annotations;\n if (!emissionAnnot) { return }\n if (emissionAnnot.exclusive) {\n playerCanBeSharedOthers.value = \"true\" !== emissionAnnot.exclusive;\n }\n if (emissionAnnot.notExclusive) {\n playerCanBeSharedAnonymous.value = \"true\" === emissionAnnot.notExclusive;\n }\n}\n\nfunction clickButton(name: string) {\n switch (name) {\n case \"link\":\n displayHelper.onCopyCode(urlPage.value, afterCopy);\n break;\n case \"smartlink\":\n this.openSmartLink();\n break;\n case \"newsletter\":\n isNewsletterModal.value = true;\n break;\n case \"qrcode\":\n isQrCodeModal.value = true;\n break;\n case \"rss\":\n isRssModal.value = true;\n break;\n case \"player\": \n isPlayerModal.value = true;\n break;\n default:\n break;\n }\n}\n\nfunction openSmartLink(): void {\n const pmUrl = new URL(window.location.href);\n const podcastmakerUrl = `${pmUrl.origin}/`;\n let url: string;\n\n if (props.emission) {\n url = getSmartLink({\n title: props.emission.name,\n emissionId: props.emission?.emissionId,\n }, {\n podcastmakerUrl\n });\n } else if (props.playlist) {\n url = getSmartLink({\n title: props.playlist.title,\n playlistId: props.playlist?.playlistId,\n }, {\n podcastmakerUrl\n });\n }\n window.open(url, '_blank').focus();\n}\n\nfunction afterCopy(): void {\n if (!lazyLoadingSnackbar.value) {\n lazyLoadingSnackbar.value = true;\n setTimeout(() => {\n afterCopy();\n }, 500);\n } else {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Link in clipboard\"));\n }\n}\n</script>\n","<template>\n <div v-if=\"!isLoading && !noSharing\">\n <button\n id=\"anonymous-share-button\"\n :class=\"btnClass\"\n :title=\"t('Share')\"\n >\n <DotsHorizontalIcon />\n </button>\n <ClassicPopover\n target=\"anonymous-share-button\"\n :relative-class=\"relativeClass\"\n :is-fixed=\"true\"\n :left-pos=\"true\"\n :only-click=\"true\"\n >\n <div \n v-for=\"button in dropdownButtons\"\n :key=\"button.icon\"\n class=\"d-flex flex-column\"\n >\n <button\n v-if=\"button.condition\"\n :key=\"button.title\"\n class=\"btn-transparent d-flex flex-nowrap justify-content-start align-items-center octopus-dropdown-item py-2\"\n :title=\"button.title\"\n @mousedown=\"clickButton(button.emitName)\"\n @keydown.enter=\"clickButton(button.emitName)\"\n >\n <component :is=\"button.icon\" />\n <span class=\"ms-1\">{{ button.title }}</span>\n </button>\n </div>\n </ClassicPopover>\n <QrCodeModal\n v-if=\"isQrCodeModal\"\n :url-page=\"urlPage\"\n :orga-for-color=\"organisationId\"\n @close=\"isQrCodeModal = false\"\n />\n <PlayerAnonymousModal\n v-if=\"isPlayerModal\"\n :podcast=\"podcast\"\n :emission=\"emission ?? podcast?.emission\"\n :exclusive=\"!playerCanBeSharedOthers\"\n :not-exclusive=\"playerCanBeSharedAnonymous\"\n @close=\"isPlayerModal = false\"\n />\n <NewsletterModal\n v-if=\"isNewsletterModal\"\n :closable=\"true\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n @close=\"isNewsletterModal = false\"\n />\n <ClipboardModal\n v-if=\"isRssModal\"\n :link=\"rssUrl\"\n @close=\"isRssModal = false\"\n />\n <SnackBar\n v-if=\"lazyLoadingSnackbar\"\n ref=\"snackbar\"\n position=\"bottom-left\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport QrcodeIcon from \"vue-material-design-icons/Qrcode.vue\";\nimport LinkVariantIcon from \"vue-material-design-icons/LinkVariant.vue\";\nimport LinkVariantPlusIcon from \"vue-material-design-icons/LinkVariantPlus.vue\";\nimport DotsHorizontalIcon from \"vue-material-design-icons/DotsHorizontal.vue\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useI18n } from \"vue-i18n\";\nimport { useSharePath } from \"@/components/composable/share/useSharePath\";\nconst SnackBar = defineAsyncComponent(() => import(\"../../misc/SnackBar.vue\"));\nconst NewsletterModal = defineAsyncComponent(\n () => import(\"../../misc/modal/NewsletterModal.vue\"),\n);\nconst QrCodeModal = defineAsyncComponent(\n () => import(\"../../misc/modal/QrCodeModal.vue\"),\n);\nconst ClipboardModal = defineAsyncComponent(\n () => import(\"../../misc/modal/ClipboardModal.vue\"),\n);\nconst PlayerAnonymousModal = defineAsyncComponent(\n () => import(\"../sharing/PlayerAnonymousModal.vue\"),\n);\nconst CodeTagsIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/CodeTags.vue\"),\n);\nconst EmailNewsletterIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/EmailNewsletter.vue\"),\n);\nconst RssIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/Rss.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n participantId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n relativeClass: { default: \"page-element\", type: String },\n btnClass: { default: \"btn btn-transparent\", type: String },\n})\n\n//Data \nconst lazyLoadingSnackbar = ref(false);\nconst isNewsletterModal = ref(false);\nconst isQrCodeModal = ref(false);\nconst displayRss = ref(false);\nconst noSharing = ref(true);\nconst playerCanBeSharedAnonymous = ref(false);\nconst playerCanBeSharedOthers = ref(false);\nconst isLoading = ref(true);\nconst isRssModal = ref(false);\nconst isPlayerModal = ref(false);\nconst snackBarRef = useTemplateRef('snackbar');\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst saveFetchStore = useSaveFetchStore();\nconst { getSmartLink } = useSharePath();\n\n//Computed\nconst urlPage = computed(() => window.location.href);\nconst isPodcastmaker = computed(() => state.generalParameters.podcastmaker);\nconst rssUrl = computed(() => {\n const api = apiStore.apiUrl + \"rss/\";\n if (\n (!isPodcastmaker.value && props.playlist) ||\n props.podcast ||\n props.emission\n ) {\n return \"\";\n }\n if (props.participantId) {\n return api + \"participant/\" + props.participantId + \".rss\";\n }\n if (props.playlist) {\n return api + \"playlist/\" + props.playlist.playlistId + \".rss\";\n }\n if (props.organisationId) {\n return api + \"productor/\" + props.organisationId + \".rss\";\n }\n return \"\";\n});\nconst titleRssButton = computed(() => {\n if (props.participantId) {\n return t(\"Subscribe to this participant\");\n }\n if (props.emission) {\n return t(\"Subscribe to this emission\");\n }\n return t(\"Subscribe to this RSS feed\");\n});\n\nconst dropdownButtons = computed(() => {\n return [\n {\n title: t(\"Copy this page URL\"),\n icon: LinkVariantIcon,\n condition:true,\n emitName: \"link\",\n },\n {\n title: t(\"SmartLink - Share link\"),\n icon: LinkVariantPlusIcon,\n condition: isPodcastmaker.value && (props.emission || props.playlist),\n emitName: \"smartlink\",\n },\n {\n title: t(\"Share the player\"),\n icon: CodeTagsIcon,\n condition: !isPodcastmaker.value && (playerCanBeSharedAnonymous.value || (playerCanBeSharedOthers.value && authStore.authOrgaId)),\n emitName: \"player\",\n },\n {\n title: t(\"Share newsletter\"),\n icon: EmailNewsletterIcon,\n condition: props.podcast || props.emission || props.playlist,\n emitName: \"newsletter\",\n },\n {\n title: t(\"Share QR Code\"),\n icon: QrcodeIcon,\n condition: true,\n emitName: \"qrcode\",\n },\n {\n title: titleRssButton.value,\n icon: RssIcon,\n condition: '' !== rssUrl.value && displayRss.value && !authStore.isGarRole,\n emitName: \"rss\",\n },\n ];\n});\n\n\nonBeforeMount(()=>initShareButtons())\n\n\n//Methods\nasync function initShareButtons() {\n if (undefined !== props.participantId) {\n displayRss.value = await classicApi.fetchData<boolean>({\n api: 0,\n path: `rss/participants/allowed/${props.organisationId}`,\n isNotAuth: true,\n });\n } else {\n displayRss.value = true;\n }\n determinePlayerCanBeShared();\n if (!props.organisationId) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(props.organisationId);\n noSharing.value = \"true\" === attributes.noSharing;\n isLoading.value = false;\n}\nfunction determinePlayerCanBeShared() {\n const emissionAnnot = props.podcast?.emission.annotations ?? props.emission?.annotations;\n if (!emissionAnnot) { return }\n if (emissionAnnot.exclusive) {\n playerCanBeSharedOthers.value = \"true\" !== emissionAnnot.exclusive;\n }\n if (emissionAnnot.notExclusive) {\n playerCanBeSharedAnonymous.value = \"true\" === emissionAnnot.notExclusive;\n }\n}\n\nfunction clickButton(name: string) {\n switch (name) {\n case \"link\":\n displayHelper.onCopyCode(urlPage.value, afterCopy);\n break;\n case \"smartlink\":\n this.openSmartLink();\n break;\n case \"newsletter\":\n isNewsletterModal.value = true;\n break;\n case \"qrcode\":\n isQrCodeModal.value = true;\n break;\n case \"rss\":\n isRssModal.value = true;\n break;\n case \"player\": \n isPlayerModal.value = true;\n break;\n default:\n break;\n }\n}\n\nfunction openSmartLink(): void {\n const pmUrl = new URL(window.location.href);\n const podcastmakerUrl = `${pmUrl.origin}/`;\n let url: string;\n\n if (props.emission) {\n url = getSmartLink({\n title: props.emission.name,\n emissionId: props.emission?.emissionId,\n }, {\n podcastmakerUrl\n });\n } else if (props.playlist) {\n url = getSmartLink({\n title: props.playlist.title,\n playlistId: props.playlist?.playlistId,\n }, {\n podcastmakerUrl\n });\n }\n window.open(url, '_blank').focus();\n}\n\nfunction afterCopy(): void {\n if (!lazyLoadingSnackbar.value) {\n lazyLoadingSnackbar.value = true;\n setTimeout(() => {\n afterCopy();\n }, 500);\n } else {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Link in clipboard\"));\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareAnonymous-C4xPMrgf.mjs","names":[],"sources":["../src/components/display/sharing/ShareAnonymous.vue","../src/components/display/sharing/ShareAnonymous.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading && !noSharing\">\n <button\n id=\"anonymous-share-button\"\n :class=\"btnClass\"\n :title=\"t('Share')\"\n >\n <DotsHorizontalIcon />\n </button>\n <ClassicPopover\n target=\"anonymous-share-button\"\n :relative-class=\"relativeClass\"\n :is-fixed=\"true\"\n :left-pos=\"true\"\n :only-click=\"true\"\n >\n <div \n v-for=\"button in dropdownButtons\"\n :key=\"button.icon\"\n class=\"d-flex flex-column\"\n >\n <button\n v-if=\"button.condition\"\n :key=\"button.title\"\n class=\"btn-transparent d-flex flex-nowrap justify-content-start align-items-center octopus-dropdown-item py-2\"\n :title=\"button.title\"\n @mousedown=\"clickButton(button.emitName)\"\n @keydown.enter=\"clickButton(button.emitName)\"\n >\n <component :is=\"button.icon\" />\n <span class=\"ms-1\">{{ button.title }}</span>\n </button>\n </div>\n </ClassicPopover>\n <QrCodeModal\n v-if=\"isQrCodeModal\"\n :url-page=\"urlPage\"\n :orga-for-color=\"organisationId\"\n @close=\"isQrCodeModal = false\"\n />\n <PlayerAnonymousModal\n v-if=\"isPlayerModal\"\n :podcast=\"podcast\"\n :emission=\"emission ?? podcast?.emission\"\n :exclusive=\"!playerCanBeSharedOthers\"\n :not-exclusive=\"playerCanBeSharedAnonymous\"\n @close=\"isPlayerModal = false\"\n />\n <NewsletterModal\n v-if=\"isNewsletterModal\"\n :closable=\"true\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n @close=\"isNewsletterModal = false\"\n />\n <ClipboardModal\n v-if=\"isRssModal\"\n :link=\"rssUrl\"\n @close=\"isRssModal = false\"\n />\n <SnackBar\n v-if=\"lazyLoadingSnackbar\"\n ref=\"snackbar\"\n position=\"bottom-left\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport QrcodeIcon from \"vue-material-design-icons/Qrcode.vue\";\nimport LinkVariantIcon from \"vue-material-design-icons/LinkVariant.vue\";\nimport LinkVariantPlusIcon from \"vue-material-design-icons/LinkVariantPlus.vue\";\nimport DotsHorizontalIcon from \"vue-material-design-icons/DotsHorizontal.vue\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useI18n } from \"vue-i18n\";\nimport { useSharePath } from \"@/components/composable/share/useSharePath\";\nconst SnackBar = defineAsyncComponent(() => import(\"../../misc/SnackBar.vue\"));\nconst NewsletterModal = defineAsyncComponent(\n () => import(\"../../misc/modal/NewsletterModal.vue\"),\n);\nconst QrCodeModal = defineAsyncComponent(\n () => import(\"../../misc/modal/QrCodeModal.vue\"),\n);\nconst ClipboardModal = defineAsyncComponent(\n () => import(\"../../misc/modal/ClipboardModal.vue\"),\n);\nconst PlayerAnonymousModal = defineAsyncComponent(\n () => import(\"../sharing/PlayerAnonymousModal.vue\"),\n);\nconst CodeTagsIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/CodeTags.vue\"),\n);\nconst EmailNewsletterIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/EmailNewsletter.vue\"),\n);\nconst RssIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/Rss.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n participantId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n relativeClass: { default: \"page-element\", type: String },\n btnClass: { default: \"btn btn-transparent\", type: String },\n})\n\n//Data \nconst lazyLoadingSnackbar = ref(false);\nconst isNewsletterModal = ref(false);\nconst isQrCodeModal = ref(false);\nconst displayRss = ref(false);\nconst noSharing = ref(true);\nconst playerCanBeSharedAnonymous = ref(false);\nconst playerCanBeSharedOthers = ref(false);\nconst isLoading = ref(true);\nconst isRssModal = ref(false);\nconst isPlayerModal = ref(false);\nconst snackBarRef = useTemplateRef('snackbar');\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst saveFetchStore = useSaveFetchStore();\nconst { getSmartLink } = useSharePath();\n\n//Computed\nconst urlPage = computed(() => window.location.href);\nconst isPodcastmaker = computed(() => state.generalParameters.podcastmaker);\nconst rssUrl = computed(() => {\n const api = apiStore.apiUrl + \"rss/\";\n if (\n (!isPodcastmaker.value && props.playlist) ||\n props.podcast ||\n props.emission\n ) {\n return \"\";\n }\n if (props.participantId) {\n return api + \"participant/\" + props.participantId + \".rss\";\n }\n if (props.playlist) {\n return api + \"playlist/\" + props.playlist.playlistId + \".rss\";\n }\n if (props.organisationId) {\n return api + \"productor/\" + props.organisationId + \".rss\";\n }\n return \"\";\n});\nconst titleRssButton = computed(() => {\n if (props.participantId) {\n return t(\"Subscribe to this participant\");\n }\n if (props.emission) {\n return t(\"Subscribe to this emission\");\n }\n return t(\"Subscribe to this RSS feed\");\n});\n\nconst dropdownButtons = computed(() => {\n return [\n {\n title: t(\"Copy this page URL\"),\n icon: LinkVariantIcon,\n condition:true,\n emitName: \"link\",\n },\n {\n title: t(\"SmartLink - Share link\"),\n icon: LinkVariantPlusIcon,\n condition: isPodcastmaker.value && (props.emission || props.playlist),\n emitName: \"smartlink\",\n },\n {\n title: t(\"Share the player\"),\n icon: CodeTagsIcon,\n condition: !isPodcastmaker.value && (playerCanBeSharedAnonymous.value || (playerCanBeSharedOthers.value && authStore.authOrgaId)),\n emitName: \"player\",\n },\n {\n title: t(\"Share newsletter\"),\n icon: EmailNewsletterIcon,\n condition: props.podcast || props.emission || props.playlist,\n emitName: \"newsletter\",\n },\n {\n title: t(\"Share QR Code\"),\n icon: QrcodeIcon,\n condition: true,\n emitName: \"qrcode\",\n },\n {\n title: titleRssButton.value,\n icon: RssIcon,\n condition: '' !== rssUrl.value && displayRss.value && !authStore.isGarRole,\n emitName: \"rss\",\n },\n ];\n});\n\n\nonBeforeMount(()=>initShareButtons())\n\n\n//Methods\nasync function initShareButtons() {\n if (undefined !== props.participantId) {\n displayRss.value = await classicApi.fetchData<boolean>({\n api: 0,\n path: `rss/participants/allowed/${props.organisationId}`,\n isNotAuth: true,\n });\n } else {\n displayRss.value = true;\n }\n determinePlayerCanBeShared();\n if (!props.organisationId) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(props.organisationId);\n noSharing.value = \"true\" === attributes.noSharing;\n isLoading.value = false;\n}\nfunction determinePlayerCanBeShared() {\n const emissionAnnot = props.podcast?.emission.annotations ?? props.emission?.annotations;\n if (!emissionAnnot) { return }\n if (emissionAnnot.exclusive) {\n playerCanBeSharedOthers.value = \"true\" !== emissionAnnot.exclusive;\n }\n if (emissionAnnot.notExclusive) {\n playerCanBeSharedAnonymous.value = \"true\" === emissionAnnot.notExclusive;\n }\n}\n\nfunction clickButton(name: string) {\n switch (name) {\n case \"link\":\n displayHelper.onCopyCode(urlPage.value, afterCopy);\n break;\n case \"smartlink\":\n this.openSmartLink();\n break;\n case \"newsletter\":\n isNewsletterModal.value = true;\n break;\n case \"qrcode\":\n isQrCodeModal.value = true;\n break;\n case \"rss\":\n isRssModal.value = true;\n break;\n case \"player\": \n isPlayerModal.value = true;\n break;\n default:\n break;\n }\n}\n\nfunction openSmartLink(): void {\n const pmUrl = new URL(window.location.href);\n const podcastmakerUrl = `${pmUrl.origin}/`;\n let url: string;\n\n if (props.emission) {\n url = getSmartLink({\n title: props.emission.name,\n emissionId: props.emission?.emissionId,\n }, {\n podcastmakerUrl\n });\n } else if (props.playlist) {\n url = getSmartLink({\n title: props.playlist.title,\n playlistId: props.playlist?.playlistId,\n }, {\n podcastmakerUrl\n });\n }\n window.open(url, '_blank').focus();\n}\n\nfunction afterCopy(): void {\n if (!lazyLoadingSnackbar.value) {\n lazyLoadingSnackbar.value = true;\n setTimeout(() => {\n afterCopy();\n }, 500);\n } else {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Link in clipboard\"));\n }\n}\n</script>\n","<template>\n <div v-if=\"!isLoading && !noSharing\">\n <button\n id=\"anonymous-share-button\"\n :class=\"btnClass\"\n :title=\"t('Share')\"\n >\n <DotsHorizontalIcon />\n </button>\n <ClassicPopover\n target=\"anonymous-share-button\"\n :relative-class=\"relativeClass\"\n :is-fixed=\"true\"\n :left-pos=\"true\"\n :only-click=\"true\"\n >\n <div \n v-for=\"button in dropdownButtons\"\n :key=\"button.icon\"\n class=\"d-flex flex-column\"\n >\n <button\n v-if=\"button.condition\"\n :key=\"button.title\"\n class=\"btn-transparent d-flex flex-nowrap justify-content-start align-items-center octopus-dropdown-item py-2\"\n :title=\"button.title\"\n @mousedown=\"clickButton(button.emitName)\"\n @keydown.enter=\"clickButton(button.emitName)\"\n >\n <component :is=\"button.icon\" />\n <span class=\"ms-1\">{{ button.title }}</span>\n </button>\n </div>\n </ClassicPopover>\n <QrCodeModal\n v-if=\"isQrCodeModal\"\n :url-page=\"urlPage\"\n :orga-for-color=\"organisationId\"\n @close=\"isQrCodeModal = false\"\n />\n <PlayerAnonymousModal\n v-if=\"isPlayerModal\"\n :podcast=\"podcast\"\n :emission=\"emission ?? podcast?.emission\"\n :exclusive=\"!playerCanBeSharedOthers\"\n :not-exclusive=\"playerCanBeSharedAnonymous\"\n @close=\"isPlayerModal = false\"\n />\n <NewsletterModal\n v-if=\"isNewsletterModal\"\n :closable=\"true\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n @close=\"isNewsletterModal = false\"\n />\n <ClipboardModal\n v-if=\"isRssModal\"\n :link=\"rssUrl\"\n @close=\"isRssModal = false\"\n />\n <SnackBar\n v-if=\"lazyLoadingSnackbar\"\n ref=\"snackbar\"\n position=\"bottom-left\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport QrcodeIcon from \"vue-material-design-icons/Qrcode.vue\";\nimport LinkVariantIcon from \"vue-material-design-icons/LinkVariant.vue\";\nimport LinkVariantPlusIcon from \"vue-material-design-icons/LinkVariantPlus.vue\";\nimport DotsHorizontalIcon from \"vue-material-design-icons/DotsHorizontal.vue\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useI18n } from \"vue-i18n\";\nimport { useSharePath } from \"@/components/composable/share/useSharePath\";\nconst SnackBar = defineAsyncComponent(() => import(\"../../misc/SnackBar.vue\"));\nconst NewsletterModal = defineAsyncComponent(\n () => import(\"../../misc/modal/NewsletterModal.vue\"),\n);\nconst QrCodeModal = defineAsyncComponent(\n () => import(\"../../misc/modal/QrCodeModal.vue\"),\n);\nconst ClipboardModal = defineAsyncComponent(\n () => import(\"../../misc/modal/ClipboardModal.vue\"),\n);\nconst PlayerAnonymousModal = defineAsyncComponent(\n () => import(\"../sharing/PlayerAnonymousModal.vue\"),\n);\nconst CodeTagsIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/CodeTags.vue\"),\n);\nconst EmailNewsletterIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/EmailNewsletter.vue\"),\n);\nconst RssIcon = defineAsyncComponent(\n () => import(\"vue-material-design-icons/Rss.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n participantId: { default: undefined, type: Number },\n organisationId: { default: undefined, type: String },\n relativeClass: { default: \"page-element\", type: String },\n btnClass: { default: \"btn btn-transparent\", type: String },\n})\n\n//Data \nconst lazyLoadingSnackbar = ref(false);\nconst isNewsletterModal = ref(false);\nconst isQrCodeModal = ref(false);\nconst displayRss = ref(false);\nconst noSharing = ref(true);\nconst playerCanBeSharedAnonymous = ref(false);\nconst playerCanBeSharedOthers = ref(false);\nconst isLoading = ref(true);\nconst isRssModal = ref(false);\nconst isPlayerModal = ref(false);\nconst snackBarRef = useTemplateRef('snackbar');\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst saveFetchStore = useSaveFetchStore();\nconst { getSmartLink } = useSharePath();\n\n//Computed\nconst urlPage = computed(() => window.location.href);\nconst isPodcastmaker = computed(() => state.generalParameters.podcastmaker);\nconst rssUrl = computed(() => {\n const api = apiStore.apiUrl + \"rss/\";\n if (\n (!isPodcastmaker.value && props.playlist) ||\n props.podcast ||\n props.emission\n ) {\n return \"\";\n }\n if (props.participantId) {\n return api + \"participant/\" + props.participantId + \".rss\";\n }\n if (props.playlist) {\n return api + \"playlist/\" + props.playlist.playlistId + \".rss\";\n }\n if (props.organisationId) {\n return api + \"productor/\" + props.organisationId + \".rss\";\n }\n return \"\";\n});\nconst titleRssButton = computed(() => {\n if (props.participantId) {\n return t(\"Subscribe to this participant\");\n }\n if (props.emission) {\n return t(\"Subscribe to this emission\");\n }\n return t(\"Subscribe to this RSS feed\");\n});\n\nconst dropdownButtons = computed(() => {\n return [\n {\n title: t(\"Copy this page URL\"),\n icon: LinkVariantIcon,\n condition:true,\n emitName: \"link\",\n },\n {\n title: t(\"SmartLink - Share link\"),\n icon: LinkVariantPlusIcon,\n condition: isPodcastmaker.value && (props.emission || props.playlist),\n emitName: \"smartlink\",\n },\n {\n title: t(\"Share the player\"),\n icon: CodeTagsIcon,\n condition: !isPodcastmaker.value && (playerCanBeSharedAnonymous.value || (playerCanBeSharedOthers.value && authStore.authOrgaId)),\n emitName: \"player\",\n },\n {\n title: t(\"Share newsletter\"),\n icon: EmailNewsletterIcon,\n condition: props.podcast || props.emission || props.playlist,\n emitName: \"newsletter\",\n },\n {\n title: t(\"Share QR Code\"),\n icon: QrcodeIcon,\n condition: true,\n emitName: \"qrcode\",\n },\n {\n title: titleRssButton.value,\n icon: RssIcon,\n condition: '' !== rssUrl.value && displayRss.value && !authStore.isGarRole,\n emitName: \"rss\",\n },\n ];\n});\n\n\nonBeforeMount(()=>initShareButtons())\n\n\n//Methods\nasync function initShareButtons() {\n if (undefined !== props.participantId) {\n displayRss.value = await classicApi.fetchData<boolean>({\n api: 0,\n path: `rss/participants/allowed/${props.organisationId}`,\n isNotAuth: true,\n });\n } else {\n displayRss.value = true;\n }\n determinePlayerCanBeShared();\n if (!props.organisationId) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(props.organisationId);\n noSharing.value = \"true\" === attributes.noSharing;\n isLoading.value = false;\n}\nfunction determinePlayerCanBeShared() {\n const emissionAnnot = props.podcast?.emission.annotations ?? props.emission?.annotations;\n if (!emissionAnnot) { return }\n if (emissionAnnot.exclusive) {\n playerCanBeSharedOthers.value = \"true\" !== emissionAnnot.exclusive;\n }\n if (emissionAnnot.notExclusive) {\n playerCanBeSharedAnonymous.value = \"true\" === emissionAnnot.notExclusive;\n }\n}\n\nfunction clickButton(name: string) {\n switch (name) {\n case \"link\":\n displayHelper.onCopyCode(urlPage.value, afterCopy);\n break;\n case \"smartlink\":\n this.openSmartLink();\n break;\n case \"newsletter\":\n isNewsletterModal.value = true;\n break;\n case \"qrcode\":\n isQrCodeModal.value = true;\n break;\n case \"rss\":\n isRssModal.value = true;\n break;\n case \"player\": \n isPlayerModal.value = true;\n break;\n default:\n break;\n }\n}\n\nfunction openSmartLink(): void {\n const pmUrl = new URL(window.location.href);\n const podcastmakerUrl = `${pmUrl.origin}/`;\n let url: string;\n\n if (props.emission) {\n url = getSmartLink({\n title: props.emission.name,\n emissionId: props.emission?.emissionId,\n }, {\n podcastmakerUrl\n });\n } else if (props.playlist) {\n url = getSmartLink({\n title: props.playlist.title,\n playlistId: props.playlist?.playlistId,\n }, {\n podcastmakerUrl\n });\n }\n window.open(url, '_blank').focus();\n}\n\nfunction afterCopy(): void {\n if (!lazyLoadingSnackbar.value) {\n lazyLoadingSnackbar.value = true;\n setTimeout(() => {\n afterCopy();\n }, 500);\n } else {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Link in clipboard\"));\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { t as ClassicModal_default } from "./ClassicModal-CilwHp9p.mjs";
|
|
|
3
3
|
import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
|
|
4
4
|
import { t as ClassicNav_default } from "./ClassicNav-Dvm8faD9.mjs";
|
|
5
5
|
import { t as SnackBar_default } from "./SnackBar-DdE1dYhi.mjs";
|
|
6
|
-
import { t as QrCode_default } from "./QrCode-
|
|
6
|
+
import { t as QrCode_default } from "./QrCode-MCv4t_Bn.mjs";
|
|
7
7
|
import { Fragment, computed, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, openBlock, ref, renderList, toDisplayString, useTemplateRef, withCtx } from "vue";
|
|
8
8
|
import { useI18n } from "vue-i18n";
|
|
9
9
|
import ContentCopyIcon from "vue-material-design-icons/ContentCopy.vue";
|
|
@@ -132,4 +132,4 @@ var ShareModalPlayer_default = /*#__PURE__*/ _plugin_vue_export_helper_default(S
|
|
|
132
132
|
//#endregion
|
|
133
133
|
export { ShareModalPlayer_default as default };
|
|
134
134
|
|
|
135
|
-
//# sourceMappingURL=ShareModalPlayer-
|
|
135
|
+
//# sourceMappingURL=ShareModalPlayer-B0wPlpdU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareModalPlayer-B0wPlpdU.mjs","names":[],"sources":["../src/components/misc/modal/ShareModalPlayer.vue","../src/components/misc/modal/ShareModalPlayer.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"share-modal\"\n :title-modal=\"t('Share the player')\"\n @close=\"closePopup\"\n >\n <template #body>\n <ClassicNav v-model:active-tab=\"activeTab\" :tab-number=\"tabs.length\">\n <template v-for=\"(tab, index) in tabs\" #[index]>\n {{ tab }}\n </template>\n <template #tab0>\n <p class=\"word-break-word\">{{ embedLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n <template #tab1>\n <div class=\"d-flex flex-column flex-grow-1\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <p class=\"word-break-word\">{{ embedlyLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedlyLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </div>\n <QrCode :url=\"embedlyLink\" />\n </div>\n </template>\n <template v-if=\"directLink\" #tab2>\n <p class=\"word-break-word\">{{ directLink.audioUrl }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(directLink.audioUrl, snackbarRef)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n </ClassicNav>\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n</template>\n\n<script setup lang=\"ts\">\nimport ContentCopyIcon from \"vue-material-design-icons/ContentCopy.vue\";\nimport SnackBar from \"../SnackBar.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport ClassicNav from \"../ClassicNav.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n embedLink: { default: undefined, type: String },\n embedlyLink: { default: undefined, type: String },\n directLink: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst activeTab = ref(0);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst tabs = computed(() => {\n if (props.directLink) {\n return [t(\"Embed link\"),t(\"Embedly link\"),t(\"Direct link\"),];\n }\n return [t(\"Embed link\"), t(\"Embedly link\")];\n});\n\n\n//Methods\nfunction onCopyCode(link: string, callback: () => void){\n displayHelper.onCopyCode(link, callback);\n}\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction afterCopy(): void {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Data in clipboard\"),);\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"share-modal\"\n :title-modal=\"t('Share the player')\"\n @close=\"closePopup\"\n >\n <template #body>\n <ClassicNav v-model:active-tab=\"activeTab\" :tab-number=\"tabs.length\">\n <template v-for=\"(tab, index) in tabs\" #[index]>\n {{ tab }}\n </template>\n <template #tab0>\n <p class=\"word-break-word\">{{ embedLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n <template #tab1>\n <div class=\"d-flex flex-column flex-grow-1\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <p class=\"word-break-word\">{{ embedlyLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedlyLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </div>\n <QrCode :url=\"embedlyLink\" />\n </div>\n </template>\n <template v-if=\"directLink\" #tab2>\n <p class=\"word-break-word\">{{ directLink.audioUrl }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(directLink.audioUrl, snackbarRef)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n </ClassicNav>\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n</template>\n\n<script setup lang=\"ts\">\nimport ContentCopyIcon from \"vue-material-design-icons/ContentCopy.vue\";\nimport SnackBar from \"../SnackBar.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport ClassicNav from \"../ClassicNav.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n embedLink: { default: undefined, type: String },\n embedlyLink: { default: undefined, type: String },\n directLink: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst activeTab = ref(0);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst tabs = computed(() => {\n if (props.directLink) {\n return [t(\"Embed link\"),t(\"Embedly link\"),t(\"Direct link\"),];\n }\n return [t(\"Embed link\"), t(\"Embedly link\")];\n});\n\n\n//Methods\nfunction onCopyCode(link: string, callback: () => void){\n displayHelper.onCopyCode(link, callback);\n}\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction afterCopy(): void {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Data in clipboard\"),);\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEA,MAAM,QAAQ;EAOd,MAAM,OAAO;EAGb,MAAM,YAAY,IAAI,CAAC;EACvB,MAAM,cAAc,eAAe,UAAU;EAG7C,MAAM,EAAE,MAAM,QAAQ;EAGtB,MAAM,OAAO,eAAe;GAC1B,IAAI,MAAM,YACR,OAAO;IAAC,EAAE,YAAY;IAAE,EAAE,cAAc;IAAE,EAAE,aAAa;GAAE;GAE7D,OAAO,CAAC,EAAE,YAAY,GAAG,EAAE,cAAc,CAAC;EAC5C,CAAC;EAID,SAAS,WAAW,MAAc,UAAqB;GACrD,sBAAc,WAAW,MAAM,QAAQ;EACzC;EACA,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;EACA,SAAS,YAAkB;GACzB,CAAC,aAAa,OAAwC,KAAK,EAAE,mBAAmB,CAAE;EACpF;;;;;;;;;;;;;;;;;;;;;;;;;;mBC3Fa,OAAM,kBAAiB;;mBAUrB,OAAM,iCAAgC;mBACpC,OAAM,oDAAmD;mBACzD,OAAM,kBAAiB;;mBAa3B,OAAM,kBAAiB;;;yDApClC,YAoDe,OAAA,iBAAA;EAnDb,YAAS;EACR,eAAa,OAAA,EAAC,kBAAA;EACd,SAAO,OAAA;;EAEG,MAAI,cAwCA,CAvCb,YAuCa,OAAA,eAAA;GAvCO,cAAY,OAAA;+DAAA,OAAA,YAAS;GAAG,cAAY,OAAA,KAAK;;GAIhD,MAAI,cACiC,CAA9C,mBAA8C,KAA9C,YAA8C,gBAAhB,OAAA,SAAS,GAAA,CAAA,GACvC,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,WAAW,OAAA,SAAS;OAEvC,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;GAGZ,MAAI,cAaP,CAZN,mBAYM,OAZN,YAYM,CAXJ,mBASM,OATN,YASM,CARJ,mBAAgD,KAAhD,YAAgD,gBAAlB,OAAA,WAAW,GAAA,CAAA,GACzC,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,aAAa,OAAA,SAAS;OAEzC,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA,GAGvB,YAA6B,OAAA,WAAA,EAApB,KAAK,OAAA,YAAW,GAAA,MAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;iBAzBI,OAAA,OAAf,KAAK,UAAK;;UAAY;sBAC7B,CAAA,gBAAA,gBAAN,GAAG,GAAA,CAAA,CAAA,CAAA;;MA2BQ,OAAA,aAAA;SAAa;qBAC6B,CAAxD,mBAAwD,KAAxD,YAAwD,gBAA1B,OAAA,WAAW,QAAQ,GAAA,CAAA,GACjD,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,WAAW,UAAU,KAAA,WAAW;OAEnD,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;;;EAKhB,QAAM,cAGN,CAFT,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;qBACvC,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;yBAIV,YAAkD,OAAA,aAAA;EAAxC,KAAI;EAAW,UAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareModalPlayer-CEvDV-I_.mjs","names":[],"sources":["../src/components/misc/modal/ShareModalPlayer.vue","../src/components/misc/modal/ShareModalPlayer.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"share-modal\"\n :title-modal=\"t('Share the player')\"\n @close=\"closePopup\"\n >\n <template #body>\n <ClassicNav v-model:active-tab=\"activeTab\" :tab-number=\"tabs.length\">\n <template v-for=\"(tab, index) in tabs\" #[index]>\n {{ tab }}\n </template>\n <template #tab0>\n <p class=\"word-break-word\">{{ embedLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n <template #tab1>\n <div class=\"d-flex flex-column flex-grow-1\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <p class=\"word-break-word\">{{ embedlyLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedlyLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </div>\n <QrCode :url=\"embedlyLink\" />\n </div>\n </template>\n <template v-if=\"directLink\" #tab2>\n <p class=\"word-break-word\">{{ directLink.audioUrl }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(directLink.audioUrl, snackbarRef)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n </ClassicNav>\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n</template>\n\n<script setup lang=\"ts\">\nimport ContentCopyIcon from \"vue-material-design-icons/ContentCopy.vue\";\nimport SnackBar from \"../SnackBar.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport ClassicNav from \"../ClassicNav.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n embedLink: { default: undefined, type: String },\n embedlyLink: { default: undefined, type: String },\n directLink: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst activeTab = ref(0);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst tabs = computed(() => {\n if (props.directLink) {\n return [t(\"Embed link\"),t(\"Embedly link\"),t(\"Direct link\"),];\n }\n return [t(\"Embed link\"), t(\"Embedly link\")];\n});\n\n\n//Methods\nfunction onCopyCode(link: string, callback: () => void){\n displayHelper.onCopyCode(link, callback);\n}\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction afterCopy(): void {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Data in clipboard\"),);\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"share-modal\"\n :title-modal=\"t('Share the player')\"\n @close=\"closePopup\"\n >\n <template #body>\n <ClassicNav v-model:active-tab=\"activeTab\" :tab-number=\"tabs.length\">\n <template v-for=\"(tab, index) in tabs\" #[index]>\n {{ tab }}\n </template>\n <template #tab0>\n <p class=\"word-break-word\">{{ embedLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n <template #tab1>\n <div class=\"d-flex flex-column flex-grow-1\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <p class=\"word-break-word\">{{ embedlyLink }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(embedlyLink, afterCopy)\"\n >\n <ContentCopyIcon />\n </button>\n </div>\n <QrCode :url=\"embedlyLink\" />\n </div>\n </template>\n <template v-if=\"directLink\" #tab2>\n <p class=\"word-break-word\">{{ directLink.audioUrl }}</p>\n <button\n class=\"btn-transparent\"\n :title=\"t('Copy')\"\n @click=\"onCopyCode(directLink.audioUrl, snackbarRef)\"\n >\n <ContentCopyIcon />\n </button>\n </template>\n </ClassicNav>\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n</template>\n\n<script setup lang=\"ts\">\nimport ContentCopyIcon from \"vue-material-design-icons/ContentCopy.vue\";\nimport SnackBar from \"../SnackBar.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport ClassicNav from \"../ClassicNav.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n embedLink: { default: undefined, type: String },\n embedlyLink: { default: undefined, type: String },\n directLink: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst activeTab = ref(0);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst tabs = computed(() => {\n if (props.directLink) {\n return [t(\"Embed link\"),t(\"Embedly link\"),t(\"Direct link\"),];\n }\n return [t(\"Embed link\"), t(\"Embedly link\")];\n});\n\n\n//Methods\nfunction onCopyCode(link: string, callback: () => void){\n displayHelper.onCopyCode(link, callback);\n}\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction afterCopy(): void {\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Data in clipboard\"),);\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEA,MAAM,QAAQ;EAOd,MAAM,OAAO;EAGb,MAAM,YAAY,IAAI,CAAC;EACvB,MAAM,cAAc,eAAe,UAAU;EAG7C,MAAM,EAAE,MAAM,QAAQ;EAGtB,MAAM,OAAO,eAAe;GAC1B,IAAI,MAAM,YACR,OAAO;IAAC,EAAE,YAAY;IAAE,EAAE,cAAc;IAAE,EAAE,aAAa;GAAE;GAE7D,OAAO,CAAC,EAAE,YAAY,GAAG,EAAE,cAAc,CAAC;EAC5C,CAAC;EAID,SAAS,WAAW,MAAc,UAAqB;GACrD,sBAAc,WAAW,MAAM,QAAQ;EACzC;EACA,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;EACA,SAAS,YAAkB;GACzB,CAAC,aAAa,OAAwC,KAAK,EAAE,mBAAmB,CAAE;EACpF;;;;;;;;;;;;;;;;;;;;;;;;;;mBC3Fa,OAAM,kBAAiB;;mBAUrB,OAAM,iCAAgC;mBACpC,OAAM,oDAAmD;mBACzD,OAAM,kBAAiB;;mBAa3B,OAAM,kBAAiB;;;yDApClC,YAoDe,OAAA,iBAAA;EAnDb,YAAS;EACR,eAAa,OAAA,EAAC,kBAAA;EACd,SAAO,OAAA;;EAEG,MAAI,cAwCA,CAvCb,YAuCa,OAAA,eAAA;GAvCO,cAAY,OAAA;+DAAA,OAAA,YAAS;GAAG,cAAY,OAAA,KAAK;;GAIhD,MAAI,cACiC,CAA9C,mBAA8C,KAA9C,YAA8C,gBAAhB,OAAA,SAAS,GAAA,CAAA,GACvC,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,WAAW,OAAA,SAAS;OAEvC,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;GAGZ,MAAI,cAaP,CAZN,mBAYM,OAZN,YAYM,CAXJ,mBASM,OATN,YASM,CARJ,mBAAgD,KAAhD,YAAgD,gBAAlB,OAAA,WAAW,GAAA,CAAA,GACzC,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,aAAa,OAAA,SAAS;OAEzC,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA,GAGvB,YAA6B,OAAA,WAAA,EAApB,KAAK,OAAA,YAAW,GAAA,MAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;iBAzBI,OAAA,OAAf,KAAK,UAAK;;UAAY;sBAC7B,CAAA,gBAAA,gBAAN,GAAG,GAAA,CAAA,CAAA,CAAA;;MA2BQ,OAAA,aAAA;SAAa;qBAC6B,CAAxD,mBAAwD,KAAxD,YAAwD,gBAA1B,OAAA,WAAW,QAAQ,GAAA,CAAA,GACjD,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,WAAW,UAAU,KAAA,WAAW;OAEnD,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;;;EAKhB,QAAM,cAGN,CAFT,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;qBACvC,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;yBAIV,YAAkD,OAAA,aAAA;EAAxC,KAAI;EAAW,UAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareNewsletter-Bno5t4ay.mjs","names":[],"sources":["../src/components/display/sharing/ShareNewsletter.vue","../src/components/display/sharing/ShareNewsletter.vue"],"sourcesContent":["<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex flex-grow-1\">\n <div class=\"d-flex flex-column flex-shrink-0 me-3\">\n <h2 class=\"mb-3\">\n {{ t(\"Configure your Newsletter tile\") }}\n </h2>\n <div\n v-for=\"colors in arrayColors\"\n :key=\"colors.mainText\"\n class=\"d-flex align-items-center mb-3\"\n >\n <VSwatches\n v-model=\"colors.color\"\n class=\"c-hand me-2\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n :data-color=\"colors.color\"\n />\n <div class=\"d-flex flex-column\">\n <div class=\"fw-bold\">{{ colors.mainText }}</div>\n <div v-if=\"colors.secondText\" class=\"description-text\">\n {{ colors.secondText }}\n </div>\n </div>\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div class=\"border p-3\" v-html=\"newsletterHtml\" />\n <!-- eslint-enable -->\n </div>\n <ClassicCopyButton\n :text=\"t('Copy code')\"\n :text-after-copy=\"t('Code copied!')\"\n :data-to-copy=\"newsletterHtml\"\n />\n <div>{{ t(\"And paste it in your newsletter\") }}</div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicCopyButton from \"../../form/ClassicCopyButton.vue\";\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, ref } from \"vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n})\n\nconst { t } = useI18n();\n\n//Data \nconst shareUrl = ref(window.location.origin);\nconst arrayColors = ref([\n {\n color: \"#40a372\",\n mainText: t(\"Choose main color\"),\n secondText: t(\"Newsletter elements\"),\n },\n { color: \"#000000\", mainText: t(\"Choose text color\") },\n { color: \"#FFFFFF\", mainText: t(\"Choose background color\") },\n]);\n\n//Composables\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst saveFetchStore = useSaveFetchStore();\nconst router = useRouter();\n\n//Computed\nconst pathShare = computed(() => {\n const orga = filterStore.filterOrgaId ? \"?productor=\"+filterStore.filterOrgaId : \"\";\n if(props.podcast) {\n return router.resolve({ name: \"podcast\", params: { podcastId: props.podcast.podcastId } }).path + orga;\n }\n if(props.emission){\n return router.resolve({ name: \"emission\", params: { emissionId: props.emission.emissionId } }).path + orga;\n }\n if(props.playlist){\n return router.resolve({ name: \"playlist\", params: { playlistId: props.playlist.playlistId } }).path + orga;\n }\n return \"\";\n});\n\nconst newsletterInfo = computed(() => {\n if (props.podcast) {\n return {\n imageUrl: `${props.podcast.imageUrl}\" alt=\"${t(\n \"Episode name image\",\n { name: props.podcast.title },\n )}`,\n title: props.podcast.title,\n description: props.podcast.description ?? \"\",\n shareText: t(\"Listen this episode\"),\n emissionHtml: `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex; margin-top:5px;\">\n <div style=\"font-size:16px; color:${\n arrayColors.value[1].color\n }; margin-right:5px;text-wrap: nowrap;\">${t(\"Emission\")} :</div>\n <a href=\"${shareUrl.value+pathShare.value}\" style=\"font-size: 16px;color: ${\n arrayColors.value[0].color\n };overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">${\n props.podcast.emission.name\n }</a>\n </div></td></tr>`,\n articleHtml:\n !props.podcast?.article || 0 === props.podcast.article?.length\n ? ``\n : `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 17h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7zM5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z\"/></svg>\n <a href=\"${props.podcast.article}\" style=\"color: ${\n arrayColors.value[1].color\n };margin-top:2px\">${t(\"See associated article\")}</a>\n </div></td></tr>\n `,\n colorTitle: `color:${arrayColors.value[1].color};`,\n };\n }\n if (props.emission) {\n return {\n imageUrl: `${props.emission.imageUrl}\" alt=\"${t(\n \"Emission image\",\n )}`,\n title: props.emission.name,\n description: props.emission.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n }\n return {\n imageUrl: `${props.playlist?.imageUrl}\" alt=\"${t(\n \"Playlist image\",\n )}`,\n title: props.playlist?.title,\n description: props.playlist?.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n});\nconst newsletterHtml = computed(() => {\n return `<table style=\"background:${arrayColors.value[2].color};color:${\n arrayColors.value[1].color\n };table-layout: fixed;width:100%;font-size: 14px;\">\n <tr>\n <td valign=\"top\" width=\"30%\" rowspan=\"7\" style=\"padding-right:5px;\"><img width=\"100%\" src=\"${\n newsletterInfo.value.imageUrl\n }\" style=\"border-radius: 4px;\"></td>\n <td valign=\"top\" width=\"70%\" style=\"padding:5px 0;\"><div style=\"margin-top:5px;font-size: 20px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight:bold;${\n newsletterInfo.value.colorTitle\n }\">${newsletterInfo.value.title}</div></td>\n </tr>${newsletterInfo.value.emissionHtml}\n <tr><td style=\"padding:5px 0;\"><div style=\"overflow: hidden;display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;word-break: break-word;\">${\n newsletterInfo.value.description\n }</div></td></tr>\n <tr><td valign=\"top\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"color: ${arrayColors.value[0].color};\">${t(\n \"See more\",\n )}</a></td></tr>\n <tr>${newsletterInfo.value.articleHtml}\n <td width=\"1\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"font-size: 18px;color: ${\n arrayColors.value[0].color\n };text-decoration: none; display:flex;\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.5 16.5l7-4.5l-7-4.5zM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22\"/></svg><div style=\"margin-top: 15px; color:${\n arrayColors.value[1].color\n };\">${newsletterInfo.value.shareText}</div></a></td>\n </tr>\n </table>\n `;\n});\n\n\nonBeforeMount(()=>initData())\n\n//Methods\nasync function initData(): Promise<void> {\n const orgaId = authStore.authOrgaId;\n if (!orgaId?.length) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(orgaId ?? \"\");\n if (\n Object.hasOwn(attributes, \"podcastmakerUrl\") &&\n (attributes.podcastmakerUrl as string | undefined | null)?.length\n ) {\n shareUrl.value = attributes.podcastmakerUrl?.toString() ?? window.location.origin;\n }\n if (Object.hasOwn(attributes, \"COLOR\")) {\n arrayColors.value[0].color = attributes.COLOR as string;\n }\n}\n</script>\n","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex flex-grow-1\">\n <div class=\"d-flex flex-column flex-shrink-0 me-3\">\n <h2 class=\"mb-3\">\n {{ t(\"Configure your Newsletter tile\") }}\n </h2>\n <div\n v-for=\"colors in arrayColors\"\n :key=\"colors.mainText\"\n class=\"d-flex align-items-center mb-3\"\n >\n <VSwatches\n v-model=\"colors.color\"\n class=\"c-hand me-2\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n :data-color=\"colors.color\"\n />\n <div class=\"d-flex flex-column\">\n <div class=\"fw-bold\">{{ colors.mainText }}</div>\n <div v-if=\"colors.secondText\" class=\"description-text\">\n {{ colors.secondText }}\n </div>\n </div>\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div class=\"border p-3\" v-html=\"newsletterHtml\" />\n <!-- eslint-enable -->\n </div>\n <ClassicCopyButton\n :text=\"t('Copy code')\"\n :text-after-copy=\"t('Code copied!')\"\n :data-to-copy=\"newsletterHtml\"\n />\n <div>{{ t(\"And paste it in your newsletter\") }}</div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicCopyButton from \"../../form/ClassicCopyButton.vue\";\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, ref } from \"vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n})\n\nconst { t } = useI18n();\n\n//Data \nconst shareUrl = ref(window.location.origin);\nconst arrayColors = ref([\n {\n color: \"#40a372\",\n mainText: t(\"Choose main color\"),\n secondText: t(\"Newsletter elements\"),\n },\n { color: \"#000000\", mainText: t(\"Choose text color\") },\n { color: \"#FFFFFF\", mainText: t(\"Choose background color\") },\n]);\n\n//Composables\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst saveFetchStore = useSaveFetchStore();\nconst router = useRouter();\n\n//Computed\nconst pathShare = computed(() => {\n const orga = filterStore.filterOrgaId ? \"?productor=\"+filterStore.filterOrgaId : \"\";\n if(props.podcast) {\n return router.resolve({ name: \"podcast\", params: { podcastId: props.podcast.podcastId } }).path + orga;\n }\n if(props.emission){\n return router.resolve({ name: \"emission\", params: { emissionId: props.emission.emissionId } }).path + orga;\n }\n if(props.playlist){\n return router.resolve({ name: \"playlist\", params: { playlistId: props.playlist.playlistId } }).path + orga;\n }\n return \"\";\n});\n\nconst newsletterInfo = computed(() => {\n if (props.podcast) {\n return {\n imageUrl: `${props.podcast.imageUrl}\" alt=\"${t(\n \"Episode name image\",\n { name: props.podcast.title },\n )}`,\n title: props.podcast.title,\n description: props.podcast.description ?? \"\",\n shareText: t(\"Listen this episode\"),\n emissionHtml: `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex; margin-top:5px;\">\n <div style=\"font-size:16px; color:${\n arrayColors.value[1].color\n }; margin-right:5px;text-wrap: nowrap;\">${t(\"Emission\")} :</div>\n <a href=\"${shareUrl.value+pathShare.value}\" style=\"font-size: 16px;color: ${\n arrayColors.value[0].color\n };overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">${\n props.podcast.emission.name\n }</a>\n </div></td></tr>`,\n articleHtml:\n !props.podcast?.article || 0 === props.podcast.article?.length\n ? ``\n : `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 17h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7zM5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z\"/></svg>\n <a href=\"${props.podcast.article}\" style=\"color: ${\n arrayColors.value[1].color\n };margin-top:2px\">${t(\"See associated article\")}</a>\n </div></td></tr>\n `,\n colorTitle: `color:${arrayColors.value[1].color};`,\n };\n }\n if (props.emission) {\n return {\n imageUrl: `${props.emission.imageUrl}\" alt=\"${t(\n \"Emission image\",\n )}`,\n title: props.emission.name,\n description: props.emission.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n }\n return {\n imageUrl: `${props.playlist?.imageUrl}\" alt=\"${t(\n \"Playlist image\",\n )}`,\n title: props.playlist?.title,\n description: props.playlist?.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n});\nconst newsletterHtml = computed(() => {\n return `<table style=\"background:${arrayColors.value[2].color};color:${\n arrayColors.value[1].color\n };table-layout: fixed;width:100%;font-size: 14px;\">\n <tr>\n <td valign=\"top\" width=\"30%\" rowspan=\"7\" style=\"padding-right:5px;\"><img width=\"100%\" src=\"${\n newsletterInfo.value.imageUrl\n }\" style=\"border-radius: 4px;\"></td>\n <td valign=\"top\" width=\"70%\" style=\"padding:5px 0;\"><div style=\"margin-top:5px;font-size: 20px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight:bold;${\n newsletterInfo.value.colorTitle\n }\">${newsletterInfo.value.title}</div></td>\n </tr>${newsletterInfo.value.emissionHtml}\n <tr><td style=\"padding:5px 0;\"><div style=\"overflow: hidden;display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;word-break: break-word;\">${\n newsletterInfo.value.description\n }</div></td></tr>\n <tr><td valign=\"top\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"color: ${arrayColors.value[0].color};\">${t(\n \"See more\",\n )}</a></td></tr>\n <tr>${newsletterInfo.value.articleHtml}\n <td width=\"1\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"font-size: 18px;color: ${\n arrayColors.value[0].color\n };text-decoration: none; display:flex;\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.5 16.5l7-4.5l-7-4.5zM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22\"/></svg><div style=\"margin-top: 15px; color:${\n arrayColors.value[1].color\n };\">${newsletterInfo.value.shareText}</div></a></td>\n </tr>\n </table>\n `;\n});\n\n\nonBeforeMount(()=>initData())\n\n//Methods\nasync function initData(): Promise<void> {\n const orgaId = authStore.authOrgaId;\n if (!orgaId?.length) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(orgaId ?? \"\");\n if (\n Object.hasOwn(attributes, \"podcastmakerUrl\") &&\n (attributes.podcastmakerUrl as string | undefined | null)?.length\n ) {\n shareUrl.value = attributes.podcastmakerUrl?.toString() ?? window.location.origin;\n }\n if (Object.hasOwn(attributes, \"COLOR\")) {\n arrayColors.value[0].color = attributes.COLOR as string;\n }\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDA,MAAM,QAAQ;EAMd,MAAM,EAAE,MAAM,QAAQ;EAGtB,MAAM,WAAW,IAAI,OAAO,SAAS,MAAM;EAC3C,MAAM,cAAc,IAAI;GACtB;IACE,OAAO;IACP,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,qBAAqB;GACrC;GACA;IAAE,OAAO;IAAW,UAAU,EAAE,mBAAmB;GAAE;GACrD;IAAE,OAAO;IAAW,UAAU,EAAE,yBAAyB;GAAE;EAC7D,CAAC;EAGD,MAAM,cAAc,eAAe;EACnC,MAAM,YAAY,aAAa;EAC/B,MAAM,iBAAiB,kBAAkB;EACzC,MAAM,SAAS,UAAU;EAGzB,MAAM,YAAY,eAAe;GAC/B,MAAM,OAAO,YAAY,eAAe,gBAAc,YAAY,eAAe;GACjF,IAAG,MAAM,SACP,OAAO,OAAO,QAAQ;IAAE,MAAM;IAAW,QAAQ,EAAE,WAAW,MAAM,QAAQ,UAAU;GAAE,CAAC,EAAE,OAAO;GAEpG,IAAG,MAAM,UACP,OAAO,OAAO,QAAQ;IAAE,MAAM;IAAY,QAAQ,EAAE,YAAY,MAAM,SAAS,WAAW;GAAE,CAAC,EAAE,OAAO;GAExG,IAAG,MAAM,UACP,OAAO,OAAO,QAAQ;IAAE,MAAM;IAAY,QAAQ,EAAE,YAAY,MAAM,SAAS,WAAW;GAAE,CAAC,EAAE,OAAO;GAExG,OAAO;EACT,CAAC;EAED,MAAM,iBAAiB,eAAe;GACpC,IAAI,MAAM,SACR,OAAO;IACL,UAAU,GAAG,MAAM,QAAQ,SAAS,SAAS,EAC3C,sBACA,EAAE,MAAM,MAAM,QAAQ,MAAM,CAC9B;IACA,OAAO,MAAM,QAAQ;IACrB,aAAa,MAAM,QAAQ,eAAe;IAC1C,WAAW,EAAE,qBAAqB;IAClC,cAAc;;0CAGZ,YAAY,MAAM,GAAG,MACtB,yCAAyC,EAAE,UAAU,EAAE;iBAC7C,SAAS,QAAM,UAAU,MAAM,kCACxC,YAAY,MAAM,GAAG,MACtB,kEACC,MAAM,QAAQ,SAAS,KACxB;;IAED,aACE,CAAC,MAAM,SAAS,WAAW,MAAM,MAAM,QAAQ,SAAS,SACpD,KACA;;;iBAGK,MAAM,QAAQ,QAAQ,kBAC/B,YAAY,MAAM,GAAG,MACtB,mBAAmB,EAAE,wBAAwB,EAAE;;;IAGhD,YAAY,SAAS,YAAY,MAAM,GAAG,MAAM;GAClD;GAEF,IAAI,MAAM,UACR,OAAO;IACL,UAAU,GAAG,MAAM,SAAS,SAAS,SAAS,EAC5C,gBACF;IACA,OAAO,MAAM,SAAS;IACtB,aAAa,MAAM,SAAS,eAAe;IAC3C,WAAW,EAAE,wBAAwB;IACrC,cAAc;IACd,aAAa;IACb,YAAY,SAAS,YAAY,MAAM,GAAG,MAAM;GAClD;GAEF,OAAO;IACL,UAAU,GAAG,MAAM,UAAU,SAAS,SAAS,EAC7C,gBACF;IACA,OAAO,MAAM,UAAU;IACvB,aAAa,MAAM,UAAU,eAAe;IAC5C,WAAW,EAAE,wBAAwB;IACrC,cAAc;IACd,aAAa;IACb,YAAY,SAAS,YAAY,MAAM,GAAG,MAAM;GAClD;EACF,CAAC;EACD,MAAM,iBAAiB,eAAe;GACpC,OAAO,4BAA4B,YAAY,MAAM,GAAG,MAAM,SACxD,YAAY,MAAM,GAAG,MAClB;;iGAGC,eAAe,MAAM,SACtB;mLAEC,eAAe,MAAM,WACtB,IAAI,eAAe,MAAM,MAAM;WAC/B,eAAe,MAAM,aAAY;mKAEhC,eAAe,MAAM,YACtB;2DAEC,SAAS,QAAM,UAAU,MAC1B,kBAAkB,YAAY,MAAM,GAAG,MAAM,KAAK,EACjD,UACF,EAAE;UACF,eAAe,MAAM,YAAW;oDAE9B,SAAS,QAAM,UAAU,MAC1B,kCACC,YAAY,MAAM,GAAG,MACtB,wcACC,YAAY,MAAM,GAAG,MACtB,KAAK,eAAe,MAAM,UAAU;;;;EAI/C,CAAC;EAGD,oBAAkB,SAAS,CAAC;EAG5B,eAAe,WAA0B;GACvC,MAAM,SAAS,UAAU;GACzB,IAAI,CAAC,QAAQ,QACX;GAEF,MAAM,aAAa,MAAM,eAAe,kBAAkB,UAAU,EAAE;GACtE,IACE,OAAO,OAAO,YAAY,iBAAiB,KAC1C,WAAW,iBAA+C,QAE3D,SAAS,QAAQ,WAAW,iBAAiB,SAAS,KAAK,OAAO,SAAS;GAE7E,IAAI,OAAO,OAAO,YAAY,OAAO,GACnC,YAAY,MAAM,GAAG,QAAQ,WAAW;EAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBCjNO,OAAM,wCAAuC;mBAC3C,OAAM,qBAAoB;mBACxB,OAAM,wCAAuC;mBAC5C,OAAM,OAAM;mBAiBT,OAAM,qBAAoB;mBACxB,OAAM,UAAS;;;CACU,OAAM;;;;qBAtB9C,mBAsCM,OAtCN,YAsCM;EArCJ,mBA8BM,OA9BN,YA8BM;GA7BJ,mBAyBM,OAzBN,YAyBM,CAxBJ,mBAEK,MAFL,YAEK,gBADA,OAAA,EAAC,gCAAA,CAAA,GAAA,CAAA,IAAA,UAAA,IAAA,GAEN,mBAoBM,UAAA,MAAA,WAnBa,OAAA,cAAV,WAAM;wBADf,mBAoBM,OAAA;KAlBH,KAAK,OAAO;KACb,OAAM;QAEN,YAQE,OAAA,cAAA;iBAPS,OAAO;wCAAP,OAAO,QAAK;KACrB,OAAM;KACN,iBAAA;KACA,uBAAoB;KACpB,QAAO;KACP,cAAW;KACV,cAAY,OAAO;;;;;QAEtB,mBAKM,OALN,YAKM,CAJJ,mBAAgD,OAAhD,YAAgD,gBAAxB,OAAO,QAAQ,GAAA,CAAA,GAC5B,OAAO,cAAA,UAAA,GAAlB,mBAEM,OAFN,YAEM,gBADD,OAAO,UAAU,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,CAAA,CAAA,CAAA,CAAA;;GAK5B,mBAAA,gCAAA;GACA,mBAAkD,OAAA;IAA7C,OAAM;IAAa,WAAQ,OAAA;;GAChC,mBAAA,iBAAA;;EAEF,YAIE,OAAA,sBAAA;GAHC,MAAM,OAAA,EAAC,WAAA;GACP,mBAAiB,OAAA,EAAC,cAAA;GAClB,gBAAc,OAAA;;;;;;EAEjB,mBAAqD,OAAA,MAAA,gBAA7C,OAAA,EAAC,iCAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
|
|
2
2
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
3
|
-
import { T as useSaveFetchStore, i as useAuthStore, r as useFilterStore } from "./classicApi-
|
|
3
|
+
import { T as useSaveFetchStore, i as useAuthStore, r as useFilterStore } from "./classicApi-xjOqAovv.mjs";
|
|
4
4
|
import { t as ClassicCopyButton_default } from "./ClassicCopyButton-M9AP3MKD.mjs";
|
|
5
5
|
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, onBeforeMount, openBlock, ref, renderList, toDisplayString } from "vue";
|
|
6
6
|
import { useI18n } from "vue-i18n";
|
|
@@ -208,4 +208,4 @@ var ShareNewsletter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Sh
|
|
|
208
208
|
//#endregion
|
|
209
209
|
export { ShareNewsletter_exports as n, ShareNewsletter_default as t };
|
|
210
210
|
|
|
211
|
-
//# sourceMappingURL=ShareNewsletter-
|
|
211
|
+
//# sourceMappingURL=ShareNewsletter-Cf9w-I6c.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareNewsletter-Cf9w-I6c.mjs","names":[],"sources":["../src/components/display/sharing/ShareNewsletter.vue","../src/components/display/sharing/ShareNewsletter.vue"],"sourcesContent":["<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex flex-grow-1\">\n <div class=\"d-flex flex-column flex-shrink-0 me-3\">\n <h2 class=\"mb-3\">\n {{ t(\"Configure your Newsletter tile\") }}\n </h2>\n <div\n v-for=\"colors in arrayColors\"\n :key=\"colors.mainText\"\n class=\"d-flex align-items-center mb-3\"\n >\n <VSwatches\n v-model=\"colors.color\"\n class=\"c-hand me-2\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n :data-color=\"colors.color\"\n />\n <div class=\"d-flex flex-column\">\n <div class=\"fw-bold\">{{ colors.mainText }}</div>\n <div v-if=\"colors.secondText\" class=\"description-text\">\n {{ colors.secondText }}\n </div>\n </div>\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div class=\"border p-3\" v-html=\"newsletterHtml\" />\n <!-- eslint-enable -->\n </div>\n <ClassicCopyButton\n :text=\"t('Copy code')\"\n :text-after-copy=\"t('Code copied!')\"\n :data-to-copy=\"newsletterHtml\"\n />\n <div>{{ t(\"And paste it in your newsletter\") }}</div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicCopyButton from \"../../form/ClassicCopyButton.vue\";\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, ref } from \"vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n})\n\nconst { t } = useI18n();\n\n//Data \nconst shareUrl = ref(window.location.origin);\nconst arrayColors = ref([\n {\n color: \"#40a372\",\n mainText: t(\"Choose main color\"),\n secondText: t(\"Newsletter elements\"),\n },\n { color: \"#000000\", mainText: t(\"Choose text color\") },\n { color: \"#FFFFFF\", mainText: t(\"Choose background color\") },\n]);\n\n//Composables\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst saveFetchStore = useSaveFetchStore();\nconst router = useRouter();\n\n//Computed\nconst pathShare = computed(() => {\n const orga = filterStore.filterOrgaId ? \"?productor=\"+filterStore.filterOrgaId : \"\";\n if(props.podcast) {\n return router.resolve({ name: \"podcast\", params: { podcastId: props.podcast.podcastId } }).path + orga;\n }\n if(props.emission){\n return router.resolve({ name: \"emission\", params: { emissionId: props.emission.emissionId } }).path + orga;\n }\n if(props.playlist){\n return router.resolve({ name: \"playlist\", params: { playlistId: props.playlist.playlistId } }).path + orga;\n }\n return \"\";\n});\n\nconst newsletterInfo = computed(() => {\n if (props.podcast) {\n return {\n imageUrl: `${props.podcast.imageUrl}\" alt=\"${t(\n \"Episode name image\",\n { name: props.podcast.title },\n )}`,\n title: props.podcast.title,\n description: props.podcast.description ?? \"\",\n shareText: t(\"Listen this episode\"),\n emissionHtml: `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex; margin-top:5px;\">\n <div style=\"font-size:16px; color:${\n arrayColors.value[1].color\n }; margin-right:5px;text-wrap: nowrap;\">${t(\"Emission\")} :</div>\n <a href=\"${shareUrl.value+pathShare.value}\" style=\"font-size: 16px;color: ${\n arrayColors.value[0].color\n };overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">${\n props.podcast.emission.name\n }</a>\n </div></td></tr>`,\n articleHtml:\n !props.podcast?.article || 0 === props.podcast.article?.length\n ? ``\n : `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 17h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7zM5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z\"/></svg>\n <a href=\"${props.podcast.article}\" style=\"color: ${\n arrayColors.value[1].color\n };margin-top:2px\">${t(\"See associated article\")}</a>\n </div></td></tr>\n `,\n colorTitle: `color:${arrayColors.value[1].color};`,\n };\n }\n if (props.emission) {\n return {\n imageUrl: `${props.emission.imageUrl}\" alt=\"${t(\n \"Emission image\",\n )}`,\n title: props.emission.name,\n description: props.emission.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n }\n return {\n imageUrl: `${props.playlist?.imageUrl}\" alt=\"${t(\n \"Playlist image\",\n )}`,\n title: props.playlist?.title,\n description: props.playlist?.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n});\nconst newsletterHtml = computed(() => {\n return `<table style=\"background:${arrayColors.value[2].color};color:${\n arrayColors.value[1].color\n };table-layout: fixed;width:100%;font-size: 14px;\">\n <tr>\n <td valign=\"top\" width=\"30%\" rowspan=\"7\" style=\"padding-right:5px;\"><img width=\"100%\" src=\"${\n newsletterInfo.value.imageUrl\n }\" style=\"border-radius: 4px;\"></td>\n <td valign=\"top\" width=\"70%\" style=\"padding:5px 0;\"><div style=\"margin-top:5px;font-size: 20px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight:bold;${\n newsletterInfo.value.colorTitle\n }\">${newsletterInfo.value.title}</div></td>\n </tr>${newsletterInfo.value.emissionHtml}\n <tr><td style=\"padding:5px 0;\"><div style=\"overflow: hidden;display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;word-break: break-word;\">${\n newsletterInfo.value.description\n }</div></td></tr>\n <tr><td valign=\"top\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"color: ${arrayColors.value[0].color};\">${t(\n \"See more\",\n )}</a></td></tr>\n <tr>${newsletterInfo.value.articleHtml}\n <td width=\"1\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"font-size: 18px;color: ${\n arrayColors.value[0].color\n };text-decoration: none; display:flex;\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.5 16.5l7-4.5l-7-4.5zM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22\"/></svg><div style=\"margin-top: 15px; color:${\n arrayColors.value[1].color\n };\">${newsletterInfo.value.shareText}</div></a></td>\n </tr>\n </table>\n `;\n});\n\n\nonBeforeMount(()=>initData())\n\n//Methods\nasync function initData(): Promise<void> {\n const orgaId = authStore.authOrgaId;\n if (!orgaId?.length) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(orgaId ?? \"\");\n if (\n Object.hasOwn(attributes, \"podcastmakerUrl\") &&\n (attributes.podcastmakerUrl as string | undefined | null)?.length\n ) {\n shareUrl.value = attributes.podcastmakerUrl?.toString() ?? window.location.origin;\n }\n if (Object.hasOwn(attributes, \"COLOR\")) {\n arrayColors.value[0].color = attributes.COLOR as string;\n }\n}\n</script>\n","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex flex-grow-1\">\n <div class=\"d-flex flex-column flex-shrink-0 me-3\">\n <h2 class=\"mb-3\">\n {{ t(\"Configure your Newsletter tile\") }}\n </h2>\n <div\n v-for=\"colors in arrayColors\"\n :key=\"colors.mainText\"\n class=\"d-flex align-items-center mb-3\"\n >\n <VSwatches\n v-model=\"colors.color\"\n class=\"c-hand me-2\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n :data-color=\"colors.color\"\n />\n <div class=\"d-flex flex-column\">\n <div class=\"fw-bold\">{{ colors.mainText }}</div>\n <div v-if=\"colors.secondText\" class=\"description-text\">\n {{ colors.secondText }}\n </div>\n </div>\n </div>\n </div>\n <!-- eslint-disable vue/no-v-html -->\n <div class=\"border p-3\" v-html=\"newsletterHtml\" />\n <!-- eslint-enable -->\n </div>\n <ClassicCopyButton\n :text=\"t('Copy code')\"\n :text-after-copy=\"t('Code copied!')\"\n :data-to-copy=\"newsletterHtml\"\n />\n <div>{{ t(\"And paste it in your newsletter\") }}</div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicCopyButton from \"../../form/ClassicCopyButton.vue\";\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, ref } from \"vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n})\n\nconst { t } = useI18n();\n\n//Data \nconst shareUrl = ref(window.location.origin);\nconst arrayColors = ref([\n {\n color: \"#40a372\",\n mainText: t(\"Choose main color\"),\n secondText: t(\"Newsletter elements\"),\n },\n { color: \"#000000\", mainText: t(\"Choose text color\") },\n { color: \"#FFFFFF\", mainText: t(\"Choose background color\") },\n]);\n\n//Composables\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst saveFetchStore = useSaveFetchStore();\nconst router = useRouter();\n\n//Computed\nconst pathShare = computed(() => {\n const orga = filterStore.filterOrgaId ? \"?productor=\"+filterStore.filterOrgaId : \"\";\n if(props.podcast) {\n return router.resolve({ name: \"podcast\", params: { podcastId: props.podcast.podcastId } }).path + orga;\n }\n if(props.emission){\n return router.resolve({ name: \"emission\", params: { emissionId: props.emission.emissionId } }).path + orga;\n }\n if(props.playlist){\n return router.resolve({ name: \"playlist\", params: { playlistId: props.playlist.playlistId } }).path + orga;\n }\n return \"\";\n});\n\nconst newsletterInfo = computed(() => {\n if (props.podcast) {\n return {\n imageUrl: `${props.podcast.imageUrl}\" alt=\"${t(\n \"Episode name image\",\n { name: props.podcast.title },\n )}`,\n title: props.podcast.title,\n description: props.podcast.description ?? \"\",\n shareText: t(\"Listen this episode\"),\n emissionHtml: `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex; margin-top:5px;\">\n <div style=\"font-size:16px; color:${\n arrayColors.value[1].color\n }; margin-right:5px;text-wrap: nowrap;\">${t(\"Emission\")} :</div>\n <a href=\"${shareUrl.value+pathShare.value}\" style=\"font-size: 16px;color: ${\n arrayColors.value[0].color\n };overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">${\n props.podcast.emission.name\n }</a>\n </div></td></tr>`,\n articleHtml:\n !props.podcast?.article || 0 === props.podcast.article?.length\n ? ``\n : `<tr><td style=\"padding:5px 0;\">\n <div style=\"display:flex;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 17h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7zM5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z\"/></svg>\n <a href=\"${props.podcast.article}\" style=\"color: ${\n arrayColors.value[1].color\n };margin-top:2px\">${t(\"See associated article\")}</a>\n </div></td></tr>\n `,\n colorTitle: `color:${arrayColors.value[1].color};`,\n };\n }\n if (props.emission) {\n return {\n imageUrl: `${props.emission.imageUrl}\" alt=\"${t(\n \"Emission image\",\n )}`,\n title: props.emission.name,\n description: props.emission.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n }\n return {\n imageUrl: `${props.playlist?.imageUrl}\" alt=\"${t(\n \"Playlist image\",\n )}`,\n title: props.playlist?.title,\n description: props.playlist?.description ?? \"\",\n shareText: t(\"Listen to all episodes\"),\n emissionHtml: ``,\n articleHtml: ``,\n colorTitle: `color:${arrayColors.value[0].color};`,\n };\n});\nconst newsletterHtml = computed(() => {\n return `<table style=\"background:${arrayColors.value[2].color};color:${\n arrayColors.value[1].color\n };table-layout: fixed;width:100%;font-size: 14px;\">\n <tr>\n <td valign=\"top\" width=\"30%\" rowspan=\"7\" style=\"padding-right:5px;\"><img width=\"100%\" src=\"${\n newsletterInfo.value.imageUrl\n }\" style=\"border-radius: 4px;\"></td>\n <td valign=\"top\" width=\"70%\" style=\"padding:5px 0;\"><div style=\"margin-top:5px;font-size: 20px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight:bold;${\n newsletterInfo.value.colorTitle\n }\">${newsletterInfo.value.title}</div></td>\n </tr>${newsletterInfo.value.emissionHtml}\n <tr><td style=\"padding:5px 0;\"><div style=\"overflow: hidden;display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;word-break: break-word;\">${\n newsletterInfo.value.description\n }</div></td></tr>\n <tr><td valign=\"top\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"color: ${arrayColors.value[0].color};\">${t(\n \"See more\",\n )}</a></td></tr>\n <tr>${newsletterInfo.value.articleHtml}\n <td width=\"1\" style=\"padding:5px 0;\"><a href=\"${\n shareUrl.value+pathShare.value\n }\" style=\"font-size: 18px;color: ${\n arrayColors.value[0].color\n };text-decoration: none; display:flex;\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.5 16.5l7-4.5l-7-4.5zM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22\"/></svg><div style=\"margin-top: 15px; color:${\n arrayColors.value[1].color\n };\">${newsletterInfo.value.shareText}</div></a></td>\n </tr>\n </table>\n `;\n});\n\n\nonBeforeMount(()=>initData())\n\n//Methods\nasync function initData(): Promise<void> {\n const orgaId = authStore.authOrgaId;\n if (!orgaId?.length) {\n return;\n }\n const attributes = await saveFetchStore.getOrgaAttributes(orgaId ?? \"\");\n if (\n Object.hasOwn(attributes, \"podcastmakerUrl\") &&\n (attributes.podcastmakerUrl as string | undefined | null)?.length\n ) {\n shareUrl.value = attributes.podcastmakerUrl?.toString() ?? window.location.origin;\n }\n if (Object.hasOwn(attributes, \"COLOR\")) {\n arrayColors.value[0].color = attributes.COLOR as string;\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharePlayer-BLqYnywl.mjs","names":[],"sources":["../src/components/display/sharing/SharePlayer.vue","../src/components/display/sharing/SharePlayer.vue"],"sourcesContent":["<template>\n <section class=\"module-box overflow-visible\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"mb-3\">\n {{ t(\"Embed\") }}\n </h3>\n <div\n v-if=\"noAd && !generalStore.platformEducation\"\n class=\"sticker\"\n :title=\"t('You cannot insert advertising')\"\n >\n {{ t(\"No advertising\") }}\n </div>\n </div>\n <template v-if=\"!exclusive && (authenticated || notExclusive)\">\n <div class=\"d-flex\">\n <iframe\n id=\"miniplayerIframe\"\n title=\"Miniplayer\"\n allowfullscreen=\"true\"\n allow=\"clipboard-read; clipboard-write; autoplay\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n frameborder=\"0\"\n :src=\"iFrameSrc\"\n width=\"100%\"\n :height=\"iFrameHeight\"\n class=\"max-iframe mx-3\"\n />\n <div class=\"d-flex flex-column flex-grow-1\">\n <SharePlayerTypes\n v-model:i-frame-model=\"iFrameModel\"\n v-model:type-custom-player=\"typeCustomPlayer\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n :organisation-id=\"organisationId\"\n :is-live=\"isLiveReadyToRecord\"\n />\n <SharePlayerColors\n v-model:color=\"color\"\n v-model:theme=\"theme\"\n class=\"mt-3\"\n />\n <PlayerParameters\n v-model:display-article=\"displayArticle\"\n v-model:display-transcript=\"displayTranscript\"\n v-model:display-wave=\"displayWave\"\n v-model:is-visible=\"isVisible\"\n v-model:player-auto-play=\"playerAutoPlay\"\n v-model:episodes-number=\"episodesNumber\"\n v-model:insert-code=\"insertCode\"\n v-model:auto-height=\"autoHeight\"\n :display-is-visible=\"displayIsVisible\"\n :is-podcast-not-visible=\"isPodcastNotVisible\"\n :chose-number-episode=\"displayChoiceAllEpisodes\"\n :display-choice-all-episodes=\"displayChoiceAllEpisodes\"\n :display-transcript-param=\"displayTranscriptParam\"\n :display-article-param=\"displayArticleParam\"\n :display-wave-param=\"displayWaveParam\"\n :display-insert-code=\"displayInsertCode\"\n :display-auto-height=\"iFrameModel.toLowerCase().includes('large')\"\n @episode-choice-display=\"episodeChoiceDisplay = $event\"\n />\n\n <ShareModalPlayer\n v-if=\"isShareModal\"\n :embed-link=\"iFrame\"\n :embedly-link=\"iFrameSrc\"\n :direct-link=\"podcast\"\n @close=\"isShareModal = false\"\n />\n <button\n class=\"btn btn-primary w-fit-content mt-3\"\n @click=\"isShareModal = true\"\n >\n {{ t(\"Share the player\") }}\n </button>\n </div>\n </div>\n </template>\n <div v-else-if=\"exclusive && authenticated\">\n {{ t(\"Only organisation members can share the content\") }}\n </div>\n <div v-else-if=\"!authenticated\">\n {{ t(\"Only authenticated members can share the content\") }}\n </div>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { defineAsyncComponent, ref, Ref, computed, onBeforeMount } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst ShareModalPlayer = defineAsyncComponent(\n () => import(\"../../misc/modal/ShareModalPlayer.vue\"),\n);\nconst PlayerParameters = defineAsyncComponent(\n () => import(\"./PlayerParameters.vue\"),\n);\nconst SharePlayerTypes = defineAsyncComponent(\n () => import(\"./SharePlayerTypes.vue\"),\n);\nconst SharePlayerColors = defineAsyncComponent(\n () => import(\"./SharePlayerColors.vue\"),\n);\n\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n organisationId: { default: undefined, type: String },\n exclusive: { default: false, type: Boolean },\n notExclusive: { default: true, type: Boolean },\n})\n\n//Data \nconst typeCustomPlayer = ref(\"\");\nconst iFrameModel = ref(\"default\");\nconst isShareModal = ref(false);\nconst color = ref(\"#40a372\");\nconst theme = ref(\"#000000\");\nconst episodeChoiceDisplay = ref(\"number\");\nconst episodesNumber = ref(3);\nconst isVisible = ref(false);\nconst displayArticle = ref(true);\nconst displayTranscript = ref(true);\nconst displayWave = ref(false);\nconst playerAutoPlay = ref(false);\nconst insertCode = ref(false);\nconst autoHeight = ref(false);\nconst orgaAttributes : Ref<{ [key: string]: string | number | boolean | undefined }| undefined>= ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst generalStore = useGeneralStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst authenticated = computed(() => undefined !== authStore.authOrgaId);\nconst displayWaveParam = computed(() => \"default\" === iFrameModel.value || \"emission\" === iFrameModel.value);\nconst displayIsVisible = computed(() => displayChoiceAllEpisodes.value || isPodcastNotVisible.value);\nconst isPodcastNotVisible = computed(() => {\n return (\n undefined !== props.podcast &&\n !props.podcast.availability.visibility &&\n !isTypeEmission.value\n );\n});\nconst displayArticleParam = computed(() => {\n return (\n undefined !== props.podcast &&\n undefined !== props.podcast.article &&\n 0 !== props.podcast.article.length &&\n (\"default\" === iFrameModel.value ||\n \"large\" === iFrameModel.value ||\n \"largeMore\" === iFrameModel.value)\n );\n});\nconst displayInsertCode = computed(() => {\n let orgaResourceId = \"\";\n if (props.podcast) {\n orgaResourceId = props.podcast.organisation.id;\n }\n if (props.emission) {\n orgaResourceId = props.emission.orga.id;\n }\n if (props.playlist) {\n orgaResourceId = props.playlist.organisation?.id ?? \"\";\n }\n return orgaResourceId === authStore.authOrgaId;\n});\nconst displayTranscriptParam = computed(() => isTranscriptionAuthorize.value && (isDefault.value || isEmission.value));\nconst isTranscriptionAuthorize = computed(() => {\n if (!orgaAttributes.value) {\n return false;\n }\n return orgaAttributes.value &&\n Object.hasOwn(orgaAttributes.value, \"speechtotext.active\")\n ? (orgaAttributes.value[\"speechtotext.active\"] as boolean)\n : false;\n});\nconst displayChoiceAllEpisodes = computed(() => !props.podcast || isTypeEmission.value);\nconst isDefault = computed(() => \"default\" === iFrameModel.value);\nconst isEmission = computed(() => \"emission\" === iFrameModel.value);\nconst isLargeEmission = computed(() => \"emissionLarge\" === iFrameModel.value);\nconst isTypeEmission = computed(() => {\n return (\n isEmission.value ||\n isLargeEmission.value ||\n \"EMISSION\" === typeCustomPlayer.value\n );\n});\nconst isLiveReadyToRecord = computed(() => {\n if (props.podcast)\n return (\n undefined !== props.podcast.conferenceId &&\n 0 !== props.podcast.conferenceId &&\n props.podcast.processingStatus === \"READY_TO_RECORD\"\n );\n return false;\n});\n\nconst noAd = computed(() => {\n return (\n (props.podcast?.organisation.id !== props.organisationId &&\n \"NO\" === props.podcast?.monetisable) ||\n (\"UNDEFINED\" === props.podcast?.monetisable &&\n \"NO\" === props.podcast?.emission.monetisable)\n );\n});\nconst iFrameSrc = computed(() => {\n if (\"video\" === iFrameModel.value) {\n return (\n \"https://www.ultimedia.com/deliver/generic/iframe/mdtk/01009833/zone/1/showtitle/1/src/\" +\n props.podcast?.video?.videoId +\n \"/sound/true\"\n );\n }\n let url = [\"\"];\n const iFrameNumber =\n displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n url.push(`${apiStore.miniplayerUrl}miniplayer/`);\n if (!props.podcast && !props.playlist && props.emission) {\n url = constructEmissionUrl(url);\n } else if (props.playlist) {\n url = constructPlaylistUrl(url);\n } else if (props.emission && props.podcast) {\n url.push(`${iFrameModel.value}/`);\n if (isTypeEmission.value) {\n url.push(\n `${props.emission.emissionId}${iFrameNumber}/${props.podcast.podcastId}`,\n );\n } else {\n url.push(`${props.podcast.podcastId}`);\n }\n }\n\n return addUrlParameters(url).join(\"\");\n});\nconst iFrameHeight = computed(() => {\n switch (iFrameModel.value) {\n case \"video\":\n return \"281px\";\n case \"large\":\n if (props.podcast) return \"140px\";\n return \"350px\";\n case \"largeMore\":\n return \"210px\";\n case \"emissionLarge\":\n return \"350px\";\n case \"emission\":\n return \"540px\";\n case \"videoLive\":\n return \"450px\";\n default:\n return \"540px\";\n }\n});\nconst iFrame = computed(() => {\n const specialDigiteka = props.podcast?.video?.videoId\n ? 'allowfullscreen=\"true\" referrerpolicy=\"no-referrer-when-downgrade\"'\n : \"\";\n return `<iframe src=\"${iFrameSrc.value}\" width=\"100%\" height=\"${iFrameHeight.value}\" frameborder=\"0\" scrolling=\"no\" ${specialDigiteka} allow=\"clipboard-read; clipboard-write; autoplay\"></iframe>`;\n});\nconst dataTitle = computed(() => {\n if (props.podcast) return props.podcast.podcastId;\n if (props.emission) return props.emission.emissionId;\n if (props.playlist) return props.playlist.playlistId;\n return 0;\n});\n\n\nonBeforeMount(()=>initSharePlayer())\n\n\n//Methods\nasync function initSharePlayer() {\n orgaAttributes.value = await saveFetchStore.getOrgaAttributes(authStore.authOrgaId ?? \"\");\n initColor();\n if (isLiveReadyToRecord.value) {\n iFrameModel.value = \"large\";\n }\n if (\"true\" === props.podcast?.annotations?.[\"fromTTS\"]) {\n displayTranscript.value = false;\n }\n}\nfunction getIframeNumber(): string {\n return displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n}\nfunction constructEmissionUrl(url: Array<string>) {\n if (!props.emission) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"emission\");\n break;\n case \"large\":\n url.push(\"emissionLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.emission.emissionId}${getIframeNumber()}`);\n return url;\n}\nfunction constructPlaylistUrl(url: Array<string>) {\n if (!props.playlist) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"playlist\");\n break;\n case \"large\":\n url.push(\"playlistLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.playlist.playlistId}`);\n return url;\n}\nfunction addUrlParameters(url: Array<string>) {\n url.push(\"?distributorId=\" + props.organisationId);\n url.push(\n `&color=${color.value.substring(1)}&theme=${theme.value.substring(1)}`,\n );\n if (!displayArticle.value && displayArticleParam.value) {\n url.push(\"&article=false\");\n }\n if (!displayTranscript.value) {\n url.push(\"&transcript=false\");\n }\n if (!displayWave.value) {\n url.push(\"&wave=false\");\n }\n if (playerAutoPlay.value) {\n url.push(\"&autoplay=true\");\n }\n if (isVisible.value) {\n url.push(\"&key=\" + window.btoa(dataTitle.value.toString()));\n }\n if (insertCode.value) {\n url.push(\"&insertCode=true\");\n }\n if (autoHeight.value) {\n url.push(\"&autoHeight=true\");\n }\n return url;\n}\nfunction initColor(): void {\n if (!orgaAttributes.value) {\n return;\n }\n color.value = Object.hasOwn(orgaAttributes.value, \"COLOR\")\n ? (orgaAttributes.value.COLOR as string)\n : \"#40a372\";\n theme.value = Object.hasOwn(orgaAttributes.value, \"THEME\")\n ? (orgaAttributes.value.THEME as string)\n : \"#ffffff\";\n}\n</script>\n\n<style lang=\"scss\">\n\n@use \"../../../style/iframe\";\n\n.octopus-app {\n .sticker {\n align-self: center;\n background: var(--octopus-primary);\n padding: 0.5rem;\n transition: all 0.5s ease;\n color: white;\n font-weight: bold;\n letter-spacing: 1px;\n box-shadow: 10px 10px 34px -15px var(--octopus-shadow);\n border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;\n border: solid 2px var(--octopus-gray-text);\n\n &:hover {\n box-shadow: 2px 8px 4px -6px var(--octopus-shadow);\n background: transparent;\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n","<template>\n <section class=\"module-box overflow-visible\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"mb-3\">\n {{ t(\"Embed\") }}\n </h3>\n <div\n v-if=\"noAd && !generalStore.platformEducation\"\n class=\"sticker\"\n :title=\"t('You cannot insert advertising')\"\n >\n {{ t(\"No advertising\") }}\n </div>\n </div>\n <template v-if=\"!exclusive && (authenticated || notExclusive)\">\n <div class=\"d-flex\">\n <iframe\n id=\"miniplayerIframe\"\n title=\"Miniplayer\"\n allowfullscreen=\"true\"\n allow=\"clipboard-read; clipboard-write; autoplay\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n frameborder=\"0\"\n :src=\"iFrameSrc\"\n width=\"100%\"\n :height=\"iFrameHeight\"\n class=\"max-iframe mx-3\"\n />\n <div class=\"d-flex flex-column flex-grow-1\">\n <SharePlayerTypes\n v-model:i-frame-model=\"iFrameModel\"\n v-model:type-custom-player=\"typeCustomPlayer\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n :organisation-id=\"organisationId\"\n :is-live=\"isLiveReadyToRecord\"\n />\n <SharePlayerColors\n v-model:color=\"color\"\n v-model:theme=\"theme\"\n class=\"mt-3\"\n />\n <PlayerParameters\n v-model:display-article=\"displayArticle\"\n v-model:display-transcript=\"displayTranscript\"\n v-model:display-wave=\"displayWave\"\n v-model:is-visible=\"isVisible\"\n v-model:player-auto-play=\"playerAutoPlay\"\n v-model:episodes-number=\"episodesNumber\"\n v-model:insert-code=\"insertCode\"\n v-model:auto-height=\"autoHeight\"\n :display-is-visible=\"displayIsVisible\"\n :is-podcast-not-visible=\"isPodcastNotVisible\"\n :chose-number-episode=\"displayChoiceAllEpisodes\"\n :display-choice-all-episodes=\"displayChoiceAllEpisodes\"\n :display-transcript-param=\"displayTranscriptParam\"\n :display-article-param=\"displayArticleParam\"\n :display-wave-param=\"displayWaveParam\"\n :display-insert-code=\"displayInsertCode\"\n :display-auto-height=\"iFrameModel.toLowerCase().includes('large')\"\n @episode-choice-display=\"episodeChoiceDisplay = $event\"\n />\n\n <ShareModalPlayer\n v-if=\"isShareModal\"\n :embed-link=\"iFrame\"\n :embedly-link=\"iFrameSrc\"\n :direct-link=\"podcast\"\n @close=\"isShareModal = false\"\n />\n <button\n class=\"btn btn-primary w-fit-content mt-3\"\n @click=\"isShareModal = true\"\n >\n {{ t(\"Share the player\") }}\n </button>\n </div>\n </div>\n </template>\n <div v-else-if=\"exclusive && authenticated\">\n {{ t(\"Only organisation members can share the content\") }}\n </div>\n <div v-else-if=\"!authenticated\">\n {{ t(\"Only authenticated members can share the content\") }}\n </div>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { defineAsyncComponent, ref, Ref, computed, onBeforeMount } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst ShareModalPlayer = defineAsyncComponent(\n () => import(\"../../misc/modal/ShareModalPlayer.vue\"),\n);\nconst PlayerParameters = defineAsyncComponent(\n () => import(\"./PlayerParameters.vue\"),\n);\nconst SharePlayerTypes = defineAsyncComponent(\n () => import(\"./SharePlayerTypes.vue\"),\n);\nconst SharePlayerColors = defineAsyncComponent(\n () => import(\"./SharePlayerColors.vue\"),\n);\n\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n organisationId: { default: undefined, type: String },\n exclusive: { default: false, type: Boolean },\n notExclusive: { default: true, type: Boolean },\n})\n\n//Data \nconst typeCustomPlayer = ref(\"\");\nconst iFrameModel = ref(\"default\");\nconst isShareModal = ref(false);\nconst color = ref(\"#40a372\");\nconst theme = ref(\"#000000\");\nconst episodeChoiceDisplay = ref(\"number\");\nconst episodesNumber = ref(3);\nconst isVisible = ref(false);\nconst displayArticle = ref(true);\nconst displayTranscript = ref(true);\nconst displayWave = ref(false);\nconst playerAutoPlay = ref(false);\nconst insertCode = ref(false);\nconst autoHeight = ref(false);\nconst orgaAttributes : Ref<{ [key: string]: string | number | boolean | undefined }| undefined>= ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst generalStore = useGeneralStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst authenticated = computed(() => undefined !== authStore.authOrgaId);\nconst displayWaveParam = computed(() => \"default\" === iFrameModel.value || \"emission\" === iFrameModel.value);\nconst displayIsVisible = computed(() => displayChoiceAllEpisodes.value || isPodcastNotVisible.value);\nconst isPodcastNotVisible = computed(() => {\n return (\n undefined !== props.podcast &&\n !props.podcast.availability.visibility &&\n !isTypeEmission.value\n );\n});\nconst displayArticleParam = computed(() => {\n return (\n undefined !== props.podcast &&\n undefined !== props.podcast.article &&\n 0 !== props.podcast.article.length &&\n (\"default\" === iFrameModel.value ||\n \"large\" === iFrameModel.value ||\n \"largeMore\" === iFrameModel.value)\n );\n});\nconst displayInsertCode = computed(() => {\n let orgaResourceId = \"\";\n if (props.podcast) {\n orgaResourceId = props.podcast.organisation.id;\n }\n if (props.emission) {\n orgaResourceId = props.emission.orga.id;\n }\n if (props.playlist) {\n orgaResourceId = props.playlist.organisation?.id ?? \"\";\n }\n return orgaResourceId === authStore.authOrgaId;\n});\nconst displayTranscriptParam = computed(() => isTranscriptionAuthorize.value && (isDefault.value || isEmission.value));\nconst isTranscriptionAuthorize = computed(() => {\n if (!orgaAttributes.value) {\n return false;\n }\n return orgaAttributes.value &&\n Object.hasOwn(orgaAttributes.value, \"speechtotext.active\")\n ? (orgaAttributes.value[\"speechtotext.active\"] as boolean)\n : false;\n});\nconst displayChoiceAllEpisodes = computed(() => !props.podcast || isTypeEmission.value);\nconst isDefault = computed(() => \"default\" === iFrameModel.value);\nconst isEmission = computed(() => \"emission\" === iFrameModel.value);\nconst isLargeEmission = computed(() => \"emissionLarge\" === iFrameModel.value);\nconst isTypeEmission = computed(() => {\n return (\n isEmission.value ||\n isLargeEmission.value ||\n \"EMISSION\" === typeCustomPlayer.value\n );\n});\nconst isLiveReadyToRecord = computed(() => {\n if (props.podcast)\n return (\n undefined !== props.podcast.conferenceId &&\n 0 !== props.podcast.conferenceId &&\n props.podcast.processingStatus === \"READY_TO_RECORD\"\n );\n return false;\n});\n\nconst noAd = computed(() => {\n return (\n (props.podcast?.organisation.id !== props.organisationId &&\n \"NO\" === props.podcast?.monetisable) ||\n (\"UNDEFINED\" === props.podcast?.monetisable &&\n \"NO\" === props.podcast?.emission.monetisable)\n );\n});\nconst iFrameSrc = computed(() => {\n if (\"video\" === iFrameModel.value) {\n return (\n \"https://www.ultimedia.com/deliver/generic/iframe/mdtk/01009833/zone/1/showtitle/1/src/\" +\n props.podcast?.video?.videoId +\n \"/sound/true\"\n );\n }\n let url = [\"\"];\n const iFrameNumber =\n displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n url.push(`${apiStore.miniplayerUrl}miniplayer/`);\n if (!props.podcast && !props.playlist && props.emission) {\n url = constructEmissionUrl(url);\n } else if (props.playlist) {\n url = constructPlaylistUrl(url);\n } else if (props.emission && props.podcast) {\n url.push(`${iFrameModel.value}/`);\n if (isTypeEmission.value) {\n url.push(\n `${props.emission.emissionId}${iFrameNumber}/${props.podcast.podcastId}`,\n );\n } else {\n url.push(`${props.podcast.podcastId}`);\n }\n }\n\n return addUrlParameters(url).join(\"\");\n});\nconst iFrameHeight = computed(() => {\n switch (iFrameModel.value) {\n case \"video\":\n return \"281px\";\n case \"large\":\n if (props.podcast) return \"140px\";\n return \"350px\";\n case \"largeMore\":\n return \"210px\";\n case \"emissionLarge\":\n return \"350px\";\n case \"emission\":\n return \"540px\";\n case \"videoLive\":\n return \"450px\";\n default:\n return \"540px\";\n }\n});\nconst iFrame = computed(() => {\n const specialDigiteka = props.podcast?.video?.videoId\n ? 'allowfullscreen=\"true\" referrerpolicy=\"no-referrer-when-downgrade\"'\n : \"\";\n return `<iframe src=\"${iFrameSrc.value}\" width=\"100%\" height=\"${iFrameHeight.value}\" frameborder=\"0\" scrolling=\"no\" ${specialDigiteka} allow=\"clipboard-read; clipboard-write; autoplay\"></iframe>`;\n});\nconst dataTitle = computed(() => {\n if (props.podcast) return props.podcast.podcastId;\n if (props.emission) return props.emission.emissionId;\n if (props.playlist) return props.playlist.playlistId;\n return 0;\n});\n\n\nonBeforeMount(()=>initSharePlayer())\n\n\n//Methods\nasync function initSharePlayer() {\n orgaAttributes.value = await saveFetchStore.getOrgaAttributes(authStore.authOrgaId ?? \"\");\n initColor();\n if (isLiveReadyToRecord.value) {\n iFrameModel.value = \"large\";\n }\n if (\"true\" === props.podcast?.annotations?.[\"fromTTS\"]) {\n displayTranscript.value = false;\n }\n}\nfunction getIframeNumber(): string {\n return displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n}\nfunction constructEmissionUrl(url: Array<string>) {\n if (!props.emission) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"emission\");\n break;\n case \"large\":\n url.push(\"emissionLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.emission.emissionId}${getIframeNumber()}`);\n return url;\n}\nfunction constructPlaylistUrl(url: Array<string>) {\n if (!props.playlist) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"playlist\");\n break;\n case \"large\":\n url.push(\"playlistLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.playlist.playlistId}`);\n return url;\n}\nfunction addUrlParameters(url: Array<string>) {\n url.push(\"?distributorId=\" + props.organisationId);\n url.push(\n `&color=${color.value.substring(1)}&theme=${theme.value.substring(1)}`,\n );\n if (!displayArticle.value && displayArticleParam.value) {\n url.push(\"&article=false\");\n }\n if (!displayTranscript.value) {\n url.push(\"&transcript=false\");\n }\n if (!displayWave.value) {\n url.push(\"&wave=false\");\n }\n if (playerAutoPlay.value) {\n url.push(\"&autoplay=true\");\n }\n if (isVisible.value) {\n url.push(\"&key=\" + window.btoa(dataTitle.value.toString()));\n }\n if (insertCode.value) {\n url.push(\"&insertCode=true\");\n }\n if (autoHeight.value) {\n url.push(\"&autoHeight=true\");\n }\n return url;\n}\nfunction initColor(): void {\n if (!orgaAttributes.value) {\n return;\n }\n color.value = Object.hasOwn(orgaAttributes.value, \"COLOR\")\n ? (orgaAttributes.value.COLOR as string)\n : \"#40a372\";\n theme.value = Object.hasOwn(orgaAttributes.value, \"THEME\")\n ? (orgaAttributes.value.THEME as string)\n : \"#ffffff\";\n}\n</script>\n\n<style lang=\"scss\">\n\n@use \"../../../style/iframe\";\n\n.octopus-app {\n .sticker {\n align-self: center;\n background: var(--octopus-primary);\n padding: 0.5rem;\n transition: all 0.5s ease;\n color: white;\n font-weight: bold;\n letter-spacing: 1px;\n box-shadow: 10px 10px 34px -15px var(--octopus-shadow);\n border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;\n border: solid 2px var(--octopus-gray-text);\n\n &:hover {\n box-shadow: 2px 8px 4px -6px var(--octopus-shadow);\n background: transparent;\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
|
|
2
2
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
3
|
-
import { O as useApiStore, T as useSaveFetchStore, i as useAuthStore } from "./classicApi-
|
|
3
|
+
import { O as useApiStore, T as useSaveFetchStore, i as useAuthStore } from "./classicApi-xjOqAovv.mjs";
|
|
4
4
|
import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
|
|
5
5
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, onBeforeMount, openBlock, ref, toDisplayString } from "vue";
|
|
6
6
|
import { useI18n } from "vue-i18n";
|
|
@@ -35,9 +35,9 @@ var SharePlayer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
35
35
|
},
|
|
36
36
|
setup(__props, { expose: __expose }) {
|
|
37
37
|
__expose();
|
|
38
|
-
const ShareModalPlayer = defineAsyncComponent(() => import("./ShareModalPlayer-
|
|
38
|
+
const ShareModalPlayer = defineAsyncComponent(() => import("./ShareModalPlayer-B0wPlpdU.mjs"));
|
|
39
39
|
const PlayerParameters = defineAsyncComponent(() => import("./PlayerParameters-fpNIoYO9.mjs"));
|
|
40
|
-
const SharePlayerTypes = defineAsyncComponent(() => import("./SharePlayerTypes-
|
|
40
|
+
const SharePlayerTypes = defineAsyncComponent(() => import("./SharePlayerTypes-cUgCFZ65.mjs"));
|
|
41
41
|
const SharePlayerColors = defineAsyncComponent(() => import("./SharePlayerColors-D-9MoYm6.mjs"));
|
|
42
42
|
const props = __props;
|
|
43
43
|
const typeCustomPlayer = ref("");
|
|
@@ -375,4 +375,4 @@ var SharePlayer_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ShareP
|
|
|
375
375
|
//#endregion
|
|
376
376
|
export { SharePlayer_exports as n, SharePlayer_default as t };
|
|
377
377
|
|
|
378
|
-
//# sourceMappingURL=SharePlayer-
|
|
378
|
+
//# sourceMappingURL=SharePlayer-Oy1pWckd.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharePlayer-Oy1pWckd.mjs","names":[],"sources":["../src/components/display/sharing/SharePlayer.vue","../src/components/display/sharing/SharePlayer.vue"],"sourcesContent":["<template>\n <section class=\"module-box overflow-visible\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"mb-3\">\n {{ t(\"Embed\") }}\n </h3>\n <div\n v-if=\"noAd && !generalStore.platformEducation\"\n class=\"sticker\"\n :title=\"t('You cannot insert advertising')\"\n >\n {{ t(\"No advertising\") }}\n </div>\n </div>\n <template v-if=\"!exclusive && (authenticated || notExclusive)\">\n <div class=\"d-flex\">\n <iframe\n id=\"miniplayerIframe\"\n title=\"Miniplayer\"\n allowfullscreen=\"true\"\n allow=\"clipboard-read; clipboard-write; autoplay\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n frameborder=\"0\"\n :src=\"iFrameSrc\"\n width=\"100%\"\n :height=\"iFrameHeight\"\n class=\"max-iframe mx-3\"\n />\n <div class=\"d-flex flex-column flex-grow-1\">\n <SharePlayerTypes\n v-model:i-frame-model=\"iFrameModel\"\n v-model:type-custom-player=\"typeCustomPlayer\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n :organisation-id=\"organisationId\"\n :is-live=\"isLiveReadyToRecord\"\n />\n <SharePlayerColors\n v-model:color=\"color\"\n v-model:theme=\"theme\"\n class=\"mt-3\"\n />\n <PlayerParameters\n v-model:display-article=\"displayArticle\"\n v-model:display-transcript=\"displayTranscript\"\n v-model:display-wave=\"displayWave\"\n v-model:is-visible=\"isVisible\"\n v-model:player-auto-play=\"playerAutoPlay\"\n v-model:episodes-number=\"episodesNumber\"\n v-model:insert-code=\"insertCode\"\n v-model:auto-height=\"autoHeight\"\n :display-is-visible=\"displayIsVisible\"\n :is-podcast-not-visible=\"isPodcastNotVisible\"\n :chose-number-episode=\"displayChoiceAllEpisodes\"\n :display-choice-all-episodes=\"displayChoiceAllEpisodes\"\n :display-transcript-param=\"displayTranscriptParam\"\n :display-article-param=\"displayArticleParam\"\n :display-wave-param=\"displayWaveParam\"\n :display-insert-code=\"displayInsertCode\"\n :display-auto-height=\"iFrameModel.toLowerCase().includes('large')\"\n @episode-choice-display=\"episodeChoiceDisplay = $event\"\n />\n\n <ShareModalPlayer\n v-if=\"isShareModal\"\n :embed-link=\"iFrame\"\n :embedly-link=\"iFrameSrc\"\n :direct-link=\"podcast\"\n @close=\"isShareModal = false\"\n />\n <button\n class=\"btn btn-primary w-fit-content mt-3\"\n @click=\"isShareModal = true\"\n >\n {{ t(\"Share the player\") }}\n </button>\n </div>\n </div>\n </template>\n <div v-else-if=\"exclusive && authenticated\">\n {{ t(\"Only organisation members can share the content\") }}\n </div>\n <div v-else-if=\"!authenticated\">\n {{ t(\"Only authenticated members can share the content\") }}\n </div>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { defineAsyncComponent, ref, Ref, computed, onBeforeMount } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst ShareModalPlayer = defineAsyncComponent(\n () => import(\"../../misc/modal/ShareModalPlayer.vue\"),\n);\nconst PlayerParameters = defineAsyncComponent(\n () => import(\"./PlayerParameters.vue\"),\n);\nconst SharePlayerTypes = defineAsyncComponent(\n () => import(\"./SharePlayerTypes.vue\"),\n);\nconst SharePlayerColors = defineAsyncComponent(\n () => import(\"./SharePlayerColors.vue\"),\n);\n\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n organisationId: { default: undefined, type: String },\n exclusive: { default: false, type: Boolean },\n notExclusive: { default: true, type: Boolean },\n})\n\n//Data \nconst typeCustomPlayer = ref(\"\");\nconst iFrameModel = ref(\"default\");\nconst isShareModal = ref(false);\nconst color = ref(\"#40a372\");\nconst theme = ref(\"#000000\");\nconst episodeChoiceDisplay = ref(\"number\");\nconst episodesNumber = ref(3);\nconst isVisible = ref(false);\nconst displayArticle = ref(true);\nconst displayTranscript = ref(true);\nconst displayWave = ref(false);\nconst playerAutoPlay = ref(false);\nconst insertCode = ref(false);\nconst autoHeight = ref(false);\nconst orgaAttributes : Ref<{ [key: string]: string | number | boolean | undefined }| undefined>= ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst generalStore = useGeneralStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst authenticated = computed(() => undefined !== authStore.authOrgaId);\nconst displayWaveParam = computed(() => \"default\" === iFrameModel.value || \"emission\" === iFrameModel.value);\nconst displayIsVisible = computed(() => displayChoiceAllEpisodes.value || isPodcastNotVisible.value);\nconst isPodcastNotVisible = computed(() => {\n return (\n undefined !== props.podcast &&\n !props.podcast.availability.visibility &&\n !isTypeEmission.value\n );\n});\nconst displayArticleParam = computed(() => {\n return (\n undefined !== props.podcast &&\n undefined !== props.podcast.article &&\n 0 !== props.podcast.article.length &&\n (\"default\" === iFrameModel.value ||\n \"large\" === iFrameModel.value ||\n \"largeMore\" === iFrameModel.value)\n );\n});\nconst displayInsertCode = computed(() => {\n let orgaResourceId = \"\";\n if (props.podcast) {\n orgaResourceId = props.podcast.organisation.id;\n }\n if (props.emission) {\n orgaResourceId = props.emission.orga.id;\n }\n if (props.playlist) {\n orgaResourceId = props.playlist.organisation?.id ?? \"\";\n }\n return orgaResourceId === authStore.authOrgaId;\n});\nconst displayTranscriptParam = computed(() => isTranscriptionAuthorize.value && (isDefault.value || isEmission.value));\nconst isTranscriptionAuthorize = computed(() => {\n if (!orgaAttributes.value) {\n return false;\n }\n return orgaAttributes.value &&\n Object.hasOwn(orgaAttributes.value, \"speechtotext.active\")\n ? (orgaAttributes.value[\"speechtotext.active\"] as boolean)\n : false;\n});\nconst displayChoiceAllEpisodes = computed(() => !props.podcast || isTypeEmission.value);\nconst isDefault = computed(() => \"default\" === iFrameModel.value);\nconst isEmission = computed(() => \"emission\" === iFrameModel.value);\nconst isLargeEmission = computed(() => \"emissionLarge\" === iFrameModel.value);\nconst isTypeEmission = computed(() => {\n return (\n isEmission.value ||\n isLargeEmission.value ||\n \"EMISSION\" === typeCustomPlayer.value\n );\n});\nconst isLiveReadyToRecord = computed(() => {\n if (props.podcast)\n return (\n undefined !== props.podcast.conferenceId &&\n 0 !== props.podcast.conferenceId &&\n props.podcast.processingStatus === \"READY_TO_RECORD\"\n );\n return false;\n});\n\nconst noAd = computed(() => {\n return (\n (props.podcast?.organisation.id !== props.organisationId &&\n \"NO\" === props.podcast?.monetisable) ||\n (\"UNDEFINED\" === props.podcast?.monetisable &&\n \"NO\" === props.podcast?.emission.monetisable)\n );\n});\nconst iFrameSrc = computed(() => {\n if (\"video\" === iFrameModel.value) {\n return (\n \"https://www.ultimedia.com/deliver/generic/iframe/mdtk/01009833/zone/1/showtitle/1/src/\" +\n props.podcast?.video?.videoId +\n \"/sound/true\"\n );\n }\n let url = [\"\"];\n const iFrameNumber =\n displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n url.push(`${apiStore.miniplayerUrl}miniplayer/`);\n if (!props.podcast && !props.playlist && props.emission) {\n url = constructEmissionUrl(url);\n } else if (props.playlist) {\n url = constructPlaylistUrl(url);\n } else if (props.emission && props.podcast) {\n url.push(`${iFrameModel.value}/`);\n if (isTypeEmission.value) {\n url.push(\n `${props.emission.emissionId}${iFrameNumber}/${props.podcast.podcastId}`,\n );\n } else {\n url.push(`${props.podcast.podcastId}`);\n }\n }\n\n return addUrlParameters(url).join(\"\");\n});\nconst iFrameHeight = computed(() => {\n switch (iFrameModel.value) {\n case \"video\":\n return \"281px\";\n case \"large\":\n if (props.podcast) return \"140px\";\n return \"350px\";\n case \"largeMore\":\n return \"210px\";\n case \"emissionLarge\":\n return \"350px\";\n case \"emission\":\n return \"540px\";\n case \"videoLive\":\n return \"450px\";\n default:\n return \"540px\";\n }\n});\nconst iFrame = computed(() => {\n const specialDigiteka = props.podcast?.video?.videoId\n ? 'allowfullscreen=\"true\" referrerpolicy=\"no-referrer-when-downgrade\"'\n : \"\";\n return `<iframe src=\"${iFrameSrc.value}\" width=\"100%\" height=\"${iFrameHeight.value}\" frameborder=\"0\" scrolling=\"no\" ${specialDigiteka} allow=\"clipboard-read; clipboard-write; autoplay\"></iframe>`;\n});\nconst dataTitle = computed(() => {\n if (props.podcast) return props.podcast.podcastId;\n if (props.emission) return props.emission.emissionId;\n if (props.playlist) return props.playlist.playlistId;\n return 0;\n});\n\n\nonBeforeMount(()=>initSharePlayer())\n\n\n//Methods\nasync function initSharePlayer() {\n orgaAttributes.value = await saveFetchStore.getOrgaAttributes(authStore.authOrgaId ?? \"\");\n initColor();\n if (isLiveReadyToRecord.value) {\n iFrameModel.value = \"large\";\n }\n if (\"true\" === props.podcast?.annotations?.[\"fromTTS\"]) {\n displayTranscript.value = false;\n }\n}\nfunction getIframeNumber(): string {\n return displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n}\nfunction constructEmissionUrl(url: Array<string>) {\n if (!props.emission) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"emission\");\n break;\n case \"large\":\n url.push(\"emissionLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.emission.emissionId}${getIframeNumber()}`);\n return url;\n}\nfunction constructPlaylistUrl(url: Array<string>) {\n if (!props.playlist) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"playlist\");\n break;\n case \"large\":\n url.push(\"playlistLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.playlist.playlistId}`);\n return url;\n}\nfunction addUrlParameters(url: Array<string>) {\n url.push(\"?distributorId=\" + props.organisationId);\n url.push(\n `&color=${color.value.substring(1)}&theme=${theme.value.substring(1)}`,\n );\n if (!displayArticle.value && displayArticleParam.value) {\n url.push(\"&article=false\");\n }\n if (!displayTranscript.value) {\n url.push(\"&transcript=false\");\n }\n if (!displayWave.value) {\n url.push(\"&wave=false\");\n }\n if (playerAutoPlay.value) {\n url.push(\"&autoplay=true\");\n }\n if (isVisible.value) {\n url.push(\"&key=\" + window.btoa(dataTitle.value.toString()));\n }\n if (insertCode.value) {\n url.push(\"&insertCode=true\");\n }\n if (autoHeight.value) {\n url.push(\"&autoHeight=true\");\n }\n return url;\n}\nfunction initColor(): void {\n if (!orgaAttributes.value) {\n return;\n }\n color.value = Object.hasOwn(orgaAttributes.value, \"COLOR\")\n ? (orgaAttributes.value.COLOR as string)\n : \"#40a372\";\n theme.value = Object.hasOwn(orgaAttributes.value, \"THEME\")\n ? (orgaAttributes.value.THEME as string)\n : \"#ffffff\";\n}\n</script>\n\n<style lang=\"scss\">\n\n@use \"../../../style/iframe\";\n\n.octopus-app {\n .sticker {\n align-self: center;\n background: var(--octopus-primary);\n padding: 0.5rem;\n transition: all 0.5s ease;\n color: white;\n font-weight: bold;\n letter-spacing: 1px;\n box-shadow: 10px 10px 34px -15px var(--octopus-shadow);\n border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;\n border: solid 2px var(--octopus-gray-text);\n\n &:hover {\n box-shadow: 2px 8px 4px -6px var(--octopus-shadow);\n background: transparent;\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n","<template>\n <section class=\"module-box overflow-visible\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"mb-3\">\n {{ t(\"Embed\") }}\n </h3>\n <div\n v-if=\"noAd && !generalStore.platformEducation\"\n class=\"sticker\"\n :title=\"t('You cannot insert advertising')\"\n >\n {{ t(\"No advertising\") }}\n </div>\n </div>\n <template v-if=\"!exclusive && (authenticated || notExclusive)\">\n <div class=\"d-flex\">\n <iframe\n id=\"miniplayerIframe\"\n title=\"Miniplayer\"\n allowfullscreen=\"true\"\n allow=\"clipboard-read; clipboard-write; autoplay\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n frameborder=\"0\"\n :src=\"iFrameSrc\"\n width=\"100%\"\n :height=\"iFrameHeight\"\n class=\"max-iframe mx-3\"\n />\n <div class=\"d-flex flex-column flex-grow-1\">\n <SharePlayerTypes\n v-model:i-frame-model=\"iFrameModel\"\n v-model:type-custom-player=\"typeCustomPlayer\"\n :podcast=\"podcast\"\n :emission=\"emission\"\n :playlist=\"playlist\"\n :organisation-id=\"organisationId\"\n :is-live=\"isLiveReadyToRecord\"\n />\n <SharePlayerColors\n v-model:color=\"color\"\n v-model:theme=\"theme\"\n class=\"mt-3\"\n />\n <PlayerParameters\n v-model:display-article=\"displayArticle\"\n v-model:display-transcript=\"displayTranscript\"\n v-model:display-wave=\"displayWave\"\n v-model:is-visible=\"isVisible\"\n v-model:player-auto-play=\"playerAutoPlay\"\n v-model:episodes-number=\"episodesNumber\"\n v-model:insert-code=\"insertCode\"\n v-model:auto-height=\"autoHeight\"\n :display-is-visible=\"displayIsVisible\"\n :is-podcast-not-visible=\"isPodcastNotVisible\"\n :chose-number-episode=\"displayChoiceAllEpisodes\"\n :display-choice-all-episodes=\"displayChoiceAllEpisodes\"\n :display-transcript-param=\"displayTranscriptParam\"\n :display-article-param=\"displayArticleParam\"\n :display-wave-param=\"displayWaveParam\"\n :display-insert-code=\"displayInsertCode\"\n :display-auto-height=\"iFrameModel.toLowerCase().includes('large')\"\n @episode-choice-display=\"episodeChoiceDisplay = $event\"\n />\n\n <ShareModalPlayer\n v-if=\"isShareModal\"\n :embed-link=\"iFrame\"\n :embedly-link=\"iFrameSrc\"\n :direct-link=\"podcast\"\n @close=\"isShareModal = false\"\n />\n <button\n class=\"btn btn-primary w-fit-content mt-3\"\n @click=\"isShareModal = true\"\n >\n {{ t(\"Share the player\") }}\n </button>\n </div>\n </div>\n </template>\n <div v-else-if=\"exclusive && authenticated\">\n {{ t(\"Only organisation members can share the content\") }}\n </div>\n <div v-else-if=\"!authenticated\">\n {{ t(\"Only authenticated members can share the content\") }}\n </div>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { defineAsyncComponent, ref, Ref, computed, onBeforeMount } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst ShareModalPlayer = defineAsyncComponent(\n () => import(\"../../misc/modal/ShareModalPlayer.vue\"),\n);\nconst PlayerParameters = defineAsyncComponent(\n () => import(\"./PlayerParameters.vue\"),\n);\nconst SharePlayerTypes = defineAsyncComponent(\n () => import(\"./SharePlayerTypes.vue\"),\n);\nconst SharePlayerColors = defineAsyncComponent(\n () => import(\"./SharePlayerColors.vue\"),\n);\n\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n emission: { default: undefined, type: Object as () => Emission },\n playlist: { default: undefined, type: Object as () => Playlist },\n organisationId: { default: undefined, type: String },\n exclusive: { default: false, type: Boolean },\n notExclusive: { default: true, type: Boolean },\n})\n\n//Data \nconst typeCustomPlayer = ref(\"\");\nconst iFrameModel = ref(\"default\");\nconst isShareModal = ref(false);\nconst color = ref(\"#40a372\");\nconst theme = ref(\"#000000\");\nconst episodeChoiceDisplay = ref(\"number\");\nconst episodesNumber = ref(3);\nconst isVisible = ref(false);\nconst displayArticle = ref(true);\nconst displayTranscript = ref(true);\nconst displayWave = ref(false);\nconst playerAutoPlay = ref(false);\nconst insertCode = ref(false);\nconst autoHeight = ref(false);\nconst orgaAttributes : Ref<{ [key: string]: string | number | boolean | undefined }| undefined>= ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst apiStore = useApiStore();\nconst generalStore = useGeneralStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst authenticated = computed(() => undefined !== authStore.authOrgaId);\nconst displayWaveParam = computed(() => \"default\" === iFrameModel.value || \"emission\" === iFrameModel.value);\nconst displayIsVisible = computed(() => displayChoiceAllEpisodes.value || isPodcastNotVisible.value);\nconst isPodcastNotVisible = computed(() => {\n return (\n undefined !== props.podcast &&\n !props.podcast.availability.visibility &&\n !isTypeEmission.value\n );\n});\nconst displayArticleParam = computed(() => {\n return (\n undefined !== props.podcast &&\n undefined !== props.podcast.article &&\n 0 !== props.podcast.article.length &&\n (\"default\" === iFrameModel.value ||\n \"large\" === iFrameModel.value ||\n \"largeMore\" === iFrameModel.value)\n );\n});\nconst displayInsertCode = computed(() => {\n let orgaResourceId = \"\";\n if (props.podcast) {\n orgaResourceId = props.podcast.organisation.id;\n }\n if (props.emission) {\n orgaResourceId = props.emission.orga.id;\n }\n if (props.playlist) {\n orgaResourceId = props.playlist.organisation?.id ?? \"\";\n }\n return orgaResourceId === authStore.authOrgaId;\n});\nconst displayTranscriptParam = computed(() => isTranscriptionAuthorize.value && (isDefault.value || isEmission.value));\nconst isTranscriptionAuthorize = computed(() => {\n if (!orgaAttributes.value) {\n return false;\n }\n return orgaAttributes.value &&\n Object.hasOwn(orgaAttributes.value, \"speechtotext.active\")\n ? (orgaAttributes.value[\"speechtotext.active\"] as boolean)\n : false;\n});\nconst displayChoiceAllEpisodes = computed(() => !props.podcast || isTypeEmission.value);\nconst isDefault = computed(() => \"default\" === iFrameModel.value);\nconst isEmission = computed(() => \"emission\" === iFrameModel.value);\nconst isLargeEmission = computed(() => \"emissionLarge\" === iFrameModel.value);\nconst isTypeEmission = computed(() => {\n return (\n isEmission.value ||\n isLargeEmission.value ||\n \"EMISSION\" === typeCustomPlayer.value\n );\n});\nconst isLiveReadyToRecord = computed(() => {\n if (props.podcast)\n return (\n undefined !== props.podcast.conferenceId &&\n 0 !== props.podcast.conferenceId &&\n props.podcast.processingStatus === \"READY_TO_RECORD\"\n );\n return false;\n});\n\nconst noAd = computed(() => {\n return (\n (props.podcast?.organisation.id !== props.organisationId &&\n \"NO\" === props.podcast?.monetisable) ||\n (\"UNDEFINED\" === props.podcast?.monetisable &&\n \"NO\" === props.podcast?.emission.monetisable)\n );\n});\nconst iFrameSrc = computed(() => {\n if (\"video\" === iFrameModel.value) {\n return (\n \"https://www.ultimedia.com/deliver/generic/iframe/mdtk/01009833/zone/1/showtitle/1/src/\" +\n props.podcast?.video?.videoId +\n \"/sound/true\"\n );\n }\n let url = [\"\"];\n const iFrameNumber =\n displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n url.push(`${apiStore.miniplayerUrl}miniplayer/`);\n if (!props.podcast && !props.playlist && props.emission) {\n url = constructEmissionUrl(url);\n } else if (props.playlist) {\n url = constructPlaylistUrl(url);\n } else if (props.emission && props.podcast) {\n url.push(`${iFrameModel.value}/`);\n if (isTypeEmission.value) {\n url.push(\n `${props.emission.emissionId}${iFrameNumber}/${props.podcast.podcastId}`,\n );\n } else {\n url.push(`${props.podcast.podcastId}`);\n }\n }\n\n return addUrlParameters(url).join(\"\");\n});\nconst iFrameHeight = computed(() => {\n switch (iFrameModel.value) {\n case \"video\":\n return \"281px\";\n case \"large\":\n if (props.podcast) return \"140px\";\n return \"350px\";\n case \"largeMore\":\n return \"210px\";\n case \"emissionLarge\":\n return \"350px\";\n case \"emission\":\n return \"540px\";\n case \"videoLive\":\n return \"450px\";\n default:\n return \"540px\";\n }\n});\nconst iFrame = computed(() => {\n const specialDigiteka = props.podcast?.video?.videoId\n ? 'allowfullscreen=\"true\" referrerpolicy=\"no-referrer-when-downgrade\"'\n : \"\";\n return `<iframe src=\"${iFrameSrc.value}\" width=\"100%\" height=\"${iFrameHeight.value}\" frameborder=\"0\" scrolling=\"no\" ${specialDigiteka} allow=\"clipboard-read; clipboard-write; autoplay\"></iframe>`;\n});\nconst dataTitle = computed(() => {\n if (props.podcast) return props.podcast.podcastId;\n if (props.emission) return props.emission.emissionId;\n if (props.playlist) return props.playlist.playlistId;\n return 0;\n});\n\n\nonBeforeMount(()=>initSharePlayer())\n\n\n//Methods\nasync function initSharePlayer() {\n orgaAttributes.value = await saveFetchStore.getOrgaAttributes(authStore.authOrgaId ?? \"\");\n initColor();\n if (isLiveReadyToRecord.value) {\n iFrameModel.value = \"large\";\n }\n if (\"true\" === props.podcast?.annotations?.[\"fromTTS\"]) {\n displayTranscript.value = false;\n }\n}\nfunction getIframeNumber(): string {\n return displayChoiceAllEpisodes.value && \"all\" === episodeChoiceDisplay.value\n ? \"/0\"\n : \"/\" + episodesNumber.value;\n}\nfunction constructEmissionUrl(url: Array<string>) {\n if (!props.emission) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"emission\");\n break;\n case \"large\":\n url.push(\"emissionLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.emission.emissionId}${getIframeNumber()}`);\n return url;\n}\nfunction constructPlaylistUrl(url: Array<string>) {\n if (!props.playlist) {\n return [];\n }\n switch (iFrameModel.value) {\n case \"default\":\n url.push(\"playlist\");\n break;\n case \"large\":\n url.push(\"playlistLarge\");\n break;\n default:\n url.push(`${iFrameModel.value}`);\n break;\n }\n url.push(`/${props.playlist.playlistId}`);\n return url;\n}\nfunction addUrlParameters(url: Array<string>) {\n url.push(\"?distributorId=\" + props.organisationId);\n url.push(\n `&color=${color.value.substring(1)}&theme=${theme.value.substring(1)}`,\n );\n if (!displayArticle.value && displayArticleParam.value) {\n url.push(\"&article=false\");\n }\n if (!displayTranscript.value) {\n url.push(\"&transcript=false\");\n }\n if (!displayWave.value) {\n url.push(\"&wave=false\");\n }\n if (playerAutoPlay.value) {\n url.push(\"&autoplay=true\");\n }\n if (isVisible.value) {\n url.push(\"&key=\" + window.btoa(dataTitle.value.toString()));\n }\n if (insertCode.value) {\n url.push(\"&insertCode=true\");\n }\n if (autoHeight.value) {\n url.push(\"&autoHeight=true\");\n }\n return url;\n}\nfunction initColor(): void {\n if (!orgaAttributes.value) {\n return;\n }\n color.value = Object.hasOwn(orgaAttributes.value, \"COLOR\")\n ? (orgaAttributes.value.COLOR as string)\n : \"#40a372\";\n theme.value = Object.hasOwn(orgaAttributes.value, \"THEME\")\n ? (orgaAttributes.value.THEME as string)\n : \"#ffffff\";\n}\n</script>\n\n<style lang=\"scss\">\n\n@use \"../../../style/iframe\";\n\n.octopus-app {\n .sticker {\n align-self: center;\n background: var(--octopus-primary);\n padding: 0.5rem;\n transition: all 0.5s ease;\n color: white;\n font-weight: bold;\n letter-spacing: 1px;\n box-shadow: 10px 10px 34px -15px var(--octopus-shadow);\n border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;\n border: solid 2px var(--octopus-gray-text);\n\n &:hover {\n box-shadow: 2px 8px 4px -6px var(--octopus-shadow);\n background: transparent;\n color: var(--octopus-primary);\n }\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
2
|
-
import { O as useApiStore, T as useSaveFetchStore, i as useAuthStore } from "./classicApi-
|
|
2
|
+
import { O as useApiStore, T as useSaveFetchStore, i as useAuthStore } from "./classicApi-xjOqAovv.mjs";
|
|
3
3
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, onBeforeMount, openBlock, ref, toDisplayString } from "vue";
|
|
4
4
|
import { useI18n } from "vue-i18n";
|
|
5
5
|
//#region src/components/display/sharing/SharePlayerRadio.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -17,7 +17,7 @@ var SharePlayerRadio_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
17
17
|
},
|
|
18
18
|
setup(__props, { expose: __expose }) {
|
|
19
19
|
__expose();
|
|
20
|
-
const ShareModalPlayer = defineAsyncComponent(() => import("./ShareModalPlayer-
|
|
20
|
+
const ShareModalPlayer = defineAsyncComponent(() => import("./ShareModalPlayer-B0wPlpdU.mjs"));
|
|
21
21
|
const SharePlayerColors = defineAsyncComponent(() => import("./SharePlayerColors-D-9MoYm6.mjs"));
|
|
22
22
|
const PlayerCommonParameters = defineAsyncComponent(() => import("./PlayerCommonParameters-Dn-OIiO8.mjs"));
|
|
23
23
|
const props = __props;
|
|
@@ -124,4 +124,4 @@ var SharePlayerRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(S
|
|
|
124
124
|
//#endregion
|
|
125
125
|
export { SharePlayerRadio_default as default };
|
|
126
126
|
|
|
127
|
-
//# sourceMappingURL=SharePlayerRadio-
|
|
127
|
+
//# sourceMappingURL=SharePlayerRadio-CI6glNuI.mjs.map
|