@saooti/octopus-sdk 42.2.1 → 42.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/dist/{AdvancedSearch-fO5eaqLJ.mjs → AdvancedSearch-C4segSRv.mjs} +6 -6
  2. package/dist/AdvancedSearch-C4segSRv.mjs.map +1 -0
  3. package/dist/AdvancedSearch-DD9tnLCw.mjs.map +1 -0
  4. package/dist/{CategoryFilter-Cu2a0YE9.mjs → CategoryFilter-CpplEC8n.mjs} +5 -5
  5. package/dist/CategoryFilter-CpplEC8n.mjs.map +1 -0
  6. package/dist/CategoryFilter-cbQR_ySd.mjs.map +1 -0
  7. package/dist/{CategoryList-DkxZDrO5.mjs → CategoryList-BTabY3vQ.mjs} +2 -2
  8. package/dist/CategoryList-BTabY3vQ.mjs.map +1 -0
  9. package/dist/CategoryList-DHEJoaez.mjs.map +1 -0
  10. package/dist/CategoryPage-BbsCC3Wr.mjs.map +1 -0
  11. package/dist/CategoryPage-BxvUmThb.mjs.map +1 -0
  12. package/dist/{CategoryPage-3HFz1i7_.mjs → CategoryPage-D755GvQZ.mjs} +3 -3
  13. package/dist/CategoryPage-D755GvQZ.mjs.map +1 -0
  14. package/dist/CategoryPage-DDBJ2krs.mjs.map +1 -0
  15. package/dist/CategoryPage-DRCYjOqG.mjs.map +1 -0
  16. package/dist/ChapteringModal-CSQqCWIk.mjs.map +1 -0
  17. package/dist/ChapteringModal-Dt8Rsauh.mjs.map +1 -0
  18. package/dist/{ChapteringModal-C-rdkbSz.mjs → ChapteringModal-ei6ZqVJU.mjs} +2 -2
  19. package/dist/ChapteringModal-ei6ZqVJU.mjs.map +1 -0
  20. package/dist/CheckIdentityModal-CNFVJVB_.mjs.map +1 -0
  21. package/dist/{CheckIdentityModal-N9h8yvhC.mjs → CheckIdentityModal-cpMOuJGv.mjs} +3 -3
  22. package/dist/CheckIdentityModal-cpMOuJGv.mjs.map +1 -0
  23. package/dist/ClipboardModal-2ZGF38VB.mjs.map +1 -0
  24. package/dist/{ClipboardModal-CnieIOJr.mjs → ClipboardModal-DzCUqSph.mjs} +2 -2
  25. package/dist/ClipboardModal-DzCUqSph.mjs.map +1 -0
  26. package/dist/CommentInput-CV46HJN8.mjs.map +1 -0
  27. package/dist/{CommentInput-CEioyN7X.mjs → CommentInput-D_p03L68.mjs} +6 -6
  28. package/dist/CommentInput-D_p03L68.mjs.map +1 -0
  29. package/dist/CommentInput-DwRbD74k.mjs.map +1 -0
  30. package/dist/CommentItem-B6_XUaFR.mjs.map +1 -0
  31. package/dist/CommentItem-CbbmwVXB.mjs.map +1 -0
  32. package/dist/CommentItem-DfKKazY0.mjs.map +1 -0
  33. package/dist/CommentItem-JRjSLmui.mjs.map +1 -0
  34. package/dist/{CommentItem-BefuRoxQ.mjs → CommentItem-MFN0JNW1.mjs} +8 -8
  35. package/dist/CommentItem-MFN0JNW1.mjs.map +1 -0
  36. package/dist/{CommentList-BsPwzqkf.mjs → CommentList-BkKy5ftL.mjs} +3 -3
  37. package/dist/CommentList-BkKy5ftL.mjs.map +1 -0
  38. package/dist/CommentList-BrP71Ug4.mjs.map +1 -0
  39. package/dist/CommentList-Ng_YXr74.mjs.map +1 -0
  40. package/dist/CommentList-tKA7NFHM.mjs.map +1 -0
  41. package/dist/CommentList-yarlxaXg.mjs.map +1 -0
  42. package/dist/{CommentMoreActions-C86aqy8M.mjs → CommentMoreActions-CBSvuOGJ.mjs} +5 -5
  43. package/dist/CommentMoreActions-CBSvuOGJ.mjs.map +1 -0
  44. package/dist/CommentMoreActions-D7guBdA7.mjs.map +1 -0
  45. package/dist/CommentName-frCHmngc.mjs.map +1 -0
  46. package/dist/{CommentName-DT1QyPi3.mjs → CommentName-zTMSdG4d.mjs} +3 -3
  47. package/dist/CommentName-zTMSdG4d.mjs.map +1 -0
  48. package/dist/{CommentParentInfo-9Fe-3e6c.mjs → CommentParentInfo-CRTYPb8P.mjs} +2 -2
  49. package/dist/CommentParentInfo-CRTYPb8P.mjs.map +1 -0
  50. package/dist/CommentParentInfo-D8qquB6k.mjs.map +1 -0
  51. package/dist/CommentParentInfo-DC4Q6wNO.mjs.map +1 -0
  52. package/dist/CommentParentInfo-temUvqNv.mjs.map +1 -0
  53. package/dist/{CommentPlayer-CiWQM64Y.mjs → CommentPlayer-BMuLmZdI.mjs} +3 -3
  54. package/dist/CommentPlayer-BMuLmZdI.mjs.map +1 -0
  55. package/dist/CommentPlayer-BPA_lEoE.mjs.map +1 -0
  56. package/dist/CommentPlayer-CUNi1Lxv.mjs.map +1 -0
  57. package/dist/{CommentSection-Be38YIkC.mjs → CommentSection-B91sHMDT.mjs} +5 -5
  58. package/dist/CommentSection-B91sHMDT.mjs.map +1 -0
  59. package/dist/CommentSection-CpYd7i8U.mjs.map +1 -0
  60. package/dist/CommentSection-CrqweNX4.mjs.map +1 -0
  61. package/dist/CommentSection-G8rMWPrM.mjs.map +1 -0
  62. package/dist/CommentSection-xjY6h7nn.mjs.map +1 -0
  63. package/dist/CommentStore-9WWuGwIj.mjs.map +1 -0
  64. package/dist/{CommentStore-Dv7j94Uo.mjs → CommentStore-ClU882RI.mjs} +2 -2
  65. package/dist/CommentStore-ClU882RI.mjs.map +1 -0
  66. package/dist/ContractPreviewModal-C4_20E99.mjs.map +1 -0
  67. package/dist/{ContractPreviewModal-CPT6bDpJ.mjs → ContractPreviewModal-Dn5MeLFo.mjs} +2 -2
  68. package/dist/ContractPreviewModal-Dn5MeLFo.mjs.map +1 -0
  69. package/dist/{DownloadPodcastButton-6D8qNAkT.mjs → DownloadPodcastButton-BI_sZWcJ.mjs} +3 -3
  70. package/dist/DownloadPodcastButton-BI_sZWcJ.mjs.map +1 -0
  71. package/dist/DownloadPodcastButton-CSRcg8Nl.mjs.map +1 -0
  72. package/dist/EditCommentModal-KAP1l9RK.mjs.map +1 -0
  73. package/dist/{EditCommentModal-aAcjhc0v.mjs → EditCommentModal-RbVMVDOp.mjs} +2 -2
  74. package/dist/EditCommentModal-RbVMVDOp.mjs.map +1 -0
  75. package/dist/{EmissionGroupChooser-Djt1IZg7.mjs → EmissionGroupChooser-BXqM4iXP.mjs} +2 -2
  76. package/dist/EmissionGroupChooser-BXqM4iXP.mjs.map +1 -0
  77. package/dist/EmissionGroupChooser-CO1WBOUi.mjs.map +1 -0
  78. package/dist/EmissionInlineList-B-r4eI3D.mjs.map +1 -0
  79. package/dist/{EmissionInlineList-BcrKpW8S.mjs → EmissionInlineList-Cy1lbYKY.mjs} +6 -6
  80. package/dist/EmissionInlineList-Cy1lbYKY.mjs.map +1 -0
  81. package/dist/EmissionInlineList-IKPyjBTQ.mjs.map +1 -0
  82. package/dist/EmissionItem-982WkWkg.mjs.map +1 -0
  83. package/dist/EmissionItem-B8q9hnN5.mjs.map +1 -0
  84. package/dist/{EmissionItem-DfkPRcPz.mjs → EmissionItem-BwXm3nNx.mjs} +5 -5
  85. package/dist/EmissionItem-BwXm3nNx.mjs.map +1 -0
  86. package/dist/EmissionItem-ZDlQ7B9S.mjs.map +1 -0
  87. package/dist/{EmissionList-DSuGp0JO.mjs → EmissionList-C8OxrndH.mjs} +6 -6
  88. package/dist/EmissionList-C8OxrndH.mjs.map +1 -0
  89. package/dist/EmissionList-C9-UUWMV.mjs.map +1 -0
  90. package/dist/EmissionList-Dk9xS4s_.mjs.map +1 -0
  91. package/dist/EmissionList-nrY7ASws.mjs.map +1 -0
  92. package/dist/EmissionList-vH4NX1NW.mjs.map +1 -0
  93. package/dist/EmissionPage-BHAPlZw-.mjs.map +1 -0
  94. package/dist/EmissionPage-B_2JalGG.mjs.map +1 -0
  95. package/dist/EmissionPage-D4PjyZzN.mjs.map +1 -0
  96. package/dist/EmissionPage-HGPCRuZD.mjs.map +1 -0
  97. package/dist/{EmissionPage-Bo9fK8HE.mjs → EmissionPage-nCNIiWCo.mjs} +25 -18
  98. package/dist/EmissionPage-nCNIiWCo.mjs.map +1 -0
  99. package/dist/EmissionPlayerItem-B_wRzikv.mjs.map +1 -0
  100. package/dist/{EmissionPlayerItem-D21OrPmm.mjs → EmissionPlayerItem-Degbnz9F.mjs} +5 -5
  101. package/dist/EmissionPlayerItem-Degbnz9F.mjs.map +1 -0
  102. package/dist/EmissionPlayerItem-Dkd0o1ee.mjs.map +1 -0
  103. package/dist/EmissionPresentationItem-BQ7HhOlC.mjs.map +1 -0
  104. package/dist/{EmissionPresentationItem-CwDIBurH.mjs → EmissionPresentationItem-CwBGPIgz.mjs} +2 -2
  105. package/dist/EmissionPresentationItem-CwBGPIgz.mjs.map +1 -0
  106. package/dist/{EmissionPresentationList-CASI5laP.mjs → EmissionPresentationList-BKI5mQdw.mjs} +4 -4
  107. package/dist/EmissionPresentationList-BKI5mQdw.mjs.map +1 -0
  108. package/dist/EmissionPresentationList-CLli23rs.mjs.map +1 -0
  109. package/dist/EmissionsPage-CO2xgVOR.mjs.map +1 -0
  110. package/dist/{EmissionsPage-Bw8Qtzlk.mjs → EmissionsPage-Cj7su56Z.mjs} +5 -5
  111. package/dist/EmissionsPage-Cj7su56Z.mjs.map +1 -0
  112. package/dist/EmissionsPage-DJdy0re_.mjs.map +1 -0
  113. package/dist/EmissionsPage-DR9r7_gH.mjs.map +1 -0
  114. package/dist/EmissionsPage-OVNfLKFu.mjs.map +1 -0
  115. package/dist/Error403Page-Ch535DfU.mjs.map +1 -0
  116. package/dist/{Error403Page-nTYCHwTi.mjs → Error403Page-DW2kK8ZZ.mjs} +2 -2
  117. package/dist/Error403Page-DW2kK8ZZ.mjs.map +1 -0
  118. package/dist/FooterGarSection-B76j-WZS.mjs.map +1 -0
  119. package/dist/{FooterGarSection-Cod8Key5.mjs → FooterGarSection-DVdF5RFq.mjs} +4 -4
  120. package/dist/FooterGarSection-DVdF5RFq.mjs.map +1 -0
  121. package/dist/FooterSection-BQiO-D1p.mjs.map +1 -0
  122. package/dist/{FooterSection-4WXBZj7c.mjs → FooterSection-CpYI9OGH.mjs} +5 -5
  123. package/dist/FooterSection-CpYI9OGH.mjs.map +1 -0
  124. package/dist/{HomeDropdown-CVe7yF6Y.mjs → HomeDropdown-D7FezAO8.mjs} +3 -3
  125. package/dist/HomeDropdown-D7FezAO8.mjs.map +1 -0
  126. package/dist/HomeDropdown-DQoMvBgU.mjs.map +1 -0
  127. package/dist/HomePage-BWs_az04.mjs.map +1 -0
  128. package/dist/HomePage-CMPKjRFA.mjs.map +1 -0
  129. package/dist/HomePage-CsXaeTCW.mjs.map +1 -0
  130. package/dist/HomePage-NH7OxpA_.mjs.map +1 -0
  131. package/dist/{HomePage-DupmOw6F.mjs → HomePage-vo6At2bL.mjs} +4 -4
  132. package/dist/HomePage-vo6At2bL.mjs.map +1 -0
  133. package/dist/{PodcastRubriqueList-BeTq7IRu.mjs → InlineRubriqueList-3ZVN9GJk.mjs} +14 -12
  134. package/dist/InlineRubriqueList-3ZVN9GJk.mjs.map +1 -0
  135. package/dist/InlineRubriqueList-D03VCzg8.mjs.map +1 -0
  136. package/dist/LikeSection-DtthHZj6.mjs.map +1 -0
  137. package/dist/{LikeSection-DAid96g9.mjs → LikeSection-jKjhnj88.mjs} +4 -4
  138. package/dist/LikeSection-jKjhnj88.mjs.map +1 -0
  139. package/dist/{ListPaginate-C9saxru9.mjs → ListPaginate-BXNnw_I8.mjs} +3 -3
  140. package/dist/ListPaginate-BXNnw_I8.mjs.map +1 -0
  141. package/dist/ListPaginate-COsL4t78.mjs.map +1 -0
  142. package/dist/ListPaginate-JuC0L113.mjs.map +1 -0
  143. package/dist/LiveHorizontalList-CFs9mGYs.mjs.map +1 -0
  144. package/dist/LiveHorizontalList-CWBQkS78.mjs.map +1 -0
  145. package/dist/LiveHorizontalList-DwPVmnvH.mjs.map +1 -0
  146. package/dist/LiveHorizontalList-jducN58c.mjs.map +1 -0
  147. package/dist/{LiveHorizontalList-OArlzudf.mjs → LiveHorizontalList-wgXkgFLv.mjs} +4 -4
  148. package/dist/LiveHorizontalList-wgXkgFLv.mjs.map +1 -0
  149. package/dist/LiveList-Bp-feBp9.mjs.map +1 -0
  150. package/dist/LiveList-ByyCyWUl.mjs.map +1 -0
  151. package/dist/{LiveList-EqIo_cye.mjs → LiveList-CA5n6VeN.mjs} +6 -6
  152. package/dist/LiveList-CA5n6VeN.mjs.map +1 -0
  153. package/dist/LiveList-Cah5VFun.mjs.map +1 -0
  154. package/dist/LiveList-DTAnN32j.mjs.map +1 -0
  155. package/dist/LivesPage-CNPMz3xS.mjs.map +1 -0
  156. package/dist/{LivesPage-BmHiBN8A.mjs → LivesPage-CTjXgU-Y.mjs} +5 -5
  157. package/dist/LivesPage-CTjXgU-Y.mjs.map +1 -0
  158. package/dist/LivesPage-CdhWyikV.mjs.map +1 -0
  159. package/dist/LivesPage-CwvFSl6G.mjs.map +1 -0
  160. package/dist/LivesPage-DyIfBEPX.mjs.map +1 -0
  161. package/dist/{MapPage-DcXKTGGh.mjs → MapPage-C_nGG0_5.mjs} +3 -3
  162. package/dist/MapPage-C_nGG0_5.mjs.map +1 -0
  163. package/dist/MapPage-DXV40zWN.mjs.map +1 -0
  164. package/dist/{MobileMenu-C0IYBWwF.mjs → MobileMenu-C95GAIm0.mjs} +4 -4
  165. package/dist/MobileMenu-C95GAIm0.mjs.map +1 -0
  166. package/dist/MobileMenu-CfHqWqsL.mjs.map +1 -0
  167. package/dist/NewsletterModal-4Lei4Y59.mjs.map +1 -0
  168. package/dist/{NewsletterModal-BzlUlz3P.mjs → NewsletterModal-B6ky7DBC.mjs} +2 -2
  169. package/dist/NewsletterModal-B6ky7DBC.mjs.map +1 -0
  170. package/dist/OrganisationChooser-BufDZsSd.mjs.map +1 -0
  171. package/dist/{OrganisationChooser-Bm4zqqCH.mjs → OrganisationChooser-CA0_LiTH.mjs} +3 -3
  172. package/dist/OrganisationChooser-CA0_LiTH.mjs.map +1 -0
  173. package/dist/{OrganisationChooserLight-BQ9B91mO.mjs → OrganisationChooserLight-BwG5mNdW.mjs} +2 -2
  174. package/dist/OrganisationChooserLight-BwG5mNdW.mjs.map +1 -0
  175. package/dist/OrganisationChooserLight-C2oGlc9Z.mjs.map +1 -0
  176. package/dist/{PageNotFound-BVQ8M8sO.mjs → PageNotFound-BHpjyNDo.mjs} +3 -3
  177. package/dist/PageNotFound-BHpjyNDo.mjs.map +1 -0
  178. package/dist/PageNotFound-IMnfLZqX.mjs.map +1 -0
  179. package/dist/{ParticipantInlineList-BQtQZFW1.mjs → ParticipantInlineList-A8UwjE4m.mjs} +5 -5
  180. package/dist/ParticipantInlineList-A8UwjE4m.mjs.map +1 -0
  181. package/dist/ParticipantInlineList-BpVOpEBm.mjs.map +1 -0
  182. package/dist/ParticipantInlineList-C5jWxedt.mjs.map +1 -0
  183. package/dist/ParticipantInlineList-C78uhskc.mjs.map +1 -0
  184. package/dist/ParticipantItem--Wv16z3V.mjs.map +1 -0
  185. package/dist/ParticipantItem-B3k4mf2V.mjs.map +1 -0
  186. package/dist/ParticipantItem-DAPOMGZD.mjs.map +1 -0
  187. package/dist/{ParticipantItem-EDPkxTT-.mjs → ParticipantItem-Szz8WXI6.mjs} +4 -4
  188. package/dist/ParticipantItem-Szz8WXI6.mjs.map +1 -0
  189. package/dist/ParticipantPage-BbKUwNKL.mjs.map +1 -0
  190. package/dist/ParticipantPage-Byq-9aCQ.mjs.map +1 -0
  191. package/dist/ParticipantPage-D4RVBlE-.mjs.map +1 -0
  192. package/dist/ParticipantPage-DfLxuZf-.mjs.map +1 -0
  193. package/dist/{ParticipantPage-BF-s1oof.mjs → ParticipantPage-y3OoBod8.mjs} +9 -9
  194. package/dist/ParticipantPage-y3OoBod8.mjs.map +1 -0
  195. package/dist/{ParticipantsPage-Bzt8Hxah.mjs → ParticipantsPage--BxmzVwz.mjs} +7 -7
  196. package/dist/ParticipantsPage--BxmzVwz.mjs.map +1 -0
  197. package/dist/ParticipantsPage-BEPHaCy5.mjs.map +1 -0
  198. package/dist/ParticipantsPage-BlQavFT6.mjs.map +1 -0
  199. package/dist/ParticipantsPage-D8ja25F9.mjs.map +1 -0
  200. package/dist/ParticipantsPage-R8LVrDFY.mjs.map +1 -0
  201. package/dist/{PlayerAnonymousModal-CbrqO1hs.mjs → PlayerAnonymousModal-BGPpTBPW.mjs} +3 -3
  202. package/dist/PlayerAnonymousModal-BGPpTBPW.mjs.map +1 -0
  203. package/dist/PlayerAnonymousModal-BW239BiA.mjs.map +1 -0
  204. package/dist/PlayerCompact-BFC95d7Y.mjs.map +1 -0
  205. package/dist/PlayerCompact-C-WCTFZN.mjs.map +1 -0
  206. package/dist/{PlayerCompact-BtKfz384.mjs → PlayerCompact-DnJns8S2.mjs} +4 -4
  207. package/dist/PlayerCompact-DnJns8S2.mjs.map +1 -0
  208. package/dist/PlayerComponent-B8AGq9pg.mjs.map +1 -0
  209. package/dist/{PlayerComponent-CxNkDcFc.mjs → PlayerComponent-BRBrXVjI.mjs} +27 -39
  210. package/dist/PlayerComponent-BRBrXVjI.mjs.map +1 -0
  211. package/dist/PlayerComponent-BbvNS7sy.mjs.map +1 -0
  212. package/dist/PlayerComponent-By_JAwx_.mjs.map +1 -0
  213. package/dist/PlayerComponent-C425OWjX.mjs.map +1 -0
  214. package/dist/PlayerComponent-C5PNQ3TW.mjs.map +1 -0
  215. package/dist/PlayerComponent-Cnk_vePj.mjs.map +1 -0
  216. package/dist/PlayerComponent-CovfufPB.mjs.map +1 -0
  217. package/dist/PlayerComponent-DC4jQIwE.mjs.map +1 -0
  218. package/dist/PlayerComponent-DEUmVv0M.mjs.map +1 -0
  219. package/dist/PlayerComponent-DOXY0vL0.mjs.map +1 -0
  220. package/dist/PlayerComponent-DajZbHv7.mjs.map +1 -0
  221. package/dist/PlayerComponent-DejSC061.mjs.map +1 -0
  222. package/dist/PlayerComponent-p7W2UNk6.mjs.map +1 -0
  223. package/dist/PlayerLarge-3zzN7qom.mjs.map +1 -0
  224. package/dist/{PlayerLarge-BH6BLQxk.mjs → PlayerLarge-B97rRmrJ.mjs} +12 -10
  225. package/dist/PlayerLarge-B97rRmrJ.mjs.map +1 -0
  226. package/dist/PlayerLarge-BzwrEgVR.mjs.map +1 -0
  227. package/dist/PlayerLarge-CLOwDO6Q.mjs.map +1 -0
  228. package/dist/PlayerLarge-Chv7pMOU.mjs.map +1 -0
  229. package/dist/PlayerLarge-CkWGaDiY.mjs.map +1 -0
  230. package/dist/PlayerLarge-D0NMzCRi.mjs.map +1 -0
  231. package/dist/PlayerLarge-D3obSnYt.mjs.map +1 -0
  232. package/dist/PlayerLarge-DLGXpE3K.mjs.map +1 -0
  233. package/dist/PlayerLarge-QtUrqNm5.mjs.map +1 -0
  234. package/dist/PlayerLarge-juuY9yOX.mjs.map +1 -0
  235. package/dist/PlayerLarge-n7zyM6b_.mjs.map +1 -0
  236. package/dist/PlayerLarge-o4FVk0QB.mjs.map +1 -0
  237. package/dist/PlayerLarge-tMW3v2La.mjs.map +1 -0
  238. package/dist/PlayerPlayButton-CTu0337E.mjs.map +1 -0
  239. package/dist/PlayerPlayButton-CfJWIpoP.mjs.map +1 -0
  240. package/dist/{PlayerPlayButton-DT2OdqnI.mjs → PlayerPlayButton-zKdHGzFr.mjs} +5 -5
  241. package/dist/PlayerPlayButton-zKdHGzFr.mjs.map +1 -0
  242. package/dist/{PlayerProgressBar-CSYnPjZb.mjs → PlayerProgressBar-BG5NG596.mjs} +4 -4
  243. package/dist/PlayerProgressBar-BG5NG596.mjs.map +1 -0
  244. package/dist/PlayerProgressBar-Cjv8JVY2.mjs.map +1 -0
  245. package/dist/PlayerProgressBar-Co0_YEF3.mjs.map +1 -0
  246. package/dist/PlayerStore-B-L2PQ_b.mjs.map +1 -0
  247. package/dist/PlayerStore-C2XzSrF5.mjs.map +1 -0
  248. package/dist/{PlayerStore-DukkcHI_.mjs → PlayerStore-vYmnOEA_.mjs} +3 -3
  249. package/dist/PlayerStore-vYmnOEA_.mjs.map +1 -0
  250. package/dist/PlayerVideo-DD6NaGkU.mjs.map +1 -0
  251. package/dist/{PlayerVideo-_Uz00K_T.mjs → PlayerVideo-Ds0oYeTC.mjs} +5 -5
  252. package/dist/PlayerVideo-Ds0oYeTC.mjs.map +1 -0
  253. package/dist/PlayerVideo-cYHZOYMv.mjs.map +1 -0
  254. package/dist/PlayerVideoDigiteka-BPJdJNEB.mjs.map +1 -0
  255. package/dist/{PlayerVideoDigiteka-CjfuxXBF.mjs → PlayerVideoDigiteka-C7xb0ndg.mjs} +3 -3
  256. package/dist/PlayerVideoDigiteka-C7xb0ndg.mjs.map +1 -0
  257. package/dist/PlayerVideoDigiteka-oqtYXqYK.mjs.map +1 -0
  258. package/dist/PlayerVideoHls-CB4psqbz.mjs.map +1 -0
  259. package/dist/{PlayerVideoHls-Dms7iTSo.mjs → PlayerVideoHls-xSNqzBEw.mjs} +4 -4
  260. package/dist/PlayerVideoHls-xSNqzBEw.mjs.map +1 -0
  261. package/dist/PlayerVideoHls-zNbegJFp.mjs.map +1 -0
  262. package/dist/PlaylistPage-BUj1Lzfp.mjs.map +1 -0
  263. package/dist/PlaylistPage-BhcJkM15.mjs.map +1 -0
  264. package/dist/PlaylistPage-BsHMB2nn.mjs.map +1 -0
  265. package/dist/{PlaylistPage-CQX0LhXn.mjs → PlaylistPage-D4mcAo00.mjs} +12 -12
  266. package/dist/PlaylistPage-D4mcAo00.mjs.map +1 -0
  267. package/dist/PlaylistPage-DjAgejp8.mjs.map +1 -0
  268. package/dist/PlaylistsPage-B3V5-WT9.mjs.map +1 -0
  269. package/dist/PlaylistsPage-DSjvWTw5.mjs.map +1 -0
  270. package/dist/{PlaylistsPage-Bd-u4qlc.mjs → PlaylistsPage-Dr6HKHf8.mjs} +7 -7
  271. package/dist/PlaylistsPage-Dr6HKHf8.mjs.map +1 -0
  272. package/dist/PodcastFilterList-C-8AF1Dn.mjs.map +1 -0
  273. package/dist/{PodcastFilterList-DkH6bqv_.mjs → PodcastFilterList-CYwPiGko.mjs} +3 -3
  274. package/dist/PodcastFilterList-CYwPiGko.mjs.map +1 -0
  275. package/dist/PodcastFilterList-C_d1SyTB.mjs.map +1 -0
  276. package/dist/PodcastFilterList-ClMsIUaO.mjs.map +1 -0
  277. package/dist/PodcastFilterList-DBS0kvW6.mjs.map +1 -0
  278. package/dist/PodcastImage-B8o3T5zK.mjs.map +1 -0
  279. package/dist/{PodcastImage-BtxcPlrh.mjs → PodcastImage-Bs1lpubL.mjs} +4 -4
  280. package/dist/PodcastImage-Bs1lpubL.mjs.map +1 -0
  281. package/dist/PodcastImage-DBB5689n.mjs.map +1 -0
  282. package/dist/PodcastImage-DNLZH0dY.mjs.map +1 -0
  283. package/dist/PodcastImage-DrV8oxG8.mjs.map +1 -0
  284. package/dist/{PodcastInlineList-CVWfH5np.mjs → PodcastInlineList-B7-2QswT.mjs} +2 -2
  285. package/dist/PodcastInlineList-B7-2QswT.mjs.map +1 -0
  286. package/dist/PodcastInlineList-BVMV6Wvd.mjs.map +1 -0
  287. package/dist/PodcastInlineList-BXPpF0YD.mjs.map +1 -0
  288. package/dist/PodcastInlineList-CLjO1SpD.mjs.map +1 -0
  289. package/dist/PodcastInlineList-Cf5YF0j9.mjs.map +1 -0
  290. package/dist/PodcastInlineListTemplate-BX0tXOFx.mjs.map +1 -0
  291. package/dist/{PodcastInlineListTemplate-BWw1Ix-7.mjs → PodcastInlineListTemplate-DCWn3r7s.mjs} +4 -4
  292. package/dist/PodcastInlineListTemplate-DCWn3r7s.mjs.map +1 -0
  293. package/dist/PodcastIsPlaying-BG1_FgVX.mjs.map +1 -0
  294. package/dist/{PodcastIsPlaying-B7YVeSyB.mjs → PodcastIsPlaying-BsObdQGR.mjs} +2 -2
  295. package/dist/PodcastIsPlaying-BsObdQGR.mjs.map +1 -0
  296. package/dist/PodcastIsPlaying-Csd-C2jr.mjs.map +1 -0
  297. package/dist/PodcastItem-CGmEwYT4.mjs.map +1 -0
  298. package/dist/PodcastItem-CN6gwARQ.mjs.map +1 -0
  299. package/dist/PodcastItem-CdLjZKxf.mjs.map +1 -0
  300. package/dist/PodcastItem-D1MwHzhE.mjs.map +1 -0
  301. package/dist/{PodcastItem-CFk8MX9D.mjs → PodcastItem-_8ErwIDG.mjs} +7 -7
  302. package/dist/PodcastItem-_8ErwIDG.mjs.map +1 -0
  303. package/dist/PodcastList-BXla7F3u.mjs.map +1 -0
  304. package/dist/PodcastList-BqE8dwdc.mjs.map +1 -0
  305. package/dist/PodcastList-BvC6iOS6.mjs.map +1 -0
  306. package/dist/PodcastList-CRwA-s7F.mjs.map +1 -0
  307. package/dist/PodcastList-CVFr9WNS.mjs.map +1 -0
  308. package/dist/PodcastList-DZKxDulS.mjs.map +1 -0
  309. package/dist/{PodcastList-BLXPFjvL.mjs → PodcastList-DgLQjL0d.mjs} +6 -6
  310. package/dist/PodcastList-DgLQjL0d.mjs.map +1 -0
  311. package/dist/{PodcastList-c0Iwzakm.mjs → PodcastList-DhKeiBbv.mjs} +5 -5
  312. package/dist/PodcastList-DhKeiBbv.mjs.map +1 -0
  313. package/dist/PodcastList-Dtq6kEG4.mjs.map +1 -0
  314. package/dist/PodcastList-Dx-mo7Wo.mjs.map +1 -0
  315. package/dist/{PodcastPage-C_d9FaS7.mjs → PodcastPage-C5OCwW8q.mjs} +23 -23
  316. package/dist/PodcastPage-C5OCwW8q.mjs.map +1 -0
  317. package/dist/PodcastPage-CsVqOGWc.mjs.map +1 -0
  318. package/dist/PodcastPage-DQInD9ry.mjs.map +1 -0
  319. package/dist/PodcastPage-Dka9GEzi.mjs.map +1 -0
  320. package/dist/PodcastPage-acKIH0vO.mjs.map +1 -0
  321. package/dist/PodcastPlayBar-AgtR8Ia9.mjs.map +1 -0
  322. package/dist/PodcastPlayBar-D7CyLEM4.mjs.map +1 -0
  323. package/dist/{PodcastPlayBar-WjGn_KlZ.mjs → PodcastPlayBar-DC5HCx76.mjs} +4 -4
  324. package/dist/PodcastPlayBar-DC5HCx76.mjs.map +1 -0
  325. package/dist/PodcastPlayBasicButton-DHYxw3NX.mjs.map +1 -0
  326. package/dist/{PodcastPlayBasicButton-BNKlqhGR.mjs → PodcastPlayBasicButton-PJHza4d_.mjs} +2 -2
  327. package/dist/PodcastPlayBasicButton-PJHza4d_.mjs.map +1 -0
  328. package/dist/PodcastPlayBasicButton-gK82n3YL.mjs.map +1 -0
  329. package/dist/{PodcastPlayButton-B9hWbPEk.mjs → PodcastPlayButton-1eaXWTlG.mjs} +4 -4
  330. package/dist/PodcastPlayButton-1eaXWTlG.mjs.map +1 -0
  331. package/dist/PodcastPlayButton-Bosq5ozq.mjs.map +1 -0
  332. package/dist/PodcastPlayButton-DIQi57Oh.mjs.map +1 -0
  333. package/dist/PodcastPlayButton-DcjbCnlT.mjs.map +1 -0
  334. package/dist/PodcastPlayButton-DgSCyhrd.mjs.map +1 -0
  335. package/dist/PodcastPlaylistInlineList-C0HZum5z.mjs.map +1 -0
  336. package/dist/PodcastPlaylistInlineList-CSziI2j4.mjs.map +1 -0
  337. package/dist/PodcastPlaylistInlineList-CvX2rauY.mjs.map +1 -0
  338. package/dist/PodcastPlaylistInlineList-H_rnCHag.mjs.map +1 -0
  339. package/dist/{PodcastPlaylistInlineList-_csxbYAx.mjs → PodcastPlaylistInlineList-XTbhC8OJ.mjs} +5 -5
  340. package/dist/PodcastPlaylistInlineList-XTbhC8OJ.mjs.map +1 -0
  341. package/dist/{PodcastPresentationList-BD8XmnW0.mjs → PodcastPresentationList-BUl5Rq83.mjs} +5 -5
  342. package/dist/PodcastPresentationList-BUl5Rq83.mjs.map +1 -0
  343. package/dist/PodcastPresentationList-BvkEDbtG.mjs.map +1 -0
  344. package/dist/PodcastPresentationList-C0n-xr5w.mjs.map +1 -0
  345. package/dist/PodcastPresentationList-CnrMkINf.mjs.map +1 -0
  346. package/dist/PodcastPresentationList-DC-Oi_eK.mjs.map +1 -0
  347. package/dist/PodcastProgressBar-CP-0ptRF.mjs.map +1 -0
  348. package/dist/{PodcastProgressBar-B3XOeeJx.mjs → PodcastProgressBar-VG-mRcpi.mjs} +4 -4
  349. package/dist/PodcastProgressBar-VG-mRcpi.mjs.map +1 -0
  350. package/dist/PodcastProgressBar-jY43GoFx.mjs.map +1 -0
  351. package/dist/PodcastRawTranscript-BAu-dt2V.mjs.map +1 -0
  352. package/dist/{PodcastRawTranscript-D0Nm7jGM.mjs → PodcastRawTranscript-Bf6f5yNd.mjs} +3 -3
  353. package/dist/PodcastRawTranscript-Bf6f5yNd.mjs.map +1 -0
  354. package/dist/{PodcastSwiperList-DJ0O3dqM.mjs → PodcastSwiperList-BhulNkN-.mjs} +5 -5
  355. package/dist/PodcastSwiperList-BhulNkN-.mjs.map +1 -0
  356. package/dist/PodcastSwiperList-CGeumBPj.mjs.map +1 -0
  357. package/dist/PodcastSwiperList-CzUkS6M6.mjs.map +1 -0
  358. package/dist/PodcastSwiperList-DLKOAjUS.mjs.map +1 -0
  359. package/dist/PodcastSwiperList-DaTHwrHm.mjs.map +1 -0
  360. package/dist/PodcastmakerHeader-BZT-U0KX.mjs.map +1 -0
  361. package/dist/{PodcastmakerHeader-DAATtOG_.mjs → PodcastmakerHeader-Df0g2dCr.mjs} +2 -2
  362. package/dist/PodcastmakerHeader-Df0g2dCr.mjs.map +1 -0
  363. package/dist/PodcastsPage-B-Qzlif0.mjs.map +1 -0
  364. package/dist/PodcastsPage-BoK55Z9G.mjs.map +1 -0
  365. package/dist/PodcastsPage-CTzbr2VD.mjs.map +1 -0
  366. package/dist/{PodcastsPage-ZhEVoMp1.mjs → PodcastsPage-DSJUPRZE.mjs} +5 -5
  367. package/dist/PodcastsPage-DSJUPRZE.mjs.map +1 -0
  368. package/dist/PodcastsPage-Jg_jAix6.mjs.map +1 -0
  369. package/dist/{ProductorSearch-xs0kzX_E.mjs → ProductorSearch-BTj9gIOs.mjs} +3 -3
  370. package/dist/ProductorSearch-BTj9gIOs.mjs.map +1 -0
  371. package/dist/ProductorSearch-ziDbxrDd.mjs.map +1 -0
  372. package/dist/ProgressBar-BOq9RfZ2.mjs.map +1 -0
  373. package/dist/{ProgressBar-0DSoUTwB.mjs → ProgressBar-BVc0_6Lv.mjs} +2 -2
  374. package/dist/ProgressBar-BVc0_6Lv.mjs.map +1 -0
  375. package/dist/ProgressBar-Cgt2PqnO.mjs.map +1 -0
  376. package/dist/QrCode-DNiPIFIA.mjs.map +1 -0
  377. package/dist/{QrCode-CUP2O18d.mjs → QrCode-MCv4t_Bn.mjs} +2 -2
  378. package/dist/QrCode-MCv4t_Bn.mjs.map +1 -0
  379. package/dist/{QrCodeModal-DXBCuki7.mjs → QrCodeModal-Be8E0JlC.mjs} +2 -2
  380. package/dist/QrCodeModal-Be8E0JlC.mjs.map +1 -0
  381. package/dist/QrCodeModal-DYDKLLuw.mjs.map +1 -0
  382. package/dist/RadioCurrently-BJOmCSby.mjs.map +1 -0
  383. package/dist/RadioCurrently-CZePLInZ.mjs.map +1 -0
  384. package/dist/{RadioCurrently-D5M81oIX.mjs → RadioCurrently-DWySwV64.mjs} +4 -4
  385. package/dist/RadioCurrently-DWySwV64.mjs.map +1 -0
  386. package/dist/RadioHistory-7EGvEAMx.mjs.map +1 -0
  387. package/dist/RadioHistory-BdMa013x.mjs.map +1 -0
  388. package/dist/{RadioHistory-BgOve4jk.mjs → RadioHistory-DlQFZYp2.mjs} +3 -3
  389. package/dist/RadioHistory-DlQFZYp2.mjs.map +1 -0
  390. package/dist/{RadioImage-CUTRr3DL.mjs → RadioImage-BIe2KpG_.mjs} +5 -5
  391. package/dist/RadioImage-BIe2KpG_.mjs.map +1 -0
  392. package/dist/RadioImage-CXFZXN1N.mjs.map +1 -0
  393. package/dist/RadioImage-CpJmuc8a.mjs.map +1 -0
  394. package/dist/{RadioList-CwzOFHc1.mjs → RadioList-B23gsiEF.mjs} +5 -5
  395. package/dist/RadioList-B23gsiEF.mjs.map +1 -0
  396. package/dist/RadioList-BwzgNcMO.mjs.map +1 -0
  397. package/dist/RadioList-KvAacjmD.mjs.map +1 -0
  398. package/dist/RadioPage-CM_4A1AQ.mjs.map +1 -0
  399. package/dist/RadioPage-DkBL81mI.mjs.map +1 -0
  400. package/dist/{RadioPage-DVflzCV-.mjs → RadioPage-Jg2kmtna.mjs} +11 -11
  401. package/dist/RadioPage-Jg2kmtna.mjs.map +1 -0
  402. package/dist/{RadioPlanning-CJ7Qqyhs.mjs → RadioPlanning-2aWTnbZb.mjs} +3 -3
  403. package/dist/RadioPlanning-2aWTnbZb.mjs.map +1 -0
  404. package/dist/RadioPlanning-DHxcBVQo.mjs.map +1 -0
  405. package/dist/RadioProgressBar-BHAawrHe.mjs.map +1 -0
  406. package/dist/RadioProgressBar-CPjLAoPB.mjs.map +1 -0
  407. package/dist/{RadioProgressBar-BmJbzzQA.mjs → RadioProgressBar-yIz1oI5d.mjs} +2 -2
  408. package/dist/RadioProgressBar-yIz1oI5d.mjs.map +1 -0
  409. package/dist/RecaptchaModal-DKugsU7h.mjs.map +1 -0
  410. package/dist/{RecaptchaModal-DX9rAHUg.mjs → RecaptchaModal-dfMCfebx.mjs} +2 -2
  411. package/dist/RecaptchaModal-dfMCfebx.mjs.map +1 -0
  412. package/dist/ReportAbuseModal-Bxr7NTvH.mjs.map +1 -0
  413. package/dist/{ReportAbuseModal-CYCRaFAY.mjs → ReportAbuseModal-DZKRbYXJ.mjs} +4 -4
  414. package/dist/ReportAbuseModal-DZKRbYXJ.mjs.map +1 -0
  415. package/dist/RightsIndicator-BgW0q3af.mjs.map +1 -0
  416. package/dist/RightsIndicator-BtzqiPWc.mjs.map +1 -0
  417. package/dist/{RightsIndicator-qIU4_wiF.mjs → RightsIndicator-D5I3DOfO.mjs} +2 -2
  418. package/dist/RightsIndicator-D5I3DOfO.mjs.map +1 -0
  419. package/dist/RightsIndicator-NOZ05rEh.mjs.map +1 -0
  420. package/dist/RightsWrapper-Cv41FXNO.mjs.map +1 -0
  421. package/dist/{RightsWrapper-Cs6prZ3E.mjs → RightsWrapper-HasUbnny.mjs} +3 -3
  422. package/dist/RightsWrapper-HasUbnny.mjs.map +1 -0
  423. package/dist/{RubriqueFilter-OA_DJKL1.mjs → RubriqueFilter-3SPVH4nT.mjs} +3 -3
  424. package/dist/RubriqueFilter-3SPVH4nT.mjs.map +1 -0
  425. package/dist/RubriqueFilter-B_F2fyA0.mjs.map +1 -0
  426. package/dist/RubriqueList-CalsqgcR.mjs.map +1 -0
  427. package/dist/{RubriqueList-B94NM5yi.mjs → RubriqueList-TnVM2-Ry.mjs} +3 -3
  428. package/dist/RubriqueList-TnVM2-Ry.mjs.map +1 -0
  429. package/dist/RubriquePage-BhneK7GY.mjs.map +1 -0
  430. package/dist/RubriquePage-CPV9lztT.mjs.map +1 -0
  431. package/dist/{RubriquePage-DyusiBmp.mjs → RubriquePage-D223TaA2.mjs} +5 -5
  432. package/dist/RubriquePage-D223TaA2.mjs.map +1 -0
  433. package/dist/RubriquePage-DriBVVmv.mjs.map +1 -0
  434. package/dist/RubriquePage-x_tOmQCH.mjs.map +1 -0
  435. package/dist/SearchPage-B-KDO-5r.mjs.map +1 -0
  436. package/dist/{SearchPage-BGOBGS4j.mjs → SearchPage-BH1gYkHn.mjs} +3 -3
  437. package/dist/SearchPage-BH1gYkHn.mjs.map +1 -0
  438. package/dist/SearchPage-CXOoJF_2.mjs.map +1 -0
  439. package/dist/SearchPage-DyX_tEm5.mjs.map +1 -0
  440. package/dist/SearchPage-IvX74fSJ.mjs.map +1 -0
  441. package/dist/{ShareAnonymous-Chfdzzra.mjs → ShareAnonymous-4UxjKrIe.mjs} +6 -6
  442. package/dist/ShareAnonymous-4UxjKrIe.mjs.map +1 -0
  443. package/dist/ShareAnonymous-C4xPMrgf.mjs.map +1 -0
  444. package/dist/{ShareModalPlayer-CLY_JFFD.mjs → ShareModalPlayer-B0wPlpdU.mjs} +2 -2
  445. package/dist/ShareModalPlayer-B0wPlpdU.mjs.map +1 -0
  446. package/dist/ShareModalPlayer-CEvDV-I_.mjs.map +1 -0
  447. package/dist/ShareNewsletter-Bno5t4ay.mjs.map +1 -0
  448. package/dist/{ShareNewsletter-B4dn4-jA.mjs → ShareNewsletter-Cf9w-I6c.mjs} +2 -2
  449. package/dist/ShareNewsletter-Cf9w-I6c.mjs.map +1 -0
  450. package/dist/SharePlayer-BLqYnywl.mjs.map +1 -0
  451. package/dist/{SharePlayer-wHDYsWYd.mjs → SharePlayer-Oy1pWckd.mjs} +4 -4
  452. package/dist/SharePlayer-Oy1pWckd.mjs.map +1 -0
  453. package/dist/{SharePlayerRadio-D3LXD_gK.mjs → SharePlayerRadio-CI6glNuI.mjs} +3 -3
  454. package/dist/SharePlayerRadio-CI6glNuI.mjs.map +1 -0
  455. package/dist/SharePlayerRadio-c_HFTupz.mjs.map +1 -0
  456. package/dist/SharePlayerTypes-Dkmmw2We.mjs.map +1 -0
  457. package/dist/{SharePlayerTypes-eYSeVl-W.mjs → SharePlayerTypes-cUgCFZ65.mjs} +2 -2
  458. package/dist/SharePlayerTypes-cUgCFZ65.mjs.map +1 -0
  459. package/dist/{ShareSocialsButtons-iHtSoQ3K.mjs → ShareSocialsButtons-BYsXc2Jr.mjs} +2 -2
  460. package/dist/ShareSocialsButtons-BYsXc2Jr.mjs.map +1 -0
  461. package/dist/ShareSocialsButtons-DZLZc1c6.mjs.map +1 -0
  462. package/dist/SimpleLayout-BCsUQENG.mjs.map +1 -0
  463. package/dist/SimpleLayout-BGKNHHjx.mjs.map +1 -0
  464. package/dist/SimpleLayout-BHIdltFB.mjs.map +1 -0
  465. package/dist/SimpleLayout-BKkwQmN6.mjs.map +1 -0
  466. package/dist/SimpleLayout-BORx9hRX.mjs.map +1 -0
  467. package/dist/{SimpleLayout-Bk74CAAr.mjs → SimpleLayout-BTJyAJO6.mjs} +3 -3
  468. package/dist/SimpleLayout-BTJyAJO6.mjs.map +1 -0
  469. package/dist/SimpleLayout-BvOAauzs.mjs.map +1 -0
  470. package/dist/SimpleLayout-C3xekYgM.mjs.map +1 -0
  471. package/dist/SimpleLayout-C4xNk0R4.mjs.map +1 -0
  472. package/dist/SimpleLayout-CDcsE-Be.mjs.map +1 -0
  473. package/dist/SimpleLayout-D3M_c1Eu.mjs.map +1 -0
  474. package/dist/SimpleLayout-DJgC3LcZ.mjs.map +1 -0
  475. package/dist/SimpleLayout-DkvEZxow.mjs.map +1 -0
  476. package/dist/SimpleLayout-gtbBGlVV.mjs.map +1 -0
  477. package/dist/SmartLinkPage-BF8hfaWZ.mjs.map +1 -0
  478. package/dist/{SmartLinkPage-DbuQT8GM.mjs → SmartLinkPage-DQljzYa-.mjs} +5 -5
  479. package/dist/SmartLinkPage-DQljzYa-.mjs.map +1 -0
  480. package/dist/SmartLinkPage-DmlqwhYP.mjs.map +1 -0
  481. package/dist/SubscribeButtons-DO4MRuDr.mjs.map +1 -0
  482. package/dist/{SubscribeButtons-rnonTVzT.mjs → SubscribeButtons-lAAMYQCm.mjs} +3 -3
  483. package/dist/SubscribeButtons-lAAMYQCm.mjs.map +1 -0
  484. package/dist/{SwiperList-C1v0T1wx.mjs → SwiperList-C51H-enh.mjs} +2 -2
  485. package/dist/SwiperList-C51H-enh.mjs.map +1 -0
  486. package/dist/SwiperList-Dsq1MFX6.mjs.map +1 -0
  487. package/dist/TagList-B5C9zojs.mjs.map +1 -0
  488. package/dist/{TagList-VeuYS_zJ.mjs → TagList-D3Bn2fIn.mjs} +2 -2
  489. package/dist/TagList-D3Bn2fIn.mjs.map +1 -0
  490. package/dist/TagPage-B71pZpRY.mjs.map +1 -0
  491. package/dist/{TagPage-Bd81QJHn.mjs → TagPage-Brw9iL1F.mjs} +4 -4
  492. package/dist/TagPage-Brw9iL1F.mjs.map +1 -0
  493. package/dist/TagPage-CWRyUZkD.mjs.map +1 -0
  494. package/dist/TagPage-DFo25ZeP.mjs.map +1 -0
  495. package/dist/TagPage-sI917OpV.mjs.map +1 -0
  496. package/dist/TopBar-CaCA8kOs.mjs.map +1 -0
  497. package/dist/{TopBar-CZVp2T7C.mjs → TopBar-DIdhyJi_.mjs} +7 -7
  498. package/dist/TopBar-DIdhyJi_.mjs.map +1 -0
  499. package/dist/{UserButtonContent-DmNyGmWr.mjs → UserButtonContent-D13cVA34.mjs} +7 -7
  500. package/dist/UserButtonContent-D13cVA34.mjs.map +1 -0
  501. package/dist/UserButtonContent-DMKyXEmF.mjs.map +1 -0
  502. package/dist/{VideoModuleBox-yJZpgCw6.mjs → VideoModuleBox-CFQmvPrA.mjs} +2 -2
  503. package/dist/VideoModuleBox-CFQmvPrA.mjs.map +1 -0
  504. package/dist/VideoModuleBox-DsBLAMrh.mjs.map +1 -0
  505. package/dist/VideoPage-CfJeWV-R.mjs.map +1 -0
  506. package/dist/VideoPage-CnIZYz-k.mjs.map +1 -0
  507. package/dist/VideoPage-D6UNKt2D.mjs.map +1 -0
  508. package/dist/{VideoPage-y6G4Y2Zi.mjs → VideoPage-DU9dJviO.mjs} +10 -10
  509. package/dist/VideoPage-DU9dJviO.mjs.map +1 -0
  510. package/dist/VideoPage-OIb28KAS.mjs.map +1 -0
  511. package/dist/classicApi-C70YSK8J.mjs.map +1 -0
  512. package/dist/classicApi-DuzZv1Wk.mjs.map +1 -1
  513. package/dist/{classicApi-CkDHWZG1.mjs → classicApi-xjOqAovv.mjs} +11 -8
  514. package/dist/classicApi-xjOqAovv.mjs.map +1 -0
  515. package/dist/downloadHelper-C4q0i5xN.mjs.map +1 -0
  516. package/dist/{downloadHelper-DLdkblYN.mjs → downloadHelper-DY3fF3dA.mjs} +2 -2
  517. package/dist/downloadHelper-DY3fF3dA.mjs.map +1 -0
  518. package/dist/index.mjs +102 -97
  519. package/dist/index.mjs.map +1 -1
  520. package/dist/tests.mjs +2 -2
  521. package/dist/{useAdvancedParamInit-B7G2Mvjv.mjs → useAdvancedParamInit-CCprE3H2.mjs} +6 -6
  522. package/dist/useAdvancedParamInit-CCprE3H2.mjs.map +1 -0
  523. package/dist/useAdvancedParamInit-CT8CdPFW.mjs.map +1 -0
  524. package/dist/useDayjs-BPXVSBns.mjs.map +1 -0
  525. package/dist/{useDayjs-C3cnTiDW.mjs → useDayjs-DPVjvJPN.mjs} +2 -2
  526. package/dist/useDayjs-DPVjvJPN.mjs.map +1 -0
  527. package/dist/useErrorHandler-BxQT9ZGf.mjs.map +1 -0
  528. package/dist/{useErrorHandler-DtLjD9t_.mjs → useErrorHandler-D3XVxUh6.mjs} +2 -2
  529. package/dist/useErrorHandler-D3XVxUh6.mjs.map +1 -0
  530. package/dist/{useImageProxy-Bj0cOCct.mjs → useImageProxy-BdQJmj4a.mjs} +2 -2
  531. package/dist/useImageProxy-BdQJmj4a.mjs.map +1 -0
  532. package/dist/useImageProxy-DROuweGY.mjs.map +1 -0
  533. package/dist/{useOrgaComputed-BLSpEDfb.mjs → useOrgaComputed-B2Bq0VBT.mjs} +2 -2
  534. package/dist/useOrgaComputed-B2Bq0VBT.mjs.map +1 -0
  535. package/dist/useOrgaComputed-CGomgs0r.mjs.map +1 -0
  536. package/dist/{usePlayerLogicProgress-75G9QMg_.mjs → usePlayerLogicProgress-DcHbYGOR.mjs} +3 -3
  537. package/dist/usePlayerLogicProgress-DcHbYGOR.mjs.map +1 -0
  538. package/dist/usePlayerLogicProgress-Dchl5sUO.mjs.map +1 -0
  539. package/dist/usePlayerLogicProgress-lqnQ5qNd.mjs.map +1 -0
  540. package/dist/{usePodcastView-BftS642h.mjs → usePodcastView-BDZ6CGQj.mjs} +4 -4
  541. package/dist/usePodcastView-BDZ6CGQj.mjs.map +1 -0
  542. package/dist/usePodcastView-CI5le-WW.mjs.map +1 -0
  543. package/dist/usePresentationItem-Cw9fBYUi.mjs.map +1 -0
  544. package/dist/{usePresentationItem-CNXIk-Sf.mjs → usePresentationItem-UwAuhVqo.mjs} +4 -4
  545. package/dist/usePresentationItem-UwAuhVqo.mjs.map +1 -0
  546. package/dist/useRights-D8CLzCMH.mjs.map +1 -0
  547. package/dist/{useRights-Co0TgD8y.mjs → useRights-DSZ-5pFg.mjs} +2 -2
  548. package/dist/useRights-DSZ-5pFg.mjs.map +1 -0
  549. package/dist/{useRubriquesFilterComputed-VsdTUNL6.mjs → useRubriquesFilterComputed-BkDeXTf-.mjs} +2 -2
  550. package/dist/useRubriquesFilterComputed-BkDeXTf-.mjs.map +1 -0
  551. package/dist/useRubriquesFilterComputed-Bkre15fg.mjs.map +1 -0
  552. package/dist/useRubriquesFilterParam-BmE8v1fS.mjs.map +1 -0
  553. package/dist/{useRubriquesFilterParam--x07HEw1.mjs → useRubriquesFilterParam-Delgf48y.mjs} +2 -2
  554. package/dist/useRubriquesFilterParam-Delgf48y.mjs.map +1 -0
  555. package/dist/{useSharePlatforms-CSSRTkTG.mjs → useSharePlatforms-07n3JYu2.mjs} +3 -3
  556. package/dist/useSharePlatforms-07n3JYu2.mjs.map +1 -0
  557. package/dist/useSharePlatforms-B_3OwBFv.mjs.map +1 -0
  558. package/dist/{useSimplePageParam-ClaGQ9yj.mjs → useSimplePageParam-CsY_ie3c.mjs} +2 -2
  559. package/dist/useSimplePageParam-CsY_ie3c.mjs.map +1 -0
  560. package/dist/useSimplePageParam-ki2VyM-X.mjs.map +1 -0
  561. package/dist/{useTranslation-BNshNMQT.mjs → useTranslation-ChEasnl9.mjs} +25 -8
  562. package/dist/useTranslation-ChEasnl9.mjs.map +1 -0
  563. package/dist/useTranslation-D0R0BSx9.mjs.map +1 -0
  564. package/dist/usefetchRadioData-BPmkztGC.mjs.map +1 -0
  565. package/dist/{usefetchRadioData-C2cwiaCP.mjs → usefetchRadioData-CkrAfN1c.mjs} +2 -2
  566. package/dist/usefetchRadioData-CkrAfN1c.mjs.map +1 -0
  567. package/package.json +1 -1
  568. package/src/components/composable/player/usePlayerLive.ts +8 -7
  569. package/src/stores/AuthStore.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QrCode-DNiPIFIA.mjs","names":[],"sources":["../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/QrCode.vue","../src/components/display/sharing/QrCode.vue"],"sourcesContent":["<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .myQrCode{\n height: 200px !important;\n width: 200px !important;\n }\n}\n</style>","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .myQrCode{\n height: 200px !important;\n width: 200px !important;\n }\n}\n</style>"],"mappings":";;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EAKd,MAAM,OAAO;EAGb,SAAS,cAAa;GACpB,KAAK,gBAAgB,CAAC,MAAM,KAAK;EACnC;;;;;;;;;;;;;;;qBC1BS,OAAM,gBAAe;;;qBAA1B,mBAUM,OAVN,cAUM,CATJ,mBAKwB,SAAA;EAJtB,IAAG;EACF,SAAS,OAAA;EACV,OAAM;EACN,MAAK;EACJ,SAAO,OAAA;uDACV,mBAEQ,SAAA;EAFD,OAAM;EAAsB,KAAI;KACrC,mBAAiD,QAAA,EAA3C,OAAM,2BAA0B,GAAC,KAAG,CAAA,GAAA,EAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;ECsClD,MAAM,QAAQ;EAMd,MAAM,OAAO,IAAI,GAAI;EACrB,MAAM,QAAQ,IAAI,SAAS;EAC3B,MAAM,QAAQ,IAAI,IAAI;EACtB,MAAM,cAAc,eAAe,UAAU;EAG7C,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,iBAAiB,kBAAkB;EAIzC,MAAM,eAAe,eAAe,MAAM,QAAQ,QAAQ,QAAQ;EAElE,oBAAkB,iBAAiB,CAAC;EAGpC,SAAS,WAAiB;GACxB,MAAM,SAAS,SAAS,uBAAuB,UAAU;GACzD,IAAI,CAAC,UAAU,OAAO,UAAS,KAAK,CAAC,OAAO,IAC1C;GAEF,MAAM,eAAe,SAAS,cAAc,GAAG;GAC/C,IAAI,MAAM,OAAO;IACf,MAAM,UAAU,OAAO,GAAG;IAC1B,MAAM,UAAU,IAAI,KAAK,CAAC,OAAO,GAAG,EAAC,MAAK,8BAA6B,CAAC;IAExE,aAAa,OADE,IAAI,gBAAgB,OACf;IACpB,aAAa,WAAW;GAC1B,OAAK;IACH,aAAa,WAAW;IACxB,aAAa,OAAQ,OAAO,GAAyB,UAAU;GACjE;GACA,aAAa,MAAM;GACnB,CAAC,aAAa,OAAwC,KACpD,EAAE,kBAAkB,CACtB;EACF;EACA,eAAe,mBAAkC;GAC/C,IAAI,KAAA,MAAc,MAAM,cAAc;GACtC,MAAM,aAAa,MAAM,eAAe,kBAAkB,MAAM,YAAY;GAC5E,IAAI,OAAO,OAAO,YAAY,OAAO,GACnC,MAAM,QAAQ,WAAW;EAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBC/FO,OAAM,wCAAuC;mBAC3C,OAAM,iCAAgC;mBACpC,OAAM,kBAAiB;mBAuBzB,OAAM,iCAAgC;;qBAzB7C,mBAgCM,OAhCN,YAgCM;EA/BJ,mBAcM,OAdN,YAcM,CAbJ,mBAEM,OAFN,YAEM,gBADD,OAAA,EAAC,sBAAA,CAAA,GAAA,CAAA,GAEN,YASE,OAAA,cAAA;GARQ,eAAa,OAAA;gEAAA,OAAA,QAAK;GAC1B,OAAM;GACN,iBAAA;GACA,uBAAoB;GACpB,QAAO;GACP,cAAW;GACX,aAAU;GACT,cAAY,OAAA;;EAGjB,YAQE,OAAA,cAAA;GAPC,aAAW,OAAA;GACX,OAAO,OAAA;GACP,MAAM,OAAA;GACP,OAAM;GACL,YAAY,OAAA;GACb,OAAM;GACL,QAAQ;;;;;;;EAEX,mBAKM,OALN,YAKM,CAJJ,YAAmD,OAAA,iBAAA;GAA7B,UAAQ,OAAA;2DAAA,OAAA,QAAK;GAAE,OAAM;2BAC3C,mBAES,UAAA;GAFD,OAAM;GAAmB,SAAO,OAAA;qBACnC,OAAA,EAAC,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA;EAGR,YAAkD,OAAA,aAAA;GAAxC,KAAI;GAAW,UAAS"}
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
3
- import { T as useSaveFetchStore } from "./classicApi-CkDHWZG1.mjs";
3
+ import { T as useSaveFetchStore } from "./classicApi-xjOqAovv.mjs";
4
4
  import { t as SnackBar_default } from "./SnackBar-DdE1dYhi.mjs";
5
5
  import { computed, createElementBlock, createElementVNode, createVNode, defineComponent, onBeforeMount, openBlock, ref, toDisplayString, useTemplateRef } from "vue";
6
6
  import { useI18n } from "vue-i18n";
@@ -174,4 +174,4 @@ var QrCode_default = /*#__PURE__*/ _plugin_vue_export_helper_default(QrCode_vue_
174
174
  //#endregion
175
175
  export { QrCode_exports as n, QrCode_default as t };
176
176
 
177
- //# sourceMappingURL=QrCode-CUP2O18d.mjs.map
177
+ //# sourceMappingURL=QrCode-MCv4t_Bn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QrCode-MCv4t_Bn.mjs","names":[],"sources":["../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/FormatSwitch.vue","../src/components/display/sharing/QrCode.vue","../src/components/display/sharing/QrCode.vue"],"sourcesContent":["<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"format-switch\">\n <input \n id=\"format-switch-checkbox\"\n :checked=\"isSvg\"\n class=\"format-switch-checkbox\" \n type=\"checkbox\" \n @input=\"changeIsSvg\"/>\n <label class=\"format-switch-label\" for=\"format-switch-checkbox\">\n <span class=\"format-switch-label-span\">SVG</span>\n </label>\n </div>\n </template>\n \n<script setup lang=\"ts\">\n\n//Props \nconst props = defineProps({\n isSvg: { default: true, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits(['update:isSvg']);\n\n//Methods\nfunction changeIsSvg(){\n emit('update:isSvg', !props.isSvg)\n}\n</script>\n <style lang=\"scss\">\n .octopus-app {\n\n --format-switch-size:140px;\n --format-switch-half: calc(var(--format-switch-size) / 2 );\n \n .format-switch {\n background: var(--octopus-secondary);\n border-radius: 30px;\n overflow: hidden;\n width: var(--format-switch-size);\n text-align: center;\n color: black;\n border: 2px solid var(--octopus-secondary);\n padding-right: var(--format-switch-half);\n position: relative;\n \n &::before {\n content: \"PNG\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: var(--format-switch-half);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 3;\n pointer-events: none;\n }\n \n \n &-checkbox {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n z-index: 2;\n margin: 0;\n \n & + .format-switch-label {\n position: relative;\n padding: 0.5rem 0;\n display: block;\n user-select: none;\n pointer-events: none;\n \n &::before {\n content: \"\";\n background: white;\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border-radius: 30px;\n transform: translateX(var(--format-switch-half));\n transition: transform 300ms;\n }\n \n .format-switch-label-span {\n position: relative;\n }\n }\n \n &:checked + .format-switch-label::before {\n transform: translateX(0px);\n transition: transform 300ms linear;\n }\n }\n \n &:has(input:focus-visible){\n box-shadow: 0 0 10px 1px var(--octopus-primary) !important;\n }\n }\n }\n </style>","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .myQrCode{\n height: 200px !important;\n width: 200px !important;\n }\n}\n</style>","<template>\n <div class=\"d-flex flex-column align-items-center\">\n <div class=\"d-flex align-items-center mb-3\">\n <div class=\"form-label me-3\">\n {{ t(\"Color of the QR Code\") }}\n </div>\n <VSwatches\n v-model:model-value=\"color\"\n class=\"c-hand\"\n show-fallback\n fallback-input-type=\"color\"\n colors=\"text-advanced\"\n popover-to=\"right\"\n popover-y=\"bottom\"\n :data-color=\"color\"\n />\n </div>\n <qrcode-vue\n :render-as=\"renderQrCode\"\n :value=\"url\"\n :size=\"size\"\n level=\"H\"\n :foreground=\"color\"\n class=\"myQrCode\"\n :margin=\"2\"\n />\n <div class=\"d-flex align-items-center my-3\">\n <FormatSwitch v-model:is-svg=\"isSvg\" class=\"me-3\"/>\n <button class=\"btn btn-primary\" @click=\"download\">\n {{ t(\"Download\") }}\n </button>\n </div>\n <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport SnackBar from \"../../misc/SnackBar.vue\";\nimport QrcodeVue from \"qrcode.vue\";\nimport FormatSwitch from \"./FormatSwitch.vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { computed, onBeforeMount, ref, useTemplateRef } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n url: { default: \"\", type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Data \nconst size = ref(1000);\nconst color = ref(\"#000000\");\nconst isSvg = ref(true);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst renderQrCode = computed(() => isSvg.value ? 'svg' : 'canvas');\n\nonBeforeMount(()=>initDefaultColor())\n\n//Methods\nfunction download(): void {\n const canvas = document.getElementsByClassName(\"myQrCode\");\n if (!canvas || canvas.length <=0 || !canvas[0]) {\n return;\n }\n const downloadLink = document.createElement(\"a\");\n if (isSvg.value) {\n const svgData = canvas[0].outerHTML;\n const svgBlob = new Blob([svgData], {type:\"image/svg+xml;charset=utf-8\"});\n const svgUrl = URL.createObjectURL(svgBlob);\n downloadLink.href = svgUrl;\n downloadLink.download = \"qrcode.svg\";\n }else{\n downloadLink.download = \"qrcode.png\";\n downloadLink.href = (canvas[0] as HTMLCanvasElement).toDataURL();\n }\n downloadLink.click();\n (snackBarRef?.value as InstanceType<typeof SnackBar>).open(\n t(\"Download started\"),\n );\n}\nasync function initDefaultColor(): Promise<void> {\n if (undefined === props.orgaForColor) return;\n const attributes = await saveFetchStore.getOrgaAttributes(props.orgaForColor);\n if (Object.hasOwn(attributes, \"COLOR\")) {\n color.value = attributes.COLOR as string;\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .myQrCode{\n height: 200px !important;\n width: 200px !important;\n }\n}\n</style>"],"mappings":";;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EAKd,MAAM,OAAO;EAGb,SAAS,cAAa;GACpB,KAAK,gBAAgB,CAAC,MAAM,KAAK;EACnC;;;;;;;;;;;;;;;qBC1BS,OAAM,gBAAe;;;qBAA1B,mBAUM,OAVN,cAUM,CATJ,mBAKwB,SAAA;EAJtB,IAAG;EACF,SAAS,OAAA;EACV,OAAM;EACN,MAAK;EACJ,SAAO,OAAA;uDACV,mBAEQ,SAAA;EAFD,OAAM;EAAsB,KAAI;KACrC,mBAAiD,QAAA,EAA3C,OAAM,2BAA0B,GAAC,KAAG,CAAA,GAAA,EAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;ECsClD,MAAM,QAAQ;EAMd,MAAM,OAAO,IAAI,GAAI;EACrB,MAAM,QAAQ,IAAI,SAAS;EAC3B,MAAM,QAAQ,IAAI,IAAI;EACtB,MAAM,cAAc,eAAe,UAAU;EAG7C,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,iBAAiB,kBAAkB;EAIzC,MAAM,eAAe,eAAe,MAAM,QAAQ,QAAQ,QAAQ;EAElE,oBAAkB,iBAAiB,CAAC;EAGpC,SAAS,WAAiB;GACxB,MAAM,SAAS,SAAS,uBAAuB,UAAU;GACzD,IAAI,CAAC,UAAU,OAAO,UAAS,KAAK,CAAC,OAAO,IAC1C;GAEF,MAAM,eAAe,SAAS,cAAc,GAAG;GAC/C,IAAI,MAAM,OAAO;IACf,MAAM,UAAU,OAAO,GAAG;IAC1B,MAAM,UAAU,IAAI,KAAK,CAAC,OAAO,GAAG,EAAC,MAAK,8BAA6B,CAAC;IAExE,aAAa,OADE,IAAI,gBAAgB,OACf;IACpB,aAAa,WAAW;GAC1B,OAAK;IACH,aAAa,WAAW;IACxB,aAAa,OAAQ,OAAO,GAAyB,UAAU;GACjE;GACA,aAAa,MAAM;GACnB,CAAC,aAAa,OAAwC,KACpD,EAAE,kBAAkB,CACtB;EACF;EACA,eAAe,mBAAkC;GAC/C,IAAI,KAAA,MAAc,MAAM,cAAc;GACtC,MAAM,aAAa,MAAM,eAAe,kBAAkB,MAAM,YAAY;GAC5E,IAAI,OAAO,OAAO,YAAY,OAAO,GACnC,MAAM,QAAQ,WAAW;EAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBC/FO,OAAM,wCAAuC;mBAC3C,OAAM,iCAAgC;mBACpC,OAAM,kBAAiB;mBAuBzB,OAAM,iCAAgC;;qBAzB7C,mBAgCM,OAhCN,YAgCM;EA/BJ,mBAcM,OAdN,YAcM,CAbJ,mBAEM,OAFN,YAEM,gBADD,OAAA,EAAC,sBAAA,CAAA,GAAA,CAAA,GAEN,YASE,OAAA,cAAA;GARQ,eAAa,OAAA;gEAAA,OAAA,QAAK;GAC1B,OAAM;GACN,iBAAA;GACA,uBAAoB;GACpB,QAAO;GACP,cAAW;GACX,aAAU;GACT,cAAY,OAAA;;EAGjB,YAQE,OAAA,cAAA;GAPC,aAAW,OAAA;GACX,OAAO,OAAA;GACP,MAAM,OAAA;GACP,OAAM;GACL,YAAY,OAAA;GACb,OAAM;GACL,QAAQ;;;;;;;EAEX,mBAKM,OALN,YAKM,CAJJ,YAAmD,OAAA,iBAAA;GAA7B,UAAQ,OAAA;2DAAA,OAAA,QAAK;GAAE,OAAM;2BAC3C,mBAES,UAAA;GAFD,OAAM;GAAmB,SAAO,OAAA;qBACnC,OAAA,EAAC,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA;EAGR,YAAkD,OAAA,aAAA;GAAxC,KAAI;GAAW,UAAS"}
@@ -1,6 +1,6 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
2
  import { t as ClassicModal_default } from "./ClassicModal-CilwHp9p.mjs";
3
- import { t as QrCode_default } from "./QrCode-CUP2O18d.mjs";
3
+ import { t as QrCode_default } from "./QrCode-MCv4t_Bn.mjs";
4
4
  import { createBlock, createElementVNode, createVNode, defineComponent, openBlock, toDisplayString, withCtx } from "vue";
5
5
  import { useI18n } from "vue-i18n";
6
6
  //#region src/components/misc/modal/QrCodeModal.vue?vue&type=script&setup=true&lang.ts
@@ -61,4 +61,4 @@ var QrCodeModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(QrCode
61
61
  //#endregion
62
62
  export { QrCodeModal_default as default };
63
63
 
64
- //# sourceMappingURL=QrCodeModal-DXBCuki7.mjs.map
64
+ //# sourceMappingURL=QrCodeModal-Be8E0JlC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QrCodeModal-Be8E0JlC.mjs","names":[],"sources":["../src/components/misc/modal/QrCodeModal.vue","../src/components/misc/modal/QrCodeModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,OAAO;EAGb,MAAM,EAAE,MAAM,QAAQ;EAGtB,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;;;;;;;;;;;;;;;;;;qBCpCE,YAae,OAAA,iBAAA;EAZb,YAAS;EACR,eAAa,OAAA,EAAC,eAAA;EACd,SAAO,OAAA;;EAEG,MAAI,cAC2C,CAAxD,YAAwD,OAAA,WAAA;GAA/C,KAAK,OAAA;GAAU,kBAAgB,OAAA;;EAE/B,QAAM,cAGN,CAFT,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;qBACvC,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QrCodeModal-DYDKLLuw.mjs","names":[],"sources":["../src/components/misc/modal/QrCodeModal.vue","../src/components/misc/modal/QrCodeModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"qrcode-modal\"\n :title-modal=\"t('Share QR Code')\"\n @close=\"closePopup\"\n >\n <template #body>\n <QrCode :url=\"urlPage\" :orga-for-color=\"orgaForColor\" />\n </template>\n <template #footer>\n <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n urlPage: { default: undefined, type: String },\n orgaForColor: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n \n//Composables\nconst { t } = useI18n();\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,OAAO;EAGb,MAAM,EAAE,MAAM,QAAQ;EAGtB,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;;;;;;;;;;;;;;;;;;qBCpCE,YAae,OAAA,iBAAA;EAZb,YAAS;EACR,eAAa,OAAA,EAAC,eAAA;EACd,SAAO,OAAA;;EAEG,MAAI,cAC2C,CAAxD,YAAwD,OAAA,WAAA;GAA/C,KAAK,OAAA;GAAU,kBAAgB,OAAA;;EAE/B,QAAM,cAGN,CAFT,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;qBACvC,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioCurrently-BJOmCSby.mjs","names":[],"sources":["../src/components/display/live/RadioCurrently.vue","../src/components/display/live/RadioCurrently.vue"],"sourcesContent":["<template>\n <div class=\"d-flex align-items-center\">\n <div\n v-if=\"currentlyPlayingString.length || podcastRadio\"\n class=\"fw-bold me-1\"\n >\n {{ t(\"Currently\") }}&nbsp;:\n </div>\n <router-link\n v-if=\"podcastRadio\"\n class=\"d-flex align-items-center\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcastRadio.podcastId },\n }\"\n :title=\"t('Episode name page', { name: podcastRadio.title })\"\n >\n <img\n v-lazy=\"useProxyImageUrl(podcastRadio.imageUrl, '80')\"\n width=\"80\"\n height=\"80\"\n class=\"small-img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Episode name image', { name: podcastRadio.title })\"\n />\n <div>{{ podcastRadio.title }}</div>\n </router-link>\n <div v-else-if=\"currentlyPlayingString.length\">\n {{ currentlyPlayingString }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFetchRadio} from \"../../composable/radio/usefetchRadioData\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, onMounted, onUnmounted, ref, Ref } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Data \nconst currentMetadata: Ref<MediaRadio | undefined> = ref(undefined);\nconst currentPodcast: Ref<Podcast | undefined> = ref(undefined);\nconst radioInterval: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n \n//Composables\nconst { t } = useI18n();\nconst { fetchRadioMetadata, displayTitle } = useFetchRadio();\nconst { useProxyImageUrl } = useImageProxy();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst podcastRadio = computed(() => {\n if (playingRadio.value) {\n return playerStore.playerRadio?.podcast;\n }\n return currentPodcast.value;\n});\nconst currentlyPlayingString = computed(() => {\n if (playingRadio.value && playerStore.playerRadio) {\n return displayTitle(playerStore.playerRadio.metadata);\n }\n return displayTitle(currentMetadata.value);\n});\n\nonMounted(()=>{\n fetchCurrentlyPlaying();\n radioInterval.value = setInterval(() => {\n fetchCurrentlyPlaying();\n }, 10000);\n})\n\nonUnmounted(()=>{\n clearInterval(radioInterval.value);\n radioInterval.value= undefined;\n})\n\n\n//Methods\nasync function fetchCurrentlyPlaying(): Promise<void> {\n if (!props.radio || playingRadio.value) {\n return;\n }\n fetchRadioMetadata(\n props.radio.id,\n currentMetadata.value?.title ?? \"\",\n updateMetadata,\n );\n}\nfunction updateMetadata(metadata: MediaRadio|undefined, podcast?: Podcast): void {\n currentMetadata.value = metadata;\n currentPodcast.value = podcast;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app .small-img-box {\n height: 80px;\n width: 80px;\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n flex-shrink: 0;\n margin: 0.5rem;\n}\n</style>\n","<template>\n <div class=\"d-flex align-items-center\">\n <div\n v-if=\"currentlyPlayingString.length || podcastRadio\"\n class=\"fw-bold me-1\"\n >\n {{ t(\"Currently\") }}&nbsp;:\n </div>\n <router-link\n v-if=\"podcastRadio\"\n class=\"d-flex align-items-center\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcastRadio.podcastId },\n }\"\n :title=\"t('Episode name page', { name: podcastRadio.title })\"\n >\n <img\n v-lazy=\"useProxyImageUrl(podcastRadio.imageUrl, '80')\"\n width=\"80\"\n height=\"80\"\n class=\"small-img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Episode name image', { name: podcastRadio.title })\"\n />\n <div>{{ podcastRadio.title }}</div>\n </router-link>\n <div v-else-if=\"currentlyPlayingString.length\">\n {{ currentlyPlayingString }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFetchRadio} from \"../../composable/radio/usefetchRadioData\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, onMounted, onUnmounted, ref, Ref } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Data \nconst currentMetadata: Ref<MediaRadio | undefined> = ref(undefined);\nconst currentPodcast: Ref<Podcast | undefined> = ref(undefined);\nconst radioInterval: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n \n//Composables\nconst { t } = useI18n();\nconst { fetchRadioMetadata, displayTitle } = useFetchRadio();\nconst { useProxyImageUrl } = useImageProxy();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst podcastRadio = computed(() => {\n if (playingRadio.value) {\n return playerStore.playerRadio?.podcast;\n }\n return currentPodcast.value;\n});\nconst currentlyPlayingString = computed(() => {\n if (playingRadio.value && playerStore.playerRadio) {\n return displayTitle(playerStore.playerRadio.metadata);\n }\n return displayTitle(currentMetadata.value);\n});\n\nonMounted(()=>{\n fetchCurrentlyPlaying();\n radioInterval.value = setInterval(() => {\n fetchCurrentlyPlaying();\n }, 10000);\n})\n\nonUnmounted(()=>{\n clearInterval(radioInterval.value);\n radioInterval.value= undefined;\n})\n\n\n//Methods\nasync function fetchCurrentlyPlaying(): Promise<void> {\n if (!props.radio || playingRadio.value) {\n return;\n }\n fetchRadioMetadata(\n props.radio.id,\n currentMetadata.value?.title ?? \"\",\n updateMetadata,\n );\n}\nfunction updateMetadata(metadata: MediaRadio|undefined, podcast?: Podcast): void {\n currentMetadata.value = metadata;\n currentPodcast.value = podcast;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app .small-img-box {\n height: 80px;\n width: 80px;\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n flex-shrink: 0;\n margin: 0.5rem;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ;EAKd,MAAM,kBAA+C,IAAI,KAAA,CAAS;EAClE,MAAM,iBAA2C,IAAI,KAAA,CAAS;EAC9D,MAAM,gBAAgE,IAAI,KAAA,CAAS;EAInF,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,oBAAoB,iBAAiB,cAAc;EAC3D,MAAM,EAAE,qBAAqB,cAAc;EAC3C,MAAM,cAAc,eAAe;EAGnC,MAAM,eAAe,eAAe,YAAY,eAAe,YAAY,YAAY,YAAY,MAAM,OAAO,EAAE;EAClH,MAAM,eAAe,eAAe;GAClC,IAAI,aAAa,OACf,OAAO,YAAY,aAAa;GAElC,OAAO,eAAe;EACxB,CAAC;EACD,MAAM,yBAAyB,eAAe;GAC5C,IAAI,aAAa,SAAS,YAAY,aACpC,OAAO,aAAa,YAAY,YAAY,QAAQ;GAEtD,OAAO,aAAa,gBAAgB,KAAK;EAC3C,CAAC;EAED,gBAAc;GACZ,sBAAsB;GACtB,cAAc,QAAQ,kBAAkB;IACtC,sBAAsB;GACxB,GAAG,GAAK;EACV,CAAC;EAED,kBAAgB;GACd,cAAc,cAAc,KAAK;GACjC,cAAc,QAAO,KAAA;EACvB,CAAC;EAID,eAAe,wBAAuC;GACpD,IAAI,CAAC,MAAM,SAAS,aAAa,OAC/B;GAEF,mBACE,MAAM,MAAM,IACZ,gBAAgB,OAAO,SAAS,IAChC,cACF;EACF;EACA,SAAS,eAAe,UAAgC,SAAyB;GAC/E,gBAAgB,QAAQ;GACxB,eAAe,QAAQ;EACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;mBCtGO,OAAM,4BAA2B;;;CAGlC,OAAM;;;;;;;qBAHV,mBA8BM,OA9BN,YA8BM,CA5BI,OAAA,uBAAuB,UAAU,OAAA,gBAAA,UAAA,GADzC,mBAKM,OALN,YAKM,gBADD,OAAA,EAAC,WAAA,CAAA,IAAgB,UACtB,CAAA,KAAA,mBAAA,QAAA,IAAA,GAEQ,OAAA,gBAAA,UAAA,GADR,YAmBc,wBAAA;;EAjBZ,OAAM;EACL,IAAE;;wBAA0D,OAAA,aAAa,UAAS;;EAIlF,OAAO,OAAA,EAAC,qBAAA,EAAA,MAA8B,OAAA,aAAa,MAAK,CAAA;;yBAUvD,CAAA,eARF,mBAQE,OAAA;GANA,OAAM;GACN,QAAO;GACP,OAAM;GACN,eAAY;GACZ,KAAI;GACH,OAAO,OAAA,EAAC,sBAAA,EAAA,MAA+B,OAAA,aAAa,MAAK,CAAA;8CANlD,OAAA,iBAAiB,OAAA,aAAa,UAAQ,IAAA,CAAA,CAAA,CAAA,GAQhD,mBAAmC,OAAA,MAAA,gBAA3B,OAAA,aAAa,KAAK,GAAA,CAAA,CAAA,CAAA;;2BAEZ,OAAA,uBAAuB,UAAA,UAAA,GAAvC,mBAEM,OAAA,YAAA,gBADD,OAAA,sBAAsB,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioCurrently-CZePLInZ.mjs","names":[],"sources":["../src/components/display/live/RadioCurrently.vue","../src/components/display/live/RadioCurrently.vue"],"sourcesContent":["<template>\n <div class=\"d-flex align-items-center\">\n <div\n v-if=\"currentlyPlayingString.length || podcastRadio\"\n class=\"fw-bold me-1\"\n >\n {{ t(\"Currently\") }}&nbsp;:\n </div>\n <router-link\n v-if=\"podcastRadio\"\n class=\"d-flex align-items-center\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcastRadio.podcastId },\n }\"\n :title=\"t('Episode name page', { name: podcastRadio.title })\"\n >\n <img\n v-lazy=\"useProxyImageUrl(podcastRadio.imageUrl, '80')\"\n width=\"80\"\n height=\"80\"\n class=\"small-img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Episode name image', { name: podcastRadio.title })\"\n />\n <div>{{ podcastRadio.title }}</div>\n </router-link>\n <div v-else-if=\"currentlyPlayingString.length\">\n {{ currentlyPlayingString }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFetchRadio} from \"../../composable/radio/usefetchRadioData\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, onMounted, onUnmounted, ref, Ref } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Data \nconst currentMetadata: Ref<MediaRadio | undefined> = ref(undefined);\nconst currentPodcast: Ref<Podcast | undefined> = ref(undefined);\nconst radioInterval: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n \n//Composables\nconst { t } = useI18n();\nconst { fetchRadioMetadata, displayTitle } = useFetchRadio();\nconst { useProxyImageUrl } = useImageProxy();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst podcastRadio = computed(() => {\n if (playingRadio.value) {\n return playerStore.playerRadio?.podcast;\n }\n return currentPodcast.value;\n});\nconst currentlyPlayingString = computed(() => {\n if (playingRadio.value && playerStore.playerRadio) {\n return displayTitle(playerStore.playerRadio.metadata);\n }\n return displayTitle(currentMetadata.value);\n});\n\nonMounted(()=>{\n fetchCurrentlyPlaying();\n radioInterval.value = setInterval(() => {\n fetchCurrentlyPlaying();\n }, 10000);\n})\n\nonUnmounted(()=>{\n clearInterval(radioInterval.value);\n radioInterval.value= undefined;\n})\n\n\n//Methods\nasync function fetchCurrentlyPlaying(): Promise<void> {\n if (!props.radio || playingRadio.value) {\n return;\n }\n fetchRadioMetadata(\n props.radio.id,\n currentMetadata.value?.title ?? \"\",\n updateMetadata,\n );\n}\nfunction updateMetadata(metadata: MediaRadio|undefined, podcast?: Podcast): void {\n currentMetadata.value = metadata;\n currentPodcast.value = podcast;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app .small-img-box {\n height: 80px;\n width: 80px;\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n flex-shrink: 0;\n margin: 0.5rem;\n}\n</style>\n","<template>\n <div class=\"d-flex align-items-center\">\n <div\n v-if=\"currentlyPlayingString.length || podcastRadio\"\n class=\"fw-bold me-1\"\n >\n {{ t(\"Currently\") }}&nbsp;:\n </div>\n <router-link\n v-if=\"podcastRadio\"\n class=\"d-flex align-items-center\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcastRadio.podcastId },\n }\"\n :title=\"t('Episode name page', { name: podcastRadio.title })\"\n >\n <img\n v-lazy=\"useProxyImageUrl(podcastRadio.imageUrl, '80')\"\n width=\"80\"\n height=\"80\"\n class=\"small-img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Episode name image', { name: podcastRadio.title })\"\n />\n <div>{{ podcastRadio.title }}</div>\n </router-link>\n <div v-else-if=\"currentlyPlayingString.length\">\n {{ currentlyPlayingString }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFetchRadio} from \"../../composable/radio/usefetchRadioData\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, onMounted, onUnmounted, ref, Ref } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Data \nconst currentMetadata: Ref<MediaRadio | undefined> = ref(undefined);\nconst currentPodcast: Ref<Podcast | undefined> = ref(undefined);\nconst radioInterval: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n \n//Composables\nconst { t } = useI18n();\nconst { fetchRadioMetadata, displayTitle } = useFetchRadio();\nconst { useProxyImageUrl } = useImageProxy();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst podcastRadio = computed(() => {\n if (playingRadio.value) {\n return playerStore.playerRadio?.podcast;\n }\n return currentPodcast.value;\n});\nconst currentlyPlayingString = computed(() => {\n if (playingRadio.value && playerStore.playerRadio) {\n return displayTitle(playerStore.playerRadio.metadata);\n }\n return displayTitle(currentMetadata.value);\n});\n\nonMounted(()=>{\n fetchCurrentlyPlaying();\n radioInterval.value = setInterval(() => {\n fetchCurrentlyPlaying();\n }, 10000);\n})\n\nonUnmounted(()=>{\n clearInterval(radioInterval.value);\n radioInterval.value= undefined;\n})\n\n\n//Methods\nasync function fetchCurrentlyPlaying(): Promise<void> {\n if (!props.radio || playingRadio.value) {\n return;\n }\n fetchRadioMetadata(\n props.radio.id,\n currentMetadata.value?.title ?? \"\",\n updateMetadata,\n );\n}\nfunction updateMetadata(metadata: MediaRadio|undefined, podcast?: Podcast): void {\n currentMetadata.value = metadata;\n currentPodcast.value = podcast;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app .small-img-box {\n height: 80px;\n width: 80px;\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n flex-shrink: 0;\n margin: 0.5rem;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ;EAKd,MAAM,kBAA+C,IAAI,KAAA,CAAS;EAClE,MAAM,iBAA2C,IAAI,KAAA,CAAS;EAC9D,MAAM,gBAAgE,IAAI,KAAA,CAAS;EAInF,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,oBAAoB,iBAAiB,cAAc;EAC3D,MAAM,EAAE,qBAAqB,cAAc;EAC3C,MAAM,cAAc,eAAe;EAGnC,MAAM,eAAe,eAAe,YAAY,eAAe,YAAY,YAAY,YAAY,MAAM,OAAO,EAAE;EAClH,MAAM,eAAe,eAAe;GAClC,IAAI,aAAa,OACf,OAAO,YAAY,aAAa;GAElC,OAAO,eAAe;EACxB,CAAC;EACD,MAAM,yBAAyB,eAAe;GAC5C,IAAI,aAAa,SAAS,YAAY,aACpC,OAAO,aAAa,YAAY,YAAY,QAAQ;GAEtD,OAAO,aAAa,gBAAgB,KAAK;EAC3C,CAAC;EAED,gBAAc;GACZ,sBAAsB;GACtB,cAAc,QAAQ,kBAAkB;IACtC,sBAAsB;GACxB,GAAG,GAAK;EACV,CAAC;EAED,kBAAgB;GACd,cAAc,cAAc,KAAK;GACjC,cAAc,QAAO,KAAA;EACvB,CAAC;EAID,eAAe,wBAAuC;GACpD,IAAI,CAAC,MAAM,SAAS,aAAa,OAC/B;GAEF,mBACE,MAAM,MAAM,IACZ,gBAAgB,OAAO,SAAS,IAChC,cACF;EACF;EACA,SAAS,eAAe,UAAgC,SAAyB;GAC/E,gBAAgB,QAAQ;GACxB,eAAe,QAAQ;EACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;mBCtGO,OAAM,4BAA2B;;;CAGlC,OAAM;;;;;;;qBAHV,mBA8BM,OA9BN,YA8BM,CA5BI,OAAA,uBAAuB,UAAU,OAAA,gBAAA,UAAA,GADzC,mBAKM,OALN,YAKM,gBADD,OAAA,EAAC,WAAA,CAAA,IAAgB,UACtB,CAAA,KAAA,mBAAA,QAAA,IAAA,GAEQ,OAAA,gBAAA,UAAA,GADR,YAmBc,wBAAA;;EAjBZ,OAAM;EACL,IAAE;;wBAA0D,OAAA,aAAa,UAAS;;EAIlF,OAAO,OAAA,EAAC,qBAAA,EAAA,MAA8B,OAAA,aAAa,MAAK,CAAA;;yBAUvD,CAAA,eARF,mBAQE,OAAA;GANA,OAAM;GACN,QAAO;GACP,OAAM;GACN,eAAY;GACZ,KAAI;GACH,OAAO,OAAA,EAAC,sBAAA,EAAA,MAA+B,OAAA,aAAa,MAAK,CAAA;8CANlD,OAAA,iBAAiB,OAAA,aAAa,UAAQ,IAAA,CAAA,CAAA,CAAA,GAQhD,mBAAmC,OAAA,MAAA,gBAA3B,OAAA,aAAa,KAAK,GAAA,CAAA,CAAA,CAAA;;2BAEZ,OAAA,uBAAuB,UAAA,UAAA,GAAvC,mBAEM,OAAA,YAAA,gBADD,OAAA,sBAAsB,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,CAAA,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
3
- import { n as usePlayerStore } from "./PlayerStore-DukkcHI_.mjs";
4
- import { t as useImageProxy } from "./useImageProxy-Bj0cOCct.mjs";
5
- import { t as useFetchRadio } from "./usefetchRadioData-C2cwiaCP.mjs";
3
+ import { n as usePlayerStore } from "./PlayerStore-vYmnOEA_.mjs";
4
+ import { t as useImageProxy } from "./useImageProxy-BdQJmj4a.mjs";
5
+ import { t as useFetchRadio } from "./usefetchRadioData-CkrAfN1c.mjs";
6
6
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, onMounted, onUnmounted, openBlock, ref, resolveComponent, resolveDirective, toDisplayString, withCtx, withDirectives } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  //#region src/components/display/live/RadioCurrently.vue?vue&type=script&setup=true&lang.ts
@@ -109,4 +109,4 @@ var RadioCurrently_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Rad
109
109
  //#endregion
110
110
  export { RadioCurrently_exports as n, RadioCurrently_default as t };
111
111
 
112
- //# sourceMappingURL=RadioCurrently-D5M81oIX.mjs.map
112
+ //# sourceMappingURL=RadioCurrently-DWySwV64.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioCurrently-DWySwV64.mjs","names":[],"sources":["../src/components/display/live/RadioCurrently.vue","../src/components/display/live/RadioCurrently.vue"],"sourcesContent":["<template>\n <div class=\"d-flex align-items-center\">\n <div\n v-if=\"currentlyPlayingString.length || podcastRadio\"\n class=\"fw-bold me-1\"\n >\n {{ t(\"Currently\") }}&nbsp;:\n </div>\n <router-link\n v-if=\"podcastRadio\"\n class=\"d-flex align-items-center\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcastRadio.podcastId },\n }\"\n :title=\"t('Episode name page', { name: podcastRadio.title })\"\n >\n <img\n v-lazy=\"useProxyImageUrl(podcastRadio.imageUrl, '80')\"\n width=\"80\"\n height=\"80\"\n class=\"small-img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Episode name image', { name: podcastRadio.title })\"\n />\n <div>{{ podcastRadio.title }}</div>\n </router-link>\n <div v-else-if=\"currentlyPlayingString.length\">\n {{ currentlyPlayingString }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFetchRadio} from \"../../composable/radio/usefetchRadioData\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, onMounted, onUnmounted, ref, Ref } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Data \nconst currentMetadata: Ref<MediaRadio | undefined> = ref(undefined);\nconst currentPodcast: Ref<Podcast | undefined> = ref(undefined);\nconst radioInterval: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n \n//Composables\nconst { t } = useI18n();\nconst { fetchRadioMetadata, displayTitle } = useFetchRadio();\nconst { useProxyImageUrl } = useImageProxy();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst podcastRadio = computed(() => {\n if (playingRadio.value) {\n return playerStore.playerRadio?.podcast;\n }\n return currentPodcast.value;\n});\nconst currentlyPlayingString = computed(() => {\n if (playingRadio.value && playerStore.playerRadio) {\n return displayTitle(playerStore.playerRadio.metadata);\n }\n return displayTitle(currentMetadata.value);\n});\n\nonMounted(()=>{\n fetchCurrentlyPlaying();\n radioInterval.value = setInterval(() => {\n fetchCurrentlyPlaying();\n }, 10000);\n})\n\nonUnmounted(()=>{\n clearInterval(radioInterval.value);\n radioInterval.value= undefined;\n})\n\n\n//Methods\nasync function fetchCurrentlyPlaying(): Promise<void> {\n if (!props.radio || playingRadio.value) {\n return;\n }\n fetchRadioMetadata(\n props.radio.id,\n currentMetadata.value?.title ?? \"\",\n updateMetadata,\n );\n}\nfunction updateMetadata(metadata: MediaRadio|undefined, podcast?: Podcast): void {\n currentMetadata.value = metadata;\n currentPodcast.value = podcast;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app .small-img-box {\n height: 80px;\n width: 80px;\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n flex-shrink: 0;\n margin: 0.5rem;\n}\n</style>\n","<template>\n <div class=\"d-flex align-items-center\">\n <div\n v-if=\"currentlyPlayingString.length || podcastRadio\"\n class=\"fw-bold me-1\"\n >\n {{ t(\"Currently\") }}&nbsp;:\n </div>\n <router-link\n v-if=\"podcastRadio\"\n class=\"d-flex align-items-center\"\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcastRadio.podcastId },\n }\"\n :title=\"t('Episode name page', { name: podcastRadio.title })\"\n >\n <img\n v-lazy=\"useProxyImageUrl(podcastRadio.imageUrl, '80')\"\n width=\"80\"\n height=\"80\"\n class=\"small-img-box\"\n aria-hidden=\"true\"\n alt=\"\"\n :title=\"t('Episode name image', { name: podcastRadio.title })\"\n />\n <div>{{ podcastRadio.title }}</div>\n </router-link>\n <div v-else-if=\"currentlyPlayingString.length\">\n {{ currentlyPlayingString }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFetchRadio} from \"../../composable/radio/usefetchRadioData\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, onMounted, onUnmounted, ref, Ref } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Data \nconst currentMetadata: Ref<MediaRadio | undefined> = ref(undefined);\nconst currentPodcast: Ref<Podcast | undefined> = ref(undefined);\nconst radioInterval: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n \n//Composables\nconst { t } = useI18n();\nconst { fetchRadioMetadata, displayTitle } = useFetchRadio();\nconst { useProxyImageUrl } = useImageProxy();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst podcastRadio = computed(() => {\n if (playingRadio.value) {\n return playerStore.playerRadio?.podcast;\n }\n return currentPodcast.value;\n});\nconst currentlyPlayingString = computed(() => {\n if (playingRadio.value && playerStore.playerRadio) {\n return displayTitle(playerStore.playerRadio.metadata);\n }\n return displayTitle(currentMetadata.value);\n});\n\nonMounted(()=>{\n fetchCurrentlyPlaying();\n radioInterval.value = setInterval(() => {\n fetchCurrentlyPlaying();\n }, 10000);\n})\n\nonUnmounted(()=>{\n clearInterval(radioInterval.value);\n radioInterval.value= undefined;\n})\n\n\n//Methods\nasync function fetchCurrentlyPlaying(): Promise<void> {\n if (!props.radio || playingRadio.value) {\n return;\n }\n fetchRadioMetadata(\n props.radio.id,\n currentMetadata.value?.title ?? \"\",\n updateMetadata,\n );\n}\nfunction updateMetadata(metadata: MediaRadio|undefined, podcast?: Podcast): void {\n currentMetadata.value = metadata;\n currentPodcast.value = podcast;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app .small-img-box {\n height: 80px;\n width: 80px;\n border-radius: var(--octopus-border-radius);\n overflow: hidden;\n flex-shrink: 0;\n margin: 0.5rem;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ;EAKd,MAAM,kBAA+C,IAAI,KAAA,CAAS;EAClE,MAAM,iBAA2C,IAAI,KAAA,CAAS;EAC9D,MAAM,gBAAgE,IAAI,KAAA,CAAS;EAInF,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,oBAAoB,iBAAiB,cAAc;EAC3D,MAAM,EAAE,qBAAqB,cAAc;EAC3C,MAAM,cAAc,eAAe;EAGnC,MAAM,eAAe,eAAe,YAAY,eAAe,YAAY,YAAY,YAAY,MAAM,OAAO,EAAE;EAClH,MAAM,eAAe,eAAe;GAClC,IAAI,aAAa,OACf,OAAO,YAAY,aAAa;GAElC,OAAO,eAAe;EACxB,CAAC;EACD,MAAM,yBAAyB,eAAe;GAC5C,IAAI,aAAa,SAAS,YAAY,aACpC,OAAO,aAAa,YAAY,YAAY,QAAQ;GAEtD,OAAO,aAAa,gBAAgB,KAAK;EAC3C,CAAC;EAED,gBAAc;GACZ,sBAAsB;GACtB,cAAc,QAAQ,kBAAkB;IACtC,sBAAsB;GACxB,GAAG,GAAK;EACV,CAAC;EAED,kBAAgB;GACd,cAAc,cAAc,KAAK;GACjC,cAAc,QAAO,KAAA;EACvB,CAAC;EAID,eAAe,wBAAuC;GACpD,IAAI,CAAC,MAAM,SAAS,aAAa,OAC/B;GAEF,mBACE,MAAM,MAAM,IACZ,gBAAgB,OAAO,SAAS,IAChC,cACF;EACF;EACA,SAAS,eAAe,UAAgC,SAAyB;GAC/E,gBAAgB,QAAQ;GACxB,eAAe,QAAQ;EACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;mBCtGO,OAAM,4BAA2B;;;CAGlC,OAAM;;;;;;;qBAHV,mBA8BM,OA9BN,YA8BM,CA5BI,OAAA,uBAAuB,UAAU,OAAA,gBAAA,UAAA,GADzC,mBAKM,OALN,YAKM,gBADD,OAAA,EAAC,WAAA,CAAA,IAAgB,UACtB,CAAA,KAAA,mBAAA,QAAA,IAAA,GAEQ,OAAA,gBAAA,UAAA,GADR,YAmBc,wBAAA;;EAjBZ,OAAM;EACL,IAAE;;wBAA0D,OAAA,aAAa,UAAS;;EAIlF,OAAO,OAAA,EAAC,qBAAA,EAAA,MAA8B,OAAA,aAAa,MAAK,CAAA;;yBAUvD,CAAA,eARF,mBAQE,OAAA;GANA,OAAM;GACN,QAAO;GACP,OAAM;GACN,eAAY;GACZ,KAAI;GACH,OAAO,OAAA,EAAC,sBAAA,EAAA,MAA+B,OAAA,aAAa,MAAK,CAAA;8CANlD,OAAA,iBAAiB,OAAA,aAAa,UAAQ,IAAA,CAAA,CAAA,CAAA,GAQhD,mBAAmC,OAAA,MAAA,gBAA3B,OAAA,aAAa,KAAK,GAAA,CAAA,CAAA,CAAA;;2BAEZ,OAAA,uBAAuB,UAAA,UAAA,GAAvC,mBAEM,OAAA,YAAA,gBADD,OAAA,sBAAsB,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioHistory-7EGvEAMx.mjs","names":[],"sources":["../src/components/misc/player/radio/RadioHistory.vue","../src/components/misc/player/radio/RadioHistory.vue"],"sourcesContent":["<template>\n <div v-if=\"playerRadioHistory.length\" class=\"d-flex align-items-center mt-3\">\n <div class=\"fw-bold me-3\">\n {{ t(\"Previously\") + \":\" }}\n </div>\n <button\n v-if=\"indexStart !== 0\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(0)\"\n >\n <ChevronLeftIcon />\n </button>\n <div ref=\"historyListContainer\" class=\"history-list-container\">\n <div\n v-for=\"(pastItem, index) in playerRadioHistory\"\n :id=\"'history' + index\"\n :key=\"pastItem.title\"\n class=\"d-flex flex-shrink-0\"\n >\n <div class=\"d-flex flex-shrink-0 align-items-end\">\n <time :datetime=\"pastItem.startDate\" class=\"me-2 hour-past-item\">{{\n displayTimeItem(pastItem)\n }}</time>\n <span class=\"me-3\">{{ displayPreviousItem(pastItem) }}</span>\n </div>\n </div>\n </div>\n <button\n v-if=\"indexNotDisplay <= playerRadioHistory.length - 1\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(indexNotDisplay)\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronLeftIcon from \"vue-material-design-icons/ChevronLeft.vue\";\nimport ChevronRightIcon from \"vue-material-design-icons/ChevronRight.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport dayjs from \"dayjs\";\nimport { computed, nextTick, onMounted, onUnmounted, ref, useTemplateRef, watch } from \"vue\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { useI18n } from \"vue-i18n\";\nimport { useFetchRadio } from \"../../../composable/radio/usefetchRadioData\";\n\n\n//Data \nconst indexStart = ref(0);\nconst indexNotDisplay = ref(100);\nconst historyListContainerRef = useTemplateRef('historyListContainer');\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\nconst {displayTitle} = useFetchRadio();\n\n\n//Computed\nconst playerRadioHistory = computed(() => playerStore.playerRadio?.history ?? []);\n \n\n//Watch\nwatch(playerRadioHistory, () => {\n nextTick(() => {\n handleResize(0);\n });\n}, {deep: true,immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", () => {handleResize(0);}))\nonUnmounted(()=>window.removeEventListener(\"resize\", () => {handleResize(0);}))\n\n\n//Methods\nfunction displayEverythingAfterIndex(indexAsked: number) {\n for (let index = 0; index < playerRadioHistory.value.length; index++) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index < indexAsked && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n if (index >= indexAsked && el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n }\n}\nfunction handleResize(indexAsked: number): void {\n const historyList = historyListContainerRef?.value as HTMLElement;\n if (null === historyList || !historyList) {\n return;\n }\n indexStart.value = indexAsked;\n indexNotDisplay.value = playerRadioHistory.value.length;\n displayEverythingAfterIndex(indexAsked);\n for (\n let index = indexStart.value + 1;\n index < playerRadioHistory.value.length;\n index++\n ) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index > indexNotDisplay.value && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n const parent = el.parentElement;\n if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth) {\n indexNotDisplay.value = index;\n el.classList.add(\"hid\");\n }\n }\n}\nfunction displayTimeItem(item: MediaRadio): string {\n return dayjs(item.startDate).format(\"HH:mm\");\n}\nfunction displayPreviousItem(item: MediaRadio): string {\n if (item.podcastId) {\n return item.title;\n }\n return displayTitle(item);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .history-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n position: relative;\n }\n\n .hour-past-item {\n font-size: 0.8rem;\n color: oklch(89% 0 0deg);\n }\n}\n</style>\n","<template>\n <div v-if=\"playerRadioHistory.length\" class=\"d-flex align-items-center mt-3\">\n <div class=\"fw-bold me-3\">\n {{ t(\"Previously\") + \":\" }}\n </div>\n <button\n v-if=\"indexStart !== 0\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(0)\"\n >\n <ChevronLeftIcon />\n </button>\n <div ref=\"historyListContainer\" class=\"history-list-container\">\n <div\n v-for=\"(pastItem, index) in playerRadioHistory\"\n :id=\"'history' + index\"\n :key=\"pastItem.title\"\n class=\"d-flex flex-shrink-0\"\n >\n <div class=\"d-flex flex-shrink-0 align-items-end\">\n <time :datetime=\"pastItem.startDate\" class=\"me-2 hour-past-item\">{{\n displayTimeItem(pastItem)\n }}</time>\n <span class=\"me-3\">{{ displayPreviousItem(pastItem) }}</span>\n </div>\n </div>\n </div>\n <button\n v-if=\"indexNotDisplay <= playerRadioHistory.length - 1\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(indexNotDisplay)\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronLeftIcon from \"vue-material-design-icons/ChevronLeft.vue\";\nimport ChevronRightIcon from \"vue-material-design-icons/ChevronRight.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport dayjs from \"dayjs\";\nimport { computed, nextTick, onMounted, onUnmounted, ref, useTemplateRef, watch } from \"vue\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { useI18n } from \"vue-i18n\";\nimport { useFetchRadio } from \"../../../composable/radio/usefetchRadioData\";\n\n\n//Data \nconst indexStart = ref(0);\nconst indexNotDisplay = ref(100);\nconst historyListContainerRef = useTemplateRef('historyListContainer');\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\nconst {displayTitle} = useFetchRadio();\n\n\n//Computed\nconst playerRadioHistory = computed(() => playerStore.playerRadio?.history ?? []);\n \n\n//Watch\nwatch(playerRadioHistory, () => {\n nextTick(() => {\n handleResize(0);\n });\n}, {deep: true,immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", () => {handleResize(0);}))\nonUnmounted(()=>window.removeEventListener(\"resize\", () => {handleResize(0);}))\n\n\n//Methods\nfunction displayEverythingAfterIndex(indexAsked: number) {\n for (let index = 0; index < playerRadioHistory.value.length; index++) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index < indexAsked && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n if (index >= indexAsked && el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n }\n}\nfunction handleResize(indexAsked: number): void {\n const historyList = historyListContainerRef?.value as HTMLElement;\n if (null === historyList || !historyList) {\n return;\n }\n indexStart.value = indexAsked;\n indexNotDisplay.value = playerRadioHistory.value.length;\n displayEverythingAfterIndex(indexAsked);\n for (\n let index = indexStart.value + 1;\n index < playerRadioHistory.value.length;\n index++\n ) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index > indexNotDisplay.value && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n const parent = el.parentElement;\n if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth) {\n indexNotDisplay.value = index;\n el.classList.add(\"hid\");\n }\n }\n}\nfunction displayTimeItem(item: MediaRadio): string {\n return dayjs(item.startDate).format(\"HH:mm\");\n}\nfunction displayPreviousItem(item: MediaRadio): string {\n if (item.podcastId) {\n return item.title;\n }\n return displayTitle(item);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .history-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n position: relative;\n }\n\n .hour-past-item {\n font-size: 0.8rem;\n color: oklch(89% 0 0deg);\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioHistory-BdMa013x.mjs","names":[],"sources":["../src/components/misc/player/radio/RadioHistory.vue","../src/components/misc/player/radio/RadioHistory.vue"],"sourcesContent":["<template>\n <div v-if=\"playerRadioHistory.length\" class=\"d-flex align-items-center mt-3\">\n <div class=\"fw-bold me-3\">\n {{ t(\"Previously\") + \":\" }}\n </div>\n <button\n v-if=\"indexStart !== 0\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(0)\"\n >\n <ChevronLeftIcon />\n </button>\n <div ref=\"historyListContainer\" class=\"history-list-container\">\n <div\n v-for=\"(pastItem, index) in playerRadioHistory\"\n :id=\"'history' + index\"\n :key=\"pastItem.title\"\n class=\"d-flex flex-shrink-0\"\n >\n <div class=\"d-flex flex-shrink-0 align-items-end\">\n <time :datetime=\"pastItem.startDate\" class=\"me-2 hour-past-item\">{{\n displayTimeItem(pastItem)\n }}</time>\n <span class=\"me-3\">{{ displayPreviousItem(pastItem) }}</span>\n </div>\n </div>\n </div>\n <button\n v-if=\"indexNotDisplay <= playerRadioHistory.length - 1\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(indexNotDisplay)\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronLeftIcon from \"vue-material-design-icons/ChevronLeft.vue\";\nimport ChevronRightIcon from \"vue-material-design-icons/ChevronRight.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport dayjs from \"dayjs\";\nimport { computed, nextTick, onMounted, onUnmounted, ref, useTemplateRef, watch } from \"vue\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { useI18n } from \"vue-i18n\";\nimport { useFetchRadio } from \"../../../composable/radio/usefetchRadioData\";\n\n\n//Data \nconst indexStart = ref(0);\nconst indexNotDisplay = ref(100);\nconst historyListContainerRef = useTemplateRef('historyListContainer');\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\nconst {displayTitle} = useFetchRadio();\n\n\n//Computed\nconst playerRadioHistory = computed(() => playerStore.playerRadio?.history ?? []);\n \n\n//Watch\nwatch(playerRadioHistory, () => {\n nextTick(() => {\n handleResize(0);\n });\n}, {deep: true,immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", () => {handleResize(0);}))\nonUnmounted(()=>window.removeEventListener(\"resize\", () => {handleResize(0);}))\n\n\n//Methods\nfunction displayEverythingAfterIndex(indexAsked: number) {\n for (let index = 0; index < playerRadioHistory.value.length; index++) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index < indexAsked && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n if (index >= indexAsked && el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n }\n}\nfunction handleResize(indexAsked: number): void {\n const historyList = historyListContainerRef?.value as HTMLElement;\n if (null === historyList || !historyList) {\n return;\n }\n indexStart.value = indexAsked;\n indexNotDisplay.value = playerRadioHistory.value.length;\n displayEverythingAfterIndex(indexAsked);\n for (\n let index = indexStart.value + 1;\n index < playerRadioHistory.value.length;\n index++\n ) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index > indexNotDisplay.value && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n const parent = el.parentElement;\n if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth) {\n indexNotDisplay.value = index;\n el.classList.add(\"hid\");\n }\n }\n}\nfunction displayTimeItem(item: MediaRadio): string {\n return dayjs(item.startDate).format(\"HH:mm\");\n}\nfunction displayPreviousItem(item: MediaRadio): string {\n if (item.podcastId) {\n return item.title;\n }\n return displayTitle(item);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .history-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n position: relative;\n }\n\n .hour-past-item {\n font-size: 0.8rem;\n color: oklch(89% 0 0deg);\n }\n}\n</style>\n","<template>\n <div v-if=\"playerRadioHistory.length\" class=\"d-flex align-items-center mt-3\">\n <div class=\"fw-bold me-3\">\n {{ t(\"Previously\") + \":\" }}\n </div>\n <button\n v-if=\"indexStart !== 0\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(0)\"\n >\n <ChevronLeftIcon />\n </button>\n <div ref=\"historyListContainer\" class=\"history-list-container\">\n <div\n v-for=\"(pastItem, index) in playerRadioHistory\"\n :id=\"'history' + index\"\n :key=\"pastItem.title\"\n class=\"d-flex flex-shrink-0\"\n >\n <div class=\"d-flex flex-shrink-0 align-items-end\">\n <time :datetime=\"pastItem.startDate\" class=\"me-2 hour-past-item\">{{\n displayTimeItem(pastItem)\n }}</time>\n <span class=\"me-3\">{{ displayPreviousItem(pastItem) }}</span>\n </div>\n </div>\n </div>\n <button\n v-if=\"indexNotDisplay <= playerRadioHistory.length - 1\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(indexNotDisplay)\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronLeftIcon from \"vue-material-design-icons/ChevronLeft.vue\";\nimport ChevronRightIcon from \"vue-material-design-icons/ChevronRight.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport dayjs from \"dayjs\";\nimport { computed, nextTick, onMounted, onUnmounted, ref, useTemplateRef, watch } from \"vue\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { useI18n } from \"vue-i18n\";\nimport { useFetchRadio } from \"../../../composable/radio/usefetchRadioData\";\n\n\n//Data \nconst indexStart = ref(0);\nconst indexNotDisplay = ref(100);\nconst historyListContainerRef = useTemplateRef('historyListContainer');\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\nconst {displayTitle} = useFetchRadio();\n\n\n//Computed\nconst playerRadioHistory = computed(() => playerStore.playerRadio?.history ?? []);\n \n\n//Watch\nwatch(playerRadioHistory, () => {\n nextTick(() => {\n handleResize(0);\n });\n}, {deep: true,immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", () => {handleResize(0);}))\nonUnmounted(()=>window.removeEventListener(\"resize\", () => {handleResize(0);}))\n\n\n//Methods\nfunction displayEverythingAfterIndex(indexAsked: number) {\n for (let index = 0; index < playerRadioHistory.value.length; index++) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index < indexAsked && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n if (index >= indexAsked && el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n }\n}\nfunction handleResize(indexAsked: number): void {\n const historyList = historyListContainerRef?.value as HTMLElement;\n if (null === historyList || !historyList) {\n return;\n }\n indexStart.value = indexAsked;\n indexNotDisplay.value = playerRadioHistory.value.length;\n displayEverythingAfterIndex(indexAsked);\n for (\n let index = indexStart.value + 1;\n index < playerRadioHistory.value.length;\n index++\n ) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index > indexNotDisplay.value && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n const parent = el.parentElement;\n if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth) {\n indexNotDisplay.value = index;\n el.classList.add(\"hid\");\n }\n }\n}\nfunction displayTimeItem(item: MediaRadio): string {\n return dayjs(item.startDate).format(\"HH:mm\");\n}\nfunction displayPreviousItem(item: MediaRadio): string {\n if (item.podcastId) {\n return item.title;\n }\n return displayTitle(item);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .history-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n position: relative;\n }\n\n .hour-past-item {\n font-size: 0.8rem;\n color: oklch(89% 0 0deg);\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { n as usePlayerStore } from "./PlayerStore-DukkcHI_.mjs";
3
- import { t as useFetchRadio } from "./usefetchRadioData-C2cwiaCP.mjs";
2
+ import { n as usePlayerStore } from "./PlayerStore-vYmnOEA_.mjs";
3
+ import { t as useFetchRadio } from "./usefetchRadioData-CkrAfN1c.mjs";
4
4
  import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, onMounted, onUnmounted, openBlock, ref, renderList, toDisplayString, useTemplateRef, watch } from "vue";
5
5
  import { useI18n } from "vue-i18n";
6
6
  import dayjs from "dayjs";
@@ -136,4 +136,4 @@ var RadioHistory_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Radio
136
136
  //#endregion
137
137
  export { RadioHistory_default as default };
138
138
 
139
- //# sourceMappingURL=RadioHistory-BgOve4jk.mjs.map
139
+ //# sourceMappingURL=RadioHistory-DlQFZYp2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioHistory-DlQFZYp2.mjs","names":[],"sources":["../src/components/misc/player/radio/RadioHistory.vue","../src/components/misc/player/radio/RadioHistory.vue"],"sourcesContent":["<template>\n <div v-if=\"playerRadioHistory.length\" class=\"d-flex align-items-center mt-3\">\n <div class=\"fw-bold me-3\">\n {{ t(\"Previously\") + \":\" }}\n </div>\n <button\n v-if=\"indexStart !== 0\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(0)\"\n >\n <ChevronLeftIcon />\n </button>\n <div ref=\"historyListContainer\" class=\"history-list-container\">\n <div\n v-for=\"(pastItem, index) in playerRadioHistory\"\n :id=\"'history' + index\"\n :key=\"pastItem.title\"\n class=\"d-flex flex-shrink-0\"\n >\n <div class=\"d-flex flex-shrink-0 align-items-end\">\n <time :datetime=\"pastItem.startDate\" class=\"me-2 hour-past-item\">{{\n displayTimeItem(pastItem)\n }}</time>\n <span class=\"me-3\">{{ displayPreviousItem(pastItem) }}</span>\n </div>\n </div>\n </div>\n <button\n v-if=\"indexNotDisplay <= playerRadioHistory.length - 1\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(indexNotDisplay)\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronLeftIcon from \"vue-material-design-icons/ChevronLeft.vue\";\nimport ChevronRightIcon from \"vue-material-design-icons/ChevronRight.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport dayjs from \"dayjs\";\nimport { computed, nextTick, onMounted, onUnmounted, ref, useTemplateRef, watch } from \"vue\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { useI18n } from \"vue-i18n\";\nimport { useFetchRadio } from \"../../../composable/radio/usefetchRadioData\";\n\n\n//Data \nconst indexStart = ref(0);\nconst indexNotDisplay = ref(100);\nconst historyListContainerRef = useTemplateRef('historyListContainer');\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\nconst {displayTitle} = useFetchRadio();\n\n\n//Computed\nconst playerRadioHistory = computed(() => playerStore.playerRadio?.history ?? []);\n \n\n//Watch\nwatch(playerRadioHistory, () => {\n nextTick(() => {\n handleResize(0);\n });\n}, {deep: true,immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", () => {handleResize(0);}))\nonUnmounted(()=>window.removeEventListener(\"resize\", () => {handleResize(0);}))\n\n\n//Methods\nfunction displayEverythingAfterIndex(indexAsked: number) {\n for (let index = 0; index < playerRadioHistory.value.length; index++) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index < indexAsked && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n if (index >= indexAsked && el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n }\n}\nfunction handleResize(indexAsked: number): void {\n const historyList = historyListContainerRef?.value as HTMLElement;\n if (null === historyList || !historyList) {\n return;\n }\n indexStart.value = indexAsked;\n indexNotDisplay.value = playerRadioHistory.value.length;\n displayEverythingAfterIndex(indexAsked);\n for (\n let index = indexStart.value + 1;\n index < playerRadioHistory.value.length;\n index++\n ) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index > indexNotDisplay.value && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n const parent = el.parentElement;\n if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth) {\n indexNotDisplay.value = index;\n el.classList.add(\"hid\");\n }\n }\n}\nfunction displayTimeItem(item: MediaRadio): string {\n return dayjs(item.startDate).format(\"HH:mm\");\n}\nfunction displayPreviousItem(item: MediaRadio): string {\n if (item.podcastId) {\n return item.title;\n }\n return displayTitle(item);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .history-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n position: relative;\n }\n\n .hour-past-item {\n font-size: 0.8rem;\n color: oklch(89% 0 0deg);\n }\n}\n</style>\n","<template>\n <div v-if=\"playerRadioHistory.length\" class=\"d-flex align-items-center mt-3\">\n <div class=\"fw-bold me-3\">\n {{ t(\"Previously\") + \":\" }}\n </div>\n <button\n v-if=\"indexStart !== 0\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(0)\"\n >\n <ChevronLeftIcon />\n </button>\n <div ref=\"historyListContainer\" class=\"history-list-container\">\n <div\n v-for=\"(pastItem, index) in playerRadioHistory\"\n :id=\"'history' + index\"\n :key=\"pastItem.title\"\n class=\"d-flex flex-shrink-0\"\n >\n <div class=\"d-flex flex-shrink-0 align-items-end\">\n <time :datetime=\"pastItem.startDate\" class=\"me-2 hour-past-item\">{{\n displayTimeItem(pastItem)\n }}</time>\n <span class=\"me-3\">{{ displayPreviousItem(pastItem) }}</span>\n </div>\n </div>\n </div>\n <button\n v-if=\"indexNotDisplay <= playerRadioHistory.length - 1\"\n class=\"btn btn-transparent text-light\"\n @click=\"handleResize(indexNotDisplay)\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronLeftIcon from \"vue-material-design-icons/ChevronLeft.vue\";\nimport ChevronRightIcon from \"vue-material-design-icons/ChevronRight.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport dayjs from \"dayjs\";\nimport { computed, nextTick, onMounted, onUnmounted, ref, useTemplateRef, watch } from \"vue\";\nimport { MediaRadio } from \"@/stores/class/general/player\";\nimport { useI18n } from \"vue-i18n\";\nimport { useFetchRadio } from \"../../../composable/radio/usefetchRadioData\";\n\n\n//Data \nconst indexStart = ref(0);\nconst indexNotDisplay = ref(100);\nconst historyListContainerRef = useTemplateRef('historyListContainer');\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\nconst {displayTitle} = useFetchRadio();\n\n\n//Computed\nconst playerRadioHistory = computed(() => playerStore.playerRadio?.history ?? []);\n \n\n//Watch\nwatch(playerRadioHistory, () => {\n nextTick(() => {\n handleResize(0);\n });\n}, {deep: true,immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", () => {handleResize(0);}))\nonUnmounted(()=>window.removeEventListener(\"resize\", () => {handleResize(0);}))\n\n\n//Methods\nfunction displayEverythingAfterIndex(indexAsked: number) {\n for (let index = 0; index < playerRadioHistory.value.length; index++) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index < indexAsked && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n if (index >= indexAsked && el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n }\n}\nfunction handleResize(indexAsked: number): void {\n const historyList = historyListContainerRef?.value as HTMLElement;\n if (null === historyList || !historyList) {\n return;\n }\n indexStart.value = indexAsked;\n indexNotDisplay.value = playerRadioHistory.value.length;\n displayEverythingAfterIndex(indexAsked);\n for (\n let index = indexStart.value + 1;\n index < playerRadioHistory.value.length;\n index++\n ) {\n const el = historyListContainerRef?.value?.querySelector('#history' + index);\n if (!el) continue;\n if (index > indexNotDisplay.value && !el.classList.contains(\"hid\")) {\n el.classList.add(\"hid\");\n continue;\n }\n const parent = el.parentElement;\n if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth) {\n indexNotDisplay.value = index;\n el.classList.add(\"hid\");\n }\n }\n}\nfunction displayTimeItem(item: MediaRadio): string {\n return dayjs(item.startDate).format(\"HH:mm\");\n}\nfunction displayPreviousItem(item: MediaRadio): string {\n if (item.podcastId) {\n return item.title;\n }\n return displayTitle(item);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .history-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n position: relative;\n }\n\n .hour-past-item {\n font-size: 0.8rem;\n color: oklch(89% 0 0deg);\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
3
- import { i as useAuthStore } from "./classicApi-CkDHWZG1.mjs";
4
- import { n as usePlayerStore } from "./PlayerStore-DukkcHI_.mjs";
5
- import { t as useImageProxy } from "./useImageProxy-Bj0cOCct.mjs";
3
+ import { i as useAuthStore } from "./classicApi-xjOqAovv.mjs";
4
+ import { n as usePlayerStore } from "./PlayerStore-vYmnOEA_.mjs";
5
+ import { t as useImageProxy } from "./useImageProxy-BdQJmj4a.mjs";
6
6
  import { computed, createBlock, createElementBlock, createElementVNode, defineAsyncComponent, defineComponent, openBlock, resolveDirective, toDisplayString, withDirectives } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import PlayIcon from "vue-material-design-icons/Play.vue";
@@ -15,7 +15,7 @@ var RadioImage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
15
15
  } },
16
16
  setup(__props, { expose: __expose }) {
17
17
  __expose();
18
- const PodcastIsPlaying = defineAsyncComponent(() => import("./PodcastIsPlaying-B7YVeSyB.mjs"));
18
+ const PodcastIsPlaying = defineAsyncComponent(() => import("./PodcastIsPlaying-BsObdQGR.mjs"));
19
19
  const props = __props;
20
20
  const { t } = useI18n();
21
21
  const { useProxyImageUrl } = useImageProxy();
@@ -82,4 +82,4 @@ var RadioImage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RadioIm
82
82
  //#endregion
83
83
  export { RadioImage_exports as n, RadioImage_default as t };
84
84
 
85
- //# sourceMappingURL=RadioImage-CUTRr3DL.mjs.map
85
+ //# sourceMappingURL=RadioImage-BIe2KpG_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioImage-BIe2KpG_.mjs","names":[],"sources":["../src/components/display/live/RadioImage.vue","../src/components/display/live/RadioImage.vue"],"sourcesContent":["<template>\n <div\n class=\"img-box img-box-podcast position-relative flex-shrink-0 mb-3 me-3 float-start\"\n >\n <img\n v-lazy=\"\n radio.imageUrl\n ? useProxyImageUrl(radio.imageUrl, '270')\n : '/img/emptyradio.webp'\n \"\n width=\"270\"\n height=\"270\"\n aria-hidden=\"true\"\n alt=\"\"\n \n class=\"img-box img-box-podcast\"\n :title=\"t('Canal name image', { name: radio.name })\"\n />\n <button class=\"radio-play-button\" @click=\"playRadio\">\n <PlayIcon v-if=\"!playingRadio\" :title=\"t('Play')\" :size=\"40\" />\n <PodcastIsPlaying v-else />\n <div class=\"mx-2\">\n {{ playText }}\n </div>\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastIsPlaying = defineAsyncComponent(() => import(\"../podcasts/PodcastIsPlaying.vue\"));\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst playText = computed(() => {\n return playingRadio.value && \"PLAYING\" === playerStore.playerStatus? t(\"Pause\") : t(\"Play\");\n});\n\n\n//Methods\nfunction playRadio(): void {\n if (!props.radio) {\n return;\n }\n if (playingRadio.value) {\n playerStore.playerChangeStatus(\"PLAYING\" === playerStore.playerStatus);\n } else {\n playerStore.playerPlay({\n canalId: props.radio.id,\n url: \"https://\" + props.radio.url + \"/live.m3u8\",\n metadata: \"\",\n secured: props.radio.organisationId === authStore.authOrganisation?.id && \"SECURED\"===authStore.authOrganisation?.privacy\n });\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app .radio-play-button{\n display: flex;\n align-items: center;\n position: absolute;\n bottom: 0;\n font-size: 1rem;\n color: var(--octopus-color-on-primary);\n background-color: var(--octopus-primary-less-transparent);\n border-radius: var(--octopus-border-radius);\n padding: 0.2rem;\n border: 0;\n}\n</style>\n","<template>\n <div\n class=\"img-box img-box-podcast position-relative flex-shrink-0 mb-3 me-3 float-start\"\n >\n <img\n v-lazy=\"\n radio.imageUrl\n ? useProxyImageUrl(radio.imageUrl, '270')\n : '/img/emptyradio.webp'\n \"\n width=\"270\"\n height=\"270\"\n aria-hidden=\"true\"\n alt=\"\"\n \n class=\"img-box img-box-podcast\"\n :title=\"t('Canal name image', { name: radio.name })\"\n />\n <button class=\"radio-play-button\" @click=\"playRadio\">\n <PlayIcon v-if=\"!playingRadio\" :title=\"t('Play')\" :size=\"40\" />\n <PodcastIsPlaying v-else />\n <div class=\"mx-2\">\n {{ playText }}\n </div>\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastIsPlaying = defineAsyncComponent(() => import(\"../podcasts/PodcastIsPlaying.vue\"));\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst playText = computed(() => {\n return playingRadio.value && \"PLAYING\" === playerStore.playerStatus? t(\"Pause\") : t(\"Play\");\n});\n\n\n//Methods\nfunction playRadio(): void {\n if (!props.radio) {\n return;\n }\n if (playingRadio.value) {\n playerStore.playerChangeStatus(\"PLAYING\" === playerStore.playerStatus);\n } else {\n playerStore.playerPlay({\n canalId: props.radio.id,\n url: \"https://\" + props.radio.url + \"/live.m3u8\",\n metadata: \"\",\n secured: props.radio.organisationId === authStore.authOrganisation?.id && \"SECURED\"===authStore.authOrganisation?.privacy\n });\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app .radio-play-button{\n display: flex;\n align-items: center;\n position: absolute;\n bottom: 0;\n font-size: 1rem;\n color: var(--octopus-color-on-primary);\n background-color: var(--octopus-primary-less-transparent);\n border-radius: var(--octopus-border-radius);\n padding: 0.2rem;\n border: 0;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;EAoCA,MAAM,mBAAmB,2BAA2B,OAAO,kCAAmC;EAG9F,MAAM,QAAQ;EAKd,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,qBAAqB,cAAc;EAC3C,MAAM,YAAY,aAAa;EAC/B,MAAM,cAAc,eAAe;EAGnC,MAAM,eAAe,eAAe,YAAY,eAAe,YAAY,YAAY,YAAY,MAAM,OAAO,EAAE;EAClH,MAAM,WAAW,eAAe;GAC9B,OAAO,aAAa,SAAS,cAAc,YAAY,eAAc,EAAE,OAAO,IAAI,EAAE,MAAM;EAC5F,CAAC;EAID,SAAS,YAAkB;GACzB,IAAI,CAAC,MAAM,OACT;GAEF,IAAI,aAAa,OACf,YAAY,mBAAmB,cAAc,YAAY,YAAY;QAErE,YAAY,WAAW;IACrB,SAAS,MAAM,MAAM;IACrB,KAAK,aAAa,MAAM,MAAM,MAAM;IACpC,UAAU;IACV,SAAS,MAAM,MAAM,mBAAmB,UAAU,kBAAkB,MAAM,cAAY,UAAU,kBAAkB;GACpH,CAAC;EAEL;;;;;;;;;;;;;;;;;;;;;;;mBCrEI,OAAM,gFAA+E;;mBAmB9E,OAAM,OAAM;;;qBApBrB,mBAwBM,OAxBN,YAwBM,CAAA,eArBJ,mBAaE,OAAA;EAPA,OAAM;EACN,QAAO;EACP,eAAY;EACV,KAAI;EAEN,OAAM;EACL,OAAO,OAAA,EAAC,oBAAA,EAAA,MAA6B,OAAA,MAAM,KAAI,CAAA;6CAX/B,OAAA,MAAM,WAAqB,OAAA,iBAAiB,OAAA,MAAM,UAAQ,KAAA,IAAA,sBAAA,CAAA,CAAA,GAa7E,mBAMS,UAAA;EAND,OAAM;EAAqB,SAAO,OAAA;MACvB,OAAA,gBAAA,UAAA,GAAjB,YAA+D,OAAA,aAAA;;EAA/B,OAAO,OAAA,EAAC,MAAA;EAAW,MAAM;yCACzD,YAA2B,OAAA,qBAAA,EAAA,KAAA,EAAA,CAAA,IAC3B,mBAEM,OAFN,YAEM,gBADD,OAAA,QAAQ,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioImage-CXFZXN1N.mjs","names":[],"sources":["../src/components/display/live/RadioImage.vue","../src/components/display/live/RadioImage.vue"],"sourcesContent":["<template>\n <div\n class=\"img-box img-box-podcast position-relative flex-shrink-0 mb-3 me-3 float-start\"\n >\n <img\n v-lazy=\"\n radio.imageUrl\n ? useProxyImageUrl(radio.imageUrl, '270')\n : '/img/emptyradio.webp'\n \"\n width=\"270\"\n height=\"270\"\n aria-hidden=\"true\"\n alt=\"\"\n \n class=\"img-box img-box-podcast\"\n :title=\"t('Canal name image', { name: radio.name })\"\n />\n <button class=\"radio-play-button\" @click=\"playRadio\">\n <PlayIcon v-if=\"!playingRadio\" :title=\"t('Play')\" :size=\"40\" />\n <PodcastIsPlaying v-else />\n <div class=\"mx-2\">\n {{ playText }}\n </div>\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastIsPlaying = defineAsyncComponent(() => import(\"../podcasts/PodcastIsPlaying.vue\"));\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst playText = computed(() => {\n return playingRadio.value && \"PLAYING\" === playerStore.playerStatus? t(\"Pause\") : t(\"Play\");\n});\n\n\n//Methods\nfunction playRadio(): void {\n if (!props.radio) {\n return;\n }\n if (playingRadio.value) {\n playerStore.playerChangeStatus(\"PLAYING\" === playerStore.playerStatus);\n } else {\n playerStore.playerPlay({\n canalId: props.radio.id,\n url: \"https://\" + props.radio.url + \"/live.m3u8\",\n metadata: \"\",\n secured: props.radio.organisationId === authStore.authOrganisation?.id && \"SECURED\"===authStore.authOrganisation?.privacy\n });\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app .radio-play-button{\n display: flex;\n align-items: center;\n position: absolute;\n bottom: 0;\n font-size: 1rem;\n color: var(--octopus-color-on-primary);\n background-color: var(--octopus-primary-less-transparent);\n border-radius: var(--octopus-border-radius);\n padding: 0.2rem;\n border: 0;\n}\n</style>\n","<template>\n <div\n class=\"img-box img-box-podcast position-relative flex-shrink-0 mb-3 me-3 float-start\"\n >\n <img\n v-lazy=\"\n radio.imageUrl\n ? useProxyImageUrl(radio.imageUrl, '270')\n : '/img/emptyradio.webp'\n \"\n width=\"270\"\n height=\"270\"\n aria-hidden=\"true\"\n alt=\"\"\n \n class=\"img-box img-box-podcast\"\n :title=\"t('Canal name image', { name: radio.name })\"\n />\n <button class=\"radio-play-button\" @click=\"playRadio\">\n <PlayIcon v-if=\"!playingRadio\" :title=\"t('Play')\" :size=\"40\" />\n <PodcastIsPlaying v-else />\n <div class=\"mx-2\">\n {{ playText }}\n </div>\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastIsPlaying = defineAsyncComponent(() => import(\"../podcasts/PodcastIsPlaying.vue\"));\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst playText = computed(() => {\n return playingRadio.value && \"PLAYING\" === playerStore.playerStatus? t(\"Pause\") : t(\"Play\");\n});\n\n\n//Methods\nfunction playRadio(): void {\n if (!props.radio) {\n return;\n }\n if (playingRadio.value) {\n playerStore.playerChangeStatus(\"PLAYING\" === playerStore.playerStatus);\n } else {\n playerStore.playerPlay({\n canalId: props.radio.id,\n url: \"https://\" + props.radio.url + \"/live.m3u8\",\n metadata: \"\",\n secured: props.radio.organisationId === authStore.authOrganisation?.id && \"SECURED\"===authStore.authOrganisation?.privacy\n });\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app .radio-play-button{\n display: flex;\n align-items: center;\n position: absolute;\n bottom: 0;\n font-size: 1rem;\n color: var(--octopus-color-on-primary);\n background-color: var(--octopus-primary-less-transparent);\n border-radius: var(--octopus-border-radius);\n padding: 0.2rem;\n border: 0;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;EAoCA,MAAM,mBAAmB,2BAA2B,OAAO,kCAAmC;EAG9F,MAAM,QAAQ;EAKd,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,qBAAqB,cAAc;EAC3C,MAAM,YAAY,aAAa;EAC/B,MAAM,cAAc,eAAe;EAGnC,MAAM,eAAe,eAAe,YAAY,eAAe,YAAY,YAAY,YAAY,MAAM,OAAO,EAAE;EAClH,MAAM,WAAW,eAAe;GAC9B,OAAO,aAAa,SAAS,cAAc,YAAY,eAAc,EAAE,OAAO,IAAI,EAAE,MAAM;EAC5F,CAAC;EAID,SAAS,YAAkB;GACzB,IAAI,CAAC,MAAM,OACT;GAEF,IAAI,aAAa,OACf,YAAY,mBAAmB,cAAc,YAAY,YAAY;QAErE,YAAY,WAAW;IACrB,SAAS,MAAM,MAAM;IACrB,KAAK,aAAa,MAAM,MAAM,MAAM;IACpC,UAAU;IACV,SAAS,MAAM,MAAM,mBAAmB,UAAU,kBAAkB,MAAM,cAAY,UAAU,kBAAkB;GACpH,CAAC;EAEL;;;;;;;;;;;;;;;;;;;;;;;mBCrEI,OAAM,gFAA+E;;mBAmB9E,OAAM,OAAM;;;qBApBrB,mBAwBM,OAxBN,YAwBM,CAAA,eArBJ,mBAaE,OAAA;EAPA,OAAM;EACN,QAAO;EACP,eAAY;EACV,KAAI;EAEN,OAAM;EACL,OAAO,OAAA,EAAC,oBAAA,EAAA,MAA6B,OAAA,MAAM,KAAI,CAAA;6CAX/B,OAAA,MAAM,WAAqB,OAAA,iBAAiB,OAAA,MAAM,UAAQ,KAAA,IAAA,sBAAA,CAAA,CAAA,GAa7E,mBAMS,UAAA;EAND,OAAM;EAAqB,SAAO,OAAA;MACvB,OAAA,gBAAA,UAAA,GAAjB,YAA+D,OAAA,aAAA;;EAA/B,OAAO,OAAA,EAAC,MAAA;EAAW,MAAM;yCACzD,YAA2B,OAAA,qBAAA,EAAA,KAAA,EAAA,CAAA,IAC3B,mBAEM,OAFN,YAEM,gBADD,OAAA,QAAQ,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioImage-CpJmuc8a.mjs","names":[],"sources":["../src/components/display/live/RadioImage.vue","../src/components/display/live/RadioImage.vue"],"sourcesContent":["<template>\n <div\n class=\"img-box img-box-podcast position-relative flex-shrink-0 mb-3 me-3 float-start\"\n >\n <img\n v-lazy=\"\n radio.imageUrl\n ? useProxyImageUrl(radio.imageUrl, '270')\n : '/img/emptyradio.webp'\n \"\n width=\"270\"\n height=\"270\"\n aria-hidden=\"true\"\n alt=\"\"\n \n class=\"img-box img-box-podcast\"\n :title=\"t('Canal name image', { name: radio.name })\"\n />\n <button class=\"radio-play-button\" @click=\"playRadio\">\n <PlayIcon v-if=\"!playingRadio\" :title=\"t('Play')\" :size=\"40\" />\n <PodcastIsPlaying v-else />\n <div class=\"mx-2\">\n {{ playText }}\n </div>\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastIsPlaying = defineAsyncComponent(() => import(\"../podcasts/PodcastIsPlaying.vue\"));\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst playText = computed(() => {\n return playingRadio.value && \"PLAYING\" === playerStore.playerStatus? t(\"Pause\") : t(\"Play\");\n});\n\n\n//Methods\nfunction playRadio(): void {\n if (!props.radio) {\n return;\n }\n if (playingRadio.value) {\n playerStore.playerChangeStatus(\"PLAYING\" === playerStore.playerStatus);\n } else {\n playerStore.playerPlay({\n canalId: props.radio.id,\n url: \"https://\" + props.radio.url + \"/live.m3u8\",\n metadata: \"\",\n secured: props.radio.organisationId === authStore.authOrganisation?.id && \"SECURED\"===authStore.authOrganisation?.privacy\n });\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app .radio-play-button{\n display: flex;\n align-items: center;\n position: absolute;\n bottom: 0;\n font-size: 1rem;\n color: var(--octopus-color-on-primary);\n background-color: var(--octopus-primary-less-transparent);\n border-radius: var(--octopus-border-radius);\n padding: 0.2rem;\n border: 0;\n}\n</style>\n","<template>\n <div\n class=\"img-box img-box-podcast position-relative flex-shrink-0 mb-3 me-3 float-start\"\n >\n <img\n v-lazy=\"\n radio.imageUrl\n ? useProxyImageUrl(radio.imageUrl, '270')\n : '/img/emptyradio.webp'\n \"\n width=\"270\"\n height=\"270\"\n aria-hidden=\"true\"\n alt=\"\"\n \n class=\"img-box img-box-podcast\"\n :title=\"t('Canal name image', { name: radio.name })\"\n />\n <button class=\"radio-play-button\" @click=\"playRadio\">\n <PlayIcon v-if=\"!playingRadio\" :title=\"t('Play')\" :size=\"40\" />\n <PodcastIsPlaying v-else />\n <div class=\"mx-2\">\n {{ playText }}\n </div>\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlayIcon from \"vue-material-design-icons/Play.vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {useImageProxy} from \"../../composable/useImageProxy\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\nconst PodcastIsPlaying = defineAsyncComponent(() => import(\"../podcasts/PodcastIsPlaying.vue\"));\n\n//Props \nconst props = defineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { useProxyImageUrl } = useImageProxy();\nconst authStore = useAuthStore();\nconst playerStore = usePlayerStore();\n\n//Computed\nconst playingRadio = computed(() => playerStore.playerRadio && playerStore.playerRadio.canalId === props.radio?.id);\nconst playText = computed(() => {\n return playingRadio.value && \"PLAYING\" === playerStore.playerStatus? t(\"Pause\") : t(\"Play\");\n});\n\n\n//Methods\nfunction playRadio(): void {\n if (!props.radio) {\n return;\n }\n if (playingRadio.value) {\n playerStore.playerChangeStatus(\"PLAYING\" === playerStore.playerStatus);\n } else {\n playerStore.playerPlay({\n canalId: props.radio.id,\n url: \"https://\" + props.radio.url + \"/live.m3u8\",\n metadata: \"\",\n secured: props.radio.organisationId === authStore.authOrganisation?.id && \"SECURED\"===authStore.authOrganisation?.privacy\n });\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app .radio-play-button{\n display: flex;\n align-items: center;\n position: absolute;\n bottom: 0;\n font-size: 1rem;\n color: var(--octopus-color-on-primary);\n background-color: var(--octopus-primary-less-transparent);\n border-radius: var(--octopus-border-radius);\n padding: 0.2rem;\n border: 0;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;EAoCA,MAAM,mBAAmB,2BAA2B,OAAO,kCAAmC;EAG9F,MAAM,QAAQ;EAKd,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,qBAAqB,cAAc;EAC3C,MAAM,YAAY,aAAa;EAC/B,MAAM,cAAc,eAAe;EAGnC,MAAM,eAAe,eAAe,YAAY,eAAe,YAAY,YAAY,YAAY,MAAM,OAAO,EAAE;EAClH,MAAM,WAAW,eAAe;GAC9B,OAAO,aAAa,SAAS,cAAc,YAAY,eAAc,EAAE,OAAO,IAAI,EAAE,MAAM;EAC5F,CAAC;EAID,SAAS,YAAkB;GACzB,IAAI,CAAC,MAAM,OACT;GAEF,IAAI,aAAa,OACf,YAAY,mBAAmB,cAAc,YAAY,YAAY;QAErE,YAAY,WAAW;IACrB,SAAS,MAAM,MAAM;IACrB,KAAK,aAAa,MAAM,MAAM,MAAM;IACpC,UAAU;IACV,SAAS,MAAM,MAAM,mBAAmB,UAAU,kBAAkB,MAAM,cAAY,UAAU,kBAAkB;GACpH,CAAC;EAEL;;;;;;;;;;;;;;;;;;;;;;;mBCrEI,OAAM,gFAA+E;;mBAmB9E,OAAM,OAAM;;;qBApBrB,mBAwBM,OAxBN,YAwBM,CAAA,eArBJ,mBAaE,OAAA;EAPA,OAAM;EACN,QAAO;EACP,eAAY;EACV,KAAI;EAEN,OAAM;EACL,OAAO,OAAA,EAAC,oBAAA,EAAA,MAA6B,OAAA,MAAM,KAAI,CAAA;6CAX/B,OAAA,MAAM,WAAqB,OAAA,iBAAiB,OAAA,MAAM,UAAQ,KAAA,IAAA,sBAAA,CAAA,CAAA,GAa7E,mBAMS,UAAA;EAND,OAAM;EAAqB,SAAO,OAAA;MACvB,OAAA,gBAAA,UAAA,GAAjB,YAA+D,OAAA,aAAA;;EAA/B,OAAO,OAAA,EAAC,MAAA;EAAW,MAAM;yCACzD,YAA2B,OAAA,qBAAA,EAAA,KAAA,EAAA,CAAA,IAC3B,mBAEM,OAFN,YAEM,gBADD,OAAA,QAAQ,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { r as useFilterStore, t as classicApi_default } from "./classicApi-CkDHWZG1.mjs";
3
- import { t as useErrorHandler } from "./useErrorHandler-DtLjD9t_.mjs";
4
- import { t as RadioCurrently_default } from "./RadioCurrently-D5M81oIX.mjs";
5
- import { t as RadioImage_default } from "./RadioImage-CUTRr3DL.mjs";
2
+ import { r as useFilterStore, t as classicApi_default } from "./classicApi-xjOqAovv.mjs";
3
+ import { t as useErrorHandler } from "./useErrorHandler-D3XVxUh6.mjs";
4
+ import { t as RadioCurrently_default } from "./RadioCurrently-DWySwV64.mjs";
5
+ import { t as RadioImage_default } from "./RadioImage-BIe2KpG_.mjs";
6
6
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, ref, renderList, resolveComponent, toDisplayString, watch, withCtx } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  //#region src/components/display/live/RadioItem.vue?vue&type=script&setup=true&lang.ts
@@ -122,4 +122,4 @@ var RadioList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RadioLis
122
122
  //#endregion
123
123
  export { RadioList_default as default };
124
124
 
125
- //# sourceMappingURL=RadioList-CwzOFHc1.mjs.map
125
+ //# sourceMappingURL=RadioList-B23gsiEF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioList-B23gsiEF.mjs","names":[],"sources":["../src/components/display/live/RadioItem.vue","../src/components/display/live/RadioItem.vue","../src/components/display/live/RadioList.vue","../src/components/display/live/RadioList.vue"],"sourcesContent":["<template>\n <div v-if=\"radio\" class=\"d-flex border w-100 p-3\">\n <RadioImage :radio=\"radio\" />\n <router-link\n :to=\"{\n name: 'radio',\n params: { canalId: radio.id },\n }\"\n class=\"text-dark classic-element-text\"\n :title=\"t('Radio name page', { name: radio.name })\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ radio.name }}\n </div>\n <div v-if=\"radio.description\" class=\"basic-line-clamp ten-line\">\n {{ radio.description }}\n </div>\n <RadioCurrently :radio=\"radio\" />\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioImage from \"./RadioImage.vue\";\nimport RadioCurrently from \"./RadioCurrently.vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\n</script>\n","<template>\n <div v-if=\"radio\" class=\"d-flex border w-100 p-3\">\n <RadioImage :radio=\"radio\" />\n <router-link\n :to=\"{\n name: 'radio',\n params: { canalId: radio.id },\n }\"\n class=\"text-dark classic-element-text\"\n :title=\"t('Radio name page', { name: radio.name })\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ radio.name }}\n </div>\n <div v-if=\"radio.description\" class=\"basic-line-clamp ten-line\">\n {{ radio.description }}\n </div>\n <RadioCurrently :radio=\"radio\" />\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioImage from \"./RadioImage.vue\";\nimport RadioCurrently from \"./RadioCurrently.vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\n</script>\n","<template>\n <section\n v-if=\"(filterStore.filterOrgaId || organisationId) && radio.length\"\n class=\"d-flex flex-column align-items-start mt-3\"\n >\n <h2 class=\"mb-0 mb-3\">\n {{ t(\"Radio\") }}\n </h2>\n <template v-if=\"radio.length\">\n <RadioItem\n v-for=\"radioItem in radio\"\n :key=\"radioItem.id\"\n :radio=\"radioItem\"\n />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioItem from \"./RadioItem.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n})\n\n//Data \nconst radio: Ref<Array<Canal>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst filterOrgaUsed = computed(() => filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId);\n\n//Watch\nwatch(filterOrgaUsed, () =>fetchContent(), {immediate: true});\n\n//Methods\nasync function fetchContent(): Promise<void> {\n radio.value.length = 0;\n if (!filterOrgaUsed.value) {\n return;\n }\n try {\n radio.value = await classicApi.fetchData<Array<Canal>>({\n api: 14,\n path: \"canal/orga/\" + filterOrgaUsed.value + \"/\",\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\n</script>\n","<template>\n <section\n v-if=\"(filterStore.filterOrgaId || organisationId) && radio.length\"\n class=\"d-flex flex-column align-items-start mt-3\"\n >\n <h2 class=\"mb-0 mb-3\">\n {{ t(\"Radio\") }}\n </h2>\n <template v-if=\"radio.length\">\n <RadioItem\n v-for=\"radioItem in radio\"\n :key=\"radioItem.id\"\n :radio=\"radioItem\"\n />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioItem from \"./RadioItem.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n})\n\n//Data \nconst radio: Ref<Array<Canal>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst filterOrgaUsed = computed(() => filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId);\n\n//Watch\nwatch(filterOrgaUsed, () =>fetchContent(), {immediate: true});\n\n//Methods\nasync function fetchContent(): Promise<void> {\n radio.value.length = 0;\n if (!filterOrgaUsed.value) {\n return;\n }\n try {\n radio.value = await classicApi.fetchData<Array<Canal>>({\n api: 14,\n path: \"canal/orga/\" + filterOrgaUsed.value + \"/\",\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;EAkCA,MAAM,EAAE,MAAM,QAAQ;;;;;;;;;;;;;;;;;CCjCF,OAAM;;qBAUf,OAAM,qCAAoC;;;CAGjB,OAAM;;;;QAb7B,OAAA,SAAA,UAAA,GAAX,mBAkBM,OAlBN,cAkBM,CAjBJ,YAA6B,OAAA,eAAA,EAAhB,OAAO,OAAA,MAAK,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA,GACzB,YAec,wBAAA;EAdX,IAAE;;sBAAsD,OAAA,MAAM,GAAE;;EAIjE,OAAM;EACL,OAAO,OAAA,EAAC,mBAAA,EAAA,MAA4B,OAAA,MAAM,KAAI,CAAA;;yBAIzC;GAFN,mBAEM,OAFN,cAEM,gBADD,OAAA,MAAM,IAAI,GAAA,CAAA;GAEJ,OAAA,MAAM,eAAA,UAAA,GAAjB,mBAEM,OAFN,YAEM,gBADD,OAAA,MAAM,WAAW,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA;GAEtB,YAAiC,OAAA,mBAAA,EAAhB,OAAO,OAAA,MAAK,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;ECanC,MAAM,QAAQ;EAKd,MAAM,QAA2B,IAAI,CAAC,CAAC;EAGvC,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAC,cAAa,gBAAgB;EACpC,MAAM,cAAc,eAAe;EAGnC,MAAM,iBAAiB,eAAe,YAAY,eAAe,YAAY,eAAe,MAAM,cAAc;EAGhH,MAAM,sBAAqB,aAAa,GAAG,EAAC,WAAW,KAAI,CAAC;EAG5D,eAAe,eAA8B;GAC3C,MAAM,MAAM,SAAS;GACrB,IAAI,CAAC,eAAe,OAClB;GAEF,IAAI;IACF,MAAM,QAAQ,MAAM,mBAAW,UAAwB;KACrD,KAAK;KACL,MAAM,gBAAgB,eAAe,QAAQ;IAC/C,CAAC;GACH,SAAS,OAAO;IACd,UAAU,KAAmB;GAC/B;EACF;;;;;;;;;;;;;;;;;;;;;;CC3DI,OAAM;;mBAEF,OAAM,YAAW;;SAHd,OAAA,YAAY,gBAAgB,OAAA,mBAAmB,OAAA,MAAM,UAAA,UAAA,GAD9D,mBAcU,WAdV,YAcU,CAVR,mBAEK,MAFL,YAEK,gBADA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,GAEU,OAAA,MAAM,UAAA,UAAA,IAAA,GACpB,mBAIE,UAAA,EAAA,KAAA,EAAA,GAAA,WAHoB,OAAA,QAAb,cAAS;sBADlB,YAIE,OAAA,cAAA;GAFC,KAAK,UAAU;GACf,OAAO"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioList-BwzgNcMO.mjs","names":[],"sources":["../src/components/display/live/RadioItem.vue","../src/components/display/live/RadioItem.vue","../src/components/display/live/RadioList.vue","../src/components/display/live/RadioList.vue"],"sourcesContent":["<template>\n <div v-if=\"radio\" class=\"d-flex border w-100 p-3\">\n <RadioImage :radio=\"radio\" />\n <router-link\n :to=\"{\n name: 'radio',\n params: { canalId: radio.id },\n }\"\n class=\"text-dark classic-element-text\"\n :title=\"t('Radio name page', { name: radio.name })\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ radio.name }}\n </div>\n <div v-if=\"radio.description\" class=\"basic-line-clamp ten-line\">\n {{ radio.description }}\n </div>\n <RadioCurrently :radio=\"radio\" />\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioImage from \"./RadioImage.vue\";\nimport RadioCurrently from \"./RadioCurrently.vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\n</script>\n","<template>\n <div v-if=\"radio\" class=\"d-flex border w-100 p-3\">\n <RadioImage :radio=\"radio\" />\n <router-link\n :to=\"{\n name: 'radio',\n params: { canalId: radio.id },\n }\"\n class=\"text-dark classic-element-text\"\n :title=\"t('Radio name page', { name: radio.name })\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ radio.name }}\n </div>\n <div v-if=\"radio.description\" class=\"basic-line-clamp ten-line\">\n {{ radio.description }}\n </div>\n <RadioCurrently :radio=\"radio\" />\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioImage from \"./RadioImage.vue\";\nimport RadioCurrently from \"./RadioCurrently.vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\n</script>\n","<template>\n <section\n v-if=\"(filterStore.filterOrgaId || organisationId) && radio.length\"\n class=\"d-flex flex-column align-items-start mt-3\"\n >\n <h2 class=\"mb-0 mb-3\">\n {{ t(\"Radio\") }}\n </h2>\n <template v-if=\"radio.length\">\n <RadioItem\n v-for=\"radioItem in radio\"\n :key=\"radioItem.id\"\n :radio=\"radioItem\"\n />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioItem from \"./RadioItem.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n})\n\n//Data \nconst radio: Ref<Array<Canal>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst filterOrgaUsed = computed(() => filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId);\n\n//Watch\nwatch(filterOrgaUsed, () =>fetchContent(), {immediate: true});\n\n//Methods\nasync function fetchContent(): Promise<void> {\n radio.value.length = 0;\n if (!filterOrgaUsed.value) {\n return;\n }\n try {\n radio.value = await classicApi.fetchData<Array<Canal>>({\n api: 14,\n path: \"canal/orga/\" + filterOrgaUsed.value + \"/\",\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\n</script>\n","<template>\n <section\n v-if=\"(filterStore.filterOrgaId || organisationId) && radio.length\"\n class=\"d-flex flex-column align-items-start mt-3\"\n >\n <h2 class=\"mb-0 mb-3\">\n {{ t(\"Radio\") }}\n </h2>\n <template v-if=\"radio.length\">\n <RadioItem\n v-for=\"radioItem in radio\"\n :key=\"radioItem.id\"\n :radio=\"radioItem\"\n />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioItem from \"./RadioItem.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n})\n\n//Data \nconst radio: Ref<Array<Canal>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst filterOrgaUsed = computed(() => filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId);\n\n//Watch\nwatch(filterOrgaUsed, () =>fetchContent(), {immediate: true});\n\n//Methods\nasync function fetchContent(): Promise<void> {\n radio.value.length = 0;\n if (!filterOrgaUsed.value) {\n return;\n }\n try {\n radio.value = await classicApi.fetchData<Array<Canal>>({\n api: 14,\n path: \"canal/orga/\" + filterOrgaUsed.value + \"/\",\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;EAkCA,MAAM,EAAE,MAAM,QAAQ;;;;;;;;;;;;;;;;;CCjCF,OAAM;;qBAUf,OAAM,qCAAoC;;;CAGjB,OAAM;;;;QAb7B,OAAA,SAAA,UAAA,GAAX,mBAkBM,OAlBN,cAkBM,CAjBJ,YAA6B,OAAA,eAAA,EAAhB,OAAO,OAAA,MAAK,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA,GACzB,YAec,wBAAA;EAdX,IAAE;;sBAAsD,OAAA,MAAM,GAAE;;EAIjE,OAAM;EACL,OAAO,OAAA,EAAC,mBAAA,EAAA,MAA4B,OAAA,MAAM,KAAI,CAAA;;yBAIzC;GAFN,mBAEM,OAFN,cAEM,gBADD,OAAA,MAAM,IAAI,GAAA,CAAA;GAEJ,OAAA,MAAM,eAAA,UAAA,GAAjB,mBAEM,OAFN,YAEM,gBADD,OAAA,MAAM,WAAW,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA;GAEtB,YAAiC,OAAA,mBAAA,EAAhB,OAAO,OAAA,MAAK,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;ECanC,MAAM,QAAQ;EAKd,MAAM,QAA2B,IAAI,CAAC,CAAC;EAGvC,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAC,cAAa,gBAAgB;EACpC,MAAM,cAAc,eAAe;EAGnC,MAAM,iBAAiB,eAAe,YAAY,eAAe,YAAY,eAAe,MAAM,cAAc;EAGhH,MAAM,sBAAqB,aAAa,GAAG,EAAC,WAAW,KAAI,CAAC;EAG5D,eAAe,eAA8B;GAC3C,MAAM,MAAM,SAAS;GACrB,IAAI,CAAC,eAAe,OAClB;GAEF,IAAI;IACF,MAAM,QAAQ,MAAM,mBAAW,UAAwB;KACrD,KAAK;KACL,MAAM,gBAAgB,eAAe,QAAQ;IAC/C,CAAC;GACH,SAAS,OAAO;IACd,UAAU,KAAmB;GAC/B;EACF;;;;;;;;;;;;;;;;;;;;;;CC3DI,OAAM;;mBAEF,OAAM,YAAW;;SAHd,OAAA,YAAY,gBAAgB,OAAA,mBAAmB,OAAA,MAAM,UAAA,UAAA,GAD9D,mBAcU,WAdV,YAcU,CAVR,mBAEK,MAFL,YAEK,gBADA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,GAEU,OAAA,MAAM,UAAA,UAAA,IAAA,GACpB,mBAIE,UAAA,EAAA,KAAA,EAAA,GAAA,WAHoB,OAAA,QAAb,cAAS;sBADlB,YAIE,OAAA,cAAA;GAFC,KAAK,UAAU;GACf,OAAO"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioList-KvAacjmD.mjs","names":[],"sources":["../src/components/display/live/RadioItem.vue","../src/components/display/live/RadioItem.vue","../src/components/display/live/RadioList.vue","../src/components/display/live/RadioList.vue"],"sourcesContent":["<template>\n <div v-if=\"radio\" class=\"d-flex border w-100 p-3\">\n <RadioImage :radio=\"radio\" />\n <router-link\n :to=\"{\n name: 'radio',\n params: { canalId: radio.id },\n }\"\n class=\"text-dark classic-element-text\"\n :title=\"t('Radio name page', { name: radio.name })\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ radio.name }}\n </div>\n <div v-if=\"radio.description\" class=\"basic-line-clamp ten-line\">\n {{ radio.description }}\n </div>\n <RadioCurrently :radio=\"radio\" />\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioImage from \"./RadioImage.vue\";\nimport RadioCurrently from \"./RadioCurrently.vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\n</script>\n","<template>\n <div v-if=\"radio\" class=\"d-flex border w-100 p-3\">\n <RadioImage :radio=\"radio\" />\n <router-link\n :to=\"{\n name: 'radio',\n params: { canalId: radio.id },\n }\"\n class=\"text-dark classic-element-text\"\n :title=\"t('Radio name page', { name: radio.name })\"\n >\n <div class=\"element-name mb-2 basic-line-clamp\">\n {{ radio.name }}\n </div>\n <div v-if=\"radio.description\" class=\"basic-line-clamp ten-line\">\n {{ radio.description }}\n </div>\n <RadioCurrently :radio=\"radio\" />\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioImage from \"./RadioImage.vue\";\nimport RadioCurrently from \"./RadioCurrently.vue\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n radio: { default: undefined, type: Object as () => Canal },\n})\n\n//Composables\nconst { t } = useI18n();\n</script>\n","<template>\n <section\n v-if=\"(filterStore.filterOrgaId || organisationId) && radio.length\"\n class=\"d-flex flex-column align-items-start mt-3\"\n >\n <h2 class=\"mb-0 mb-3\">\n {{ t(\"Radio\") }}\n </h2>\n <template v-if=\"radio.length\">\n <RadioItem\n v-for=\"radioItem in radio\"\n :key=\"radioItem.id\"\n :radio=\"radioItem\"\n />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioItem from \"./RadioItem.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n})\n\n//Data \nconst radio: Ref<Array<Canal>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst filterOrgaUsed = computed(() => filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId);\n\n//Watch\nwatch(filterOrgaUsed, () =>fetchContent(), {immediate: true});\n\n//Methods\nasync function fetchContent(): Promise<void> {\n radio.value.length = 0;\n if (!filterOrgaUsed.value) {\n return;\n }\n try {\n radio.value = await classicApi.fetchData<Array<Canal>>({\n api: 14,\n path: \"canal/orga/\" + filterOrgaUsed.value + \"/\",\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\n</script>\n","<template>\n <section\n v-if=\"(filterStore.filterOrgaId || organisationId) && radio.length\"\n class=\"d-flex flex-column align-items-start mt-3\"\n >\n <h2 class=\"mb-0 mb-3\">\n {{ t(\"Radio\") }}\n </h2>\n <template v-if=\"radio.length\">\n <RadioItem\n v-for=\"radioItem in radio\"\n :key=\"radioItem.id\"\n :radio=\"radioItem\"\n />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RadioItem from \"./RadioItem.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n})\n\n//Data \nconst radio: Ref<Array<Canal>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst filterOrgaUsed = computed(() => filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId);\n\n//Watch\nwatch(filterOrgaUsed, () =>fetchContent(), {immediate: true});\n\n//Methods\nasync function fetchContent(): Promise<void> {\n radio.value.length = 0;\n if (!filterOrgaUsed.value) {\n return;\n }\n try {\n radio.value = await classicApi.fetchData<Array<Canal>>({\n api: 14,\n path: \"canal/orga/\" + filterOrgaUsed.value + \"/\",\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;EAkCA,MAAM,EAAE,MAAM,QAAQ;;;;;;;;;;;;;;;;;CCjCF,OAAM;;qBAUf,OAAM,qCAAoC;;;CAGjB,OAAM;;;;QAb7B,OAAA,SAAA,UAAA,GAAX,mBAkBM,OAlBN,cAkBM,CAjBJ,YAA6B,OAAA,eAAA,EAAhB,OAAO,OAAA,MAAK,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA,GACzB,YAec,wBAAA;EAdX,IAAE;;sBAAsD,OAAA,MAAM,GAAE;;EAIjE,OAAM;EACL,OAAO,OAAA,EAAC,mBAAA,EAAA,MAA4B,OAAA,MAAM,KAAI,CAAA;;yBAIzC;GAFN,mBAEM,OAFN,cAEM,gBADD,OAAA,MAAM,IAAI,GAAA,CAAA;GAEJ,OAAA,MAAM,eAAA,UAAA,GAAjB,mBAEM,OAFN,YAEM,gBADD,OAAA,MAAM,WAAW,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA;GAEtB,YAAiC,OAAA,mBAAA,EAAhB,OAAO,OAAA,MAAK,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;ECanC,MAAM,QAAQ;EAKd,MAAM,QAA2B,IAAI,CAAC,CAAC;EAGvC,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAC,cAAa,gBAAgB;EACpC,MAAM,cAAc,eAAe;EAGnC,MAAM,iBAAiB,eAAe,YAAY,eAAe,YAAY,eAAe,MAAM,cAAc;EAGhH,MAAM,sBAAqB,aAAa,GAAG,EAAC,WAAW,KAAI,CAAC;EAG5D,eAAe,eAA8B;GAC3C,MAAM,MAAM,SAAS;GACrB,IAAI,CAAC,eAAe,OAClB;GAEF,IAAI;IACF,MAAM,QAAQ,MAAM,mBAAW,UAAwB;KACrD,KAAK;KACL,MAAM,gBAAgB,eAAe,QAAQ;IAC/C,CAAC;GACH,SAAS,OAAO;IACd,UAAU,KAAmB;GAC/B;EACF;;;;;;;;;;;;;;;;;;;;;;CC3DI,OAAM;;mBAEF,OAAM,YAAW;;SAHd,OAAA,YAAY,gBAAgB,OAAA,mBAAmB,OAAA,MAAM,UAAA,UAAA,GAD9D,mBAcU,WAdV,YAcU,CAVR,mBAEK,MAFL,YAEK,gBADA,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,GAEU,OAAA,MAAM,UAAA,UAAA,IAAA,GACpB,mBAIE,UAAA,EAAA,KAAA,EAAA,GAAA,WAHoB,OAAA,QAAb,cAAS;sBADlB,YAIE,OAAA,cAAA;GAFC,KAAK,UAAU;GACf,OAAO"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioPage-CM_4A1AQ.mjs","names":[],"sources":["../src/components/pages/RadioPage.vue","../src/components/pages/RadioPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && radio\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"t('Radio')\"\n :img-url=\"radio.imageUrl\"\n />\n <div\n v-if=\"radio\"\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <div class=\"mb-5 description-text\">\n <RadioImage :radio=\"radio\" />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ radio.name }}</h2>\n <ShareAnonymous class=\"d-flex justify-content-end flex-grow-1\" :organisation-id=\"radio.organisationId\"/>\n </div>\n <div v-if=\"radio.description\">\n {{ radio.description }}\n </div>\n </div>\n <RadioCurrently :radio=\"radio\" />\n <slot v-if=\"editRight\" name=\"edit-box-radio\" :radio=\"radio\" />\n </section>\n <ShareSocialsButtons :organisation-id=\"radio.organisationId\" />\n <RadioPlanning :radio=\"radio\" />\n <SharePlayerRadio\n v-if=\"editRight\"\n :canal=\"radio\"\n :organisation-id=\"authOrgaId\"\n />\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 { useGeneralStore } from \"../../stores/GeneralStore\";\nimport classicApi from \"../../api/classicApi\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\nconst SharePlayerRadio = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayerRadio.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst RadioCurrently = defineAsyncComponent(\n () => import(\"../display/live/RadioCurrently.vue\"),\n);\nconst RadioImage = defineAsyncComponent(\n () => import(\"../display/live/RadioImage.vue\"),\n);\nconst RadioPlanning = defineAsyncComponent(\n () => import(\"../display/live/RadioPlanning.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n \n//Props \nconst props = defineProps({\n canalId: { default: undefined, type: Number },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst radio: Ref<Canal|undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst generalStore = useGeneralStore();\n\n\n//Computed\nconst editRight = computed(() =>isEditRights(radio.value?.organisationId, authStore.isRoleRadio));\n\n\n//Watch\nwatch(()=>props.canalId, () => {getRadioDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nasync function getRadioDetails(): Promise<void> {\n loaded.value = false;\n loaded.value = false;\n try {\n radio.value = await classicApi.fetchData<Canal>({\n api: 14,\n path: \"canal/\" + props.canalId,\n });\n generalStore.contentToDisplayUpdate(radio.value);\n updatePathParams(radio.value.name);\n } catch (error) {\n handle403(error as AxiosError);\n loaded.value = true;\n }\n loaded.value = true;\n}\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"loaded && !error && radio\">\n <PodcastmakerHeader\n v-if=\"isPodcastmaker\"\n :page-title=\"t('Radio')\"\n :img-url=\"radio.imageUrl\"\n />\n <div\n v-if=\"radio\"\n class=\"d-flex flex-column page-element\"\n :class=\"isPodcastmaker ? 'page-element-podcastmaker' : ''\"\n >\n <section class=\"module-box\">\n <div class=\"mb-5 description-text\">\n <RadioImage :radio=\"radio\" />\n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{ radio.name }}</h2>\n <ShareAnonymous class=\"d-flex justify-content-end flex-grow-1\" :organisation-id=\"radio.organisationId\"/>\n </div>\n <div v-if=\"radio.description\">\n {{ radio.description }}\n </div>\n </div>\n <RadioCurrently :radio=\"radio\" />\n <slot v-if=\"editRight\" name=\"edit-box-radio\" :radio=\"radio\" />\n </section>\n <ShareSocialsButtons :organisation-id=\"radio.organisationId\" />\n <RadioPlanning :radio=\"radio\" />\n <SharePlayerRadio\n v-if=\"editRight\"\n :canal=\"radio\"\n :organisation-id=\"authOrgaId\"\n />\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 { useGeneralStore } from \"../../stores/GeneralStore\";\nimport classicApi from \"../../api/classicApi\";\nimport {useSeoTitleUrl} from \"../composable/route/useSeoTitleUrl\";\nimport {useOrgaComputed} from \"../composable/useOrgaComputed\";\nimport {useErrorHandler} from \"../composable/useErrorHandler\";\nimport ClassicLoading from \"../form/ClassicLoading.vue\";\nimport { defineAsyncComponent, ref, Ref, computed, watch, onBeforeUnmount } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { Canal } from \"@/stores/class/radio/canal\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { useI18n } from \"vue-i18n\";\nconst SharePlayerRadio = defineAsyncComponent(\n () => import(\"../display/sharing/SharePlayerRadio.vue\"),\n);\nconst ShareSocialsButtons = defineAsyncComponent(\n () => import(\"../display/sharing/ShareSocialsButtons.vue\"),\n);\nconst RadioCurrently = defineAsyncComponent(\n () => import(\"../display/live/RadioCurrently.vue\"),\n);\nconst RadioImage = defineAsyncComponent(\n () => import(\"../display/live/RadioImage.vue\"),\n);\nconst RadioPlanning = defineAsyncComponent(\n () => import(\"../display/live/RadioPlanning.vue\"),\n);\nconst PodcastmakerHeader = defineAsyncComponent(\n () => import(\"../display/podcastmaker/PodcastmakerHeader.vue\"),\n);\nconst ShareAnonymous = defineAsyncComponent(() => import(\"../display/sharing/ShareAnonymous.vue\"));\n \n//Props \nconst props = defineProps({\n canalId: { default: undefined, type: Number },\n});\n\n\n//Data \nconst loaded = ref(false);\nconst error = ref(false);\nconst radio: Ref<Canal|undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights, authOrgaId } = useOrgaComputed();\nconst { updatePathParams } = useSeoTitleUrl();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst generalStore = useGeneralStore();\n\n\n//Computed\nconst editRight = computed(() =>isEditRights(radio.value?.organisationId, authStore.isRoleRadio));\n\n\n//Watch\nwatch(()=>props.canalId, () => {getRadioDetails()}, {immediate: true});\n\n\nonBeforeUnmount(() => {\n generalStore.contentToDisplayUpdate(null);\n});\n\n\n//Methods\nasync function getRadioDetails(): Promise<void> {\n loaded.value = false;\n loaded.value = false;\n try {\n radio.value = await classicApi.fetchData<Canal>({\n api: 14,\n path: \"canal/\" + props.canalId,\n });\n generalStore.contentToDisplayUpdate(radio.value);\n updatePathParams(radio.value.name);\n } catch (error) {\n handle403(error as AxiosError);\n loaded.value = true;\n }\n loaded.value = true;\n}\n</script>\n"],"mappings":"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"}