@saooti/octopus-sdk 42.3.0 → 42.3.1

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.
Files changed (615) hide show
  1. package/dist/{AdvancedSearch-DEh3iiuK.mjs → AdvancedSearch-BTbYmlMm.mjs} +8 -8
  2. package/dist/AdvancedSearch-C6BJzvGT.mjs.map +1 -0
  3. package/dist/AdvancedSearch-ChnJq71j.mjs.map +1 -0
  4. package/dist/AdvancedSearch-ChtUj3vS.mjs.map +1 -0
  5. package/dist/AdvancedSearch-D-9o5KzI.mjs.map +1 -0
  6. package/dist/AdvancedSearch-DH5YTENK.mjs.map +1 -0
  7. package/dist/AdvancedSearch-DN3WFduh.mjs.map +1 -0
  8. package/dist/AdvancedSearch-EpYd6K3d.mjs.map +1 -0
  9. package/dist/AdvancedSearch-PRJyRSID.mjs.map +1 -0
  10. package/dist/AdvancedSearch-_E2nwQ-A.mjs.map +1 -0
  11. package/dist/AdvancedSearch-cLjakm-6.mjs.map +1 -0
  12. package/dist/AdvancedSearch-k-fQfSBk.mjs.map +1 -0
  13. package/dist/AdvancedSearch-zFJq-WlO.mjs.map +1 -0
  14. package/dist/CategoryChooser-CSUjIA0D.mjs.map +1 -0
  15. package/dist/{CategoryChooser-CeF4n-nw.mjs → CategoryChooser-fAUMJNHu.mjs} +1 -1
  16. package/dist/CategoryFilter-B0S_nCvS.mjs.map +1 -0
  17. package/dist/CategoryFilter-BVrLO_pV.mjs.map +1 -0
  18. package/dist/{CategoryFilter-Djmal5bY.mjs → CategoryFilter-CsYCvEnz.mjs} +3 -3
  19. package/dist/CategoryFilter-DVwCpHLx.mjs.map +1 -0
  20. package/dist/CategoryList-B_9GG6Z9.mjs.map +1 -0
  21. package/dist/{CategoryList-Dksp79Lm.mjs → CategoryList-CDoIfrDw.mjs} +2 -2
  22. package/dist/CategoryList-CUae_phb.mjs.map +1 -0
  23. package/dist/CategoryList-DxR0fpKd.mjs.map +1 -0
  24. package/dist/CategoryPage-C7aKDtgs.mjs.map +1 -0
  25. package/dist/{CategoryPage-DC8fMny_.mjs → CategoryPage-Cl5Yuxnu.mjs} +2 -2
  26. package/dist/CategoryPage-DlnAp05t.mjs.map +1 -0
  27. package/dist/CategoryPage-Dlq5XQBS.mjs.map +1 -0
  28. package/dist/{CategorySearchFilter-KVYBscdd.mjs → CategorySearchFilter-Cce5zxZB.mjs} +1 -1
  29. package/dist/CategorySearchFilter-EULpSE2e.mjs.map +1 -0
  30. package/dist/ChapteringModal-BplEGZj2.mjs.map +1 -0
  31. package/dist/ChapteringModal-C9yuW_IU.mjs.map +1 -0
  32. package/dist/{ChapteringModal-Be9FF1yz.mjs → ChapteringModal-DiiVSG7s.mjs} +1 -1
  33. package/dist/{CheckIdentityModal-nMszYOsW.mjs → CheckIdentityModal-BrnYeGdk.mjs} +3 -3
  34. package/dist/CheckIdentityModal-BtGdsv2v.mjs.map +1 -0
  35. package/dist/CheckIdentityModal-CpRO7ehH.mjs.map +1 -0
  36. package/dist/CheckIdentityModal-Cry9ra4J.mjs.map +1 -0
  37. package/dist/ClassicDatePicker--q1yYb-S.mjs.map +1 -0
  38. package/dist/ClassicDatePicker-4ouU5ov9.mjs.map +1 -0
  39. package/dist/ClassicDatePicker-B8bI9QfF.mjs.map +1 -0
  40. package/dist/ClassicDatePicker-BTJWityQ.mjs +186 -0
  41. package/dist/ClassicDatePicker-CChR9LBd.mjs.map +1 -0
  42. package/dist/ClassicDatePicker-CopJVkF0.mjs.map +1 -0
  43. package/dist/ClassicDatePicker-DgcJCevR.mjs.map +1 -0
  44. package/dist/ClassicDatePicker-NxGNQxHE.mjs.map +1 -0
  45. package/dist/ClassicDatePicker-dgdGXcRk.mjs.map +1 -0
  46. package/dist/{ClassicEmojiPicker-B4TAlZvo.mjs → ClassicEmojiPicker-C0gm-DA2.mjs} +1 -1
  47. package/dist/ClassicEmojiPicker-CJZD8H7L.mjs.map +1 -0
  48. package/dist/{ClassicHelpButton-DT7T8tMe.mjs → ClassicHelpButton-BnRLmYuh.mjs} +1 -1
  49. package/dist/ClassicHelpButton-Qb4AwvWI.mjs.map +1 -0
  50. package/dist/{ClassicInputText-DJ5kURGM.mjs → ClassicInputText-YsntJkHk.mjs} +1 -1
  51. package/dist/ClassicInputText-npkVSUoH.mjs.map +1 -0
  52. package/dist/ClassicMultiselect-2I2K-o4R.mjs.map +1 -0
  53. package/dist/{ClassicMultiselect-CDHdJjjV.mjs → ClassicMultiselect-C0yzVQ8Y.mjs} +1 -1
  54. package/dist/{ClassicNotifications-DEpVRRHg.mjs → ClassicNotifications-8CVfGSqL.mjs} +1 -1
  55. package/dist/ClassicNotifications-BFQ-R6kO.mjs.map +1 -0
  56. package/dist/ClassicNotifications-DR0PM1Xp.mjs.map +1 -0
  57. package/dist/{ClassicPopover-DWR50Nxi.mjs → ClassicPopover-BUb-1WMB.mjs} +1 -1
  58. package/dist/ClassicPopover-BhMY2SMo.mjs.map +1 -0
  59. package/dist/ClipboardModal-B_SZ6jDk.mjs.map +1 -0
  60. package/dist/{ClipboardModal-BUKwZYOf.mjs → ClipboardModal-ByVXPcKD.mjs} +1 -1
  61. package/dist/ClipboardModal-DjrZQRtY.mjs.map +1 -0
  62. package/dist/{CommentInput-US8ZtNj1.mjs → CommentInput-CrRstzua.mjs} +4 -4
  63. package/dist/CommentInput-DPMj47uE.mjs.map +1 -0
  64. package/dist/CommentInput-DbhOyi7c.mjs.map +1 -0
  65. package/dist/CommentInput-I97yysBW.mjs.map +1 -0
  66. package/dist/CommentItem-AItzrTBi.mjs.map +1 -0
  67. package/dist/CommentItem-B7vvJwZI.mjs.map +1 -0
  68. package/dist/{CommentItem-CqWZPmbj.mjs → CommentItem-BYU67TIu.mjs} +4 -4
  69. package/dist/CommentItem-CvNbH7Hf.mjs.map +1 -0
  70. package/dist/CommentList-BTyyCcX4.mjs.map +1 -0
  71. package/dist/CommentList-CWrf45Di.mjs.map +1 -0
  72. package/dist/CommentList-DP6wk4PD.mjs.map +1 -0
  73. package/dist/{CommentList-CSYpqgNM.mjs → CommentList-snIIudVC.mjs} +2 -2
  74. package/dist/CommentMoreActions-BNajG7wk.mjs.map +1 -0
  75. package/dist/CommentMoreActions-C1l4Y_HY.mjs.map +1 -0
  76. package/dist/CommentMoreActions-DPbJnEEV.mjs.map +1 -0
  77. package/dist/{CommentMoreActions-T5RN6BGq.mjs → CommentMoreActions-y202UxL5.mjs} +3 -3
  78. package/dist/{CommentName-DslRo9jg.mjs → CommentName-CHBlEM7I.mjs} +3 -3
  79. package/dist/CommentName-D5HN8bGE.mjs.map +1 -0
  80. package/dist/CommentName-DMom_kwo.mjs.map +1 -0
  81. package/dist/CommentName-OJrxjSxu.mjs.map +1 -0
  82. package/dist/CommentParentInfo-DWVF5Ewh.mjs.map +1 -0
  83. package/dist/CommentParentInfo-Do3IlO95.mjs.map +1 -0
  84. package/dist/{CommentParentInfo-DMX3nkCb.mjs → CommentParentInfo-DoEeaQGU.mjs} +2 -2
  85. package/dist/CommentParentInfo-DqHfDpKs.mjs.map +1 -0
  86. package/dist/{CommentPlayer-D3JEVPKX.mjs → CommentPlayer-B4MXG-gG.mjs} +2 -2
  87. package/dist/CommentPlayer-B67saxPf.mjs.map +1 -0
  88. package/dist/CommentPlayer-BUtEvkoV.mjs.map +1 -0
  89. package/dist/CommentSection-BIZMRePu.mjs.map +1 -0
  90. package/dist/CommentSection-CSehg6MD.mjs.map +1 -0
  91. package/dist/{CommentSection-Brn0VQcc.mjs → CommentSection-DZf04NxT.mjs} +3 -3
  92. package/dist/CommentSection-MDKioQWf.mjs.map +1 -0
  93. package/dist/CommentStore-BBm8MjxW.mjs.map +1 -0
  94. package/dist/{CommentStore-hPTYaDGr.mjs → CommentStore-CysGkBHp.mjs} +8 -8
  95. package/dist/CommentStore-F5MVSrDw.mjs.map +1 -0
  96. package/dist/ContractPreviewModal-CFSkXgB4.mjs.map +1 -0
  97. package/dist/ContractPreviewModal-CKL6Rb_V.mjs.map +1 -0
  98. package/dist/{ContractPreviewModal-48Je4Wuy.mjs → ContractPreviewModal-Dd-1KasR.mjs} +2 -2
  99. package/dist/DateFilter-BwYSwGc-.mjs.map +1 -0
  100. package/dist/DateFilter-CGTz76bp.mjs.map +1 -0
  101. package/dist/DateFilter-CfeYepTO.mjs.map +1 -0
  102. package/dist/{DateFilter-DztHuPm8.mjs → DateFilter-Cnb_S8Up.mjs} +1 -1
  103. package/dist/DateFilter-DFw66D2V.mjs.map +1 -0
  104. package/dist/DateFilter-DMOUMeCh.mjs.map +1 -0
  105. package/dist/DateFilter-DdbvVu9Q.mjs.map +1 -0
  106. package/dist/DateFilter-Dr1nRuvZ.mjs.map +1 -0
  107. package/dist/DateFilter-QGaXHkcu.mjs.map +1 -0
  108. package/dist/{DownloadPodcastButton-BYWuLoNg.mjs → DownloadPodcastButton-6HtR84aE.mjs} +2 -2
  109. package/dist/DownloadPodcastButton-D2qeKDPT.mjs.map +1 -0
  110. package/dist/DownloadPodcastButton-Tr_Y4qMu.mjs.map +1 -0
  111. package/dist/{EditCommentModal-DacFxzLx.mjs → EditCommentModal-BQ03B6LC.mjs} +2 -2
  112. package/dist/EditCommentModal-BZitN0Ir.mjs.map +1 -0
  113. package/dist/EditCommentModal-CcmCx_My.mjs.map +1 -0
  114. package/dist/EditCommentModal-sj0yXd7-.mjs.map +1 -0
  115. package/dist/EmissionGroupChooser--428fdeK.mjs.map +1 -0
  116. package/dist/EmissionGroupChooser-BJCKekKM.mjs.map +1 -0
  117. package/dist/EmissionGroupChooser-ByqGmsGw.mjs.map +1 -0
  118. package/dist/EmissionGroupChooser-Cb3CF0uc.mjs.map +1 -0
  119. package/dist/EmissionGroupChooser-D4vMQH8g.mjs.map +1 -0
  120. package/dist/{EmissionGroupChooser-KmzQjp7d.mjs → EmissionGroupChooser-De_IpEhW.mjs} +2 -2
  121. package/dist/EmissionInlineList-CdHQBjfR.mjs.map +1 -0
  122. package/dist/EmissionInlineList-CnA0d_k2.mjs.map +1 -0
  123. package/dist/EmissionInlineList-DLUvPBNl.mjs.map +1 -0
  124. package/dist/{EmissionInlineList-BoEIAbLu.mjs → EmissionInlineList-dlb4gUOP.mjs} +5 -5
  125. package/dist/EmissionItem-B39oFnXF.mjs.map +1 -0
  126. package/dist/EmissionItem-BkPLFhAo.mjs.map +1 -0
  127. package/dist/EmissionItem-CjAUdLb7.mjs.map +1 -0
  128. package/dist/{EmissionItem-BeQWw-UT.mjs → EmissionItem-Dm_IGNkw.mjs} +4 -4
  129. package/dist/EmissionList-B0UntYdC.mjs.map +1 -0
  130. package/dist/EmissionList-BQSI4xbi.mjs.map +1 -0
  131. package/dist/{EmissionList-DB7O1nj5.mjs → EmissionList-C4JEYLyK.mjs} +4 -4
  132. package/dist/EmissionList-C7lQBdlW.mjs.map +1 -0
  133. package/dist/EmissionPage-BF6s2ySo.mjs.map +1 -0
  134. package/dist/EmissionPage-B_-nDP5x.mjs.map +1 -0
  135. package/dist/EmissionPage-C-ESprrZ.mjs.map +1 -0
  136. package/dist/{EmissionPage-CNYJ1Puo.mjs → EmissionPage-C4XUdzzm.mjs} +10 -10
  137. package/dist/EmissionPage-CPXcNHGS.mjs.map +1 -0
  138. package/dist/EmissionPage-EMgXCVhK.mjs.map +1 -0
  139. package/dist/EmissionPage-mXbUqOh9.mjs.map +1 -0
  140. package/dist/{EmissionPlayerItem-S_yqupad.mjs → EmissionPlayerItem-BLIdolRe.mjs} +3 -3
  141. package/dist/EmissionPlayerItem-C27zJBhY.mjs.map +1 -0
  142. package/dist/EmissionPlayerItem-C3fkgEaL.mjs.map +1 -0
  143. package/dist/EmissionPlayerItem-DxXG20G1.mjs.map +1 -0
  144. package/dist/EmissionPresentationItem-BNnDSWGQ.mjs.map +1 -0
  145. package/dist/EmissionPresentationItem-BeETY65I.mjs.map +1 -0
  146. package/dist/{EmissionPresentationItem-kJgKN7Ju.mjs → EmissionPresentationItem-DYDwfqwp.mjs} +1 -1
  147. package/dist/EmissionPresentationList-BD7rIUok.mjs.map +1 -0
  148. package/dist/EmissionPresentationList-CGMyY_iu.mjs.map +1 -0
  149. package/dist/{EmissionPresentationList-Bg9X3CJP.mjs → EmissionPresentationList-Cxi7QnIs.mjs} +3 -3
  150. package/dist/EmissionsPage-4To0aRBA.mjs.map +1 -0
  151. package/dist/{EmissionsPage-BLpGH_PR.mjs → EmissionsPage-B0bXLncg.mjs} +5 -5
  152. package/dist/EmissionsPage-BIspB5uq.mjs.map +1 -0
  153. package/dist/EmissionsPage-BhUjdpEu.mjs.map +1 -0
  154. package/dist/EmissionsPage-Bn1R_ipo.mjs.map +1 -0
  155. package/dist/EmissionsPage-CNXwdJuV.mjs.map +1 -0
  156. package/dist/EmissionsPage-CPmhIbFf.mjs.map +1 -0
  157. package/dist/EmissionsPage-Cgzvn2h8.mjs.map +1 -0
  158. package/dist/EmissionsPage-D09zTpGb.mjs.map +1 -0
  159. package/dist/EmissionsPage-Dl7qaQT1.mjs.map +1 -0
  160. package/dist/EmissionsPage-DyleZtu_.mjs.map +1 -0
  161. package/dist/EmissionsPage-OVpc7k1Z.mjs.map +1 -0
  162. package/dist/EmissionsPage-wjKBLFM6.mjs.map +1 -0
  163. package/dist/Error403Page-B6Q7ijY3.mjs.map +1 -0
  164. package/dist/Error403Page-DF08mgCL.mjs.map +1 -0
  165. package/dist/{Error403Page-BB69doEn.mjs → Error403Page-DVmC5AOd.mjs} +2 -2
  166. package/dist/FooterGarSection-BWahCyz0.mjs.map +1 -0
  167. package/dist/{FooterGarSection-B9nsnpfF.mjs → FooterGarSection-BqPggI3o.mjs} +3 -3
  168. package/dist/FooterGarSection-CN8ZfO7e.mjs.map +1 -0
  169. package/dist/FooterSection-BOjr1LRb.mjs.map +1 -0
  170. package/dist/{FooterSection-DdGtlbk-.mjs → FooterSection-C5FEIJlU.mjs} +11 -11
  171. package/dist/FooterSection-nVRzKSYN.mjs.map +1 -0
  172. package/dist/HomeDropdown-3fl_xltN.mjs.map +1 -0
  173. package/dist/HomeDropdown-DGNkJhG2.mjs.map +1 -0
  174. package/dist/{HomeDropdown-BqwwLStt.mjs → HomeDropdown-Fx6kQAuH.mjs} +3 -3
  175. package/dist/HomeDropdown-PvmOUzYb.mjs.map +1 -0
  176. package/dist/{HomePage-JOUAKKfP.mjs → HomePage-7PT7HmHs.mjs} +3 -3
  177. package/dist/HomePage-D0Pbu_h1.mjs.map +1 -0
  178. package/dist/HomePage-D6_D1f33.mjs.map +1 -0
  179. package/dist/HomePage-ry0NfX1M.mjs.map +1 -0
  180. package/dist/InlineRubriqueList-BdpS1pVc.mjs.map +1 -0
  181. package/dist/InlineRubriqueList-BlcjQ4wR.mjs.map +1 -0
  182. package/dist/{InlineRubriqueList-BzcHKvM4.mjs → InlineRubriqueList-ezgexR-O.mjs} +1 -1
  183. package/dist/{LikeSection-MmbHMunb.mjs → LikeSection-CGu4yOCr.mjs} +3 -3
  184. package/dist/LikeSection-Cqj4y7qZ.mjs.map +1 -0
  185. package/dist/LikeSection-D95IMsZE.mjs.map +1 -0
  186. package/dist/LikeSection-HJla-zgI.mjs.map +1 -0
  187. package/dist/{ListPaginate-5uRK_QKJ.mjs → ListPaginate-BPdnBcpe.mjs} +2 -2
  188. package/dist/ListPaginate-DYzRnp-2.mjs.map +1 -0
  189. package/dist/ListPaginate-DyR7HLIc.mjs.map +1 -0
  190. package/dist/LiveHorizontalList-Bqe351Ut.mjs.map +1 -0
  191. package/dist/{LiveHorizontalList-CpoIRd4C.mjs → LiveHorizontalList-Bs-Rz5Ws.mjs} +3 -3
  192. package/dist/LiveHorizontalList-CaujYMT3.mjs.map +1 -0
  193. package/dist/LiveHorizontalList-DhsOZPT3.mjs.map +1 -0
  194. package/dist/{LiveList-DYFBrNgg.mjs → LiveList-BVOEnAEc.mjs} +5 -5
  195. package/dist/LiveList-DMB3FxUM.mjs.map +1 -0
  196. package/dist/LiveList-DOi4GV1x.mjs.map +1 -0
  197. package/dist/LiveList-Dh1mJVs7.mjs.map +1 -0
  198. package/dist/LivesPage-BvDLscOE.mjs.map +1 -0
  199. package/dist/{LivesPage-FSkmBdVw.mjs → LivesPage-DG5VY4HF.mjs} +2 -2
  200. package/dist/LivesPage-DmSlg7iH.mjs.map +1 -0
  201. package/dist/LivesPage-yy_5pI8R.mjs.map +1 -0
  202. package/dist/MapPage-3n-rigBK.mjs.map +1 -0
  203. package/dist/MapPage-5GwE8Z4E.mjs.map +1 -0
  204. package/dist/{MapPage-DpBt2gWF.mjs → MapPage-bIe2a9O1.mjs} +2 -2
  205. package/dist/MobileMenu-BSos17v3.mjs.map +1 -0
  206. package/dist/{MobileMenu-CjNMfHUP.mjs → MobileMenu-BZ5nOrYw.mjs} +5 -5
  207. package/dist/MobileMenu-C6W37oJg.mjs.map +1 -0
  208. package/dist/MobileMenu-K0rNwrW1.mjs.map +1 -0
  209. package/dist/NewsletterModal-CFGXBtID.mjs.map +1 -0
  210. package/dist/NewsletterModal-CZNwpCK5.mjs.map +1 -0
  211. package/dist/{NewsletterModal-BurqHTFc.mjs → NewsletterModal-DZk0mSVC.mjs} +1 -1
  212. package/dist/OctopusMultiselect-CFUGyzeM.mjs.map +1 -0
  213. package/dist/OctopusMultiselect-Cn1lqbQo.mjs.map +1 -0
  214. package/dist/OctopusMultiselect-esu8BY0J.mjs.map +1 -0
  215. package/dist/{OctopusMultiselect-C8qljiaH.mjs → OctopusMultiselect-noQPQMZQ.mjs} +7 -5
  216. package/dist/OrganisationChooser-BKfXLT4G.mjs.map +1 -0
  217. package/dist/{OrganisationChooser-Dx-OT7MW.mjs → OrganisationChooser-C48cWqbY.mjs} +3 -3
  218. package/dist/OrganisationChooser-PpO7MD7f.mjs.map +1 -0
  219. package/dist/OrganisationChooser-Y_jO6oXv.mjs.map +1 -0
  220. package/dist/{OrganisationChooserLight-BF5fT5pV.mjs → OrganisationChooserLight-Bcltbv-v.mjs} +1 -1
  221. package/dist/OrganisationChooserLight-Dh7wMH40.mjs.map +1 -0
  222. package/dist/OrganisationChooserLight-Dx_rkvpP.mjs.map +1 -0
  223. package/dist/PageNotFound-DeW-K_hL.mjs.map +1 -0
  224. package/dist/{PageNotFound-Cj-3Gv8T.mjs → PageNotFound-DogaoIFX.mjs} +2 -2
  225. package/dist/PageNotFound-gRuMWYCp.mjs.map +1 -0
  226. package/dist/ParticipantInlineList-CY_s6aJm.mjs.map +1 -0
  227. package/dist/{ParticipantInlineList-DEWqM1Io.mjs → ParticipantInlineList-D9pkOlvP.mjs} +4 -4
  228. package/dist/ParticipantInlineList-DSatB75C.mjs.map +1 -0
  229. package/dist/ParticipantItem-BG7yqRvD.mjs.map +1 -0
  230. package/dist/ParticipantItem-BTK25HID.mjs.map +1 -0
  231. package/dist/{ParticipantItem-BZAUIeSR.mjs → ParticipantItem-CbHOfVon.mjs} +3 -3
  232. package/dist/ParticipantPage-B4VnV8Yc.mjs.map +1 -0
  233. package/dist/ParticipantPage-B6Gzg6ul.mjs.map +1 -0
  234. package/dist/ParticipantPage-CNRNKTtC.mjs.map +1 -0
  235. package/dist/ParticipantPage-CpkhQjN2.mjs.map +1 -0
  236. package/dist/ParticipantPage-D61CCIqy.mjs.map +1 -0
  237. package/dist/ParticipantPage-Dh4JJCmJ.mjs.map +1 -0
  238. package/dist/{ParticipantPage-CzaHoWij.mjs → ParticipantPage-nTp2MbgB.mjs} +6 -6
  239. package/dist/{ParticipantsPage-goxJZQZZ.mjs → ParticipantsPage-Bbz9lQ_0.mjs} +6 -6
  240. package/dist/ParticipantsPage-COaQrVID.mjs.map +1 -0
  241. package/dist/ParticipantsPage-DRVVU7qp.mjs.map +1 -0
  242. package/dist/ParticipantsPage-DhKCWwKE.mjs.map +1 -0
  243. package/dist/{PlayerAnonymousModal-By96BtpA.mjs → PlayerAnonymousModal-B1iZ34O8.mjs} +2 -2
  244. package/dist/PlayerAnonymousModal-CBZStK-L.mjs.map +1 -0
  245. package/dist/PlayerAnonymousModal-Cq6-Dn49.mjs.map +1 -0
  246. package/dist/PlayerAnonymousModal-Cu2GGoAh.mjs.map +1 -0
  247. package/dist/PlayerAnonymousModal-DiXWtNmM.mjs.map +1 -0
  248. package/dist/PlayerAnonymousModal-DrQvDDym.mjs.map +1 -0
  249. package/dist/PlayerCompact-B9oeGx_g.mjs.map +1 -0
  250. package/dist/PlayerCompact-DtMginEc.mjs.map +1 -0
  251. package/dist/PlayerCompact-E8ydrdJ4.mjs.map +1 -0
  252. package/dist/{PlayerCompact-CjU8xxVH.mjs → PlayerCompact-_39FpkWo.mjs} +4 -4
  253. package/dist/PlayerComponent-4Wj5XlrS.mjs.map +1 -0
  254. package/dist/{PlayerComponent-B58O6U6i.mjs → PlayerComponent-B1RsmSf0.mjs} +47 -47
  255. package/dist/PlayerComponent-BGVzhVz9.mjs.map +1 -0
  256. package/dist/PlayerComponent-BIshvul2.mjs.map +1 -0
  257. package/dist/PlayerComponent-BO7wUL2M.mjs.map +1 -0
  258. package/dist/PlayerComponent-C222I0kT.mjs.map +1 -0
  259. package/dist/PlayerComponent-CjNZNKKz.mjs.map +1 -0
  260. package/dist/PlayerComponent-UG_c6_yr.mjs.map +1 -0
  261. package/dist/{PlayerLarge-CWL5SDzD.mjs → PlayerLarge-BxdyYLOt.mjs} +5 -5
  262. package/dist/PlayerLarge-CPUAoR9q.mjs.map +1 -0
  263. package/dist/PlayerLarge-DP7RsA83.mjs.map +1 -0
  264. package/dist/PlayerLarge-DpiFO7gk.mjs.map +1 -0
  265. package/dist/PlayerLarge-Dwtmu4gz.mjs.map +1 -0
  266. package/dist/PlayerLarge-HvRHSw4j.mjs.map +1 -0
  267. package/dist/PlayerLarge-X5uYCbyS.mjs.map +1 -0
  268. package/dist/PlayerLarge-qwr3iWSX.mjs.map +1 -0
  269. package/dist/{PlayerPlayButton-DmvV2YDi.mjs → PlayerPlayButton-BIsfgj0d.mjs} +4 -4
  270. package/dist/PlayerPlayButton-BQ4zJOrE.mjs.map +1 -0
  271. package/dist/PlayerPlayButton-kh4ZCdWh.mjs.map +1 -0
  272. package/dist/PlayerProgressBar-C-I3dk3l.mjs.map +1 -0
  273. package/dist/PlayerProgressBar-Dr-aFk7O.mjs.map +1 -0
  274. package/dist/{PlayerProgressBar-Cl_mF4nD.mjs → PlayerProgressBar-dSschgez.mjs} +2 -2
  275. package/dist/PlayerProgressBar-xc1ZFPJY.mjs.map +1 -0
  276. package/dist/PlayerStore-Aq_ukXXS.mjs.map +1 -0
  277. package/dist/PlayerStore-C_QCHbT3.mjs.map +1 -0
  278. package/dist/{PlayerStore-CKprkxa0.mjs → PlayerStore-DggKki80.mjs} +1 -1
  279. package/dist/PlayerVideo-BNfhaNUn.mjs.map +1 -0
  280. package/dist/{PlayerVideo-CVUU7nHT.mjs → PlayerVideo-BWyvKlJT.mjs} +3 -3
  281. package/dist/PlayerVideo-Bhok6qYS.mjs.map +1 -0
  282. package/dist/PlayerVideo-CN609whx.mjs.map +1 -0
  283. package/dist/PlayerVideo-DXG_PsWA.mjs.map +1 -0
  284. package/dist/PlayerVideo-DzUapxuZ.mjs.map +1 -0
  285. package/dist/PlayerVideoDigiteka-B1rRVLzy.mjs.map +1 -0
  286. package/dist/PlayerVideoDigiteka-B6qODy7b.mjs.map +1 -0
  287. package/dist/{PlayerVideoDigiteka-DZIqqN8a.mjs → PlayerVideoDigiteka-Dxx63XHI.mjs} +2 -2
  288. package/dist/PlayerVideoHls-BoAbvi2b.mjs.map +1 -0
  289. package/dist/PlayerVideoHls-BsHaaJB-.mjs.map +1 -0
  290. package/dist/PlayerVideoHls-C0ddorEn.mjs.map +1 -0
  291. package/dist/PlayerVideoHls-DBODDRmV.mjs.map +1 -0
  292. package/dist/PlayerVideoHls-DVNHm_O2.mjs.map +1 -0
  293. package/dist/{PlayerVideoHls-BirHOkZD.mjs → PlayerVideoHls-DzbyXZsQ.mjs} +9 -7
  294. package/dist/{PlaylistPage-DljbABur.mjs → PlaylistPage-BdbqXFwR.mjs} +35 -35
  295. package/dist/PlaylistPage-BgUaPJet.mjs.map +1 -0
  296. package/dist/PlaylistPage-BwF2VdGb.mjs.map +1 -0
  297. package/dist/PlaylistPage-CINwx3zE.mjs.map +1 -0
  298. package/dist/PlaylistPage-CPB647jC.mjs.map +1 -0
  299. package/dist/PlaylistPage-DDzE5GQs.mjs.map +1 -0
  300. package/dist/PlaylistPage-bm1nWKMg.mjs.map +1 -0
  301. package/dist/PlaylistsPage-BwkVSYIp.mjs.map +1 -0
  302. package/dist/PlaylistsPage-C62NUvz4.mjs.map +1 -0
  303. package/dist/{PlaylistsPage-BSW-uPWF.mjs → PlaylistsPage-D08i24b2.mjs} +13 -13
  304. package/dist/PlaylistsPage-Dvh77ql6.mjs.map +1 -0
  305. package/dist/PodcastFilterList-BBhzOM64.mjs.map +1 -0
  306. package/dist/PodcastFilterList-BKBjd36i.mjs.map +1 -0
  307. package/dist/{PodcastFilterList-YM90eN60.mjs → PodcastFilterList-CL5ebQ69.mjs} +3 -3
  308. package/dist/PodcastFilterList-D9NTYS1v.mjs.map +1 -0
  309. package/dist/{PodcastImage-BtiQlrb3.mjs → PodcastImage-BFA22TgZ.mjs} +6 -6
  310. package/dist/PodcastImage-BhQKB5te.mjs.map +1 -0
  311. package/dist/PodcastImage-CHx3bUzt.mjs.map +1 -0
  312. package/dist/PodcastInlineList-CcNd_Hbs.mjs.map +1 -0
  313. package/dist/{PodcastInlineList-B32BSFqN.mjs → PodcastInlineList-H6BxXx0A.mjs} +1 -1
  314. package/dist/PodcastInlineList-akLivgog.mjs.map +1 -0
  315. package/dist/PodcastInlineList-jI2EvXSo.mjs.map +1 -0
  316. package/dist/{PodcastInlineListTemplate-DTrS1UiG.mjs → PodcastInlineListTemplate-Chbi8aME.mjs} +3 -3
  317. package/dist/PodcastInlineListTemplate-DT9ZRs61.mjs.map +1 -0
  318. package/dist/PodcastInlineListTemplate-Dh1xF6xT.mjs.map +1 -0
  319. package/dist/PodcastIsPlaying-C0jcpBQd.mjs.map +1 -0
  320. package/dist/PodcastIsPlaying-H6P1CHAI.mjs.map +1 -0
  321. package/dist/{PodcastIsPlaying-BtmHnQi9.mjs → PodcastIsPlaying-ugHcefCy.mjs} +1 -1
  322. package/dist/{PodcastItem-TdtzApJ6.mjs → PodcastItem-Baki7W0q.mjs} +6 -6
  323. package/dist/PodcastItem-BfvK4ion.mjs.map +1 -0
  324. package/dist/PodcastItem-DEhA78z9.mjs.map +1 -0
  325. package/dist/PodcastItem-DwK_Yu1G.mjs.map +1 -0
  326. package/dist/PodcastList-B4ic6Cij.mjs.map +1 -0
  327. package/dist/PodcastList-C2R92m6S.mjs.map +1 -0
  328. package/dist/PodcastList-DWl6zz_z.mjs.map +1 -0
  329. package/dist/PodcastList-Dbt4nmKg.mjs.map +1 -0
  330. package/dist/PodcastList-KaQBRbR9.mjs.map +1 -0
  331. package/dist/{PodcastList-BAOJhQ7G.mjs → PodcastList-N_XOE-hI.mjs} +5 -5
  332. package/dist/PodcastList-d3SGLPvF.mjs.map +1 -0
  333. package/dist/{PodcastList-Bbe3yWiu.mjs → PodcastList-yjd_exFg.mjs} +4 -4
  334. package/dist/PodcastPage-B0pbZ5o_.mjs.map +1 -0
  335. package/dist/PodcastPage-BOA44Us4.mjs.map +1 -0
  336. package/dist/PodcastPage-Bs1wz-0E.mjs.map +1 -0
  337. package/dist/PodcastPage-C37Wa-qH.mjs.map +1 -0
  338. package/dist/PodcastPage-D0HYJxaK.mjs.map +1 -0
  339. package/dist/PodcastPage-D0U6-etV.mjs.map +1 -0
  340. package/dist/PodcastPage-DwMPY4po.mjs.map +1 -0
  341. package/dist/{PodcastPage-CAxub2do.mjs → PodcastPage-SUEm-Enm.mjs} +26 -26
  342. package/dist/PodcastPlayBar-Bo-W_dSK.mjs.map +1 -0
  343. package/dist/PodcastPlayBar-CBtMWlVc.mjs.map +1 -0
  344. package/dist/{PodcastPlayBar-gAEttclo.mjs → PodcastPlayBar-COU17bnm.mjs} +3 -3
  345. package/dist/PodcastPlayBar-Cpr3Ff7J.mjs.map +1 -0
  346. package/dist/PodcastPlayBasicButton-BvJPrxpI.mjs.map +1 -0
  347. package/dist/PodcastPlayBasicButton-CS5TNlmX.mjs.map +1 -0
  348. package/dist/{PodcastPlayBasicButton-7w91y2ow.mjs → PodcastPlayBasicButton-CVXhEUHB.mjs} +1 -1
  349. package/dist/{PodcastPlayButton-CQY0d6f-.mjs → PodcastPlayButton--gjzxW0o.mjs} +3 -3
  350. package/dist/PodcastPlayButton-BqvE4ZUl.mjs.map +1 -0
  351. package/dist/PodcastPlayButton-DW5Feest.mjs.map +1 -0
  352. package/dist/PodcastPlaylistInlineList-BV31HaB2.mjs.map +1 -0
  353. package/dist/PodcastPlaylistInlineList-C-WYs6aE.mjs.map +1 -0
  354. package/dist/{PodcastPlaylistInlineList-BE5L8pSP.mjs → PodcastPlaylistInlineList-DsEHaYGZ.mjs} +7 -7
  355. package/dist/PodcastPlaylistInlineList-HEdFAq1l.mjs.map +1 -0
  356. package/dist/{PodcastPresentationList-DH6Rq0Z4.mjs → PodcastPresentationList-B9vORr36.mjs} +4 -4
  357. package/dist/PodcastPresentationList-ChqvdXY0.mjs.map +1 -0
  358. package/dist/PodcastPresentationList-Dit6HvJr.mjs.map +1 -0
  359. package/dist/{PodcastProgressBar-DoeG7lDj.mjs → PodcastProgressBar-B0FwZOTT.mjs} +3 -3
  360. package/dist/PodcastProgressBar-B8ONWq-Z.mjs.map +1 -0
  361. package/dist/PodcastProgressBar-BoGtJPAa.mjs.map +1 -0
  362. package/dist/PodcastProgressBar-DTRhKzW-.mjs.map +1 -0
  363. package/dist/{PodcastRawTranscript-Cktqtbcg.mjs → PodcastRawTranscript-BiuftXu-.mjs} +2 -2
  364. package/dist/PodcastRawTranscript-C8SJcaQE.mjs.map +1 -0
  365. package/dist/PodcastRawTranscript-nfzHM0k_.mjs.map +1 -0
  366. package/dist/PodcastRawTranscript-r5pRtZDg.mjs.map +1 -0
  367. package/dist/{PodcastSwiperList-DZ26-8xy.mjs → PodcastSwiperList-BKOYhrsH.mjs} +4 -4
  368. package/dist/PodcastSwiperList-Bsg0q89o.mjs.map +1 -0
  369. package/dist/PodcastSwiperList-BxsEv7_8.mjs.map +1 -0
  370. package/dist/PodcastSwiperList-Cju5VHcH.mjs.map +1 -0
  371. package/dist/PodcastmakerHeader-6fIwE70J.mjs.map +1 -0
  372. package/dist/PodcastmakerHeader-BBPEy__r.mjs.map +1 -0
  373. package/dist/{PodcastmakerHeader-MhdOrssb.mjs → PodcastmakerHeader-CIoJwm1L.mjs} +1 -1
  374. package/dist/PodcastsPage-967SI8kL.mjs.map +1 -0
  375. package/dist/{PodcastsPage-BXjTDNhn.mjs → PodcastsPage-B5NwPMyn.mjs} +5 -5
  376. package/dist/PodcastsPage-B7j2XxPZ.mjs.map +1 -0
  377. package/dist/PodcastsPage-BOzszXpc.mjs.map +1 -0
  378. package/dist/PodcastsPage-Bw0tzWoX.mjs.map +1 -0
  379. package/dist/PodcastsPage-D3TAYJV8.mjs.map +1 -0
  380. package/dist/PodcastsPage-DJsgHs7V.mjs.map +1 -0
  381. package/dist/PodcastsPage-DKWHzNNA.mjs.map +1 -0
  382. package/dist/PodcastsPage-DONqoMkB.mjs.map +1 -0
  383. package/dist/PodcastsPage-DUcfPeLD.mjs.map +1 -0
  384. package/dist/PodcastsPage-DWBgwD6o.mjs.map +1 -0
  385. package/dist/PodcastsPage-DZO4H1Ff.mjs.map +1 -0
  386. package/dist/PodcastsPage-DhEMPqCT.mjs.map +1 -0
  387. package/dist/ProductorSearch-BgmV_RCq.mjs.map +1 -0
  388. package/dist/{ProductorSearch-Z36zTZK4.mjs → ProductorSearch-BiUEs7mG.mjs} +3 -3
  389. package/dist/ProductorSearch-C4Nv2HzS.mjs.map +1 -0
  390. package/dist/ProductorSearch-DtVe_rU9.mjs.map +1 -0
  391. package/dist/ProgressBar-BMeSiueh.mjs.map +1 -0
  392. package/dist/ProgressBar-C15ih0uL.mjs.map +1 -0
  393. package/dist/{ProgressBar-CTOa-MDz.mjs → ProgressBar-CXB5q3-H.mjs} +2 -2
  394. package/dist/ProgressBar-DAUOWol1.mjs.map +1 -0
  395. package/dist/QrCode-BYLxjhwi.mjs.map +1 -0
  396. package/dist/QrCode-CCigeTaZ.mjs +109 -0
  397. package/dist/QrCode-CaXoOjo-.mjs.map +1 -0
  398. package/dist/QrCode-CcQR60hB.mjs.map +1 -0
  399. package/dist/QrCode-S_eLVZoz.mjs.map +1 -0
  400. package/dist/QrCode-XZMMiaX5.mjs.map +1 -0
  401. package/dist/QrCodeModal-BJOu1pAV.mjs.map +1 -0
  402. package/dist/QrCodeModal-BjT-0P0w.mjs.map +1 -0
  403. package/dist/QrCodeModal-BrabSTzq.mjs.map +1 -0
  404. package/dist/QrCodeModal-CjvbRYLW.mjs.map +1 -0
  405. package/dist/{QrCodeModal-DE3juCsN.mjs → QrCodeModal-Dpw_tCQ6.mjs} +1 -1
  406. package/dist/QrCodeModal-N2fjbP4S.mjs.map +1 -0
  407. package/dist/RadioCurrently-B_b8DV2w.mjs.map +1 -0
  408. package/dist/RadioCurrently-DufvDqm1.mjs.map +1 -0
  409. package/dist/{RadioCurrently-BlAhcc9E.mjs → RadioCurrently-ysRKhxKU.mjs} +3 -3
  410. package/dist/RadioHistory-B03bYMxm.mjs.map +1 -0
  411. package/dist/{RadioHistory-C7S79sZD.mjs → RadioHistory-DjsqvRgH.mjs} +2 -2
  412. package/dist/RadioHistory-Dv4gt9TM.mjs.map +1 -0
  413. package/dist/RadioImage-BFdiGgi_.mjs.map +1 -0
  414. package/dist/{RadioImage-BTn2Lquc.mjs → RadioImage-CSseYIVb.mjs} +4 -4
  415. package/dist/RadioImage-CrtD33dM.mjs.map +1 -0
  416. package/dist/RadioList--f7RDhHJ.mjs.map +1 -0
  417. package/dist/{RadioList-BD3zNwmk.mjs → RadioList-BZFFAobk.mjs} +4 -4
  418. package/dist/RadioList-De9NQ23Q.mjs.map +1 -0
  419. package/dist/RadioPage-BK1N--Kr.mjs.map +1 -0
  420. package/dist/RadioPage-BTtNFJI2.mjs.map +1 -0
  421. package/dist/RadioPage-CcK0y_5s.mjs.map +1 -0
  422. package/dist/RadioPage-Cqas0JX6.mjs.map +1 -0
  423. package/dist/{RadioPage-Bv3oupa1.mjs → RadioPage-Cwooj0wF.mjs} +4 -4
  424. package/dist/RadioPage-DhSB0sX5.mjs.map +1 -0
  425. package/dist/RadioPage-DlahFXYC.mjs.map +1 -0
  426. package/dist/RadioPlanning-BU1E8i4t.mjs.map +1 -0
  427. package/dist/{RadioPlanning-nkv_Mb_t.mjs → RadioPlanning-BmIxuUBI.mjs} +2 -2
  428. package/dist/RadioPlanning-Bx-N-xqX.mjs.map +1 -0
  429. package/dist/RadioProgressBar-0XM3ZTGU.mjs.map +1 -0
  430. package/dist/{RadioProgressBar-B2EgCOrK.mjs → RadioProgressBar-CQRGuPpC.mjs} +1 -1
  431. package/dist/RadioProgressBar-oyeS56mV.mjs.map +1 -0
  432. package/dist/{RecaptchaModal-w-9MlZ45.mjs → RecaptchaModal-BdW4xNlX.mjs} +1 -1
  433. package/dist/RecaptchaModal-DFlFQcHs.mjs.map +1 -0
  434. package/dist/RecaptchaModal-iLQ4UYOL.mjs.map +1 -0
  435. package/dist/ReportAbuseModal-BaPt2DLK.mjs.map +1 -0
  436. package/dist/ReportAbuseModal-BdZRe29L.mjs.map +1 -0
  437. package/dist/ReportAbuseModal-CH7Y153n.mjs.map +1 -0
  438. package/dist/{ReportAbuseModal-O1K7j7NV.mjs → ReportAbuseModal-jjGeXbB9.mjs} +4 -4
  439. package/dist/RightsIndicator-4pUsBq5j.mjs.map +1 -0
  440. package/dist/RightsIndicator-BH3jm_1O.mjs.map +1 -0
  441. package/dist/{RightsIndicator-D0cSu8j2.mjs → RightsIndicator-CPzWpH5Z.mjs} +1 -1
  442. package/dist/RightsIndicator-d8ffUFIj.mjs.map +1 -0
  443. package/dist/{RightsWrapper-BUj_1bwR.mjs → RightsWrapper-BTQ8GGUi.mjs} +5 -5
  444. package/dist/RightsWrapper-C3BRHqqo.mjs.map +1 -0
  445. package/dist/RightsWrapper-DJG9Ds6c.mjs.map +1 -0
  446. package/dist/RightsWrapper-nBURBTJX.mjs.map +1 -0
  447. package/dist/{RubriqueChoice-DaTWiDbl.mjs → RubriqueChoice-C-S-veJJ.mjs} +1 -1
  448. package/dist/RubriqueChoice-DsmnrUNs.mjs.map +1 -0
  449. package/dist/{RubriqueChooser-C33LorHa.mjs → RubriqueChooser-CNGn8LcP.mjs} +1 -1
  450. package/dist/RubriqueChooser-WmzcajTt.mjs.map +1 -0
  451. package/dist/RubriqueFilter-C9C_OiF5.mjs.map +1 -0
  452. package/dist/RubriqueFilter-DDI7DjMR.mjs.map +1 -0
  453. package/dist/RubriqueFilter-_8V1n9-x.mjs.map +1 -0
  454. package/dist/{RubriqueFilter-RgardNnQ.mjs → RubriqueFilter-rxiG8Wci.mjs} +3 -3
  455. package/dist/RubriqueList-99-nWSvq.mjs.map +1 -0
  456. package/dist/RubriqueList-BiRimk17.mjs.map +1 -0
  457. package/dist/RubriqueList-H_NHILuj.mjs.map +1 -0
  458. package/dist/{RubriqueList-DA9OYqUl.mjs → RubriqueList-rJj2IycY.mjs} +4 -4
  459. package/dist/RubriquePage-6KFPBPz8.mjs.map +1 -0
  460. package/dist/{RubriquePage-xgTOce7c.mjs → RubriquePage-BNEWnk3-.mjs} +4 -4
  461. package/dist/RubriquePage-Bpt-x7IK.mjs.map +1 -0
  462. package/dist/RubriquePage-Cwz9OqLO.mjs.map +1 -0
  463. package/dist/SearchPage-BtZnj3sA.mjs.map +1 -0
  464. package/dist/SearchPage-CbbbcXxs.mjs.map +1 -0
  465. package/dist/SearchPage-DMIV2AgJ.mjs.map +1 -0
  466. package/dist/{SearchPage-C3o5RPP0.mjs → SearchPage-DsZzPoEw.mjs} +2 -2
  467. package/dist/ShareAnonymous-BeSQozvM.mjs.map +1 -0
  468. package/dist/ShareAnonymous-BgsR6Ahp.mjs.map +1 -0
  469. package/dist/ShareAnonymous-CNWR1v6X.mjs.map +1 -0
  470. package/dist/{ShareAnonymous-bOwwEjPv.mjs → ShareAnonymous-DK2rnLl1.mjs} +3 -3
  471. package/dist/ShareAnonymous-DVpKBKbi.mjs.map +1 -0
  472. package/dist/ShareAnonymous-DWArDFT0.mjs.map +1 -0
  473. package/dist/ShareAnonymous-IaVbb-rp.mjs.map +1 -0
  474. package/dist/ShareModalPlayer-BHmsvxXF.mjs.map +1 -0
  475. package/dist/{ShareModalPlayer-D2oBrSly.mjs → ShareModalPlayer-Cfnk68-U.mjs} +1 -1
  476. package/dist/ShareModalPlayer-DLBU3lsU.mjs.map +1 -0
  477. package/dist/ShareModalPlayer-O-CmDObW.mjs.map +1 -0
  478. package/dist/ShareModalPlayer-QYu8Q9ks.mjs.map +1 -0
  479. package/dist/ShareModalPlayer-Vga-96DM.mjs.map +1 -0
  480. package/dist/{ShareNewsletter-CNw1LziN.mjs → ShareNewsletter-BWIAt47D.mjs} +1 -1
  481. package/dist/ShareNewsletter-BhFk6ARk.mjs.map +1 -0
  482. package/dist/ShareNewsletter-JCO4h7rk.mjs.map +1 -0
  483. package/dist/SharePlayer-C-RgIOh1.mjs.map +1 -0
  484. package/dist/{SharePlayer-CRri0YED.mjs → SharePlayer-C0aveOwy.mjs} +2 -2
  485. package/dist/SharePlayer-CNXrUj8M.mjs.map +1 -0
  486. package/dist/SharePlayer-D0-qY2dS.mjs.map +1 -0
  487. package/dist/SharePlayer-DQoFa7iv.mjs.map +1 -0
  488. package/dist/SharePlayer-DwNl3E7o.mjs.map +1 -0
  489. package/dist/{SharePlayerRadio-DVsegQMu.mjs → SharePlayerRadio-BqaeyEls.mjs} +2 -2
  490. package/dist/SharePlayerRadio-CHvCtKdZ.mjs.map +1 -0
  491. package/dist/SharePlayerRadio-CIsy-rCC.mjs.map +1 -0
  492. package/dist/SharePlayerRadio-ChfNulnf.mjs.map +1 -0
  493. package/dist/SharePlayerRadio-DA-W-306.mjs.map +1 -0
  494. package/dist/SharePlayerRadio-DwPeLUsk.mjs.map +1 -0
  495. package/dist/SharePlayerTypes-CeMV4n10.mjs.map +1 -0
  496. package/dist/SharePlayerTypes-DdyoQZDi.mjs.map +1 -0
  497. package/dist/{SharePlayerTypes-BxkEoBSL.mjs → SharePlayerTypes-DyrqFDVJ.mjs} +1 -1
  498. package/dist/ShareSocialsButtons-BHWzJVne.mjs.map +1 -0
  499. package/dist/ShareSocialsButtons-Bjx2ONvj.mjs.map +1 -0
  500. package/dist/{ShareSocialsButtons-BJ3DqvIO.mjs → ShareSocialsButtons-PqMXhFEk.mjs} +1 -1
  501. package/dist/{SimpleLayout-BJlcQjx9.mjs → SimpleLayout-9O9FZ69Q.mjs} +2 -2
  502. package/dist/SimpleLayout-B-QSfHeQ.mjs.map +1 -0
  503. package/dist/SimpleLayout-BauUacaf.mjs.map +1 -0
  504. package/dist/SimpleLayout-C29bPtbd.mjs.map +1 -0
  505. package/dist/SimpleLayout-Cjc3Q9Mb.mjs.map +1 -0
  506. package/dist/SimpleLayout-D4sVjQGu.mjs.map +1 -0
  507. package/dist/SimpleLayout-DaoXS--3.mjs.map +1 -0
  508. package/dist/SimpleLayout-vkWEZHLi.mjs.map +1 -0
  509. package/dist/{SmartLinkPage-DpD90wc7.mjs → SmartLinkPage-6HgX8LDv.mjs} +16 -16
  510. package/dist/SmartLinkPage-BcQmox7e.mjs.map +1 -0
  511. package/dist/SmartLinkPage-M_zB_Xp1.mjs.map +1 -0
  512. package/dist/SubscribeButtons-CyGYD1B1.mjs.map +1 -0
  513. package/dist/SubscribeButtons-DjjZQfOU.mjs.map +1 -0
  514. package/dist/{SubscribeButtons-zlRDGEzS.mjs → SubscribeButtons-IpzqDGIn.mjs} +3 -3
  515. package/dist/SubscribeButtons-yA2wowFc.mjs.map +1 -0
  516. package/dist/SwiperList-BNODHhLF.mjs.map +1 -0
  517. package/dist/SwiperList-Cqklwlg9.mjs.map +1 -0
  518. package/dist/{SwiperList-BlF3rPq5.mjs → SwiperList-O8nUg87R.mjs} +1 -1
  519. package/dist/TagList-4RDriU1J.mjs.map +1 -0
  520. package/dist/TagList-B5JPfT6j.mjs.map +1 -0
  521. package/dist/TagList-DVjqXiaA.mjs.map +1 -0
  522. package/dist/{TagList-BBHyaKp-.mjs → TagList-V9fAFATL.mjs} +2 -2
  523. package/dist/TagPage-BOsz6Bot.mjs.map +1 -0
  524. package/dist/TagPage-CALmJwxW.mjs.map +1 -0
  525. package/dist/{TagPage-DLpNBBjP.mjs → TagPage-CsFwN4sE.mjs} +3 -3
  526. package/dist/TagPage-DMuxYu6y.mjs.map +1 -0
  527. package/dist/{TopBar-CLWWRgr7.mjs → TopBar-0oG6YPlW.mjs} +37 -37
  528. package/dist/TopBar-CUCBss7X.mjs.map +1 -0
  529. package/dist/TopBar-CeQQ1hgH.mjs.map +1 -0
  530. package/dist/TopBar-DdxThCLR.mjs.map +1 -0
  531. package/dist/{UserButtonContent-BR3Rlqwp.mjs → UserButtonContent--VK68UsY.mjs} +6 -6
  532. package/dist/UserButtonContent-067qGenf.mjs.map +1 -0
  533. package/dist/UserButtonContent-Dqgyrgzv.mjs.map +1 -0
  534. package/dist/VideoModuleBox-9QgBI-Q-.mjs.map +1 -0
  535. package/dist/{VideoModuleBox-DxYJVwy3.mjs → VideoModuleBox-Bcqman6a.mjs} +1 -1
  536. package/dist/VideoModuleBox-BrVK2bDZ.mjs.map +1 -0
  537. package/dist/VideoModuleBox-DWO47_bZ.mjs.map +1 -0
  538. package/dist/VideoPage-4MB4zmnA.mjs.map +1 -0
  539. package/dist/VideoPage-BDGvtr1o.mjs.map +1 -0
  540. package/dist/{VideoPage-BaeTduNB.mjs → VideoPage-BjlaP2DU.mjs} +6 -6
  541. package/dist/VideoPage-C-yjvvhl.mjs.map +1 -0
  542. package/dist/VideoPage-C0_t7XMC.mjs.map +1 -0
  543. package/dist/VideoPage-CIDpzbkb.mjs.map +1 -0
  544. package/dist/VideoPage-D2V1oXGC.mjs.map +1 -0
  545. package/dist/VideoPage-DEJSfeFy.mjs.map +1 -0
  546. package/dist/{classicApi-pmODlqv5.mjs → classicApi-CGipMqf7.mjs} +267 -256
  547. package/dist/classicApi-CW1Z-HoF.mjs.map +1 -0
  548. package/dist/classicApi-OzToKuW1.mjs.map +1 -0
  549. package/dist/{downloadHelper-BAI-eqgA.mjs → downloadHelper-C3QooCxr.mjs} +1 -1
  550. package/dist/downloadHelper-D7dUpp5l.mjs.map +1 -0
  551. package/dist/downloadHelper-DwV3Mmd3.mjs.map +1 -0
  552. package/dist/index.css +1 -1
  553. package/dist/index.mjs +183 -183
  554. package/dist/src/components/form/ClassicDatePicker.vue.d.ts +24 -14
  555. package/dist/src/components/form/OctopusMultiselect.vue.d.ts +2 -0
  556. package/dist/src/i18n.d.ts +2 -0
  557. package/dist/tests.mjs +2 -2
  558. package/dist/useAdvancedParamInit-BKw9VZ53.mjs.map +1 -0
  559. package/dist/useAdvancedParamInit-CyRmbqqe.mjs.map +1 -0
  560. package/dist/{useAdvancedParamInit-Bgvt8758.mjs → useAdvancedParamInit-D5roUdHI.mjs} +10 -10
  561. package/dist/useDayjs-BKBB00TF.mjs.map +1 -0
  562. package/dist/useDayjs-UQLGUbw5.mjs.map +1 -0
  563. package/dist/{useDayjs-DGb3L4kJ.mjs → useDayjs-VUs19G9T.mjs} +1 -1
  564. package/dist/useErrorHandler-BKN3lhJ5.mjs.map +1 -0
  565. package/dist/useErrorHandler-C3XnRTmp.mjs.map +1 -0
  566. package/dist/{useErrorHandler-D9W2BURn.mjs → useErrorHandler-x9sjDYSz.mjs} +1 -1
  567. package/dist/useImageProxy-AEcmDpvW.mjs.map +1 -0
  568. package/dist/useImageProxy-BzTG_GCn.mjs.map +1 -0
  569. package/dist/{useImageProxy-8ndy_oTo.mjs → useImageProxy-CCpDzPmQ.mjs} +1 -1
  570. package/dist/useOrgaComputed-4PduqYTq.mjs.map +1 -0
  571. package/dist/useOrgaComputed-C2n0FBbv.mjs.map +1 -0
  572. package/dist/{useOrgaComputed-CBJ5sDOm.mjs → useOrgaComputed-D81Jihm-.mjs} +2 -2
  573. package/dist/{usePlayerLogicProgress-C2L7cMdd.mjs → usePlayerLogicProgress-BybmSAcs.mjs} +2 -2
  574. package/dist/usePlayerLogicProgress-CKoCod6g.mjs.map +1 -0
  575. package/dist/usePlayerLogicProgress-DZaPRo6p.mjs.map +1 -0
  576. package/dist/usePodcastView-B-2HPFAo.mjs.map +1 -0
  577. package/dist/{usePodcastView-CoDJJr6Y.mjs → usePodcastView-CkM-n6iO.mjs} +3 -3
  578. package/dist/usePodcastView-jdYTK1cW.mjs.map +1 -0
  579. package/dist/{usePresentationItem-DZZVm3hh.mjs → usePresentationItem-CLEGZwI3.mjs} +3 -3
  580. package/dist/usePresentationItem-Com4i40U.mjs.map +1 -0
  581. package/dist/usePresentationItem-OpMean0v.mjs.map +1 -0
  582. package/dist/{useRights-DOXtpjv5.mjs → useRights-BI2tXXjR.mjs} +1 -1
  583. package/dist/useRights-Bsv9hr7w.mjs.map +1 -0
  584. package/dist/useRights-DfudFDI6.mjs.map +1 -0
  585. package/dist/{useRubriquesFilterComputed-DoUOqOrJ.mjs → useRubriquesFilterComputed-D1yqLnK4.mjs} +1 -1
  586. package/dist/useRubriquesFilterComputed-DGDJp2gc.mjs.map +1 -0
  587. package/dist/useRubriquesFilterComputed-NNE-FElk.mjs.map +1 -0
  588. package/dist/{useRubriquesFilterParam-BE8BbmAQ.mjs → useRubriquesFilterParam-2eMd5ND7.mjs} +1 -1
  589. package/dist/useRubriquesFilterParam-DE5dYl6c.mjs.map +1 -0
  590. package/dist/useRubriquesFilterParam-DXYD4G0D.mjs.map +1 -0
  591. package/dist/useSharePlatforms-CrQ8r5vT.mjs.map +1 -0
  592. package/dist/useSharePlatforms-D124fJ_v.mjs.map +1 -0
  593. package/dist/{useSharePlatforms-ZWYDJZBy.mjs → useSharePlatforms-sXgVxsL5.mjs} +5 -5
  594. package/dist/{useSimplePageParam-DFKSEyiE.mjs → useSimplePageParam-BrtYXOUt.mjs} +1 -1
  595. package/dist/useSimplePageParam-CruL7rLG.mjs.map +1 -0
  596. package/dist/useSimplePageParam-SaBaPhb8.mjs.map +1 -0
  597. package/dist/{useTranslation-Dr7KU7Y4.mjs → useTranslation-BVQwv02Q.mjs} +9 -9
  598. package/dist/useTranslation-Bf2zP_6C.mjs.map +1 -0
  599. package/dist/useTranslation-BuhzZoI8.mjs.map +1 -0
  600. package/dist/useTranslation-OWqckMEl.mjs.map +1 -0
  601. package/dist/usefetchRadioData-D01ws733.mjs.map +1 -0
  602. package/dist/usefetchRadioData-DDRPoD4s.mjs.map +1 -0
  603. package/dist/{usefetchRadioData-SLWfXkYt.mjs → usefetchRadioData-zyQNqiV3.mjs} +1 -1
  604. package/package.json +1 -1
  605. package/src/components/composable/useTranslation.ts +2 -2
  606. package/src/components/display/sharing/QrCode.vue +63 -64
  607. package/src/components/form/ClassicDatePicker.vue +32 -20
  608. package/src/components/form/OctopusMultiselect.vue +3 -4
  609. package/src/components/misc/ClassicPopover.vue +1 -1
  610. package/src/components/misc/player/video/PlayerVideoHls.vue +160 -159
  611. package/src/i18n.ts +38 -29
  612. package/tests/components/form/ClassicDatePicker.spec.ts +32 -0
  613. package/tests/components/form/OctopusMultiselect.spec.ts +5 -4
  614. package/dist/ClassicDatePicker-B7UA9CqR.mjs +0 -187
  615. package/dist/QrCode-DuScZ7PD.mjs +0 -105
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmissionPage-B_-nDP5x.mjs","names":["displayHelper","_resolveDirective","_openBlock","_createElementBlock","_Fragment","_createBlock","_createCommentVNode","_createElementVNode","_normalizeClass","_renderSlot","_withDirectives","_createVNode","_createTextVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps","_sfc_main"],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmissionPage-C-ESprrZ.mjs","names":["displayHelper","_resolveDirective","_openBlock","_createElementBlock","_Fragment","_createBlock","_createCommentVNode","_createElementVNode","_normalizeClass","_renderSlot","_withDirectives","_createVNode","_createTextVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps","_sfc_main"],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import { t as e } from "./ClassicLoading-CXfMjpyl.mjs";
2
- import { A as t, C as n, r } from "./classicApi-pmODlqv5.mjs";
2
+ import { j as t, r as n, w as r } from "./classicApi-CGipMqf7.mjs";
3
3
  import { t as i } from "./displayHelper-DQtoqc_6.mjs";
4
- import { t as ee } from "./useImageProxy-8ndy_oTo.mjs";
4
+ import { t as ee } from "./useImageProxy-CCpDzPmQ.mjs";
5
5
  import { t as te } from "./GeneralStore-Darfv4af.mjs";
6
- import { t as ne } from "./useErrorHandler-D9W2BURn.mjs";
7
- import { t as a } from "./useSimplePageParam-DFKSEyiE.mjs";
6
+ import { t as ne } from "./useErrorHandler-x9sjDYSz.mjs";
7
+ import { t as a } from "./useSimplePageParam-BrtYXOUt.mjs";
8
8
  import { t as re } from "./useSeoTitleUrl-UfPXDCPa.mjs";
9
- import { t as ie } from "./useOrgaComputed-CBJ5sDOm.mjs";
9
+ import { t as ie } from "./useOrgaComputed-D81Jihm-.mjs";
10
10
  import { t as ae } from "./useSeasonsManagement-DwbmJywJ.mjs";
11
- import { t as oe } from "./RightsIndicator-D0cSu8j2.mjs";
12
- import { t as se } from "./InlineRubriqueList-BzcHKvM4.mjs";
13
- import { t as ce } from "./ClassicHelpButton-DT7T8tMe.mjs";
11
+ import { t as oe } from "./RightsIndicator-CPzWpH5Z.mjs";
12
+ import { t as se } from "./InlineRubriqueList-ezgexR-O.mjs";
13
+ import { t as ce } from "./ClassicHelpButton-BnRLmYuh.mjs";
14
14
  import { t as le } from "./ErrorMessage-B4gtlriP.mjs";
15
15
  import { Fragment as ue, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineAsyncComponent as p, defineComponent as m, guardReactiveProps as de, isRef as fe, normalizeClass as pe, normalizeProps as me, onBeforeUnmount as he, openBlock as h, ref as g, renderSlot as _, resolveDirective as ge, toDisplayString as v, unref as y, watch as _e, withCtx as b, withDirectives as ve } from "vue";
16
16
  import { useI18n as x } from "vue-i18n";
@@ -34,7 +34,7 @@ var C = { class: "page-box" }, w = { class: "module-box" }, T = { class: "w-100
34
34
  routeQuery: { default: "" }
35
35
  },
36
36
  setup(m) {
37
- let P = p(() => import("./ShareAnonymous-bOwwEjPv.mjs")), F = p(() => import("./PodcastFilterList-YM90eN60.mjs")), ye = p(() => import("./SharePlayer-CRri0YED.mjs").then((e) => e.n)), be = p(() => import("./ShareSocialsButtons-BJ3DqvIO.mjs")), xe = p(() => import("./SubscribeButtons-zlRDGEzS.mjs").then((e) => e.n)), Se = p(() => import("./LiveHorizontalList-CpoIRd4C.mjs")), Ce = p(() => import("./PodcastPlayButton-CQY0d6f-.mjs").then((e) => e.n)), we = p(() => import("./PodcastmakerHeader-MhdOrssb.mjs")), Te = p(() => import("./TagList-BBHyaKp-.mjs")), I = m, L = g(!1), R = g(!1), z = g(void 0), B = g(void 0), { t: V } = x(), { useProxyImageUrl: Ee } = ee(), { isPodcastmaker: H, isEditRights: De, authOrgaId: U } = ie(), { updatePathParams: Oe } = re(), { handle403: ke } = ne(), W = r(), G = te(), Ae = S(), { searchPattern: K, paginateFirst: je, isInit: Me } = a(I, !0), { areSeasonsEnabled: q, formatSeason: Ne, getMaxSeason: Pe } = ae(), J = o(() => z.value?.name ?? ""), Y = o(() => z.value?.description ?? ""), X = o(() => De(z.value?.orga.id)), Fe = o(() => {
37
+ let P = p(() => import("./ShareAnonymous-DK2rnLl1.mjs")), F = p(() => import("./PodcastFilterList-CL5ebQ69.mjs")), ye = p(() => import("./SharePlayer-C0aveOwy.mjs").then((e) => e.n)), be = p(() => import("./ShareSocialsButtons-PqMXhFEk.mjs")), xe = p(() => import("./SubscribeButtons-IpzqDGIn.mjs").then((e) => e.n)), Se = p(() => import("./LiveHorizontalList-Bs-Rz5Ws.mjs")), Ce = p(() => import("./PodcastPlayButton--gjzxW0o.mjs").then((e) => e.n)), we = p(() => import("./PodcastmakerHeader-CIoJwm1L.mjs")), Te = p(() => import("./TagList-V9fAFATL.mjs")), I = m, L = g(!1), R = g(!1), z = g(void 0), B = g(void 0), { t: V } = x(), { useProxyImageUrl: Ee } = ee(), { isPodcastmaker: H, isEditRights: De, authOrgaId: U } = ie(), { updatePathParams: Oe } = re(), { handle403: ke } = ne(), W = n(), G = te(), Ae = S(), { searchPattern: K, paginateFirst: je, isInit: Me } = a(I, !0), { areSeasonsEnabled: q, formatSeason: Ne, getMaxSeason: Pe } = ae(), J = o(() => z.value?.name ?? ""), Y = o(() => z.value?.description ?? ""), X = o(() => De(z.value?.orga.id)), Fe = o(() => {
38
38
  let e = V("Listen to the latest episode");
39
39
  return B.value !== void 0 && q(z.value) ? e + ` (${Ne(B.value)})` : e;
40
40
  });
@@ -50,7 +50,7 @@ var C = { class: "page-box" }, w = { class: "module-box" }, T = { class: "w-100
50
50
  async function Q() {
51
51
  L.value = !1, R.value = !1;
52
52
  try {
53
- if (z.value = await n.get(I.emissionId), W.updateOrgaIfNecessary(z.value.orga.id), z.value.orga.privacy !== "PUBLIC" && W.filterOrgaId !== z.value.orga.id && Ae.query.productor !== z.value.orga.id) {
53
+ if (z.value = await r.get(I.emissionId), W.updateOrgaIfNecessary(z.value.orga.id), z.value.orga.privacy !== "PUBLIC" && W.filterOrgaId !== z.value.orga.id && Ae.query.productor !== z.value.orga.id) {
54
54
  Z();
55
55
  return;
56
56
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmissionPage-CPXcNHGS.mjs","names":["displayHelper","_resolveDirective","_openBlock","_createElementBlock","_Fragment","_createBlock","_createCommentVNode","_createElementVNode","_normalizeClass","_renderSlot","_withDirectives","_createVNode","_createTextVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps","_sfc_main"],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmissionPage-EMgXCVhK.mjs","names":["displayHelper","_resolveDirective","_openBlock","_createElementBlock","_Fragment","_createBlock","_createCommentVNode","_createElementVNode","_normalizeClass","_renderSlot","_withDirectives","_createVNode","_createTextVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps","_sfc_main"],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmissionPage-mXbUqOh9.mjs","names":["displayHelper","_resolveDirective","_openBlock","_createElementBlock","_Fragment","_createBlock","_createCommentVNode","_createElementVNode","_normalizeClass","_renderSlot","_withDirectives","_createVNode","_createTextVNode","_toDisplayString","_withCtx","_normalizeProps","_guardReactiveProps","_sfc_main"],"sources":["../src/components/pages/EmissionPage.vue","../src/components/pages/EmissionPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && emission\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"useEmissionTitle ? emission.name : t('Emission')\"\n :img-url=\"emission.imageUrl\"\n />\n <div\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <slot\n v-if=\"editRight && !isPodcastmaker\"\n name=\"edit-box\"\n :emission=\"emission\"\n :on-updated=\"getEmissionDetails\"\n />\n\n <div class=\"w-100 mb-2\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '250')\"\n width=\"250\"\n height=\"250\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Emission name image', { name })\"\n class=\"img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3\"\n >\n\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>\n <RightsIndicator\n inline\n :emission=\"emission\"\n action=\"edit\"\n />\n {{ name }}\n </h2>\n <ShareAnonymous\n v-if=\"!editRight\"\n class=\"d-flex justify-content-end flex-grow-1\"\n :emission=\"emission\"\n :organisation-id=\"emission.orga.id\"\n />\n </div>\n <h3 v-if=\"showSubtitle\" class=\"text-secondary\">\n {{ emission.annotations.subtitle }}\n </h3>\n\n <!-- eslint-disable vue/no-v-html -->\n <p\n class=\"html-wysiwyg-content description-text\"\n v-html=\"urlify(description)\"\n />\n <!-- eslint-enable -->\n\n <ErrorMessage v-if=\"emission.visible === false\">\n <div class=\"d-flex\" style=\"align-items: center\">\n <div>{{ t('Emission - Not available for listeners') }}</div>\n\n <ClassicHelpButton relative-class=\"page-element\" small>\n {{ t('Emission - Not available explanation') }}\n </ClassicHelpButton>\n </div>\n </ErrorMessage>\n\n <div v-if=\"lastPodcast\" class=\"d-flex align-items-center mt-3\">\n <PodcastPlayButton\n :podcast=\"lastPodcast\"\n :just-buttons=\"true\"\n />\n <div class=\"ms-2 fw-bold\">\n {{ messageListenEpisode }}\n </div>\n </div>\n\n <!-- Tag list -->\n <TagList\n v-if=\"showTags\"\n :tag-list=\"emission.tags\"\n :orga-id=\"authOrgaId\"\n :emission-annotations=\"emission.annotations\"\n :max=\"state.emissionPage.maxTags\"\n />\n\n <InlineRubriqueList\n v-if=\"emission.rubriqueIds?.length\"\n :orga-id=\"emission.orga.id\"\n :rubrique-ids=\"emission.rubriqueIds\"\n />\n\n <SubscribeButtons\n v-if=\"isPodcastmaker\"\n class=\"mt-4\"\n :content=\"emission\"\n :window-width=\"1000\"\n :justify-center=\"false\"\n />\n </div>\n </section>\n <ShareSocialsButtons\n v-if=\"state.emissionPage.ShareButtons\"\n :organisation-id=\"emission.orga.id\"\n />\n <SharePlayer\n v-if=\"!isPodcastmaker && editRight\"\n :emission=\"emission\"\n :organisation-id=\"authOrgaId\"\n />\n <section class=\"module-box\">\n <LiveHorizontalList\n v-if=\"!isPodcastmaker\"\n class=\"mx-2\"\n :emission-id=\"emissionId\"\n />\n <PodcastFilterList\n v-if=\"isInit\"\n v-model:query=\"searchPattern\"\n class=\"mx-2\"\n :first=\"paginateFirst\"\n :size=\"ps\"\n :show-count=\"true\"\n :emission-id=\"emissionId\"\n :emission=\"emission\"\n :category-filter=\"false\"\n :edit-right=\"editRight\"\n :productor-id=\"[emission.orga.id]\"\n :force-update-parameters=\"true\"\n @fetch=\"podcastsFetched\"\n />\n </section>\n\n <slot name=\"bottom\" v-bind=\"{ emission }\" />\n </div>\n </template>\n <ClassicLoading\n :loading-text=\"!loaded ? t('Loading content ...') : undefined\"\n :error-text=\"error ? t(`Emission doesn't exist`) : undefined\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport displayHelper from \"../../helper/displayHelper\";\nimport {useImageProxy} from \"../composable/useImageProxy\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute } from \"vue-router\";\nimport { useSimplePageParam } from \"../composable/route/useSimplePageParam\";\nimport ErrorMessage from \"../misc/ErrorMessage.vue\";\nimport ClassicHelpButton from \"../misc/ClassicHelpButton.vue\";\nimport { emissionApi } from \"../../api/emissionApi\";\nimport { useSeasonsManagement } from \"../composable/useSeasonsManagement\";\nimport RightsIndicator from \"../display/RightsIndicator.vue\"; \nimport InlineRubriqueList from \"../display/rubriques/InlineRubriqueList.vue\"; \n\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\nconst PodcastFilterList = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastFilterList.vue\"),\n);\nconst SharePlayer = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayer.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst SubscribeButtons = defineAsyncComponent(\n () => import(\"../display/sharing/SubscribeButtons.vue\"),\n);\nconst LiveHorizontalList = defineAsyncComponent(\n () => import(\"../display/live/LiveHorizontalList.vue\"),\n);\nconst PodcastPlayButton = defineAsyncComponent(\n () => import(\"../display/podcasts/PodcastPlayButton.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst TagList = defineAsyncComponent(() => import(\"../display/podcasts/TagList.vue\"));\n\n//Props \nconst props = withDefaults(defineProps<{\n emissionId: number;\n pr?: number;\n ps?: number;\n routeQuery?: string;\n}>(), {\n pr: 0,\n ps: 30,\n routeQuery: ''\n});\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst emission: Ref<Emission | undefined> = ref(undefined);\nconst lastPodcast: Ref<Podcast | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst { handle403 } = useErrorHandler();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\nconst route = useRoute();\nconst {\n searchPattern,\n paginateFirst,\n isInit\n} = useSimplePageParam(props, true);\nconst { areSeasonsEnabled, formatSeason, getMaxSeason } = useSeasonsManagement();\n\n\n//Computed\nconst name = computed(() => emission.value?.name ?? \"\");\nconst description = computed(() => emission.value?.description ?? \"\");\nconst editRight = computed(() => isEditRights(emission.value?.orga.id));\n\nconst messageListenEpisode = computed((): string => {\n const base = t(\"Listen to the latest episode\");\n if (lastPodcast.value !== undefined && areSeasonsEnabled(emission.value)) {\n return base + ` (${formatSeason(lastPodcast.value)})`;\n } else {\n return base;\n }\n});\n\n//Watch\nwatch(() => props.emissionId, getEmissionDetails, { immediate: true });\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n})\n\n//Methods\nfunction urlify(text:string|undefined){\n return displayHelper.urlify(text);\n}\nfunction initError(): void {\n error.value = true;\n loaded.value = true;\n}\nasync function getEmissionDetails(): Promise<void> {\n loaded.value = false;\n error.value = false;\n try {\n emission.value = await emissionApi.get(props.emissionId);\n filterStore.updateOrgaIfNecessary(emission.value.orga.id);\n if (\n \"PUBLIC\" !== emission.value.orga.privacy &&\n filterStore.filterOrgaId !== emission.value.orga.id &&\n route.query.productor !== emission.value.orga.id\n ) {\n initError();\n return;\n }\n generalStore.contentToDisplayUpdate(emission.value);\n updatePathParams(name.value);\n loaded.value = true;\n } catch (error) {\n handle403(error as AxiosError);\n initError();\n }\n}\n\nfunction isReadyAndVisibleAndValid(p: Podcast): boolean {\n return \"READY\" === p.processingStatus && p.availability.visibility && p.valid === true;\n}\n\nfunction podcastsFetched(podcasts: Array<Podcast>, season: number|undefined) {\n\n if (areSeasonsEnabled(emission.value)) {\n // Ignore results that are not from the last season\n const maxSeason = getMaxSeason(emission.value);\n if (season !== undefined && season !== maxSeason) {\n return;\n }\n // If seasons are enabled, take last element\n lastPodcast.value = podcasts.findLast(isReadyAndVisibleAndValid);\n } else {\n // If seasons are disabled, we have a standard date desc sort, so we take\n // first element\n lastPodcast.value = podcasts.find(isReadyAndVisibleAndValid);\n }\n}\n\n/** Indicates whether to display emission name in header */\nconst useEmissionTitle = computed((): boolean => {\n return state.emissionPage?.displayEmissionTitleInHeader === true;\n});\n\n/** Indicates whether to show subtitle */\nconst showSubtitle = computed((): boolean => {\n return emission.value.annotations?.subtitle && state.emissionPage?.hideSubtitle !== true;\n});\n\n/** Indicates whether to show tags */\nconst showTags = computed((): boolean => {\n if (state.emissionPage?.hideTags === true) {\n return false;\n }\n\n return undefined !== emission.value.tags && 0 !== emission.value.tags.length;\n});\n</script>\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.mjs";
2
- import { A as t, t as n } from "./classicApi-pmODlqv5.mjs";
3
- import { t as r } from "./useImageProxy-8ndy_oTo.mjs";
2
+ import { j as t, t as n } from "./classicApi-CGipMqf7.mjs";
3
+ import { t as r } from "./useImageProxy-CCpDzPmQ.mjs";
4
4
  import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineAsyncComponent as f, defineComponent as p, onBeforeMount as m, openBlock as h, ref as g, renderList as _, resolveComponent as v, resolveDirective as y, toDisplayString as b, unref as x, withCtx as S, withDirectives as C } from "vue";
5
5
  import { useI18n as w } from "vue-i18n";
6
6
  //#region src/components/display/emission/EmissionPlayerItem.vue?vue&type=script&setup=true&lang.ts
@@ -27,7 +27,7 @@ var T = { class: "emission-player-container" }, E = {
27
27
  }
28
28
  },
29
29
  setup(e) {
30
- let p = f(() => import("./PodcastPlayBar-gAEttclo.mjs")), P = f(() => import("./PodcastPlayBasicButton-7w91y2ow.mjs")), F = e, I = g(!0), L = g([]), { t: R } = w(), { useProxyImageUrl: z } = r(), B = a(() => t.emissionsPage.progressBar), V = a(() => t.emissionsPage.buttonMore);
30
+ let p = f(() => import("./PodcastPlayBar-COU17bnm.mjs")), P = f(() => import("./PodcastPlayBasicButton-CVXhEUHB.mjs")), F = e, I = g(!0), L = g([]), { t: R } = w(), { useProxyImageUrl: z } = r(), B = a(() => t.emissionsPage.progressBar), V = a(() => t.emissionsPage.buttonMore);
31
31
  m(() => H());
32
32
  async function H() {
33
33
  if (F.nbPodcasts === 0) return;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmissionPlayerItem-C27zJBhY.mjs","names":["classicApi","_resolveComponent","_resolveDirective","_openBlock","_createElementBlock","_createVNode","_withCtx","_toDisplayString","_createCommentVNode","_createElementVNode","_withDirectives","_Fragment","_renderList","_createBlock","_createTextVNode","_sfc_main"],"sources":["../src/components/display/emission/EmissionPlayerItem.vue","../src/components/display/emission/EmissionPlayerItem.vue"],"sourcesContent":["<template>\n <div class=\"emission-player-container\">\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n :title=\"t('Series name page', { name: emission.name })\"\n class=\"d-flex flex-column text-dark\"\n >\n <div v-if=\"rubriqueName\" class=\"emission-player-item-info\">\n {{ rubriqueName }}\n </div>\n <div class=\"img-box\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '330')\"\n width=\"330\"\n height=\"330\"\n aria-hidden=\"true\"\n :title=\"t('Emission name image', { name: emission.name })\"\n :alt=\"t('Emission name image', { name: emission.name })\"\n class=\"img-box\"\n >\n </div>\n <div class=\"fw-bold text-uppercase text-truncate p-2\">\n {{ emission.name }}\n </div>\n </router-link>\n <div\n v-for=\"p in podcasts\"\n :key=\"p.podcastId\"\n class=\"border-top emission-item-border-color p-2 d-flex flex-column\"\n >\n <router-link\n v-if=\"isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"text-dark fw-bold basic-line-clamp\"\n >\n {{ p.title }}\n </router-link>\n <div class=\"d-flex justify-content-between flex-grow-1\">\n <div class=\"d-flex flex-column\">\n <router-link\n v-if=\"!isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"d-flex flex-grow-1 align-items-center define-width text-dark\"\n >\n <div class=\"fw-bold text-truncate\">\n {{ p.title }}\n </div>\n </router-link>\n <PodcastPlayBar\n v-else\n :display-buton-play=\"true\"\n :podcast=\"p\"\n />\n </div>\n <PodcastPlayBasicButton\n v-if=\"!isProgressBar\"\n :podcast=\"p\"\n />\n </div>\n </div>\n <div\n v-if=\"buttonMore && podcasts.length === nbPodcasts\"\n class=\"border-top emission-item-border-color p-2 octopus-bg d-flex justify-content-center\"\n >\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n class=\"btn\"\n >\n {{ t(\"More episodes\") }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent, onBeforeMount, Ref, ref } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"../podcasts/PodcastPlayBar.vue\"),\n);\nconst PodcastPlayBasicButton = defineAsyncComponent(() => import(\"../podcasts/PodcastPlayBasicButton.vue\"));\n\n//Props \nconst props = defineProps({\n emission: { default: () => ({}), type: Object as () => Emission },\n /** Number of podcasts to display (default: 2); if set to 0, no podcasts will be displayed */\n nbPodcasts: { default: undefined, type: Number },\n rubriqueName: { default: undefined, type: String },\n})\n\n//Data \nconst activeEmission = ref(true);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\n \n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\n\n//Computed\nconst isProgressBar = computed(() => state.emissionsPage.progressBar as boolean);\nconst buttonMore = computed(() => state.emissionsPage.buttonMore as boolean);\n\n\nonBeforeMount(()=>loadPodcasts())\n\n//Methods\nasync function loadPodcasts(): Promise<void> {\n if (props.nbPodcasts === 0) {\n return;\n }\n\n const nb = props.nbPodcasts ? props.nbPodcasts : 2;\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n emissionId: props.emission.emissionId,\n size: nb,\n includeStatus: [\"READY\", \"PROCESSING\"],\n },\n specialTreatement: true,\n });\n if (0 === data.count) {\n activeEmission.value = false;\n }\n podcasts.value = data.result;\n}\n</script>\n\n<style lang=\"scss\">\n.emission-player-container {\n list-style: none;\n background: var(--octopus-background);\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: var(--octopus-image-size);\n height: min-content;\n border: 2px solid var(--octopus-border-default);\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n\n .emission-item-border-color {\n border-color: var(--octopus-secondary);\n }\n\n .define-width {\n width: 9rem;\n }\n\n @media (width <= 960px) {\n .d-flex:not(.flex-column) {\n flex-wrap: nowrap;\n }\n }\n \n @media (width <= 450px) {\n max-width: var(--octopus-image-size);\n }\n}\n</style>\n","<template>\n <div class=\"emission-player-container\">\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n :title=\"t('Series name page', { name: emission.name })\"\n class=\"d-flex flex-column text-dark\"\n >\n <div v-if=\"rubriqueName\" class=\"emission-player-item-info\">\n {{ rubriqueName }}\n </div>\n <div class=\"img-box\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '330')\"\n width=\"330\"\n height=\"330\"\n aria-hidden=\"true\"\n :title=\"t('Emission name image', { name: emission.name })\"\n :alt=\"t('Emission name image', { name: emission.name })\"\n class=\"img-box\"\n >\n </div>\n <div class=\"fw-bold text-uppercase text-truncate p-2\">\n {{ emission.name }}\n </div>\n </router-link>\n <div\n v-for=\"p in podcasts\"\n :key=\"p.podcastId\"\n class=\"border-top emission-item-border-color p-2 d-flex flex-column\"\n >\n <router-link\n v-if=\"isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"text-dark fw-bold basic-line-clamp\"\n >\n {{ p.title }}\n </router-link>\n <div class=\"d-flex justify-content-between flex-grow-1\">\n <div class=\"d-flex flex-column\">\n <router-link\n v-if=\"!isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"d-flex flex-grow-1 align-items-center define-width text-dark\"\n >\n <div class=\"fw-bold text-truncate\">\n {{ p.title }}\n </div>\n </router-link>\n <PodcastPlayBar\n v-else\n :display-buton-play=\"true\"\n :podcast=\"p\"\n />\n </div>\n <PodcastPlayBasicButton\n v-if=\"!isProgressBar\"\n :podcast=\"p\"\n />\n </div>\n </div>\n <div\n v-if=\"buttonMore && podcasts.length === nbPodcasts\"\n class=\"border-top emission-item-border-color p-2 octopus-bg d-flex justify-content-center\"\n >\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n class=\"btn\"\n >\n {{ t(\"More episodes\") }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent, onBeforeMount, Ref, ref } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"../podcasts/PodcastPlayBar.vue\"),\n);\nconst PodcastPlayBasicButton = defineAsyncComponent(() => import(\"../podcasts/PodcastPlayBasicButton.vue\"));\n\n//Props \nconst props = defineProps({\n emission: { default: () => ({}), type: Object as () => Emission },\n /** Number of podcasts to display (default: 2); if set to 0, no podcasts will be displayed */\n nbPodcasts: { default: undefined, type: Number },\n rubriqueName: { default: undefined, type: String },\n})\n\n//Data \nconst activeEmission = ref(true);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\n \n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\n\n//Computed\nconst isProgressBar = computed(() => state.emissionsPage.progressBar as boolean);\nconst buttonMore = computed(() => state.emissionsPage.buttonMore as boolean);\n\n\nonBeforeMount(()=>loadPodcasts())\n\n//Methods\nasync function loadPodcasts(): Promise<void> {\n if (props.nbPodcasts === 0) {\n return;\n }\n\n const nb = props.nbPodcasts ? props.nbPodcasts : 2;\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n emissionId: props.emission.emissionId,\n size: nb,\n includeStatus: [\"READY\", \"PROCESSING\"],\n },\n specialTreatement: true,\n });\n if (0 === data.count) {\n activeEmission.value = false;\n }\n podcasts.value = data.result;\n}\n</script>\n\n<style lang=\"scss\">\n.emission-player-container {\n list-style: none;\n background: var(--octopus-background);\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: var(--octopus-image-size);\n height: min-content;\n border: 2px solid var(--octopus-border-default);\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n\n .emission-item-border-color {\n border-color: var(--octopus-secondary);\n }\n\n .define-width {\n width: 9rem;\n }\n\n @media (width <= 960px) {\n .d-flex:not(.flex-column) {\n flex-wrap: nowrap;\n }\n }\n \n @media (width <= 450px) {\n max-width: var(--octopus-image-size);\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmissionPlayerItem-C3fkgEaL.mjs","names":["classicApi","_resolveComponent","_resolveDirective","_openBlock","_createElementBlock","_createVNode","_withCtx","_toDisplayString","_createCommentVNode","_createElementVNode","_withDirectives","_Fragment","_renderList","_createBlock","_createTextVNode","_sfc_main"],"sources":["../src/components/display/emission/EmissionPlayerItem.vue","../src/components/display/emission/EmissionPlayerItem.vue"],"sourcesContent":["<template>\n <div class=\"emission-player-container\">\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n :title=\"t('Series name page', { name: emission.name })\"\n class=\"d-flex flex-column text-dark\"\n >\n <div v-if=\"rubriqueName\" class=\"emission-player-item-info\">\n {{ rubriqueName }}\n </div>\n <div class=\"img-box\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '330')\"\n width=\"330\"\n height=\"330\"\n aria-hidden=\"true\"\n :title=\"t('Emission name image', { name: emission.name })\"\n :alt=\"t('Emission name image', { name: emission.name })\"\n class=\"img-box\"\n >\n </div>\n <div class=\"fw-bold text-uppercase text-truncate p-2\">\n {{ emission.name }}\n </div>\n </router-link>\n <div\n v-for=\"p in podcasts\"\n :key=\"p.podcastId\"\n class=\"border-top emission-item-border-color p-2 d-flex flex-column\"\n >\n <router-link\n v-if=\"isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"text-dark fw-bold basic-line-clamp\"\n >\n {{ p.title }}\n </router-link>\n <div class=\"d-flex justify-content-between flex-grow-1\">\n <div class=\"d-flex flex-column\">\n <router-link\n v-if=\"!isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"d-flex flex-grow-1 align-items-center define-width text-dark\"\n >\n <div class=\"fw-bold text-truncate\">\n {{ p.title }}\n </div>\n </router-link>\n <PodcastPlayBar\n v-else\n :display-buton-play=\"true\"\n :podcast=\"p\"\n />\n </div>\n <PodcastPlayBasicButton\n v-if=\"!isProgressBar\"\n :podcast=\"p\"\n />\n </div>\n </div>\n <div\n v-if=\"buttonMore && podcasts.length === nbPodcasts\"\n class=\"border-top emission-item-border-color p-2 octopus-bg d-flex justify-content-center\"\n >\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n class=\"btn\"\n >\n {{ t(\"More episodes\") }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent, onBeforeMount, Ref, ref } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"../podcasts/PodcastPlayBar.vue\"),\n);\nconst PodcastPlayBasicButton = defineAsyncComponent(() => import(\"../podcasts/PodcastPlayBasicButton.vue\"));\n\n//Props \nconst props = defineProps({\n emission: { default: () => ({}), type: Object as () => Emission },\n /** Number of podcasts to display (default: 2); if set to 0, no podcasts will be displayed */\n nbPodcasts: { default: undefined, type: Number },\n rubriqueName: { default: undefined, type: String },\n})\n\n//Data \nconst activeEmission = ref(true);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\n \n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\n\n//Computed\nconst isProgressBar = computed(() => state.emissionsPage.progressBar as boolean);\nconst buttonMore = computed(() => state.emissionsPage.buttonMore as boolean);\n\n\nonBeforeMount(()=>loadPodcasts())\n\n//Methods\nasync function loadPodcasts(): Promise<void> {\n if (props.nbPodcasts === 0) {\n return;\n }\n\n const nb = props.nbPodcasts ? props.nbPodcasts : 2;\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n emissionId: props.emission.emissionId,\n size: nb,\n includeStatus: [\"READY\", \"PROCESSING\"],\n },\n specialTreatement: true,\n });\n if (0 === data.count) {\n activeEmission.value = false;\n }\n podcasts.value = data.result;\n}\n</script>\n\n<style lang=\"scss\">\n.emission-player-container {\n list-style: none;\n background: var(--octopus-background);\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: var(--octopus-image-size);\n height: min-content;\n border: 2px solid var(--octopus-border-default);\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n\n .emission-item-border-color {\n border-color: var(--octopus-secondary);\n }\n\n .define-width {\n width: 9rem;\n }\n\n @media (width <= 960px) {\n .d-flex:not(.flex-column) {\n flex-wrap: nowrap;\n }\n }\n \n @media (width <= 450px) {\n max-width: var(--octopus-image-size);\n }\n}\n</style>\n","<template>\n <div class=\"emission-player-container\">\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n :title=\"t('Series name page', { name: emission.name })\"\n class=\"d-flex flex-column text-dark\"\n >\n <div v-if=\"rubriqueName\" class=\"emission-player-item-info\">\n {{ rubriqueName }}\n </div>\n <div class=\"img-box\">\n <img\n v-lazy=\"useProxyImageUrl(emission.imageUrl, '330')\"\n width=\"330\"\n height=\"330\"\n aria-hidden=\"true\"\n :title=\"t('Emission name image', { name: emission.name })\"\n :alt=\"t('Emission name image', { name: emission.name })\"\n class=\"img-box\"\n >\n </div>\n <div class=\"fw-bold text-uppercase text-truncate p-2\">\n {{ emission.name }}\n </div>\n </router-link>\n <div\n v-for=\"p in podcasts\"\n :key=\"p.podcastId\"\n class=\"border-top emission-item-border-color p-2 d-flex flex-column\"\n >\n <router-link\n v-if=\"isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"text-dark fw-bold basic-line-clamp\"\n >\n {{ p.title }}\n </router-link>\n <div class=\"d-flex justify-content-between flex-grow-1\">\n <div class=\"d-flex flex-column\">\n <router-link\n v-if=\"!isProgressBar\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n class=\"d-flex flex-grow-1 align-items-center define-width text-dark\"\n >\n <div class=\"fw-bold text-truncate\">\n {{ p.title }}\n </div>\n </router-link>\n <PodcastPlayBar\n v-else\n :display-buton-play=\"true\"\n :podcast=\"p\"\n />\n </div>\n <PodcastPlayBasicButton\n v-if=\"!isProgressBar\"\n :podcast=\"p\"\n />\n </div>\n </div>\n <div\n v-if=\"buttonMore && podcasts.length === nbPodcasts\"\n class=\"border-top emission-item-border-color p-2 octopus-bg d-flex justify-content-center\"\n >\n <router-link\n :to=\"{\n name: 'emission',\n params: { emissionId: emission.emissionId },\n }\"\n class=\"btn\"\n >\n {{ t(\"More episodes\") }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent, onBeforeMount, Ref, ref } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"../podcasts/PodcastPlayBar.vue\"),\n);\nconst PodcastPlayBasicButton = defineAsyncComponent(() => import(\"../podcasts/PodcastPlayBasicButton.vue\"));\n\n//Props \nconst props = defineProps({\n emission: { default: () => ({}), type: Object as () => Emission },\n /** Number of podcasts to display (default: 2); if set to 0, no podcasts will be displayed */\n nbPodcasts: { default: undefined, type: Number },\n rubriqueName: { default: undefined, type: String },\n})\n\n//Data \nconst activeEmission = ref(true);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\n \n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\n\n//Computed\nconst isProgressBar = computed(() => state.emissionsPage.progressBar as boolean);\nconst buttonMore = computed(() => state.emissionsPage.buttonMore as boolean);\n\n\nonBeforeMount(()=>loadPodcasts())\n\n//Methods\nasync function loadPodcasts(): Promise<void> {\n if (props.nbPodcasts === 0) {\n return;\n }\n\n const nb = props.nbPodcasts ? props.nbPodcasts : 2;\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n emissionId: props.emission.emissionId,\n size: nb,\n includeStatus: [\"READY\", \"PROCESSING\"],\n },\n specialTreatement: true,\n });\n if (0 === data.count) {\n activeEmission.value = false;\n }\n podcasts.value = data.result;\n}\n</script>\n\n<style lang=\"scss\">\n.emission-player-container {\n list-style: none;\n background: var(--octopus-background);\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: var(--octopus-image-size);\n height: min-content;\n border: 2px solid var(--octopus-border-default);\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n\n .emission-item-border-color {\n border-color: var(--octopus-secondary);\n }\n\n .define-width {\n width: 9rem;\n }\n\n @media (width <= 960px) {\n .d-flex:not(.flex-column) {\n flex-wrap: nowrap;\n }\n }\n \n @media (width <= 450px) {\n max-width: var(--octopus-image-size);\n }\n}\n</style>\n"],"mappings":"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"}