@saooti/octopus-sdk 42.3.0 → 42.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AdvancedSearch-DEh3iiuK.mjs → AdvancedSearch-BTbYmlMm.mjs} +8 -8
- package/dist/AdvancedSearch-C6BJzvGT.mjs.map +1 -0
- package/dist/AdvancedSearch-ChnJq71j.mjs.map +1 -0
- package/dist/AdvancedSearch-ChtUj3vS.mjs.map +1 -0
- package/dist/AdvancedSearch-D-9o5KzI.mjs.map +1 -0
- package/dist/AdvancedSearch-DH5YTENK.mjs.map +1 -0
- package/dist/AdvancedSearch-DN3WFduh.mjs.map +1 -0
- package/dist/AdvancedSearch-EpYd6K3d.mjs.map +1 -0
- package/dist/AdvancedSearch-PRJyRSID.mjs.map +1 -0
- package/dist/AdvancedSearch-_E2nwQ-A.mjs.map +1 -0
- package/dist/AdvancedSearch-cLjakm-6.mjs.map +1 -0
- package/dist/AdvancedSearch-k-fQfSBk.mjs.map +1 -0
- package/dist/AdvancedSearch-zFJq-WlO.mjs.map +1 -0
- package/dist/CategoryChooser-CSUjIA0D.mjs.map +1 -0
- package/dist/{CategoryChooser-CeF4n-nw.mjs → CategoryChooser-fAUMJNHu.mjs} +1 -1
- package/dist/CategoryFilter-B0S_nCvS.mjs.map +1 -0
- package/dist/CategoryFilter-BVrLO_pV.mjs.map +1 -0
- package/dist/{CategoryFilter-Djmal5bY.mjs → CategoryFilter-CsYCvEnz.mjs} +3 -3
- package/dist/CategoryFilter-DVwCpHLx.mjs.map +1 -0
- package/dist/CategoryList-B_9GG6Z9.mjs.map +1 -0
- package/dist/{CategoryList-Dksp79Lm.mjs → CategoryList-CDoIfrDw.mjs} +2 -2
- package/dist/CategoryList-CUae_phb.mjs.map +1 -0
- package/dist/CategoryList-DxR0fpKd.mjs.map +1 -0
- package/dist/CategoryPage-C7aKDtgs.mjs.map +1 -0
- package/dist/{CategoryPage-DC8fMny_.mjs → CategoryPage-Cl5Yuxnu.mjs} +2 -2
- package/dist/CategoryPage-DlnAp05t.mjs.map +1 -0
- package/dist/CategoryPage-Dlq5XQBS.mjs.map +1 -0
- package/dist/{CategorySearchFilter-KVYBscdd.mjs → CategorySearchFilter-Cce5zxZB.mjs} +1 -1
- package/dist/CategorySearchFilter-EULpSE2e.mjs.map +1 -0
- package/dist/ChapteringModal-BplEGZj2.mjs.map +1 -0
- package/dist/ChapteringModal-C9yuW_IU.mjs.map +1 -0
- package/dist/{ChapteringModal-Be9FF1yz.mjs → ChapteringModal-DiiVSG7s.mjs} +1 -1
- package/dist/{CheckIdentityModal-nMszYOsW.mjs → CheckIdentityModal-BrnYeGdk.mjs} +3 -3
- package/dist/CheckIdentityModal-BtGdsv2v.mjs.map +1 -0
- package/dist/CheckIdentityModal-CpRO7ehH.mjs.map +1 -0
- package/dist/CheckIdentityModal-Cry9ra4J.mjs.map +1 -0
- package/dist/ClassicDatePicker--q1yYb-S.mjs.map +1 -0
- package/dist/ClassicDatePicker-4ouU5ov9.mjs.map +1 -0
- package/dist/ClassicDatePicker-B8bI9QfF.mjs.map +1 -0
- package/dist/ClassicDatePicker-BTJWityQ.mjs +186 -0
- package/dist/ClassicDatePicker-CChR9LBd.mjs.map +1 -0
- package/dist/ClassicDatePicker-CopJVkF0.mjs.map +1 -0
- package/dist/ClassicDatePicker-DgcJCevR.mjs.map +1 -0
- package/dist/ClassicDatePicker-NxGNQxHE.mjs.map +1 -0
- package/dist/ClassicDatePicker-dgdGXcRk.mjs.map +1 -0
- package/dist/{ClassicEmojiPicker-B4TAlZvo.mjs → ClassicEmojiPicker-C0gm-DA2.mjs} +1 -1
- package/dist/ClassicEmojiPicker-CJZD8H7L.mjs.map +1 -0
- package/dist/{ClassicHelpButton-DT7T8tMe.mjs → ClassicHelpButton-BnRLmYuh.mjs} +1 -1
- package/dist/ClassicHelpButton-Qb4AwvWI.mjs.map +1 -0
- package/dist/{ClassicInputText-DJ5kURGM.mjs → ClassicInputText-YsntJkHk.mjs} +1 -1
- package/dist/ClassicInputText-npkVSUoH.mjs.map +1 -0
- package/dist/ClassicMultiselect-2I2K-o4R.mjs.map +1 -0
- package/dist/{ClassicMultiselect-CDHdJjjV.mjs → ClassicMultiselect-C0yzVQ8Y.mjs} +1 -1
- package/dist/{ClassicNotifications-DEpVRRHg.mjs → ClassicNotifications-8CVfGSqL.mjs} +1 -1
- package/dist/ClassicNotifications-BFQ-R6kO.mjs.map +1 -0
- package/dist/ClassicNotifications-DR0PM1Xp.mjs.map +1 -0
- package/dist/{ClassicPopover-DWR50Nxi.mjs → ClassicPopover-BUb-1WMB.mjs} +1 -1
- package/dist/ClassicPopover-BhMY2SMo.mjs.map +1 -0
- package/dist/ClipboardModal-B_SZ6jDk.mjs.map +1 -0
- package/dist/{ClipboardModal-BUKwZYOf.mjs → ClipboardModal-ByVXPcKD.mjs} +1 -1
- package/dist/ClipboardModal-DjrZQRtY.mjs.map +1 -0
- package/dist/{CommentInput-US8ZtNj1.mjs → CommentInput-CrRstzua.mjs} +4 -4
- package/dist/CommentInput-DPMj47uE.mjs.map +1 -0
- package/dist/CommentInput-DbhOyi7c.mjs.map +1 -0
- package/dist/CommentInput-I97yysBW.mjs.map +1 -0
- package/dist/CommentItem-AItzrTBi.mjs.map +1 -0
- package/dist/CommentItem-B7vvJwZI.mjs.map +1 -0
- package/dist/{CommentItem-CqWZPmbj.mjs → CommentItem-BYU67TIu.mjs} +4 -4
- package/dist/CommentItem-CvNbH7Hf.mjs.map +1 -0
- package/dist/CommentList-BTyyCcX4.mjs.map +1 -0
- package/dist/CommentList-CWrf45Di.mjs.map +1 -0
- package/dist/CommentList-DP6wk4PD.mjs.map +1 -0
- package/dist/{CommentList-CSYpqgNM.mjs → CommentList-snIIudVC.mjs} +2 -2
- package/dist/CommentMoreActions-BNajG7wk.mjs.map +1 -0
- package/dist/CommentMoreActions-C1l4Y_HY.mjs.map +1 -0
- package/dist/CommentMoreActions-DPbJnEEV.mjs.map +1 -0
- package/dist/{CommentMoreActions-T5RN6BGq.mjs → CommentMoreActions-y202UxL5.mjs} +3 -3
- package/dist/{CommentName-DslRo9jg.mjs → CommentName-CHBlEM7I.mjs} +3 -3
- package/dist/CommentName-D5HN8bGE.mjs.map +1 -0
- package/dist/CommentName-DMom_kwo.mjs.map +1 -0
- package/dist/CommentName-OJrxjSxu.mjs.map +1 -0
- package/dist/CommentParentInfo-DWVF5Ewh.mjs.map +1 -0
- package/dist/CommentParentInfo-Do3IlO95.mjs.map +1 -0
- package/dist/{CommentParentInfo-DMX3nkCb.mjs → CommentParentInfo-DoEeaQGU.mjs} +2 -2
- package/dist/CommentParentInfo-DqHfDpKs.mjs.map +1 -0
- package/dist/{CommentPlayer-D3JEVPKX.mjs → CommentPlayer-B4MXG-gG.mjs} +2 -2
- package/dist/CommentPlayer-B67saxPf.mjs.map +1 -0
- package/dist/CommentPlayer-BUtEvkoV.mjs.map +1 -0
- package/dist/CommentSection-BIZMRePu.mjs.map +1 -0
- package/dist/CommentSection-CSehg6MD.mjs.map +1 -0
- package/dist/{CommentSection-Brn0VQcc.mjs → CommentSection-DZf04NxT.mjs} +3 -3
- package/dist/CommentSection-MDKioQWf.mjs.map +1 -0
- package/dist/CommentStore-BBm8MjxW.mjs.map +1 -0
- package/dist/{CommentStore-hPTYaDGr.mjs → CommentStore-CysGkBHp.mjs} +8 -8
- package/dist/CommentStore-F5MVSrDw.mjs.map +1 -0
- package/dist/ContractPreviewModal-CFSkXgB4.mjs.map +1 -0
- package/dist/ContractPreviewModal-CKL6Rb_V.mjs.map +1 -0
- package/dist/{ContractPreviewModal-48Je4Wuy.mjs → ContractPreviewModal-Dd-1KasR.mjs} +2 -2
- package/dist/DateFilter-BwYSwGc-.mjs.map +1 -0
- package/dist/DateFilter-CGTz76bp.mjs.map +1 -0
- package/dist/DateFilter-CfeYepTO.mjs.map +1 -0
- package/dist/{DateFilter-DztHuPm8.mjs → DateFilter-Cnb_S8Up.mjs} +1 -1
- package/dist/DateFilter-DFw66D2V.mjs.map +1 -0
- package/dist/DateFilter-DMOUMeCh.mjs.map +1 -0
- package/dist/DateFilter-DdbvVu9Q.mjs.map +1 -0
- package/dist/DateFilter-Dr1nRuvZ.mjs.map +1 -0
- package/dist/DateFilter-QGaXHkcu.mjs.map +1 -0
- package/dist/{DownloadPodcastButton-BYWuLoNg.mjs → DownloadPodcastButton-6HtR84aE.mjs} +2 -2
- package/dist/DownloadPodcastButton-D2qeKDPT.mjs.map +1 -0
- package/dist/DownloadPodcastButton-Tr_Y4qMu.mjs.map +1 -0
- package/dist/{EditCommentModal-DacFxzLx.mjs → EditCommentModal-BQ03B6LC.mjs} +2 -2
- package/dist/EditCommentModal-BZitN0Ir.mjs.map +1 -0
- package/dist/EditCommentModal-CcmCx_My.mjs.map +1 -0
- package/dist/EditCommentModal-sj0yXd7-.mjs.map +1 -0
- package/dist/EmissionGroupChooser--428fdeK.mjs.map +1 -0
- package/dist/EmissionGroupChooser-BJCKekKM.mjs.map +1 -0
- package/dist/EmissionGroupChooser-ByqGmsGw.mjs.map +1 -0
- package/dist/EmissionGroupChooser-Cb3CF0uc.mjs.map +1 -0
- package/dist/EmissionGroupChooser-D4vMQH8g.mjs.map +1 -0
- package/dist/{EmissionGroupChooser-KmzQjp7d.mjs → EmissionGroupChooser-De_IpEhW.mjs} +2 -2
- package/dist/EmissionInlineList-CdHQBjfR.mjs.map +1 -0
- package/dist/EmissionInlineList-CnA0d_k2.mjs.map +1 -0
- package/dist/EmissionInlineList-DLUvPBNl.mjs.map +1 -0
- package/dist/{EmissionInlineList-BoEIAbLu.mjs → EmissionInlineList-dlb4gUOP.mjs} +5 -5
- package/dist/EmissionItem-B39oFnXF.mjs.map +1 -0
- package/dist/EmissionItem-BkPLFhAo.mjs.map +1 -0
- package/dist/EmissionItem-CjAUdLb7.mjs.map +1 -0
- package/dist/{EmissionItem-BeQWw-UT.mjs → EmissionItem-Dm_IGNkw.mjs} +4 -4
- package/dist/EmissionList-B0UntYdC.mjs.map +1 -0
- package/dist/EmissionList-BQSI4xbi.mjs.map +1 -0
- package/dist/{EmissionList-DB7O1nj5.mjs → EmissionList-C4JEYLyK.mjs} +4 -4
- package/dist/EmissionList-C7lQBdlW.mjs.map +1 -0
- package/dist/EmissionPage-BF6s2ySo.mjs.map +1 -0
- package/dist/EmissionPage-B_-nDP5x.mjs.map +1 -0
- package/dist/EmissionPage-C-ESprrZ.mjs.map +1 -0
- package/dist/{EmissionPage-CNYJ1Puo.mjs → EmissionPage-C4XUdzzm.mjs} +10 -10
- package/dist/EmissionPage-CPXcNHGS.mjs.map +1 -0
- package/dist/EmissionPage-EMgXCVhK.mjs.map +1 -0
- package/dist/EmissionPage-mXbUqOh9.mjs.map +1 -0
- package/dist/{EmissionPlayerItem-S_yqupad.mjs → EmissionPlayerItem-BLIdolRe.mjs} +3 -3
- package/dist/EmissionPlayerItem-C27zJBhY.mjs.map +1 -0
- package/dist/EmissionPlayerItem-C3fkgEaL.mjs.map +1 -0
- package/dist/EmissionPlayerItem-DxXG20G1.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BNnDSWGQ.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BeETY65I.mjs.map +1 -0
- package/dist/{EmissionPresentationItem-kJgKN7Ju.mjs → EmissionPresentationItem-DYDwfqwp.mjs} +1 -1
- package/dist/EmissionPresentationList-BD7rIUok.mjs.map +1 -0
- package/dist/EmissionPresentationList-CGMyY_iu.mjs.map +1 -0
- package/dist/{EmissionPresentationList-Bg9X3CJP.mjs → EmissionPresentationList-Cxi7QnIs.mjs} +3 -3
- package/dist/EmissionsPage-4To0aRBA.mjs.map +1 -0
- package/dist/{EmissionsPage-BLpGH_PR.mjs → EmissionsPage-B0bXLncg.mjs} +5 -5
- package/dist/EmissionsPage-BIspB5uq.mjs.map +1 -0
- package/dist/EmissionsPage-BhUjdpEu.mjs.map +1 -0
- package/dist/EmissionsPage-Bn1R_ipo.mjs.map +1 -0
- package/dist/EmissionsPage-CNXwdJuV.mjs.map +1 -0
- package/dist/EmissionsPage-CPmhIbFf.mjs.map +1 -0
- package/dist/EmissionsPage-Cgzvn2h8.mjs.map +1 -0
- package/dist/EmissionsPage-D09zTpGb.mjs.map +1 -0
- package/dist/EmissionsPage-Dl7qaQT1.mjs.map +1 -0
- package/dist/EmissionsPage-DyleZtu_.mjs.map +1 -0
- package/dist/EmissionsPage-OVpc7k1Z.mjs.map +1 -0
- package/dist/EmissionsPage-wjKBLFM6.mjs.map +1 -0
- package/dist/Error403Page-B6Q7ijY3.mjs.map +1 -0
- package/dist/Error403Page-DF08mgCL.mjs.map +1 -0
- package/dist/{Error403Page-BB69doEn.mjs → Error403Page-DVmC5AOd.mjs} +2 -2
- package/dist/FooterGarSection-BWahCyz0.mjs.map +1 -0
- package/dist/{FooterGarSection-B9nsnpfF.mjs → FooterGarSection-BqPggI3o.mjs} +3 -3
- package/dist/FooterGarSection-CN8ZfO7e.mjs.map +1 -0
- package/dist/FooterSection-BOjr1LRb.mjs.map +1 -0
- package/dist/{FooterSection-DdGtlbk-.mjs → FooterSection-C5FEIJlU.mjs} +11 -11
- package/dist/FooterSection-nVRzKSYN.mjs.map +1 -0
- package/dist/HomeDropdown-3fl_xltN.mjs.map +1 -0
- package/dist/HomeDropdown-DGNkJhG2.mjs.map +1 -0
- package/dist/{HomeDropdown-BqwwLStt.mjs → HomeDropdown-Fx6kQAuH.mjs} +3 -3
- package/dist/HomeDropdown-PvmOUzYb.mjs.map +1 -0
- package/dist/{HomePage-JOUAKKfP.mjs → HomePage-7PT7HmHs.mjs} +3 -3
- package/dist/HomePage-D0Pbu_h1.mjs.map +1 -0
- package/dist/HomePage-D6_D1f33.mjs.map +1 -0
- package/dist/HomePage-ry0NfX1M.mjs.map +1 -0
- package/dist/InlineRubriqueList-BdpS1pVc.mjs.map +1 -0
- package/dist/InlineRubriqueList-BlcjQ4wR.mjs.map +1 -0
- package/dist/{InlineRubriqueList-BzcHKvM4.mjs → InlineRubriqueList-ezgexR-O.mjs} +1 -1
- package/dist/{LikeSection-MmbHMunb.mjs → LikeSection-CGu4yOCr.mjs} +3 -3
- package/dist/LikeSection-Cqj4y7qZ.mjs.map +1 -0
- package/dist/LikeSection-D95IMsZE.mjs.map +1 -0
- package/dist/LikeSection-HJla-zgI.mjs.map +1 -0
- package/dist/{ListPaginate-5uRK_QKJ.mjs → ListPaginate-BPdnBcpe.mjs} +2 -2
- package/dist/ListPaginate-DYzRnp-2.mjs.map +1 -0
- package/dist/ListPaginate-DyR7HLIc.mjs.map +1 -0
- package/dist/LiveHorizontalList-Bqe351Ut.mjs.map +1 -0
- package/dist/{LiveHorizontalList-CpoIRd4C.mjs → LiveHorizontalList-Bs-Rz5Ws.mjs} +3 -3
- package/dist/LiveHorizontalList-CaujYMT3.mjs.map +1 -0
- package/dist/LiveHorizontalList-DhsOZPT3.mjs.map +1 -0
- package/dist/{LiveList-DYFBrNgg.mjs → LiveList-BVOEnAEc.mjs} +5 -5
- package/dist/LiveList-DMB3FxUM.mjs.map +1 -0
- package/dist/LiveList-DOi4GV1x.mjs.map +1 -0
- package/dist/LiveList-Dh1mJVs7.mjs.map +1 -0
- package/dist/LivesPage-BvDLscOE.mjs.map +1 -0
- package/dist/{LivesPage-FSkmBdVw.mjs → LivesPage-DG5VY4HF.mjs} +2 -2
- package/dist/LivesPage-DmSlg7iH.mjs.map +1 -0
- package/dist/LivesPage-yy_5pI8R.mjs.map +1 -0
- package/dist/MapPage-3n-rigBK.mjs.map +1 -0
- package/dist/MapPage-5GwE8Z4E.mjs.map +1 -0
- package/dist/{MapPage-DpBt2gWF.mjs → MapPage-bIe2a9O1.mjs} +2 -2
- package/dist/MobileMenu-BSos17v3.mjs.map +1 -0
- package/dist/{MobileMenu-CjNMfHUP.mjs → MobileMenu-BZ5nOrYw.mjs} +5 -5
- package/dist/MobileMenu-C6W37oJg.mjs.map +1 -0
- package/dist/MobileMenu-K0rNwrW1.mjs.map +1 -0
- package/dist/NewsletterModal-CFGXBtID.mjs.map +1 -0
- package/dist/NewsletterModal-CZNwpCK5.mjs.map +1 -0
- package/dist/{NewsletterModal-BurqHTFc.mjs → NewsletterModal-DZk0mSVC.mjs} +1 -1
- package/dist/OctopusMultiselect-CFUGyzeM.mjs.map +1 -0
- package/dist/OctopusMultiselect-Cn1lqbQo.mjs.map +1 -0
- package/dist/OctopusMultiselect-esu8BY0J.mjs.map +1 -0
- package/dist/{OctopusMultiselect-C8qljiaH.mjs → OctopusMultiselect-noQPQMZQ.mjs} +7 -5
- package/dist/OrganisationChooser-BKfXLT4G.mjs.map +1 -0
- package/dist/{OrganisationChooser-Dx-OT7MW.mjs → OrganisationChooser-C48cWqbY.mjs} +3 -3
- package/dist/OrganisationChooser-PpO7MD7f.mjs.map +1 -0
- package/dist/OrganisationChooser-Y_jO6oXv.mjs.map +1 -0
- package/dist/{OrganisationChooserLight-BF5fT5pV.mjs → OrganisationChooserLight-Bcltbv-v.mjs} +1 -1
- package/dist/OrganisationChooserLight-Dh7wMH40.mjs.map +1 -0
- package/dist/OrganisationChooserLight-Dx_rkvpP.mjs.map +1 -0
- package/dist/PageNotFound-DeW-K_hL.mjs.map +1 -0
- package/dist/{PageNotFound-Cj-3Gv8T.mjs → PageNotFound-DogaoIFX.mjs} +2 -2
- package/dist/PageNotFound-gRuMWYCp.mjs.map +1 -0
- package/dist/ParticipantInlineList-CY_s6aJm.mjs.map +1 -0
- package/dist/{ParticipantInlineList-DEWqM1Io.mjs → ParticipantInlineList-D9pkOlvP.mjs} +4 -4
- package/dist/ParticipantInlineList-DSatB75C.mjs.map +1 -0
- package/dist/ParticipantItem-BG7yqRvD.mjs.map +1 -0
- package/dist/ParticipantItem-BTK25HID.mjs.map +1 -0
- package/dist/{ParticipantItem-BZAUIeSR.mjs → ParticipantItem-CbHOfVon.mjs} +3 -3
- package/dist/ParticipantPage-B4VnV8Yc.mjs.map +1 -0
- package/dist/ParticipantPage-B6Gzg6ul.mjs.map +1 -0
- package/dist/ParticipantPage-CNRNKTtC.mjs.map +1 -0
- package/dist/ParticipantPage-CpkhQjN2.mjs.map +1 -0
- package/dist/ParticipantPage-D61CCIqy.mjs.map +1 -0
- package/dist/ParticipantPage-Dh4JJCmJ.mjs.map +1 -0
- package/dist/{ParticipantPage-CzaHoWij.mjs → ParticipantPage-nTp2MbgB.mjs} +6 -6
- package/dist/{ParticipantsPage-goxJZQZZ.mjs → ParticipantsPage-Bbz9lQ_0.mjs} +6 -6
- package/dist/ParticipantsPage-COaQrVID.mjs.map +1 -0
- package/dist/ParticipantsPage-DRVVU7qp.mjs.map +1 -0
- package/dist/ParticipantsPage-DhKCWwKE.mjs.map +1 -0
- package/dist/{PlayerAnonymousModal-By96BtpA.mjs → PlayerAnonymousModal-B1iZ34O8.mjs} +2 -2
- package/dist/PlayerAnonymousModal-CBZStK-L.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-Cq6-Dn49.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-Cu2GGoAh.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-DiXWtNmM.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-DrQvDDym.mjs.map +1 -0
- package/dist/PlayerCompact-B9oeGx_g.mjs.map +1 -0
- package/dist/PlayerCompact-DtMginEc.mjs.map +1 -0
- package/dist/PlayerCompact-E8ydrdJ4.mjs.map +1 -0
- package/dist/{PlayerCompact-CjU8xxVH.mjs → PlayerCompact-_39FpkWo.mjs} +4 -4
- package/dist/PlayerComponent-4Wj5XlrS.mjs.map +1 -0
- package/dist/{PlayerComponent-B58O6U6i.mjs → PlayerComponent-B1RsmSf0.mjs} +47 -47
- package/dist/PlayerComponent-BGVzhVz9.mjs.map +1 -0
- package/dist/PlayerComponent-BIshvul2.mjs.map +1 -0
- package/dist/PlayerComponent-BO7wUL2M.mjs.map +1 -0
- package/dist/PlayerComponent-C222I0kT.mjs.map +1 -0
- package/dist/PlayerComponent-CjNZNKKz.mjs.map +1 -0
- package/dist/PlayerComponent-UG_c6_yr.mjs.map +1 -0
- package/dist/{PlayerLarge-CWL5SDzD.mjs → PlayerLarge-BxdyYLOt.mjs} +5 -5
- package/dist/PlayerLarge-CPUAoR9q.mjs.map +1 -0
- package/dist/PlayerLarge-DP7RsA83.mjs.map +1 -0
- package/dist/PlayerLarge-DpiFO7gk.mjs.map +1 -0
- package/dist/PlayerLarge-Dwtmu4gz.mjs.map +1 -0
- package/dist/PlayerLarge-HvRHSw4j.mjs.map +1 -0
- package/dist/PlayerLarge-X5uYCbyS.mjs.map +1 -0
- package/dist/PlayerLarge-qwr3iWSX.mjs.map +1 -0
- package/dist/{PlayerPlayButton-DmvV2YDi.mjs → PlayerPlayButton-BIsfgj0d.mjs} +4 -4
- package/dist/PlayerPlayButton-BQ4zJOrE.mjs.map +1 -0
- package/dist/PlayerPlayButton-kh4ZCdWh.mjs.map +1 -0
- package/dist/PlayerProgressBar-C-I3dk3l.mjs.map +1 -0
- package/dist/PlayerProgressBar-Dr-aFk7O.mjs.map +1 -0
- package/dist/{PlayerProgressBar-Cl_mF4nD.mjs → PlayerProgressBar-dSschgez.mjs} +2 -2
- package/dist/PlayerProgressBar-xc1ZFPJY.mjs.map +1 -0
- package/dist/PlayerStore-Aq_ukXXS.mjs.map +1 -0
- package/dist/PlayerStore-C_QCHbT3.mjs.map +1 -0
- package/dist/{PlayerStore-CKprkxa0.mjs → PlayerStore-DggKki80.mjs} +1 -1
- package/dist/PlayerVideo-BNfhaNUn.mjs.map +1 -0
- package/dist/{PlayerVideo-CVUU7nHT.mjs → PlayerVideo-BWyvKlJT.mjs} +3 -3
- package/dist/PlayerVideo-Bhok6qYS.mjs.map +1 -0
- package/dist/PlayerVideo-CN609whx.mjs.map +1 -0
- package/dist/PlayerVideo-DXG_PsWA.mjs.map +1 -0
- package/dist/PlayerVideo-DzUapxuZ.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-B1rRVLzy.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-B6qODy7b.mjs.map +1 -0
- package/dist/{PlayerVideoDigiteka-DZIqqN8a.mjs → PlayerVideoDigiteka-Dxx63XHI.mjs} +2 -2
- package/dist/PlayerVideoHls-BoAbvi2b.mjs.map +1 -0
- package/dist/PlayerVideoHls-BsHaaJB-.mjs.map +1 -0
- package/dist/PlayerVideoHls-C0ddorEn.mjs.map +1 -0
- package/dist/PlayerVideoHls-DBODDRmV.mjs.map +1 -0
- package/dist/PlayerVideoHls-DVNHm_O2.mjs.map +1 -0
- package/dist/{PlayerVideoHls-BirHOkZD.mjs → PlayerVideoHls-DzbyXZsQ.mjs} +9 -7
- package/dist/{PlaylistPage-DljbABur.mjs → PlaylistPage-BdbqXFwR.mjs} +35 -35
- package/dist/PlaylistPage-BgUaPJet.mjs.map +1 -0
- package/dist/PlaylistPage-BwF2VdGb.mjs.map +1 -0
- package/dist/PlaylistPage-CINwx3zE.mjs.map +1 -0
- package/dist/PlaylistPage-CPB647jC.mjs.map +1 -0
- package/dist/PlaylistPage-DDzE5GQs.mjs.map +1 -0
- package/dist/PlaylistPage-bm1nWKMg.mjs.map +1 -0
- package/dist/PlaylistsPage-BwkVSYIp.mjs.map +1 -0
- package/dist/PlaylistsPage-C62NUvz4.mjs.map +1 -0
- package/dist/{PlaylistsPage-BSW-uPWF.mjs → PlaylistsPage-D08i24b2.mjs} +13 -13
- package/dist/PlaylistsPage-Dvh77ql6.mjs.map +1 -0
- package/dist/PodcastFilterList-BBhzOM64.mjs.map +1 -0
- package/dist/PodcastFilterList-BKBjd36i.mjs.map +1 -0
- package/dist/{PodcastFilterList-YM90eN60.mjs → PodcastFilterList-CL5ebQ69.mjs} +3 -3
- package/dist/PodcastFilterList-D9NTYS1v.mjs.map +1 -0
- package/dist/{PodcastImage-BtiQlrb3.mjs → PodcastImage-BFA22TgZ.mjs} +6 -6
- package/dist/PodcastImage-BhQKB5te.mjs.map +1 -0
- package/dist/PodcastImage-CHx3bUzt.mjs.map +1 -0
- package/dist/PodcastInlineList-CcNd_Hbs.mjs.map +1 -0
- package/dist/{PodcastInlineList-B32BSFqN.mjs → PodcastInlineList-H6BxXx0A.mjs} +1 -1
- package/dist/PodcastInlineList-akLivgog.mjs.map +1 -0
- package/dist/PodcastInlineList-jI2EvXSo.mjs.map +1 -0
- package/dist/{PodcastInlineListTemplate-DTrS1UiG.mjs → PodcastInlineListTemplate-Chbi8aME.mjs} +3 -3
- package/dist/PodcastInlineListTemplate-DT9ZRs61.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-Dh1xF6xT.mjs.map +1 -0
- package/dist/PodcastIsPlaying-C0jcpBQd.mjs.map +1 -0
- package/dist/PodcastIsPlaying-H6P1CHAI.mjs.map +1 -0
- package/dist/{PodcastIsPlaying-BtmHnQi9.mjs → PodcastIsPlaying-ugHcefCy.mjs} +1 -1
- package/dist/{PodcastItem-TdtzApJ6.mjs → PodcastItem-Baki7W0q.mjs} +6 -6
- package/dist/PodcastItem-BfvK4ion.mjs.map +1 -0
- package/dist/PodcastItem-DEhA78z9.mjs.map +1 -0
- package/dist/PodcastItem-DwK_Yu1G.mjs.map +1 -0
- package/dist/PodcastList-B4ic6Cij.mjs.map +1 -0
- package/dist/PodcastList-C2R92m6S.mjs.map +1 -0
- package/dist/PodcastList-DWl6zz_z.mjs.map +1 -0
- package/dist/PodcastList-Dbt4nmKg.mjs.map +1 -0
- package/dist/PodcastList-KaQBRbR9.mjs.map +1 -0
- package/dist/{PodcastList-BAOJhQ7G.mjs → PodcastList-N_XOE-hI.mjs} +5 -5
- package/dist/PodcastList-d3SGLPvF.mjs.map +1 -0
- package/dist/{PodcastList-Bbe3yWiu.mjs → PodcastList-yjd_exFg.mjs} +4 -4
- package/dist/PodcastPage-B0pbZ5o_.mjs.map +1 -0
- package/dist/PodcastPage-BOA44Us4.mjs.map +1 -0
- package/dist/PodcastPage-Bs1wz-0E.mjs.map +1 -0
- package/dist/PodcastPage-C37Wa-qH.mjs.map +1 -0
- package/dist/PodcastPage-D0HYJxaK.mjs.map +1 -0
- package/dist/PodcastPage-D0U6-etV.mjs.map +1 -0
- package/dist/PodcastPage-DwMPY4po.mjs.map +1 -0
- package/dist/{PodcastPage-CAxub2do.mjs → PodcastPage-SUEm-Enm.mjs} +26 -26
- package/dist/PodcastPlayBar-Bo-W_dSK.mjs.map +1 -0
- package/dist/PodcastPlayBar-CBtMWlVc.mjs.map +1 -0
- package/dist/{PodcastPlayBar-gAEttclo.mjs → PodcastPlayBar-COU17bnm.mjs} +3 -3
- package/dist/PodcastPlayBar-Cpr3Ff7J.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-BvJPrxpI.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-CS5TNlmX.mjs.map +1 -0
- package/dist/{PodcastPlayBasicButton-7w91y2ow.mjs → PodcastPlayBasicButton-CVXhEUHB.mjs} +1 -1
- package/dist/{PodcastPlayButton-CQY0d6f-.mjs → PodcastPlayButton--gjzxW0o.mjs} +3 -3
- package/dist/PodcastPlayButton-BqvE4ZUl.mjs.map +1 -0
- package/dist/PodcastPlayButton-DW5Feest.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-BV31HaB2.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-C-WYs6aE.mjs.map +1 -0
- package/dist/{PodcastPlaylistInlineList-BE5L8pSP.mjs → PodcastPlaylistInlineList-DsEHaYGZ.mjs} +7 -7
- package/dist/PodcastPlaylistInlineList-HEdFAq1l.mjs.map +1 -0
- package/dist/{PodcastPresentationList-DH6Rq0Z4.mjs → PodcastPresentationList-B9vORr36.mjs} +4 -4
- package/dist/PodcastPresentationList-ChqvdXY0.mjs.map +1 -0
- package/dist/PodcastPresentationList-Dit6HvJr.mjs.map +1 -0
- package/dist/{PodcastProgressBar-DoeG7lDj.mjs → PodcastProgressBar-B0FwZOTT.mjs} +3 -3
- package/dist/PodcastProgressBar-B8ONWq-Z.mjs.map +1 -0
- package/dist/PodcastProgressBar-BoGtJPAa.mjs.map +1 -0
- package/dist/PodcastProgressBar-DTRhKzW-.mjs.map +1 -0
- package/dist/{PodcastRawTranscript-Cktqtbcg.mjs → PodcastRawTranscript-BiuftXu-.mjs} +2 -2
- package/dist/PodcastRawTranscript-C8SJcaQE.mjs.map +1 -0
- package/dist/PodcastRawTranscript-nfzHM0k_.mjs.map +1 -0
- package/dist/PodcastRawTranscript-r5pRtZDg.mjs.map +1 -0
- package/dist/{PodcastSwiperList-DZ26-8xy.mjs → PodcastSwiperList-BKOYhrsH.mjs} +4 -4
- package/dist/PodcastSwiperList-Bsg0q89o.mjs.map +1 -0
- package/dist/PodcastSwiperList-BxsEv7_8.mjs.map +1 -0
- package/dist/PodcastSwiperList-Cju5VHcH.mjs.map +1 -0
- package/dist/PodcastmakerHeader-6fIwE70J.mjs.map +1 -0
- package/dist/PodcastmakerHeader-BBPEy__r.mjs.map +1 -0
- package/dist/{PodcastmakerHeader-MhdOrssb.mjs → PodcastmakerHeader-CIoJwm1L.mjs} +1 -1
- package/dist/PodcastsPage-967SI8kL.mjs.map +1 -0
- package/dist/{PodcastsPage-BXjTDNhn.mjs → PodcastsPage-B5NwPMyn.mjs} +5 -5
- package/dist/PodcastsPage-B7j2XxPZ.mjs.map +1 -0
- package/dist/PodcastsPage-BOzszXpc.mjs.map +1 -0
- package/dist/PodcastsPage-Bw0tzWoX.mjs.map +1 -0
- package/dist/PodcastsPage-D3TAYJV8.mjs.map +1 -0
- package/dist/PodcastsPage-DJsgHs7V.mjs.map +1 -0
- package/dist/PodcastsPage-DKWHzNNA.mjs.map +1 -0
- package/dist/PodcastsPage-DONqoMkB.mjs.map +1 -0
- package/dist/PodcastsPage-DUcfPeLD.mjs.map +1 -0
- package/dist/PodcastsPage-DWBgwD6o.mjs.map +1 -0
- package/dist/PodcastsPage-DZO4H1Ff.mjs.map +1 -0
- package/dist/PodcastsPage-DhEMPqCT.mjs.map +1 -0
- package/dist/ProductorSearch-BgmV_RCq.mjs.map +1 -0
- package/dist/{ProductorSearch-Z36zTZK4.mjs → ProductorSearch-BiUEs7mG.mjs} +3 -3
- package/dist/ProductorSearch-C4Nv2HzS.mjs.map +1 -0
- package/dist/ProductorSearch-DtVe_rU9.mjs.map +1 -0
- package/dist/ProgressBar-BMeSiueh.mjs.map +1 -0
- package/dist/ProgressBar-C15ih0uL.mjs.map +1 -0
- package/dist/{ProgressBar-CTOa-MDz.mjs → ProgressBar-CXB5q3-H.mjs} +2 -2
- package/dist/ProgressBar-DAUOWol1.mjs.map +1 -0
- package/dist/QrCode-BYLxjhwi.mjs.map +1 -0
- package/dist/QrCode-CCigeTaZ.mjs +109 -0
- package/dist/QrCode-CaXoOjo-.mjs.map +1 -0
- package/dist/QrCode-CcQR60hB.mjs.map +1 -0
- package/dist/QrCode-S_eLVZoz.mjs.map +1 -0
- package/dist/QrCode-XZMMiaX5.mjs.map +1 -0
- package/dist/QrCodeModal-BJOu1pAV.mjs.map +1 -0
- package/dist/QrCodeModal-BjT-0P0w.mjs.map +1 -0
- package/dist/QrCodeModal-BrabSTzq.mjs.map +1 -0
- package/dist/QrCodeModal-CjvbRYLW.mjs.map +1 -0
- package/dist/{QrCodeModal-DE3juCsN.mjs → QrCodeModal-Dpw_tCQ6.mjs} +1 -1
- package/dist/QrCodeModal-N2fjbP4S.mjs.map +1 -0
- package/dist/RadioCurrently-B_b8DV2w.mjs.map +1 -0
- package/dist/RadioCurrently-DufvDqm1.mjs.map +1 -0
- package/dist/{RadioCurrently-BlAhcc9E.mjs → RadioCurrently-ysRKhxKU.mjs} +3 -3
- package/dist/RadioHistory-B03bYMxm.mjs.map +1 -0
- package/dist/{RadioHistory-C7S79sZD.mjs → RadioHistory-DjsqvRgH.mjs} +2 -2
- package/dist/RadioHistory-Dv4gt9TM.mjs.map +1 -0
- package/dist/RadioImage-BFdiGgi_.mjs.map +1 -0
- package/dist/{RadioImage-BTn2Lquc.mjs → RadioImage-CSseYIVb.mjs} +4 -4
- package/dist/RadioImage-CrtD33dM.mjs.map +1 -0
- package/dist/RadioList--f7RDhHJ.mjs.map +1 -0
- package/dist/{RadioList-BD3zNwmk.mjs → RadioList-BZFFAobk.mjs} +4 -4
- package/dist/RadioList-De9NQ23Q.mjs.map +1 -0
- package/dist/RadioPage-BK1N--Kr.mjs.map +1 -0
- package/dist/RadioPage-BTtNFJI2.mjs.map +1 -0
- package/dist/RadioPage-CcK0y_5s.mjs.map +1 -0
- package/dist/RadioPage-Cqas0JX6.mjs.map +1 -0
- package/dist/{RadioPage-Bv3oupa1.mjs → RadioPage-Cwooj0wF.mjs} +4 -4
- package/dist/RadioPage-DhSB0sX5.mjs.map +1 -0
- package/dist/RadioPage-DlahFXYC.mjs.map +1 -0
- package/dist/RadioPlanning-BU1E8i4t.mjs.map +1 -0
- package/dist/{RadioPlanning-nkv_Mb_t.mjs → RadioPlanning-BmIxuUBI.mjs} +2 -2
- package/dist/RadioPlanning-Bx-N-xqX.mjs.map +1 -0
- package/dist/RadioProgressBar-0XM3ZTGU.mjs.map +1 -0
- package/dist/{RadioProgressBar-B2EgCOrK.mjs → RadioProgressBar-CQRGuPpC.mjs} +1 -1
- package/dist/RadioProgressBar-oyeS56mV.mjs.map +1 -0
- package/dist/{RecaptchaModal-w-9MlZ45.mjs → RecaptchaModal-BdW4xNlX.mjs} +1 -1
- package/dist/RecaptchaModal-DFlFQcHs.mjs.map +1 -0
- package/dist/RecaptchaModal-iLQ4UYOL.mjs.map +1 -0
- package/dist/ReportAbuseModal-BaPt2DLK.mjs.map +1 -0
- package/dist/ReportAbuseModal-BdZRe29L.mjs.map +1 -0
- package/dist/ReportAbuseModal-CH7Y153n.mjs.map +1 -0
- package/dist/{ReportAbuseModal-O1K7j7NV.mjs → ReportAbuseModal-jjGeXbB9.mjs} +4 -4
- package/dist/RightsIndicator-4pUsBq5j.mjs.map +1 -0
- package/dist/RightsIndicator-BH3jm_1O.mjs.map +1 -0
- package/dist/{RightsIndicator-D0cSu8j2.mjs → RightsIndicator-CPzWpH5Z.mjs} +1 -1
- package/dist/RightsIndicator-d8ffUFIj.mjs.map +1 -0
- package/dist/{RightsWrapper-BUj_1bwR.mjs → RightsWrapper-BTQ8GGUi.mjs} +5 -5
- package/dist/RightsWrapper-C3BRHqqo.mjs.map +1 -0
- package/dist/RightsWrapper-DJG9Ds6c.mjs.map +1 -0
- package/dist/RightsWrapper-nBURBTJX.mjs.map +1 -0
- package/dist/{RubriqueChoice-DaTWiDbl.mjs → RubriqueChoice-C-S-veJJ.mjs} +1 -1
- package/dist/RubriqueChoice-DsmnrUNs.mjs.map +1 -0
- package/dist/{RubriqueChooser-C33LorHa.mjs → RubriqueChooser-CNGn8LcP.mjs} +1 -1
- package/dist/RubriqueChooser-WmzcajTt.mjs.map +1 -0
- package/dist/RubriqueFilter-C9C_OiF5.mjs.map +1 -0
- package/dist/RubriqueFilter-DDI7DjMR.mjs.map +1 -0
- package/dist/RubriqueFilter-_8V1n9-x.mjs.map +1 -0
- package/dist/{RubriqueFilter-RgardNnQ.mjs → RubriqueFilter-rxiG8Wci.mjs} +3 -3
- package/dist/RubriqueList-99-nWSvq.mjs.map +1 -0
- package/dist/RubriqueList-BiRimk17.mjs.map +1 -0
- package/dist/RubriqueList-H_NHILuj.mjs.map +1 -0
- package/dist/{RubriqueList-DA9OYqUl.mjs → RubriqueList-rJj2IycY.mjs} +4 -4
- package/dist/RubriquePage-6KFPBPz8.mjs.map +1 -0
- package/dist/{RubriquePage-xgTOce7c.mjs → RubriquePage-BNEWnk3-.mjs} +4 -4
- package/dist/RubriquePage-Bpt-x7IK.mjs.map +1 -0
- package/dist/RubriquePage-Cwz9OqLO.mjs.map +1 -0
- package/dist/SearchPage-BtZnj3sA.mjs.map +1 -0
- package/dist/SearchPage-CbbbcXxs.mjs.map +1 -0
- package/dist/SearchPage-DMIV2AgJ.mjs.map +1 -0
- package/dist/{SearchPage-C3o5RPP0.mjs → SearchPage-DsZzPoEw.mjs} +2 -2
- package/dist/ShareAnonymous-BeSQozvM.mjs.map +1 -0
- package/dist/ShareAnonymous-BgsR6Ahp.mjs.map +1 -0
- package/dist/ShareAnonymous-CNWR1v6X.mjs.map +1 -0
- package/dist/{ShareAnonymous-bOwwEjPv.mjs → ShareAnonymous-DK2rnLl1.mjs} +3 -3
- package/dist/ShareAnonymous-DVpKBKbi.mjs.map +1 -0
- package/dist/ShareAnonymous-DWArDFT0.mjs.map +1 -0
- package/dist/ShareAnonymous-IaVbb-rp.mjs.map +1 -0
- package/dist/ShareModalPlayer-BHmsvxXF.mjs.map +1 -0
- package/dist/{ShareModalPlayer-D2oBrSly.mjs → ShareModalPlayer-Cfnk68-U.mjs} +1 -1
- package/dist/ShareModalPlayer-DLBU3lsU.mjs.map +1 -0
- package/dist/ShareModalPlayer-O-CmDObW.mjs.map +1 -0
- package/dist/ShareModalPlayer-QYu8Q9ks.mjs.map +1 -0
- package/dist/ShareModalPlayer-Vga-96DM.mjs.map +1 -0
- package/dist/{ShareNewsletter-CNw1LziN.mjs → ShareNewsletter-BWIAt47D.mjs} +1 -1
- package/dist/ShareNewsletter-BhFk6ARk.mjs.map +1 -0
- package/dist/ShareNewsletter-JCO4h7rk.mjs.map +1 -0
- package/dist/SharePlayer-C-RgIOh1.mjs.map +1 -0
- package/dist/{SharePlayer-CRri0YED.mjs → SharePlayer-C0aveOwy.mjs} +2 -2
- package/dist/SharePlayer-CNXrUj8M.mjs.map +1 -0
- package/dist/SharePlayer-D0-qY2dS.mjs.map +1 -0
- package/dist/SharePlayer-DQoFa7iv.mjs.map +1 -0
- package/dist/SharePlayer-DwNl3E7o.mjs.map +1 -0
- package/dist/{SharePlayerRadio-DVsegQMu.mjs → SharePlayerRadio-BqaeyEls.mjs} +2 -2
- package/dist/SharePlayerRadio-CHvCtKdZ.mjs.map +1 -0
- package/dist/SharePlayerRadio-CIsy-rCC.mjs.map +1 -0
- package/dist/SharePlayerRadio-ChfNulnf.mjs.map +1 -0
- package/dist/SharePlayerRadio-DA-W-306.mjs.map +1 -0
- package/dist/SharePlayerRadio-DwPeLUsk.mjs.map +1 -0
- package/dist/SharePlayerTypes-CeMV4n10.mjs.map +1 -0
- package/dist/SharePlayerTypes-DdyoQZDi.mjs.map +1 -0
- package/dist/{SharePlayerTypes-BxkEoBSL.mjs → SharePlayerTypes-DyrqFDVJ.mjs} +1 -1
- package/dist/ShareSocialsButtons-BHWzJVne.mjs.map +1 -0
- package/dist/ShareSocialsButtons-Bjx2ONvj.mjs.map +1 -0
- package/dist/{ShareSocialsButtons-BJ3DqvIO.mjs → ShareSocialsButtons-PqMXhFEk.mjs} +1 -1
- package/dist/{SimpleLayout-BJlcQjx9.mjs → SimpleLayout-9O9FZ69Q.mjs} +2 -2
- package/dist/SimpleLayout-B-QSfHeQ.mjs.map +1 -0
- package/dist/SimpleLayout-BauUacaf.mjs.map +1 -0
- package/dist/SimpleLayout-C29bPtbd.mjs.map +1 -0
- package/dist/SimpleLayout-Cjc3Q9Mb.mjs.map +1 -0
- package/dist/SimpleLayout-D4sVjQGu.mjs.map +1 -0
- package/dist/SimpleLayout-DaoXS--3.mjs.map +1 -0
- package/dist/SimpleLayout-vkWEZHLi.mjs.map +1 -0
- package/dist/{SmartLinkPage-DpD90wc7.mjs → SmartLinkPage-6HgX8LDv.mjs} +16 -16
- package/dist/SmartLinkPage-BcQmox7e.mjs.map +1 -0
- package/dist/SmartLinkPage-M_zB_Xp1.mjs.map +1 -0
- package/dist/SubscribeButtons-CyGYD1B1.mjs.map +1 -0
- package/dist/SubscribeButtons-DjjZQfOU.mjs.map +1 -0
- package/dist/{SubscribeButtons-zlRDGEzS.mjs → SubscribeButtons-IpzqDGIn.mjs} +3 -3
- package/dist/SubscribeButtons-yA2wowFc.mjs.map +1 -0
- package/dist/SwiperList-BNODHhLF.mjs.map +1 -0
- package/dist/SwiperList-Cqklwlg9.mjs.map +1 -0
- package/dist/{SwiperList-BlF3rPq5.mjs → SwiperList-O8nUg87R.mjs} +1 -1
- package/dist/TagList-4RDriU1J.mjs.map +1 -0
- package/dist/TagList-B5JPfT6j.mjs.map +1 -0
- package/dist/TagList-DVjqXiaA.mjs.map +1 -0
- package/dist/{TagList-BBHyaKp-.mjs → TagList-V9fAFATL.mjs} +2 -2
- package/dist/TagPage-BOsz6Bot.mjs.map +1 -0
- package/dist/TagPage-CALmJwxW.mjs.map +1 -0
- package/dist/{TagPage-DLpNBBjP.mjs → TagPage-CsFwN4sE.mjs} +3 -3
- package/dist/TagPage-DMuxYu6y.mjs.map +1 -0
- package/dist/{TopBar-CLWWRgr7.mjs → TopBar-0oG6YPlW.mjs} +37 -37
- package/dist/TopBar-CUCBss7X.mjs.map +1 -0
- package/dist/TopBar-CeQQ1hgH.mjs.map +1 -0
- package/dist/TopBar-DdxThCLR.mjs.map +1 -0
- package/dist/{UserButtonContent-BR3Rlqwp.mjs → UserButtonContent--VK68UsY.mjs} +6 -6
- package/dist/UserButtonContent-067qGenf.mjs.map +1 -0
- package/dist/UserButtonContent-Dqgyrgzv.mjs.map +1 -0
- package/dist/VideoModuleBox-9QgBI-Q-.mjs.map +1 -0
- package/dist/{VideoModuleBox-DxYJVwy3.mjs → VideoModuleBox-Bcqman6a.mjs} +1 -1
- package/dist/VideoModuleBox-BrVK2bDZ.mjs.map +1 -0
- package/dist/VideoModuleBox-DWO47_bZ.mjs.map +1 -0
- package/dist/VideoPage-4MB4zmnA.mjs.map +1 -0
- package/dist/VideoPage-BDGvtr1o.mjs.map +1 -0
- package/dist/{VideoPage-BaeTduNB.mjs → VideoPage-BjlaP2DU.mjs} +6 -6
- package/dist/VideoPage-C-yjvvhl.mjs.map +1 -0
- package/dist/VideoPage-C0_t7XMC.mjs.map +1 -0
- package/dist/VideoPage-CIDpzbkb.mjs.map +1 -0
- package/dist/VideoPage-D2V1oXGC.mjs.map +1 -0
- package/dist/VideoPage-DEJSfeFy.mjs.map +1 -0
- package/dist/{classicApi-pmODlqv5.mjs → classicApi-CGipMqf7.mjs} +267 -256
- package/dist/classicApi-CW1Z-HoF.mjs.map +1 -0
- package/dist/classicApi-OzToKuW1.mjs.map +1 -0
- package/dist/{downloadHelper-BAI-eqgA.mjs → downloadHelper-C3QooCxr.mjs} +1 -1
- package/dist/downloadHelper-D7dUpp5l.mjs.map +1 -0
- package/dist/downloadHelper-DwV3Mmd3.mjs.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.mjs +183 -183
- package/dist/src/components/form/ClassicDatePicker.vue.d.ts +24 -14
- package/dist/src/components/form/OctopusMultiselect.vue.d.ts +2 -0
- package/dist/src/i18n.d.ts +2 -0
- package/dist/tests.mjs +2 -2
- package/dist/useAdvancedParamInit-BKw9VZ53.mjs.map +1 -0
- package/dist/useAdvancedParamInit-CyRmbqqe.mjs.map +1 -0
- package/dist/{useAdvancedParamInit-Bgvt8758.mjs → useAdvancedParamInit-D5roUdHI.mjs} +10 -10
- package/dist/useDayjs-BKBB00TF.mjs.map +1 -0
- package/dist/useDayjs-UQLGUbw5.mjs.map +1 -0
- package/dist/{useDayjs-DGb3L4kJ.mjs → useDayjs-VUs19G9T.mjs} +1 -1
- package/dist/useErrorHandler-BKN3lhJ5.mjs.map +1 -0
- package/dist/useErrorHandler-C3XnRTmp.mjs.map +1 -0
- package/dist/{useErrorHandler-D9W2BURn.mjs → useErrorHandler-x9sjDYSz.mjs} +1 -1
- package/dist/useImageProxy-AEcmDpvW.mjs.map +1 -0
- package/dist/useImageProxy-BzTG_GCn.mjs.map +1 -0
- package/dist/{useImageProxy-8ndy_oTo.mjs → useImageProxy-CCpDzPmQ.mjs} +1 -1
- package/dist/useOrgaComputed-4PduqYTq.mjs.map +1 -0
- package/dist/useOrgaComputed-C2n0FBbv.mjs.map +1 -0
- package/dist/{useOrgaComputed-CBJ5sDOm.mjs → useOrgaComputed-D81Jihm-.mjs} +2 -2
- package/dist/{usePlayerLogicProgress-C2L7cMdd.mjs → usePlayerLogicProgress-BybmSAcs.mjs} +2 -2
- package/dist/usePlayerLogicProgress-CKoCod6g.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-DZaPRo6p.mjs.map +1 -0
- package/dist/usePodcastView-B-2HPFAo.mjs.map +1 -0
- package/dist/{usePodcastView-CoDJJr6Y.mjs → usePodcastView-CkM-n6iO.mjs} +3 -3
- package/dist/usePodcastView-jdYTK1cW.mjs.map +1 -0
- package/dist/{usePresentationItem-DZZVm3hh.mjs → usePresentationItem-CLEGZwI3.mjs} +3 -3
- package/dist/usePresentationItem-Com4i40U.mjs.map +1 -0
- package/dist/usePresentationItem-OpMean0v.mjs.map +1 -0
- package/dist/{useRights-DOXtpjv5.mjs → useRights-BI2tXXjR.mjs} +1 -1
- package/dist/useRights-Bsv9hr7w.mjs.map +1 -0
- package/dist/useRights-DfudFDI6.mjs.map +1 -0
- package/dist/{useRubriquesFilterComputed-DoUOqOrJ.mjs → useRubriquesFilterComputed-D1yqLnK4.mjs} +1 -1
- package/dist/useRubriquesFilterComputed-DGDJp2gc.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-NNE-FElk.mjs.map +1 -0
- package/dist/{useRubriquesFilterParam-BE8BbmAQ.mjs → useRubriquesFilterParam-2eMd5ND7.mjs} +1 -1
- package/dist/useRubriquesFilterParam-DE5dYl6c.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-DXYD4G0D.mjs.map +1 -0
- package/dist/useSharePlatforms-CrQ8r5vT.mjs.map +1 -0
- package/dist/useSharePlatforms-D124fJ_v.mjs.map +1 -0
- package/dist/{useSharePlatforms-ZWYDJZBy.mjs → useSharePlatforms-sXgVxsL5.mjs} +5 -5
- package/dist/{useSimplePageParam-DFKSEyiE.mjs → useSimplePageParam-BrtYXOUt.mjs} +1 -1
- package/dist/useSimplePageParam-CruL7rLG.mjs.map +1 -0
- package/dist/useSimplePageParam-SaBaPhb8.mjs.map +1 -0
- package/dist/{useTranslation-Dr7KU7Y4.mjs → useTranslation-BVQwv02Q.mjs} +9 -9
- package/dist/useTranslation-Bf2zP_6C.mjs.map +1 -0
- package/dist/useTranslation-BuhzZoI8.mjs.map +1 -0
- package/dist/useTranslation-OWqckMEl.mjs.map +1 -0
- package/dist/usefetchRadioData-D01ws733.mjs.map +1 -0
- package/dist/usefetchRadioData-DDRPoD4s.mjs.map +1 -0
- package/dist/{usefetchRadioData-SLWfXkYt.mjs → usefetchRadioData-zyQNqiV3.mjs} +1 -1
- package/package.json +1 -1
- package/src/components/composable/useTranslation.ts +2 -2
- package/src/components/display/sharing/QrCode.vue +63 -64
- package/src/components/form/ClassicDatePicker.vue +32 -20
- package/src/components/form/OctopusMultiselect.vue +3 -4
- package/src/components/misc/ClassicPopover.vue +1 -1
- package/src/components/misc/player/video/PlayerVideoHls.vue +160 -159
- package/src/i18n.ts +38 -29
- package/tests/components/form/ClassicDatePicker.spec.ts +32 -0
- package/tests/components/form/OctopusMultiselect.spec.ts +5 -4
- package/dist/ClassicDatePicker-B7UA9CqR.mjs +0 -187
- package/dist/QrCode-DuScZ7PD.mjs +0 -105
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.mjs";
|
|
2
2
|
import { t } from "./domHelper-BPw2kGCL.mjs";
|
|
3
3
|
import { t as n } from "./ClassicLoading-CXfMjpyl.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { j as r } from "./classicApi-CGipMqf7.mjs";
|
|
5
5
|
import { t as i } from "./PaginateParams-Bjz3ZI-5.mjs";
|
|
6
6
|
import { t as a } from "./PaginateSection-Oip_5JHt.mjs";
|
|
7
7
|
import { t as o } from "./useResizePhone-4hSkK5pa.mjs";
|
|
8
8
|
import { t as s } from "./useRouteUpdateParams-DJLm3IAI.mjs";
|
|
9
|
-
import { n as c } from "./PlayerStore-
|
|
9
|
+
import { n as c } from "./PlayerStore-DggKki80.mjs";
|
|
10
10
|
import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, normalizeClass as v, openBlock as y, renderSlot as b, toDisplayString as x, unref as S, vShow as C, watch as w, withDirectives as T } from "vue";
|
|
11
11
|
import E from "vue-material-design-icons/Plus.vue";
|
|
12
12
|
import { useI18n as D } from "vue-i18n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPaginate-DYzRnp-2.mjs","names":["domHelper","_openBlock","_createElementBlock","_createBlock","_createCommentVNode","_Fragment","_normalizeClass","_createElementVNode","_createTextVNode","_toDisplayString","_renderSlot","_withDirectives","_createVNode","_vShow","_sfc_main"],"sources":["../src/components/display/list/ListPaginate.vue","../src/components/display/list/ListPaginate.vue"],"sourcesContent":["<template>\n <div :id=\"id\" class=\"d-flex flex-column align-items-center\">\n <ClassicLoading\n v-if=\"loading || errorText\"\n :loading-text=\"loadingText\"\n :error-text=\"errorText\"\n />\n\n <template v-if=\"!loading\">\n <div\n v-if=\"!justSizeChosen\"\n class=\"d-flex justify-content-between flex-grow-1 w-100\"\n :class=\"displayTopPaginate ? 'align-items-end' : 'align-items-center'\"\n >\n <div class=\"text-secondary me-3 align-items-end\">\n <template v-if=\"textCount\">\n {{ textCount }}\n </template>\n </div>\n <div>\n <PaginateParams\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :rows-per-page=\"rowsPerPage\"\n @update:rows-per-page=\"changeSize\"\n />\n\n <PaginateSection\n v-if=\"displayTopPaginate\"\n :id=\"id\"\n class=\"pt-0 pb-0\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n </div>\n </div>\n </template>\n <slot name=\"list\" />\n\n <PaginateSection\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n\n <button\n v-show=\"first + rowsPerPage < totalCount && (isPhone || justSizeChosen)\"\n :disabled=\"loading\"\n class=\"btn btn-primary align-self-center w-fit-content m-4\"\n :title=\"t('See more')\"\n @click=\"fetchMore\"\n >\n <template v-if=\"buttonPlus\">\n {{ t(\"See more\") }}\n </template>\n <PlusIcon :size=\"16\" :class=\"buttonPlus ? 'ms-1' : ''\" />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport domHelper from \"../../../helper/domHelper\";\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport PaginateParams from \"./PaginateParams.vue\";\nimport PaginateSection from \"./PaginateSection.vue\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { computed, watch } from \"vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n rowsPerPage: { default: 30, type: Number },\n totalCount: { default: 0, type: Number },\n textCount: { default: undefined, type: String },\n id: { default: \"\", type: String },\n loadingText: { default: undefined, type: String },\n errorText: { default: undefined, type: String },\n loading: { default: false, type: Boolean },\n isMobile: { default: false, type: Boolean },\n justSizeChosen: { default: false, type: Boolean },\n playerResponsive: { default: false, type: Boolean },\n forceUpdateParameters: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"update:first\", \"update:rowsPerPage\", \"update:isMobile\"]);\n\n \n//Composables\nconst { t } = useI18n();\nconst { isPhone, windowWidth } = useResizePhone();\nconst { updateRouteParam, updatePaginateSize } = useRouteUpdateParams();\nconst playerStore = usePlayerStore();\n\n\n//Computed\nconst buttonPlus = computed(() => state.generalParameters.buttonPlus);\nconst rangeSize = computed(() => {\n if (windowWidth.value > 1600) {\n return 3;\n }\n return windowWidth.value > 1530 ? 2 : 1;\n});\n\nconst displayTopPaginate = computed((): boolean => {\n return !isPhone.value && !props.justSizeChosen && props.totalCount > 0 && state.generalParameters.paginationOnTop === true;\n});\n\n//Watch\nwatch(isPhone, () => {emit(\"update:isMobile\", isPhone.value);}, {immediate: true});\nwatch(()=>props.first, () => {\n updateRouteParam({pr:(Math.floor(props.first / props.rowsPerPage) + 1).toString()}, props.forceUpdateParameters);\n});\n\n//Methods\nfunction fetchMore() {\n emit(\"update:first\", props.first + props.rowsPerPage);\n}\nfunction changeFirst(firstValue: number) {\n scrollToTop();\n emit(\"update:first\", firstValue);\n}\nfunction changeSize(sizeValue: number) {\n scrollToTop();\n emit(\"update:rowsPerPage\", sizeValue);\n updatePaginateSize(sizeValue, props.forceUpdateParameters);\n}\nfunction scrollToTop() {\n const element = document.getElementById(props.id);\n if (!element || element.getBoundingClientRect().top > 0) {\n return;\n }\n const y =\n element.getBoundingClientRect().top +\n window.scrollY -\n domHelper.convertRemToPixels(3.5);\n window.scrollTo({ top: y, behavior: \"smooth\" });\n}\n\n/** Style to apply to the paging section */\nfunction pagingStyle(): Record<string, string> {\n // Only change position if player is active and not at the top\n if (props.playerResponsive && state.player.topPlacement !== true) {\n return { 'bottom': playerStore.playerHeight };\n }\n}\n</script>\n","<template>\n <div :id=\"id\" class=\"d-flex flex-column align-items-center\">\n <ClassicLoading\n v-if=\"loading || errorText\"\n :loading-text=\"loadingText\"\n :error-text=\"errorText\"\n />\n\n <template v-if=\"!loading\">\n <div\n v-if=\"!justSizeChosen\"\n class=\"d-flex justify-content-between flex-grow-1 w-100\"\n :class=\"displayTopPaginate ? 'align-items-end' : 'align-items-center'\"\n >\n <div class=\"text-secondary me-3 align-items-end\">\n <template v-if=\"textCount\">\n {{ textCount }}\n </template>\n </div>\n <div>\n <PaginateParams\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :rows-per-page=\"rowsPerPage\"\n @update:rows-per-page=\"changeSize\"\n />\n\n <PaginateSection\n v-if=\"displayTopPaginate\"\n :id=\"id\"\n class=\"pt-0 pb-0\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n </div>\n </div>\n </template>\n <slot name=\"list\" />\n\n <PaginateSection\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n\n <button\n v-show=\"first + rowsPerPage < totalCount && (isPhone || justSizeChosen)\"\n :disabled=\"loading\"\n class=\"btn btn-primary align-self-center w-fit-content m-4\"\n :title=\"t('See more')\"\n @click=\"fetchMore\"\n >\n <template v-if=\"buttonPlus\">\n {{ t(\"See more\") }}\n </template>\n <PlusIcon :size=\"16\" :class=\"buttonPlus ? 'ms-1' : ''\" />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport domHelper from \"../../../helper/domHelper\";\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport PaginateParams from \"./PaginateParams.vue\";\nimport PaginateSection from \"./PaginateSection.vue\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { computed, watch } from \"vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n rowsPerPage: { default: 30, type: Number },\n totalCount: { default: 0, type: Number },\n textCount: { default: undefined, type: String },\n id: { default: \"\", type: String },\n loadingText: { default: undefined, type: String },\n errorText: { default: undefined, type: String },\n loading: { default: false, type: Boolean },\n isMobile: { default: false, type: Boolean },\n justSizeChosen: { default: false, type: Boolean },\n playerResponsive: { default: false, type: Boolean },\n forceUpdateParameters: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"update:first\", \"update:rowsPerPage\", \"update:isMobile\"]);\n\n \n//Composables\nconst { t } = useI18n();\nconst { isPhone, windowWidth } = useResizePhone();\nconst { updateRouteParam, updatePaginateSize } = useRouteUpdateParams();\nconst playerStore = usePlayerStore();\n\n\n//Computed\nconst buttonPlus = computed(() => state.generalParameters.buttonPlus);\nconst rangeSize = computed(() => {\n if (windowWidth.value > 1600) {\n return 3;\n }\n return windowWidth.value > 1530 ? 2 : 1;\n});\n\nconst displayTopPaginate = computed((): boolean => {\n return !isPhone.value && !props.justSizeChosen && props.totalCount > 0 && state.generalParameters.paginationOnTop === true;\n});\n\n//Watch\nwatch(isPhone, () => {emit(\"update:isMobile\", isPhone.value);}, {immediate: true});\nwatch(()=>props.first, () => {\n updateRouteParam({pr:(Math.floor(props.first / props.rowsPerPage) + 1).toString()}, props.forceUpdateParameters);\n});\n\n//Methods\nfunction fetchMore() {\n emit(\"update:first\", props.first + props.rowsPerPage);\n}\nfunction changeFirst(firstValue: number) {\n scrollToTop();\n emit(\"update:first\", firstValue);\n}\nfunction changeSize(sizeValue: number) {\n scrollToTop();\n emit(\"update:rowsPerPage\", sizeValue);\n updatePaginateSize(sizeValue, props.forceUpdateParameters);\n}\nfunction scrollToTop() {\n const element = document.getElementById(props.id);\n if (!element || element.getBoundingClientRect().top > 0) {\n return;\n }\n const y =\n element.getBoundingClientRect().top +\n window.scrollY -\n domHelper.convertRemToPixels(3.5);\n window.scrollTo({ top: y, behavior: \"smooth\" });\n}\n\n/** Style to apply to the paging section */\nfunction pagingStyle(): Record<string, string> {\n // Only change position if player is active and not at the top\n if (props.playerResponsive && state.player.topPlacement !== true) {\n return { 'bottom': playerStore.playerHeight };\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPaginate-DyR7HLIc.mjs","names":["domHelper","_openBlock","_createElementBlock","_createBlock","_createCommentVNode","_Fragment","_normalizeClass","_createElementVNode","_createTextVNode","_toDisplayString","_renderSlot","_withDirectives","_createVNode","_vShow","_sfc_main"],"sources":["../src/components/display/list/ListPaginate.vue","../src/components/display/list/ListPaginate.vue"],"sourcesContent":["<template>\n <div :id=\"id\" class=\"d-flex flex-column align-items-center\">\n <ClassicLoading\n v-if=\"loading || errorText\"\n :loading-text=\"loadingText\"\n :error-text=\"errorText\"\n />\n\n <template v-if=\"!loading\">\n <div\n v-if=\"!justSizeChosen\"\n class=\"d-flex justify-content-between flex-grow-1 w-100\"\n :class=\"displayTopPaginate ? 'align-items-end' : 'align-items-center'\"\n >\n <div class=\"text-secondary me-3 align-items-end\">\n <template v-if=\"textCount\">\n {{ textCount }}\n </template>\n </div>\n <div>\n <PaginateParams\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :rows-per-page=\"rowsPerPage\"\n @update:rows-per-page=\"changeSize\"\n />\n\n <PaginateSection\n v-if=\"displayTopPaginate\"\n :id=\"id\"\n class=\"pt-0 pb-0\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n </div>\n </div>\n </template>\n <slot name=\"list\" />\n\n <PaginateSection\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n\n <button\n v-show=\"first + rowsPerPage < totalCount && (isPhone || justSizeChosen)\"\n :disabled=\"loading\"\n class=\"btn btn-primary align-self-center w-fit-content m-4\"\n :title=\"t('See more')\"\n @click=\"fetchMore\"\n >\n <template v-if=\"buttonPlus\">\n {{ t(\"See more\") }}\n </template>\n <PlusIcon :size=\"16\" :class=\"buttonPlus ? 'ms-1' : ''\" />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport domHelper from \"../../../helper/domHelper\";\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport PaginateParams from \"./PaginateParams.vue\";\nimport PaginateSection from \"./PaginateSection.vue\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { computed, watch } from \"vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n rowsPerPage: { default: 30, type: Number },\n totalCount: { default: 0, type: Number },\n textCount: { default: undefined, type: String },\n id: { default: \"\", type: String },\n loadingText: { default: undefined, type: String },\n errorText: { default: undefined, type: String },\n loading: { default: false, type: Boolean },\n isMobile: { default: false, type: Boolean },\n justSizeChosen: { default: false, type: Boolean },\n playerResponsive: { default: false, type: Boolean },\n forceUpdateParameters: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"update:first\", \"update:rowsPerPage\", \"update:isMobile\"]);\n\n \n//Composables\nconst { t } = useI18n();\nconst { isPhone, windowWidth } = useResizePhone();\nconst { updateRouteParam, updatePaginateSize } = useRouteUpdateParams();\nconst playerStore = usePlayerStore();\n\n\n//Computed\nconst buttonPlus = computed(() => state.generalParameters.buttonPlus);\nconst rangeSize = computed(() => {\n if (windowWidth.value > 1600) {\n return 3;\n }\n return windowWidth.value > 1530 ? 2 : 1;\n});\n\nconst displayTopPaginate = computed((): boolean => {\n return !isPhone.value && !props.justSizeChosen && props.totalCount > 0 && state.generalParameters.paginationOnTop === true;\n});\n\n//Watch\nwatch(isPhone, () => {emit(\"update:isMobile\", isPhone.value);}, {immediate: true});\nwatch(()=>props.first, () => {\n updateRouteParam({pr:(Math.floor(props.first / props.rowsPerPage) + 1).toString()}, props.forceUpdateParameters);\n});\n\n//Methods\nfunction fetchMore() {\n emit(\"update:first\", props.first + props.rowsPerPage);\n}\nfunction changeFirst(firstValue: number) {\n scrollToTop();\n emit(\"update:first\", firstValue);\n}\nfunction changeSize(sizeValue: number) {\n scrollToTop();\n emit(\"update:rowsPerPage\", sizeValue);\n updatePaginateSize(sizeValue, props.forceUpdateParameters);\n}\nfunction scrollToTop() {\n const element = document.getElementById(props.id);\n if (!element || element.getBoundingClientRect().top > 0) {\n return;\n }\n const y =\n element.getBoundingClientRect().top +\n window.scrollY -\n domHelper.convertRemToPixels(3.5);\n window.scrollTo({ top: y, behavior: \"smooth\" });\n}\n\n/** Style to apply to the paging section */\nfunction pagingStyle(): Record<string, string> {\n // Only change position if player is active and not at the top\n if (props.playerResponsive && state.player.topPlacement !== true) {\n return { 'bottom': playerStore.playerHeight };\n }\n}\n</script>\n","<template>\n <div :id=\"id\" class=\"d-flex flex-column align-items-center\">\n <ClassicLoading\n v-if=\"loading || errorText\"\n :loading-text=\"loadingText\"\n :error-text=\"errorText\"\n />\n\n <template v-if=\"!loading\">\n <div\n v-if=\"!justSizeChosen\"\n class=\"d-flex justify-content-between flex-grow-1 w-100\"\n :class=\"displayTopPaginate ? 'align-items-end' : 'align-items-center'\"\n >\n <div class=\"text-secondary me-3 align-items-end\">\n <template v-if=\"textCount\">\n {{ textCount }}\n </template>\n </div>\n <div>\n <PaginateParams\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :rows-per-page=\"rowsPerPage\"\n @update:rows-per-page=\"changeSize\"\n />\n\n <PaginateSection\n v-if=\"displayTopPaginate\"\n :id=\"id\"\n class=\"pt-0 pb-0\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n </div>\n </div>\n </template>\n <slot name=\"list\" />\n\n <PaginateSection\n v-if=\"!isPhone && !justSizeChosen && totalCount > 0\"\n :id=\"id\"\n :style=\"pagingStyle\"\n :first=\"first\"\n :rows-per-page=\"rowsPerPage\"\n :total-count=\"totalCount\"\n :range-size=\"rangeSize\"\n @update:first=\"changeFirst\"\n />\n\n <button\n v-show=\"first + rowsPerPage < totalCount && (isPhone || justSizeChosen)\"\n :disabled=\"loading\"\n class=\"btn btn-primary align-self-center w-fit-content m-4\"\n :title=\"t('See more')\"\n @click=\"fetchMore\"\n >\n <template v-if=\"buttonPlus\">\n {{ t(\"See more\") }}\n </template>\n <PlusIcon :size=\"16\" :class=\"buttonPlus ? 'ms-1' : ''\" />\n </button>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport domHelper from \"../../../helper/domHelper\";\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport PaginateParams from \"./PaginateParams.vue\";\nimport PaginateSection from \"./PaginateSection.vue\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { computed, watch } from \"vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n rowsPerPage: { default: 30, type: Number },\n totalCount: { default: 0, type: Number },\n textCount: { default: undefined, type: String },\n id: { default: \"\", type: String },\n loadingText: { default: undefined, type: String },\n errorText: { default: undefined, type: String },\n loading: { default: false, type: Boolean },\n isMobile: { default: false, type: Boolean },\n justSizeChosen: { default: false, type: Boolean },\n playerResponsive: { default: false, type: Boolean },\n forceUpdateParameters: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"update:first\", \"update:rowsPerPage\", \"update:isMobile\"]);\n\n \n//Composables\nconst { t } = useI18n();\nconst { isPhone, windowWidth } = useResizePhone();\nconst { updateRouteParam, updatePaginateSize } = useRouteUpdateParams();\nconst playerStore = usePlayerStore();\n\n\n//Computed\nconst buttonPlus = computed(() => state.generalParameters.buttonPlus);\nconst rangeSize = computed(() => {\n if (windowWidth.value > 1600) {\n return 3;\n }\n return windowWidth.value > 1530 ? 2 : 1;\n});\n\nconst displayTopPaginate = computed((): boolean => {\n return !isPhone.value && !props.justSizeChosen && props.totalCount > 0 && state.generalParameters.paginationOnTop === true;\n});\n\n//Watch\nwatch(isPhone, () => {emit(\"update:isMobile\", isPhone.value);}, {immediate: true});\nwatch(()=>props.first, () => {\n updateRouteParam({pr:(Math.floor(props.first / props.rowsPerPage) + 1).toString()}, props.forceUpdateParameters);\n});\n\n//Methods\nfunction fetchMore() {\n emit(\"update:first\", props.first + props.rowsPerPage);\n}\nfunction changeFirst(firstValue: number) {\n scrollToTop();\n emit(\"update:first\", firstValue);\n}\nfunction changeSize(sizeValue: number) {\n scrollToTop();\n emit(\"update:rowsPerPage\", sizeValue);\n updatePaginateSize(sizeValue, props.forceUpdateParameters);\n}\nfunction scrollToTop() {\n const element = document.getElementById(props.id);\n if (!element || element.getBoundingClientRect().top > 0) {\n return;\n }\n const y =\n element.getBoundingClientRect().top +\n window.scrollY -\n domHelper.convertRemToPixels(3.5);\n window.scrollTo({ top: y, behavior: \"smooth\" });\n}\n\n/** Style to apply to the paging section */\nfunction pagingStyle(): Record<string, string> {\n // Only change position if player is active and not at the top\n if (props.playerResponsive && state.player.topPlacement !== true) {\n return { 'bottom': playerStore.playerHeight };\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveHorizontalList-Bqe351Ut.mjs","names":["classicApi","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_withCtx","_Fragment","_renderList","_createBlock","_createCommentVNode","_sfc_main"],"sources":["../src/components/display/live/LiveHorizontalList.vue","../src/components/display/live/LiveHorizontalList.vue"],"sourcesContent":["<template>\n <div v-if=\"notEmpty\">\n <h3 class=\"mb-0 mt-3\">\n {{ t(\"All live emission button\") }}\n </h3>\n <ListPaginate\n id=\"liveListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :total-count=\"totalCount\"\n :loading=\"false\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <template v-for=\"p in displayArray\" :key=\"p.podcastId\">\n <PodcastItem v-if=\"0 !== p.podcastId\" :podcast=\"p\" />\n </template>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast, emptyPodcastData } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n emissionId: { default: undefined, type: Number },\n})\n\n//Data \nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst lives: Ref<Array<Podcast>> = ref([]);\nconst notEmpty = ref(false);\nconst inFetching = ref(false);\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return lives.value;\n }\n return lives.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\n\n\n//Watch\nwatch(dsize, () => reloadList());\nwatch(dfirst, () => {\n if (!lives.value[dfirst.value] || 0 === lives.value[dfirst.value].podcastId) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(true))\n\n\n//Methods\nfunction reloadList() {\n dfirst.value = 0;\n fetchContent(true);\n}\nasync function fetchContent(reset: boolean): Promise<void> {\n inFetching.value = true;\n if (reset) {\n notEmpty.value = false;\n }\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n first: dfirst.value,\n size: dsize.value,\n emissionId: props.emissionId,\n sort: \"DATE\",\n includeStatus: \"READY_TO_RECORD\",\n },\n specialTreatement: true,\n });\n afterFetching(reset, data);\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n lives.value.length = 0;\n }\n if (dfirst.value > lives.value.length) {\n for (\n let i = lives.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n lives.value.push(emptyPodcastData());\n }\n }\n const responseLives = data.result.filter((l: Podcast | null) => {\n return null !== l;\n });\n lives.value = lives.value\n .slice(0, dfirst.value)\n .concat(responseLives)\n .concat(lives.value.slice(dfirst.value + dsize.value, lives.value.length));\n totalCount.value = data.count;\n if (0 !== lives.value.length) {\n notEmpty.value = true;\n }\n inFetching.value = false;\n}\n</script>\n","<template>\n <div v-if=\"notEmpty\">\n <h3 class=\"mb-0 mt-3\">\n {{ t(\"All live emission button\") }}\n </h3>\n <ListPaginate\n id=\"liveListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :total-count=\"totalCount\"\n :loading=\"false\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <template v-for=\"p in displayArray\" :key=\"p.podcastId\">\n <PodcastItem v-if=\"0 !== p.podcastId\" :podcast=\"p\" />\n </template>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast, emptyPodcastData } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n emissionId: { default: undefined, type: Number },\n})\n\n//Data \nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst lives: Ref<Array<Podcast>> = ref([]);\nconst notEmpty = ref(false);\nconst inFetching = ref(false);\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return lives.value;\n }\n return lives.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\n\n\n//Watch\nwatch(dsize, () => reloadList());\nwatch(dfirst, () => {\n if (!lives.value[dfirst.value] || 0 === lives.value[dfirst.value].podcastId) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(true))\n\n\n//Methods\nfunction reloadList() {\n dfirst.value = 0;\n fetchContent(true);\n}\nasync function fetchContent(reset: boolean): Promise<void> {\n inFetching.value = true;\n if (reset) {\n notEmpty.value = false;\n }\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n first: dfirst.value,\n size: dsize.value,\n emissionId: props.emissionId,\n sort: \"DATE\",\n includeStatus: \"READY_TO_RECORD\",\n },\n specialTreatement: true,\n });\n afterFetching(reset, data);\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n lives.value.length = 0;\n }\n if (dfirst.value > lives.value.length) {\n for (\n let i = lives.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n lives.value.push(emptyPodcastData());\n }\n }\n const responseLives = data.result.filter((l: Podcast | null) => {\n return null !== l;\n });\n lives.value = lives.value\n .slice(0, dfirst.value)\n .concat(responseLives)\n .concat(lives.value.slice(dfirst.value + dsize.value, lives.value.length));\n totalCount.value = data.count;\n if (0 !== lives.value.length) {\n notEmpty.value = true;\n }\n inFetching.value = false;\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as e } from "./classicApi-
|
|
2
|
-
import { t } from "./ListPaginate-
|
|
1
|
+
import { t as e } from "./classicApi-CGipMqf7.mjs";
|
|
2
|
+
import { t } from "./ListPaginate-BPdnBcpe.mjs";
|
|
3
3
|
import { r as n } from "./podcast-BoNHyuLe.mjs";
|
|
4
|
-
import { t as r } from "./PodcastItem-
|
|
4
|
+
import { t as r } from "./PodcastItem-Baki7W0q.mjs";
|
|
5
5
|
import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, onBeforeMount as f, openBlock as p, ref as m, renderList as h, toDisplayString as g, unref as _, watch as v, withCtx as y } from "vue";
|
|
6
6
|
import { useI18n as b } from "vue-i18n";
|
|
7
7
|
//#region src/components/display/live/LiveHorizontalList.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveHorizontalList-CaujYMT3.mjs","names":["classicApi","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_withCtx","_Fragment","_renderList","_createBlock","_createCommentVNode","_sfc_main"],"sources":["../src/components/display/live/LiveHorizontalList.vue","../src/components/display/live/LiveHorizontalList.vue"],"sourcesContent":["<template>\n <div v-if=\"notEmpty\">\n <h3 class=\"mb-0 mt-3\">\n {{ t(\"All live emission button\") }}\n </h3>\n <ListPaginate\n id=\"liveListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :total-count=\"totalCount\"\n :loading=\"false\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <template v-for=\"p in displayArray\" :key=\"p.podcastId\">\n <PodcastItem v-if=\"0 !== p.podcastId\" :podcast=\"p\" />\n </template>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast, emptyPodcastData } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n emissionId: { default: undefined, type: Number },\n})\n\n//Data \nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst lives: Ref<Array<Podcast>> = ref([]);\nconst notEmpty = ref(false);\nconst inFetching = ref(false);\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return lives.value;\n }\n return lives.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\n\n\n//Watch\nwatch(dsize, () => reloadList());\nwatch(dfirst, () => {\n if (!lives.value[dfirst.value] || 0 === lives.value[dfirst.value].podcastId) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(true))\n\n\n//Methods\nfunction reloadList() {\n dfirst.value = 0;\n fetchContent(true);\n}\nasync function fetchContent(reset: boolean): Promise<void> {\n inFetching.value = true;\n if (reset) {\n notEmpty.value = false;\n }\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n first: dfirst.value,\n size: dsize.value,\n emissionId: props.emissionId,\n sort: \"DATE\",\n includeStatus: \"READY_TO_RECORD\",\n },\n specialTreatement: true,\n });\n afterFetching(reset, data);\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n lives.value.length = 0;\n }\n if (dfirst.value > lives.value.length) {\n for (\n let i = lives.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n lives.value.push(emptyPodcastData());\n }\n }\n const responseLives = data.result.filter((l: Podcast | null) => {\n return null !== l;\n });\n lives.value = lives.value\n .slice(0, dfirst.value)\n .concat(responseLives)\n .concat(lives.value.slice(dfirst.value + dsize.value, lives.value.length));\n totalCount.value = data.count;\n if (0 !== lives.value.length) {\n notEmpty.value = true;\n }\n inFetching.value = false;\n}\n</script>\n","<template>\n <div v-if=\"notEmpty\">\n <h3 class=\"mb-0 mt-3\">\n {{ t(\"All live emission button\") }}\n </h3>\n <ListPaginate\n id=\"liveListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :total-count=\"totalCount\"\n :loading=\"false\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <template v-for=\"p in displayArray\" :key=\"p.podcastId\">\n <PodcastItem v-if=\"0 !== p.podcastId\" :podcast=\"p\" />\n </template>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast, emptyPodcastData } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n emissionId: { default: undefined, type: Number },\n})\n\n//Data \nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst lives: Ref<Array<Podcast>> = ref([]);\nconst notEmpty = ref(false);\nconst inFetching = ref(false);\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return lives.value;\n }\n return lives.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\n\n\n//Watch\nwatch(dsize, () => reloadList());\nwatch(dfirst, () => {\n if (!lives.value[dfirst.value] || 0 === lives.value[dfirst.value].podcastId) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(true))\n\n\n//Methods\nfunction reloadList() {\n dfirst.value = 0;\n fetchContent(true);\n}\nasync function fetchContent(reset: boolean): Promise<void> {\n inFetching.value = true;\n if (reset) {\n notEmpty.value = false;\n }\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n first: dfirst.value,\n size: dsize.value,\n emissionId: props.emissionId,\n sort: \"DATE\",\n includeStatus: \"READY_TO_RECORD\",\n },\n specialTreatement: true,\n });\n afterFetching(reset, data);\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n lives.value.length = 0;\n }\n if (dfirst.value > lives.value.length) {\n for (\n let i = lives.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n lives.value.push(emptyPodcastData());\n }\n }\n const responseLives = data.result.filter((l: Podcast | null) => {\n return null !== l;\n });\n lives.value = lives.value\n .slice(0, dfirst.value)\n .concat(responseLives)\n .concat(lives.value.slice(dfirst.value + dsize.value, lives.value.length));\n totalCount.value = data.count;\n if (0 !== lives.value.length) {\n notEmpty.value = true;\n }\n inFetching.value = false;\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveHorizontalList-DhsOZPT3.mjs","names":["classicApi","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createVNode","_withCtx","_Fragment","_renderList","_createBlock","_createCommentVNode","_sfc_main"],"sources":["../src/components/display/live/LiveHorizontalList.vue","../src/components/display/live/LiveHorizontalList.vue"],"sourcesContent":["<template>\n <div v-if=\"notEmpty\">\n <h3 class=\"mb-0 mt-3\">\n {{ t(\"All live emission button\") }}\n </h3>\n <ListPaginate\n id=\"liveListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :total-count=\"totalCount\"\n :loading=\"false\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <template v-for=\"p in displayArray\" :key=\"p.podcastId\">\n <PodcastItem v-if=\"0 !== p.podcastId\" :podcast=\"p\" />\n </template>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast, emptyPodcastData } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n emissionId: { default: undefined, type: Number },\n})\n\n//Data \nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst lives: Ref<Array<Podcast>> = ref([]);\nconst notEmpty = ref(false);\nconst inFetching = ref(false);\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return lives.value;\n }\n return lives.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\n\n\n//Watch\nwatch(dsize, () => reloadList());\nwatch(dfirst, () => {\n if (!lives.value[dfirst.value] || 0 === lives.value[dfirst.value].podcastId) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(true))\n\n\n//Methods\nfunction reloadList() {\n dfirst.value = 0;\n fetchContent(true);\n}\nasync function fetchContent(reset: boolean): Promise<void> {\n inFetching.value = true;\n if (reset) {\n notEmpty.value = false;\n }\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n first: dfirst.value,\n size: dsize.value,\n emissionId: props.emissionId,\n sort: \"DATE\",\n includeStatus: \"READY_TO_RECORD\",\n },\n specialTreatement: true,\n });\n afterFetching(reset, data);\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n lives.value.length = 0;\n }\n if (dfirst.value > lives.value.length) {\n for (\n let i = lives.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n lives.value.push(emptyPodcastData());\n }\n }\n const responseLives = data.result.filter((l: Podcast | null) => {\n return null !== l;\n });\n lives.value = lives.value\n .slice(0, dfirst.value)\n .concat(responseLives)\n .concat(lives.value.slice(dfirst.value + dsize.value, lives.value.length));\n totalCount.value = data.count;\n if (0 !== lives.value.length) {\n notEmpty.value = true;\n }\n inFetching.value = false;\n}\n</script>\n","<template>\n <div v-if=\"notEmpty\">\n <h3 class=\"mb-0 mt-3\">\n {{ t(\"All live emission button\") }}\n </h3>\n <ListPaginate\n id=\"liveListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :total-count=\"totalCount\"\n :loading=\"false\"\n :player-responsive=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <template v-for=\"p in displayArray\" :key=\"p.podcastId\">\n <PodcastItem v-if=\"0 !== p.podcastId\" :podcast=\"p\" />\n </template>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast, emptyPodcastData } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { useI18n } from \"vue-i18n\";\n\n\n//Props \nconst props = defineProps({\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n emissionId: { default: undefined, type: Number },\n})\n\n//Data \nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst lives: Ref<Array<Podcast>> = ref([]);\nconst notEmpty = ref(false);\nconst inFetching = ref(false);\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value) {\n return lives.value;\n }\n return lives.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\n\n\n//Watch\nwatch(dsize, () => reloadList());\nwatch(dfirst, () => {\n if (!lives.value[dfirst.value] || 0 === lives.value[dfirst.value].podcastId) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(true))\n\n\n//Methods\nfunction reloadList() {\n dfirst.value = 0;\n fetchContent(true);\n}\nasync function fetchContent(reset: boolean): Promise<void> {\n inFetching.value = true;\n if (reset) {\n notEmpty.value = false;\n }\n const data = await classicApi.fetchData<ListClassicReturn<Podcast>>({\n api: 0,\n path: \"podcast/search\",\n parameters: {\n first: dfirst.value,\n size: dsize.value,\n emissionId: props.emissionId,\n sort: \"DATE\",\n includeStatus: \"READY_TO_RECORD\",\n },\n specialTreatement: true,\n });\n afterFetching(reset, data);\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n lives.value.length = 0;\n }\n if (dfirst.value > lives.value.length) {\n for (\n let i = lives.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n lives.value.push(emptyPodcastData());\n }\n }\n const responseLives = data.result.filter((l: Podcast | null) => {\n return null !== l;\n });\n lives.value = lives.value\n .slice(0, dfirst.value)\n .concat(responseLives)\n .concat(lives.value.slice(dfirst.value + dsize.value, lives.value.length));\n totalCount.value = data.count;\n if (0 !== lives.value.length) {\n notEmpty.value = true;\n }\n inFetching.value = false;\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAoCA,MAAM,QAAQ;EAOd,MAAM,SAAS,IAAI,MAAM,KAAK;EAC9B,MAAM,QAAQ,IAAI,MAAM,IAAI;EAC5B,MAAM,aAAa,IAAI,CAAC;EACxB,MAAM,QAA6B,IAAI,CAAC,CAAC;EACzC,MAAM,WAAW,IAAI,KAAK;EAC1B,MAAM,aAAa,IAAI,KAAK;EAC5B,MAAM,WAAW,IAAI,KAAK;EAG1B,MAAM,EAAE,MAAM,QAAQ;EAGtB,MAAM,eAAe,eAAe;GAClC,IAAI,SAAS,OACX,OAAO,MAAM;GAEf,OAAO,MAAM,MAAM,MACjB,OAAO,OACP,KAAK,IAAI,OAAO,QAAQ,MAAM,OAAO,WAAW,KAAK,CACvD;EACF,CAAC;EAID,MAAM,aAAa,WAAW,CAAC;EAC/B,MAAM,cAAc;GAClB,IAAI,CAAC,MAAM,MAAM,OAAO,UAAU,MAAM,MAAM,MAAM,OAAO,MAAM,CAAC,WAChE,aAAa,KAAK;EAEtB,CAAC;EAED,oBAAkB,aAAa,IAAI,CAAC;EAIpC,SAAS,aAAa;GACpB,OAAO,QAAQ;GACf,aAAa,IAAI;EACnB;EACA,eAAe,aAAa,OAA+B;GACzD,WAAW,QAAQ;GACnB,IAAI,OACF,SAAS,QAAQ;GAcnB,cAAc,OAAO,MAZFA,mBAAW,UAAsC;IAClE,KAAK;IACL,MAAM;IACN,YAAY;KACV,OAAO,OAAO;KACd,MAAM,MAAM;KACZ,YAAY,MAAM;KAClB,MAAM;KACN,eAAe;IACjB;IACA,mBAAmB;GACrB,CAAC,CACwB;EAC3B;EACA,SAAS,cACP,OACA,MACM;GACN,IAAI,OACF,MAAM,MAAM,SAAS;GAEvB,IAAI,OAAO,QAAQ,MAAM,MAAM,QAC7B,KACE,IAAI,IAAI,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,QAAQ,MAAM,OAC3D,IAAI,KACJ,KAEA,MAAM,MAAM,KAAK,iBAAiB,CAAC;GAGvC,MAAM,gBAAgB,KAAK,OAAO,QAAQ,MAAsB;IAC9D,OAAO,SAAS;GAClB,CAAC;GACD,MAAM,QAAQ,MAAM,MACjB,MAAM,GAAG,OAAO,KAAK,CAAA,CACrB,OAAO,aAAa,CAAA,CACpB,OAAO,MAAM,MAAM,MAAM,OAAO,QAAQ,MAAM,OAAO,MAAM,MAAM,MAAM,CAAC;GAC3E,WAAW,QAAQ,KAAK;GACxB,IAAI,MAAM,MAAM,MAAM,QACpB,SAAS,QAAQ;GAEnB,WAAW,QAAQ;EACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HQ,IAAA,aAAA,EAAA,OAAM,YAAW;AAaZ,IAAA,aAAA,EAAA,OAAM,uBAAsB;;CAd5B,OAAA,OAAA,YAAXC,UAAA,GAAAC,mBAqBM,OAAA,YAAA,CApBJC,mBAEK,MAFL,YAEKC,gBADA,OAAA,EAAC,0BAAA,CAAA,GAAA,CAAA,GAENC,YAgBe,OAAA,iBAAA;EAfb,IAAG;EACK,OAAO,OAAA;EAAA,kBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,SAAM;EACb,iBAAe,OAAA;EAAA,wBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,QAAK;EACpB,aAAW,OAAA;EAAA,qBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,WAAQ;EAC1B,eAAa,OAAA;EACb,SAAS;EACT,qBAAmB;;EAET,MAAIC,cAKP,CAJNH,mBAIM,OAJN,YAIM,EAHJF,UAAA,IAAA,GAAAC,mBAEWK,UAAA,MAAAC,WAFW,OAAA,eAAL,MAAC;GAAwB,OAAA,UAAA,GAAA,mBAAA,UAAA,EAAA,KAAA,EAAE,UAAA,GACjB,CAAA,MAAA,EAAE,aAA3BP,UAAA,GAAAQ,YAAqD,OAAA,gBAAA;;IAAd,SAAS"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as e } from "./ClassicLoading-CXfMjpyl.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { E as t, i as n, r, t as i } from "./classicApi-CGipMqf7.mjs";
|
|
3
3
|
import { t as a } from "./ClassicSelect-BpA0jKN6.mjs";
|
|
4
|
-
import { t as o } from "./useErrorHandler-
|
|
5
|
-
import { t as s } from "./useOrgaComputed-
|
|
6
|
-
import { t as c } from "./SwiperList-
|
|
7
|
-
import { t as l } from "./PodcastItem-
|
|
4
|
+
import { t as o } from "./useErrorHandler-x9sjDYSz.mjs";
|
|
5
|
+
import { t as s } from "./useOrgaComputed-D81Jihm-.mjs";
|
|
6
|
+
import { t as c } from "./SwiperList-O8nUg87R.mjs";
|
|
7
|
+
import { t as l } from "./PodcastItem-Baki7W0q.mjs";
|
|
8
8
|
import { Fragment as u, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createVNode as g, defineComponent as _, onBeforeMount as v, onUnmounted as y, openBlock as b, ref as x, resolveComponent as S, toDisplayString as C, unref as w, watch as T, withCtx as E } from "vue";
|
|
9
9
|
import { useI18n as D } from "vue-i18n";
|
|
10
10
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveList-DMB3FxUM.mjs","names":["classicApi","_sfc_render","_openBlock","_createBlock","_createCommentVNode","_sfc_main","classicApi","_resolveComponent","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createBlock","_withCtx","_createCommentVNode","_createVNode","_Fragment","_sfc_main"],"sources":["../src/components/display/live/LiveItem.vue","../src/components/display/live/LiveItem.vue","../src/components/display/live/LiveList.vue","../src/components/display/live/LiveList.vue"],"sourcesContent":["<template>\n <PodcastItem\n v-if=\"live && 0 !== live.podcastId\"\n :podcast=\"live\"\n :fetch-conference=\"fetchConference\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport {onBeforeMount, onUnmounted, ref, Ref } from \"vue\";\nimport {\n Conference,\n ConferencePublicInfo,\n} from \"@/stores/class/conference/conference\";\n\n//Props \nconst props = defineProps({\n fetchConference: { default: undefined, type: Object as () => Conference },\n})\n \n//Emits\nconst emit = defineEmits([\"deleteItem\", \"updateItem\"]);\n\n//Data \nconst live: Ref<Podcast | undefined> = ref(undefined);\nconst watchInterval: Ref<ReturnType<typeof setInterval> | undefined> = ref(undefined);\n\n\nonBeforeMount(()=>initLiveItem());\nonUnmounted(()=>clearWatchStatus())\n\n\n//Methods\nfunction clearWatchStatus() {\n clearInterval(watchInterval.value as unknown as number);\n watchInterval.value = undefined;\n}\nasync function initLiveItem(){\n await fetchPodcastData();\n watchInterval.value = setInterval(() => {\n fetchStatus();\n }, 5000);\n}\nasync function fetchPodcastData(): Promise<void> {\n if (!props.fetchConference?.podcastId) return;\n try {\n live.value = await classicApi.fetchData<Podcast>({\n api: 0,\n path: \"podcast/\" + props.fetchConference.podcastId,\n });\n } catch {\n emit(\"deleteItem\");\n if (props.fetchConference.conferenceId) {\n await classicApi.deleteData({\n api: 9,\n path: \"conference/\" + props.fetchConference.conferenceId,\n });\n }\n }\n}\nasync function fetchStatus(): Promise<void> {\n if (\n !props.fetchConference ||\n (\"PLANNED\" !== props.fetchConference.status &&\n \"PENDING\" !== props.fetchConference.status &&\n \"RECORDING\" !== props.fetchConference.status)\n ) {\n clearWatchStatus();\n return;\n }\n const confInfo = await classicApi.fetchData<ConferencePublicInfo>({\n api: 9,\n path: \"conference/info/\" + props.fetchConference.conferenceId,\n });\n if (confInfo.status !== props.fetchConference.status) {\n emit(\"updateItem\", {\n ...props.fetchConference,\n ...confInfo,\n });\n }\n}\n</script>\n","<template>\n <PodcastItem\n v-if=\"live && 0 !== live.podcastId\"\n :podcast=\"live\"\n :fetch-conference=\"fetchConference\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport {onBeforeMount, onUnmounted, ref, Ref } from \"vue\";\nimport {\n Conference,\n ConferencePublicInfo,\n} from \"@/stores/class/conference/conference\";\n\n//Props \nconst props = defineProps({\n fetchConference: { default: undefined, type: Object as () => Conference },\n})\n \n//Emits\nconst emit = defineEmits([\"deleteItem\", \"updateItem\"]);\n\n//Data \nconst live: Ref<Podcast | undefined> = ref(undefined);\nconst watchInterval: Ref<ReturnType<typeof setInterval> | undefined> = ref(undefined);\n\n\nonBeforeMount(()=>initLiveItem());\nonUnmounted(()=>clearWatchStatus())\n\n\n//Methods\nfunction clearWatchStatus() {\n clearInterval(watchInterval.value as unknown as number);\n watchInterval.value = undefined;\n}\nasync function initLiveItem(){\n await fetchPodcastData();\n watchInterval.value = setInterval(() => {\n fetchStatus();\n }, 5000);\n}\nasync function fetchPodcastData(): Promise<void> {\n if (!props.fetchConference?.podcastId) return;\n try {\n live.value = await classicApi.fetchData<Podcast>({\n api: 0,\n path: \"podcast/\" + props.fetchConference.podcastId,\n });\n } catch {\n emit(\"deleteItem\");\n if (props.fetchConference.conferenceId) {\n await classicApi.deleteData({\n api: 9,\n path: \"conference/\" + props.fetchConference.conferenceId,\n });\n }\n }\n}\nasync function fetchStatus(): Promise<void> {\n if (\n !props.fetchConference ||\n (\"PLANNED\" !== props.fetchConference.status &&\n \"PENDING\" !== props.fetchConference.status &&\n \"RECORDING\" !== props.fetchConference.status)\n ) {\n clearWatchStatus();\n return;\n }\n const confInfo = await classicApi.fetchData<ConferencePublicInfo>({\n api: 9,\n path: \"conference/info/\" + props.fetchConference.conferenceId,\n });\n if (confInfo.status !== props.fetchConference.status) {\n emit(\"updateItem\", {\n ...props.fetchConference,\n ...confInfo,\n });\n }\n}\n</script>\n","<template>\n <section v-if=\"displayLiveList\" class=\"d-flex flex-column align-items-start mt-3\">\n <div\n class=\"d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center\"\n >\n <h2 class=\"mb-0\">\n {{ t(\"Live\") }}\n </h2>\n <router-link\n v-if=\"liveRight && !isPodcastmaker\"\n to=\"/main/priv/edit/live\"\n >\n <button class=\"btn btn-primary\">\n {{ t(\"Launch a new live\") }}\n </button>\n </router-link>\n </div>\n <ClassicSelect\n v-if=\"lives.length || 'ALL' !== selectedStatus\"\n v-model:text-init=\"selectedStatus\"\n id-select=\"status-live-chooser-select\"\n :label=\"t('Selection by status')\"\n :display-label=\"false\"\n :options=\"statusArraySelect\"\n class=\"mb-3\"\n />\n <ClassicLoading\n :loading-text=\"loading ? t('Loading lives...') : undefined\"\n :error-text=\"0 === lives.length ? t('No live currently') : undefined\"\n />\n <template v-if=\"lives.length\">\n <SwiperList v-if=\"!loading\" :list-object=\"lives\">\n <template #octopusSlide=\"{ option, index }\">\n <LiveItem\n :fetch-conference=\"option\"\n @delete-item=\"deleteLive(index)\"\n @update-item=\"updateLive($event, index)\"\n />\n </template>\n </SwiperList>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport LiveItem from \"./LiveItem.vue\";\nimport ClassicSelect from \"../../form/ClassicSelect.vue\";\nimport SwiperList from \"../list/SwiperList.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Conference } from \"@/stores/class/conference/conference\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n hideIfEmpty: { default: false, type: Boolean },\n})\n\n//Data \nconst loading = ref(true);\nconst loaded = ref(true);\nconst lives: Ref<Array<Conference>> = ref([]);\nconst isLiveAuthorized = ref(false);\nconst statusClassic= ref([\"RECORDING\", \"PENDING\", \"PLANNED\"]);\nconst statusAdmin = ref([\"DEBRIEFING\", \"ERROR\", \"PUBLISHING\"]);\nconst selectedStatus = ref(\"ALL\");\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst displayLiveList = computed(() => {\n return (\n (undefined !== filterStore.filterOrgaId ||\n undefined !== props.organisationId) &&\n (!props.hideIfEmpty || (props.hideIfEmpty && 0 !== lives.value.length))\n );\n});\nconst filterOrgaUsed = computed(() => {\n return filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId;\n});\nconst editRight = computed(() => {\n return isEditRights(filterOrgaUsed.value);\n});\nconst liveRight = computed(() => {\n return (\n authStore.isRoleLive &&\n \"true\" === authStore.authOrganisation.attributes?.[\"live.active\"]\n );\n});\nconst statusArraySelect = computed(() => {\n const statusArray = [{ title: t(\"All lives\"), value: \"ALL\" }];\n for (const status of statusFetched.value) {\n let title = \"\";\n switch (status) {\n case \"RECORDING\":\n title = t(\"In live\");\n break;\n case \"PENDING\":\n title = t(\"live upcoming\");\n break;\n case \"PLANNED\":\n title = t(\"live in few time\");\n break;\n case \"DEBRIEFING\":\n title = t(\"In debriefing\");\n break;\n case \"PUBLISHING\":\n title = t(\"In the process of being published\");\n break;\n case \"ERROR\":\n title = t(\"In error\");\n break;\n default:\n break;\n }\n statusArray.push({ title: title, value: status });\n }\n return statusArray;\n});\nconst statusFetched = computed(() => {\n if (editRight.value) {\n return statusClassic.value.concat(statusAdmin.value);\n }\n return statusClassic.value;\n});\n\n\n//Watch\nwatch(filterOrgaUsed, async () => {\n await checkIfLiveAuthorized();\n fetchContent();\n}, {immediate: true});\nwatch(selectedStatus, () => fetchContent());\n\n\n//Methods\nasync function checkIfLiveAuthorized(): Promise<void> {\n if (!filterOrgaUsed.value) {\n return;\n }\n isLiveAuthorized.value = await saveFetchStore.getOrgaLiveEnabled(\n filterOrgaUsed.value,\n );\n}\nfunction endLoading(): void {\n loading.value = false;\n loaded.value = true;\n}\nfunction updateLive(live: Conference, index: number): void {\n lives.value.splice(index, 1, live);\n}\nasync function fetchContent(): Promise<void> {\n lives.value.length = 0;\n if (!filterOrgaUsed.value || !isLiveAuthorized.value) {\n endLoading();\n return;\n }\n loading.value = true;\n loaded.value = false;\n try {\n const dataLives = await classicApi.fetchData<Array<Conference>>({\n api: 9,\n path: \"conference/list\",\n parameters: {\n organisationId: filterOrgaUsed.value,\n withPodcastId: true,\n status:\n \"ALL\" === selectedStatus.value\n ? statusFetched.value\n : selectedStatus.value,\n },\n });\n lives.value = dataLives.filter((p: Conference | null) => {\n return null !== p;\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n endLoading();\n}\nfunction deleteLive(index: number): void {\n lives.value.splice(index, 1);\n}\n</script>\n","<template>\n <section v-if=\"displayLiveList\" class=\"d-flex flex-column align-items-start mt-3\">\n <div\n class=\"d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center\"\n >\n <h2 class=\"mb-0\">\n {{ t(\"Live\") }}\n </h2>\n <router-link\n v-if=\"liveRight && !isPodcastmaker\"\n to=\"/main/priv/edit/live\"\n >\n <button class=\"btn btn-primary\">\n {{ t(\"Launch a new live\") }}\n </button>\n </router-link>\n </div>\n <ClassicSelect\n v-if=\"lives.length || 'ALL' !== selectedStatus\"\n v-model:text-init=\"selectedStatus\"\n id-select=\"status-live-chooser-select\"\n :label=\"t('Selection by status')\"\n :display-label=\"false\"\n :options=\"statusArraySelect\"\n class=\"mb-3\"\n />\n <ClassicLoading\n :loading-text=\"loading ? t('Loading lives...') : undefined\"\n :error-text=\"0 === lives.length ? t('No live currently') : undefined\"\n />\n <template v-if=\"lives.length\">\n <SwiperList v-if=\"!loading\" :list-object=\"lives\">\n <template #octopusSlide=\"{ option, index }\">\n <LiveItem\n :fetch-conference=\"option\"\n @delete-item=\"deleteLive(index)\"\n @update-item=\"updateLive($event, index)\"\n />\n </template>\n </SwiperList>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport LiveItem from \"./LiveItem.vue\";\nimport ClassicSelect from \"../../form/ClassicSelect.vue\";\nimport SwiperList from \"../list/SwiperList.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Conference } from \"@/stores/class/conference/conference\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n hideIfEmpty: { default: false, type: Boolean },\n})\n\n//Data \nconst loading = ref(true);\nconst loaded = ref(true);\nconst lives: Ref<Array<Conference>> = ref([]);\nconst isLiveAuthorized = ref(false);\nconst statusClassic= ref([\"RECORDING\", \"PENDING\", \"PLANNED\"]);\nconst statusAdmin = ref([\"DEBRIEFING\", \"ERROR\", \"PUBLISHING\"]);\nconst selectedStatus = ref(\"ALL\");\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst displayLiveList = computed(() => {\n return (\n (undefined !== filterStore.filterOrgaId ||\n undefined !== props.organisationId) &&\n (!props.hideIfEmpty || (props.hideIfEmpty && 0 !== lives.value.length))\n );\n});\nconst filterOrgaUsed = computed(() => {\n return filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId;\n});\nconst editRight = computed(() => {\n return isEditRights(filterOrgaUsed.value);\n});\nconst liveRight = computed(() => {\n return (\n authStore.isRoleLive &&\n \"true\" === authStore.authOrganisation.attributes?.[\"live.active\"]\n );\n});\nconst statusArraySelect = computed(() => {\n const statusArray = [{ title: t(\"All lives\"), value: \"ALL\" }];\n for (const status of statusFetched.value) {\n let title = \"\";\n switch (status) {\n case \"RECORDING\":\n title = t(\"In live\");\n break;\n case \"PENDING\":\n title = t(\"live upcoming\");\n break;\n case \"PLANNED\":\n title = t(\"live in few time\");\n break;\n case \"DEBRIEFING\":\n title = t(\"In debriefing\");\n break;\n case \"PUBLISHING\":\n title = t(\"In the process of being published\");\n break;\n case \"ERROR\":\n title = t(\"In error\");\n break;\n default:\n break;\n }\n statusArray.push({ title: title, value: status });\n }\n return statusArray;\n});\nconst statusFetched = computed(() => {\n if (editRight.value) {\n return statusClassic.value.concat(statusAdmin.value);\n }\n return statusClassic.value;\n});\n\n\n//Watch\nwatch(filterOrgaUsed, async () => {\n await checkIfLiveAuthorized();\n fetchContent();\n}, {immediate: true});\nwatch(selectedStatus, () => fetchContent());\n\n\n//Methods\nasync function checkIfLiveAuthorized(): Promise<void> {\n if (!filterOrgaUsed.value) {\n return;\n }\n isLiveAuthorized.value = await saveFetchStore.getOrgaLiveEnabled(\n filterOrgaUsed.value,\n );\n}\nfunction endLoading(): void {\n loading.value = false;\n loaded.value = true;\n}\nfunction updateLive(live: Conference, index: number): void {\n lives.value.splice(index, 1, live);\n}\nasync function fetchContent(): Promise<void> {\n lives.value.length = 0;\n if (!filterOrgaUsed.value || !isLiveAuthorized.value) {\n endLoading();\n return;\n }\n loading.value = true;\n loaded.value = false;\n try {\n const dataLives = await classicApi.fetchData<Array<Conference>>({\n api: 9,\n path: \"conference/list\",\n parameters: {\n organisationId: filterOrgaUsed.value,\n withPodcastId: true,\n status:\n \"ALL\" === selectedStatus.value\n ? statusFetched.value\n : selectedStatus.value,\n },\n });\n lives.value = dataLives.filter((p: Conference | null) => {\n return null !== p;\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n endLoading();\n}\nfunction deleteLive(index: number): void {\n lives.value.splice(index, 1);\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveList-DOi4GV1x.mjs","names":["classicApi","_sfc_render","_openBlock","_createBlock","_createCommentVNode","_sfc_main","classicApi","_resolveComponent","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createBlock","_withCtx","_createCommentVNode","_createVNode","_Fragment","_sfc_main"],"sources":["../src/components/display/live/LiveItem.vue","../src/components/display/live/LiveItem.vue","../src/components/display/live/LiveList.vue","../src/components/display/live/LiveList.vue"],"sourcesContent":["<template>\n <PodcastItem\n v-if=\"live && 0 !== live.podcastId\"\n :podcast=\"live\"\n :fetch-conference=\"fetchConference\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport {onBeforeMount, onUnmounted, ref, Ref } from \"vue\";\nimport {\n Conference,\n ConferencePublicInfo,\n} from \"@/stores/class/conference/conference\";\n\n//Props \nconst props = defineProps({\n fetchConference: { default: undefined, type: Object as () => Conference },\n})\n \n//Emits\nconst emit = defineEmits([\"deleteItem\", \"updateItem\"]);\n\n//Data \nconst live: Ref<Podcast | undefined> = ref(undefined);\nconst watchInterval: Ref<ReturnType<typeof setInterval> | undefined> = ref(undefined);\n\n\nonBeforeMount(()=>initLiveItem());\nonUnmounted(()=>clearWatchStatus())\n\n\n//Methods\nfunction clearWatchStatus() {\n clearInterval(watchInterval.value as unknown as number);\n watchInterval.value = undefined;\n}\nasync function initLiveItem(){\n await fetchPodcastData();\n watchInterval.value = setInterval(() => {\n fetchStatus();\n }, 5000);\n}\nasync function fetchPodcastData(): Promise<void> {\n if (!props.fetchConference?.podcastId) return;\n try {\n live.value = await classicApi.fetchData<Podcast>({\n api: 0,\n path: \"podcast/\" + props.fetchConference.podcastId,\n });\n } catch {\n emit(\"deleteItem\");\n if (props.fetchConference.conferenceId) {\n await classicApi.deleteData({\n api: 9,\n path: \"conference/\" + props.fetchConference.conferenceId,\n });\n }\n }\n}\nasync function fetchStatus(): Promise<void> {\n if (\n !props.fetchConference ||\n (\"PLANNED\" !== props.fetchConference.status &&\n \"PENDING\" !== props.fetchConference.status &&\n \"RECORDING\" !== props.fetchConference.status)\n ) {\n clearWatchStatus();\n return;\n }\n const confInfo = await classicApi.fetchData<ConferencePublicInfo>({\n api: 9,\n path: \"conference/info/\" + props.fetchConference.conferenceId,\n });\n if (confInfo.status !== props.fetchConference.status) {\n emit(\"updateItem\", {\n ...props.fetchConference,\n ...confInfo,\n });\n }\n}\n</script>\n","<template>\n <PodcastItem\n v-if=\"live && 0 !== live.podcastId\"\n :podcast=\"live\"\n :fetch-conference=\"fetchConference\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport {onBeforeMount, onUnmounted, ref, Ref } from \"vue\";\nimport {\n Conference,\n ConferencePublicInfo,\n} from \"@/stores/class/conference/conference\";\n\n//Props \nconst props = defineProps({\n fetchConference: { default: undefined, type: Object as () => Conference },\n})\n \n//Emits\nconst emit = defineEmits([\"deleteItem\", \"updateItem\"]);\n\n//Data \nconst live: Ref<Podcast | undefined> = ref(undefined);\nconst watchInterval: Ref<ReturnType<typeof setInterval> | undefined> = ref(undefined);\n\n\nonBeforeMount(()=>initLiveItem());\nonUnmounted(()=>clearWatchStatus())\n\n\n//Methods\nfunction clearWatchStatus() {\n clearInterval(watchInterval.value as unknown as number);\n watchInterval.value = undefined;\n}\nasync function initLiveItem(){\n await fetchPodcastData();\n watchInterval.value = setInterval(() => {\n fetchStatus();\n }, 5000);\n}\nasync function fetchPodcastData(): Promise<void> {\n if (!props.fetchConference?.podcastId) return;\n try {\n live.value = await classicApi.fetchData<Podcast>({\n api: 0,\n path: \"podcast/\" + props.fetchConference.podcastId,\n });\n } catch {\n emit(\"deleteItem\");\n if (props.fetchConference.conferenceId) {\n await classicApi.deleteData({\n api: 9,\n path: \"conference/\" + props.fetchConference.conferenceId,\n });\n }\n }\n}\nasync function fetchStatus(): Promise<void> {\n if (\n !props.fetchConference ||\n (\"PLANNED\" !== props.fetchConference.status &&\n \"PENDING\" !== props.fetchConference.status &&\n \"RECORDING\" !== props.fetchConference.status)\n ) {\n clearWatchStatus();\n return;\n }\n const confInfo = await classicApi.fetchData<ConferencePublicInfo>({\n api: 9,\n path: \"conference/info/\" + props.fetchConference.conferenceId,\n });\n if (confInfo.status !== props.fetchConference.status) {\n emit(\"updateItem\", {\n ...props.fetchConference,\n ...confInfo,\n });\n }\n}\n</script>\n","<template>\n <section v-if=\"displayLiveList\" class=\"d-flex flex-column align-items-start mt-3\">\n <div\n class=\"d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center\"\n >\n <h2 class=\"mb-0\">\n {{ t(\"Live\") }}\n </h2>\n <router-link\n v-if=\"liveRight && !isPodcastmaker\"\n to=\"/main/priv/edit/live\"\n >\n <button class=\"btn btn-primary\">\n {{ t(\"Launch a new live\") }}\n </button>\n </router-link>\n </div>\n <ClassicSelect\n v-if=\"lives.length || 'ALL' !== selectedStatus\"\n v-model:text-init=\"selectedStatus\"\n id-select=\"status-live-chooser-select\"\n :label=\"t('Selection by status')\"\n :display-label=\"false\"\n :options=\"statusArraySelect\"\n class=\"mb-3\"\n />\n <ClassicLoading\n :loading-text=\"loading ? t('Loading lives...') : undefined\"\n :error-text=\"0 === lives.length ? t('No live currently') : undefined\"\n />\n <template v-if=\"lives.length\">\n <SwiperList v-if=\"!loading\" :list-object=\"lives\">\n <template #octopusSlide=\"{ option, index }\">\n <LiveItem\n :fetch-conference=\"option\"\n @delete-item=\"deleteLive(index)\"\n @update-item=\"updateLive($event, index)\"\n />\n </template>\n </SwiperList>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport LiveItem from \"./LiveItem.vue\";\nimport ClassicSelect from \"../../form/ClassicSelect.vue\";\nimport SwiperList from \"../list/SwiperList.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Conference } from \"@/stores/class/conference/conference\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n hideIfEmpty: { default: false, type: Boolean },\n})\n\n//Data \nconst loading = ref(true);\nconst loaded = ref(true);\nconst lives: Ref<Array<Conference>> = ref([]);\nconst isLiveAuthorized = ref(false);\nconst statusClassic= ref([\"RECORDING\", \"PENDING\", \"PLANNED\"]);\nconst statusAdmin = ref([\"DEBRIEFING\", \"ERROR\", \"PUBLISHING\"]);\nconst selectedStatus = ref(\"ALL\");\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst displayLiveList = computed(() => {\n return (\n (undefined !== filterStore.filterOrgaId ||\n undefined !== props.organisationId) &&\n (!props.hideIfEmpty || (props.hideIfEmpty && 0 !== lives.value.length))\n );\n});\nconst filterOrgaUsed = computed(() => {\n return filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId;\n});\nconst editRight = computed(() => {\n return isEditRights(filterOrgaUsed.value);\n});\nconst liveRight = computed(() => {\n return (\n authStore.isRoleLive &&\n \"true\" === authStore.authOrganisation.attributes?.[\"live.active\"]\n );\n});\nconst statusArraySelect = computed(() => {\n const statusArray = [{ title: t(\"All lives\"), value: \"ALL\" }];\n for (const status of statusFetched.value) {\n let title = \"\";\n switch (status) {\n case \"RECORDING\":\n title = t(\"In live\");\n break;\n case \"PENDING\":\n title = t(\"live upcoming\");\n break;\n case \"PLANNED\":\n title = t(\"live in few time\");\n break;\n case \"DEBRIEFING\":\n title = t(\"In debriefing\");\n break;\n case \"PUBLISHING\":\n title = t(\"In the process of being published\");\n break;\n case \"ERROR\":\n title = t(\"In error\");\n break;\n default:\n break;\n }\n statusArray.push({ title: title, value: status });\n }\n return statusArray;\n});\nconst statusFetched = computed(() => {\n if (editRight.value) {\n return statusClassic.value.concat(statusAdmin.value);\n }\n return statusClassic.value;\n});\n\n\n//Watch\nwatch(filterOrgaUsed, async () => {\n await checkIfLiveAuthorized();\n fetchContent();\n}, {immediate: true});\nwatch(selectedStatus, () => fetchContent());\n\n\n//Methods\nasync function checkIfLiveAuthorized(): Promise<void> {\n if (!filterOrgaUsed.value) {\n return;\n }\n isLiveAuthorized.value = await saveFetchStore.getOrgaLiveEnabled(\n filterOrgaUsed.value,\n );\n}\nfunction endLoading(): void {\n loading.value = false;\n loaded.value = true;\n}\nfunction updateLive(live: Conference, index: number): void {\n lives.value.splice(index, 1, live);\n}\nasync function fetchContent(): Promise<void> {\n lives.value.length = 0;\n if (!filterOrgaUsed.value || !isLiveAuthorized.value) {\n endLoading();\n return;\n }\n loading.value = true;\n loaded.value = false;\n try {\n const dataLives = await classicApi.fetchData<Array<Conference>>({\n api: 9,\n path: \"conference/list\",\n parameters: {\n organisationId: filterOrgaUsed.value,\n withPodcastId: true,\n status:\n \"ALL\" === selectedStatus.value\n ? statusFetched.value\n : selectedStatus.value,\n },\n });\n lives.value = dataLives.filter((p: Conference | null) => {\n return null !== p;\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n endLoading();\n}\nfunction deleteLive(index: number): void {\n lives.value.splice(index, 1);\n}\n</script>\n","<template>\n <section v-if=\"displayLiveList\" class=\"d-flex flex-column align-items-start mt-3\">\n <div\n class=\"d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center\"\n >\n <h2 class=\"mb-0\">\n {{ t(\"Live\") }}\n </h2>\n <router-link\n v-if=\"liveRight && !isPodcastmaker\"\n to=\"/main/priv/edit/live\"\n >\n <button class=\"btn btn-primary\">\n {{ t(\"Launch a new live\") }}\n </button>\n </router-link>\n </div>\n <ClassicSelect\n v-if=\"lives.length || 'ALL' !== selectedStatus\"\n v-model:text-init=\"selectedStatus\"\n id-select=\"status-live-chooser-select\"\n :label=\"t('Selection by status')\"\n :display-label=\"false\"\n :options=\"statusArraySelect\"\n class=\"mb-3\"\n />\n <ClassicLoading\n :loading-text=\"loading ? t('Loading lives...') : undefined\"\n :error-text=\"0 === lives.length ? t('No live currently') : undefined\"\n />\n <template v-if=\"lives.length\">\n <SwiperList v-if=\"!loading\" :list-object=\"lives\">\n <template #octopusSlide=\"{ option, index }\">\n <LiveItem\n :fetch-conference=\"option\"\n @delete-item=\"deleteLive(index)\"\n @update-item=\"updateLive($event, index)\"\n />\n </template>\n </SwiperList>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport LiveItem from \"./LiveItem.vue\";\nimport ClassicSelect from \"../../form/ClassicSelect.vue\";\nimport SwiperList from \"../list/SwiperList.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Conference } from \"@/stores/class/conference/conference\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n hideIfEmpty: { default: false, type: Boolean },\n})\n\n//Data \nconst loading = ref(true);\nconst loaded = ref(true);\nconst lives: Ref<Array<Conference>> = ref([]);\nconst isLiveAuthorized = ref(false);\nconst statusClassic= ref([\"RECORDING\", \"PENDING\", \"PLANNED\"]);\nconst statusAdmin = ref([\"DEBRIEFING\", \"ERROR\", \"PUBLISHING\"]);\nconst selectedStatus = ref(\"ALL\");\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst displayLiveList = computed(() => {\n return (\n (undefined !== filterStore.filterOrgaId ||\n undefined !== props.organisationId) &&\n (!props.hideIfEmpty || (props.hideIfEmpty && 0 !== lives.value.length))\n );\n});\nconst filterOrgaUsed = computed(() => {\n return filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId;\n});\nconst editRight = computed(() => {\n return isEditRights(filterOrgaUsed.value);\n});\nconst liveRight = computed(() => {\n return (\n authStore.isRoleLive &&\n \"true\" === authStore.authOrganisation.attributes?.[\"live.active\"]\n );\n});\nconst statusArraySelect = computed(() => {\n const statusArray = [{ title: t(\"All lives\"), value: \"ALL\" }];\n for (const status of statusFetched.value) {\n let title = \"\";\n switch (status) {\n case \"RECORDING\":\n title = t(\"In live\");\n break;\n case \"PENDING\":\n title = t(\"live upcoming\");\n break;\n case \"PLANNED\":\n title = t(\"live in few time\");\n break;\n case \"DEBRIEFING\":\n title = t(\"In debriefing\");\n break;\n case \"PUBLISHING\":\n title = t(\"In the process of being published\");\n break;\n case \"ERROR\":\n title = t(\"In error\");\n break;\n default:\n break;\n }\n statusArray.push({ title: title, value: status });\n }\n return statusArray;\n});\nconst statusFetched = computed(() => {\n if (editRight.value) {\n return statusClassic.value.concat(statusAdmin.value);\n }\n return statusClassic.value;\n});\n\n\n//Watch\nwatch(filterOrgaUsed, async () => {\n await checkIfLiveAuthorized();\n fetchContent();\n}, {immediate: true});\nwatch(selectedStatus, () => fetchContent());\n\n\n//Methods\nasync function checkIfLiveAuthorized(): Promise<void> {\n if (!filterOrgaUsed.value) {\n return;\n }\n isLiveAuthorized.value = await saveFetchStore.getOrgaLiveEnabled(\n filterOrgaUsed.value,\n );\n}\nfunction endLoading(): void {\n loading.value = false;\n loaded.value = true;\n}\nfunction updateLive(live: Conference, index: number): void {\n lives.value.splice(index, 1, live);\n}\nasync function fetchContent(): Promise<void> {\n lives.value.length = 0;\n if (!filterOrgaUsed.value || !isLiveAuthorized.value) {\n endLoading();\n return;\n }\n loading.value = true;\n loaded.value = false;\n try {\n const dataLives = await classicApi.fetchData<Array<Conference>>({\n api: 9,\n path: \"conference/list\",\n parameters: {\n organisationId: filterOrgaUsed.value,\n withPodcastId: true,\n status:\n \"ALL\" === selectedStatus.value\n ? statusFetched.value\n : selectedStatus.value,\n },\n });\n lives.value = dataLives.filter((p: Conference | null) => {\n return null !== p;\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n endLoading();\n}\nfunction deleteLive(index: number): void {\n lives.value.splice(index, 1);\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveList-Dh1mJVs7.mjs","names":["classicApi","_sfc_render","_openBlock","_createBlock","_createCommentVNode","_sfc_main","classicApi","_resolveComponent","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_createBlock","_withCtx","_createCommentVNode","_createVNode","_Fragment","_sfc_main"],"sources":["../src/components/display/live/LiveItem.vue","../src/components/display/live/LiveItem.vue","../src/components/display/live/LiveList.vue","../src/components/display/live/LiveList.vue"],"sourcesContent":["<template>\n <PodcastItem\n v-if=\"live && 0 !== live.podcastId\"\n :podcast=\"live\"\n :fetch-conference=\"fetchConference\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport {onBeforeMount, onUnmounted, ref, Ref } from \"vue\";\nimport {\n Conference,\n ConferencePublicInfo,\n} from \"@/stores/class/conference/conference\";\n\n//Props \nconst props = defineProps({\n fetchConference: { default: undefined, type: Object as () => Conference },\n})\n \n//Emits\nconst emit = defineEmits([\"deleteItem\", \"updateItem\"]);\n\n//Data \nconst live: Ref<Podcast | undefined> = ref(undefined);\nconst watchInterval: Ref<ReturnType<typeof setInterval> | undefined> = ref(undefined);\n\n\nonBeforeMount(()=>initLiveItem());\nonUnmounted(()=>clearWatchStatus())\n\n\n//Methods\nfunction clearWatchStatus() {\n clearInterval(watchInterval.value as unknown as number);\n watchInterval.value = undefined;\n}\nasync function initLiveItem(){\n await fetchPodcastData();\n watchInterval.value = setInterval(() => {\n fetchStatus();\n }, 5000);\n}\nasync function fetchPodcastData(): Promise<void> {\n if (!props.fetchConference?.podcastId) return;\n try {\n live.value = await classicApi.fetchData<Podcast>({\n api: 0,\n path: \"podcast/\" + props.fetchConference.podcastId,\n });\n } catch {\n emit(\"deleteItem\");\n if (props.fetchConference.conferenceId) {\n await classicApi.deleteData({\n api: 9,\n path: \"conference/\" + props.fetchConference.conferenceId,\n });\n }\n }\n}\nasync function fetchStatus(): Promise<void> {\n if (\n !props.fetchConference ||\n (\"PLANNED\" !== props.fetchConference.status &&\n \"PENDING\" !== props.fetchConference.status &&\n \"RECORDING\" !== props.fetchConference.status)\n ) {\n clearWatchStatus();\n return;\n }\n const confInfo = await classicApi.fetchData<ConferencePublicInfo>({\n api: 9,\n path: \"conference/info/\" + props.fetchConference.conferenceId,\n });\n if (confInfo.status !== props.fetchConference.status) {\n emit(\"updateItem\", {\n ...props.fetchConference,\n ...confInfo,\n });\n }\n}\n</script>\n","<template>\n <PodcastItem\n v-if=\"live && 0 !== live.podcastId\"\n :podcast=\"live\"\n :fetch-conference=\"fetchConference\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport {onBeforeMount, onUnmounted, ref, Ref } from \"vue\";\nimport {\n Conference,\n ConferencePublicInfo,\n} from \"@/stores/class/conference/conference\";\n\n//Props \nconst props = defineProps({\n fetchConference: { default: undefined, type: Object as () => Conference },\n})\n \n//Emits\nconst emit = defineEmits([\"deleteItem\", \"updateItem\"]);\n\n//Data \nconst live: Ref<Podcast | undefined> = ref(undefined);\nconst watchInterval: Ref<ReturnType<typeof setInterval> | undefined> = ref(undefined);\n\n\nonBeforeMount(()=>initLiveItem());\nonUnmounted(()=>clearWatchStatus())\n\n\n//Methods\nfunction clearWatchStatus() {\n clearInterval(watchInterval.value as unknown as number);\n watchInterval.value = undefined;\n}\nasync function initLiveItem(){\n await fetchPodcastData();\n watchInterval.value = setInterval(() => {\n fetchStatus();\n }, 5000);\n}\nasync function fetchPodcastData(): Promise<void> {\n if (!props.fetchConference?.podcastId) return;\n try {\n live.value = await classicApi.fetchData<Podcast>({\n api: 0,\n path: \"podcast/\" + props.fetchConference.podcastId,\n });\n } catch {\n emit(\"deleteItem\");\n if (props.fetchConference.conferenceId) {\n await classicApi.deleteData({\n api: 9,\n path: \"conference/\" + props.fetchConference.conferenceId,\n });\n }\n }\n}\nasync function fetchStatus(): Promise<void> {\n if (\n !props.fetchConference ||\n (\"PLANNED\" !== props.fetchConference.status &&\n \"PENDING\" !== props.fetchConference.status &&\n \"RECORDING\" !== props.fetchConference.status)\n ) {\n clearWatchStatus();\n return;\n }\n const confInfo = await classicApi.fetchData<ConferencePublicInfo>({\n api: 9,\n path: \"conference/info/\" + props.fetchConference.conferenceId,\n });\n if (confInfo.status !== props.fetchConference.status) {\n emit(\"updateItem\", {\n ...props.fetchConference,\n ...confInfo,\n });\n }\n}\n</script>\n","<template>\n <section v-if=\"displayLiveList\" class=\"d-flex flex-column align-items-start mt-3\">\n <div\n class=\"d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center\"\n >\n <h2 class=\"mb-0\">\n {{ t(\"Live\") }}\n </h2>\n <router-link\n v-if=\"liveRight && !isPodcastmaker\"\n to=\"/main/priv/edit/live\"\n >\n <button class=\"btn btn-primary\">\n {{ t(\"Launch a new live\") }}\n </button>\n </router-link>\n </div>\n <ClassicSelect\n v-if=\"lives.length || 'ALL' !== selectedStatus\"\n v-model:text-init=\"selectedStatus\"\n id-select=\"status-live-chooser-select\"\n :label=\"t('Selection by status')\"\n :display-label=\"false\"\n :options=\"statusArraySelect\"\n class=\"mb-3\"\n />\n <ClassicLoading\n :loading-text=\"loading ? t('Loading lives...') : undefined\"\n :error-text=\"0 === lives.length ? t('No live currently') : undefined\"\n />\n <template v-if=\"lives.length\">\n <SwiperList v-if=\"!loading\" :list-object=\"lives\">\n <template #octopusSlide=\"{ option, index }\">\n <LiveItem\n :fetch-conference=\"option\"\n @delete-item=\"deleteLive(index)\"\n @update-item=\"updateLive($event, index)\"\n />\n </template>\n </SwiperList>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport LiveItem from \"./LiveItem.vue\";\nimport ClassicSelect from \"../../form/ClassicSelect.vue\";\nimport SwiperList from \"../list/SwiperList.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Conference } from \"@/stores/class/conference/conference\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n hideIfEmpty: { default: false, type: Boolean },\n})\n\n//Data \nconst loading = ref(true);\nconst loaded = ref(true);\nconst lives: Ref<Array<Conference>> = ref([]);\nconst isLiveAuthorized = ref(false);\nconst statusClassic= ref([\"RECORDING\", \"PENDING\", \"PLANNED\"]);\nconst statusAdmin = ref([\"DEBRIEFING\", \"ERROR\", \"PUBLISHING\"]);\nconst selectedStatus = ref(\"ALL\");\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst displayLiveList = computed(() => {\n return (\n (undefined !== filterStore.filterOrgaId ||\n undefined !== props.organisationId) &&\n (!props.hideIfEmpty || (props.hideIfEmpty && 0 !== lives.value.length))\n );\n});\nconst filterOrgaUsed = computed(() => {\n return filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId;\n});\nconst editRight = computed(() => {\n return isEditRights(filterOrgaUsed.value);\n});\nconst liveRight = computed(() => {\n return (\n authStore.isRoleLive &&\n \"true\" === authStore.authOrganisation.attributes?.[\"live.active\"]\n );\n});\nconst statusArraySelect = computed(() => {\n const statusArray = [{ title: t(\"All lives\"), value: \"ALL\" }];\n for (const status of statusFetched.value) {\n let title = \"\";\n switch (status) {\n case \"RECORDING\":\n title = t(\"In live\");\n break;\n case \"PENDING\":\n title = t(\"live upcoming\");\n break;\n case \"PLANNED\":\n title = t(\"live in few time\");\n break;\n case \"DEBRIEFING\":\n title = t(\"In debriefing\");\n break;\n case \"PUBLISHING\":\n title = t(\"In the process of being published\");\n break;\n case \"ERROR\":\n title = t(\"In error\");\n break;\n default:\n break;\n }\n statusArray.push({ title: title, value: status });\n }\n return statusArray;\n});\nconst statusFetched = computed(() => {\n if (editRight.value) {\n return statusClassic.value.concat(statusAdmin.value);\n }\n return statusClassic.value;\n});\n\n\n//Watch\nwatch(filterOrgaUsed, async () => {\n await checkIfLiveAuthorized();\n fetchContent();\n}, {immediate: true});\nwatch(selectedStatus, () => fetchContent());\n\n\n//Methods\nasync function checkIfLiveAuthorized(): Promise<void> {\n if (!filterOrgaUsed.value) {\n return;\n }\n isLiveAuthorized.value = await saveFetchStore.getOrgaLiveEnabled(\n filterOrgaUsed.value,\n );\n}\nfunction endLoading(): void {\n loading.value = false;\n loaded.value = true;\n}\nfunction updateLive(live: Conference, index: number): void {\n lives.value.splice(index, 1, live);\n}\nasync function fetchContent(): Promise<void> {\n lives.value.length = 0;\n if (!filterOrgaUsed.value || !isLiveAuthorized.value) {\n endLoading();\n return;\n }\n loading.value = true;\n loaded.value = false;\n try {\n const dataLives = await classicApi.fetchData<Array<Conference>>({\n api: 9,\n path: \"conference/list\",\n parameters: {\n organisationId: filterOrgaUsed.value,\n withPodcastId: true,\n status:\n \"ALL\" === selectedStatus.value\n ? statusFetched.value\n : selectedStatus.value,\n },\n });\n lives.value = dataLives.filter((p: Conference | null) => {\n return null !== p;\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n endLoading();\n}\nfunction deleteLive(index: number): void {\n lives.value.splice(index, 1);\n}\n</script>\n","<template>\n <section v-if=\"displayLiveList\" class=\"d-flex flex-column align-items-start mt-3\">\n <div\n class=\"d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center\"\n >\n <h2 class=\"mb-0\">\n {{ t(\"Live\") }}\n </h2>\n <router-link\n v-if=\"liveRight && !isPodcastmaker\"\n to=\"/main/priv/edit/live\"\n >\n <button class=\"btn btn-primary\">\n {{ t(\"Launch a new live\") }}\n </button>\n </router-link>\n </div>\n <ClassicSelect\n v-if=\"lives.length || 'ALL' !== selectedStatus\"\n v-model:text-init=\"selectedStatus\"\n id-select=\"status-live-chooser-select\"\n :label=\"t('Selection by status')\"\n :display-label=\"false\"\n :options=\"statusArraySelect\"\n class=\"mb-3\"\n />\n <ClassicLoading\n :loading-text=\"loading ? t('Loading lives...') : undefined\"\n :error-text=\"0 === lives.length ? t('No live currently') : undefined\"\n />\n <template v-if=\"lives.length\">\n <SwiperList v-if=\"!loading\" :list-object=\"lives\">\n <template #octopusSlide=\"{ option, index }\">\n <LiveItem\n :fetch-conference=\"option\"\n @delete-item=\"deleteLive(index)\"\n @update-item=\"updateLive($event, index)\"\n />\n </template>\n </SwiperList>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport LiveItem from \"./LiveItem.vue\";\nimport ClassicSelect from \"../../form/ClassicSelect.vue\";\nimport SwiperList from \"../list/SwiperList.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Conference } from \"@/stores/class/conference/conference\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n hideIfEmpty: { default: false, type: Boolean },\n})\n\n//Data \nconst loading = ref(true);\nconst loaded = ref(true);\nconst lives: Ref<Array<Conference>> = ref([]);\nconst isLiveAuthorized = ref(false);\nconst statusClassic= ref([\"RECORDING\", \"PENDING\", \"PLANNED\"]);\nconst statusAdmin = ref([\"DEBRIEFING\", \"ERROR\", \"PUBLISHING\"]);\nconst selectedStatus = ref(\"ALL\");\n\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst {handle403} = useErrorHandler();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst saveFetchStore = useSaveFetchStore();\n\n\n//Computed\nconst displayLiveList = computed(() => {\n return (\n (undefined !== filterStore.filterOrgaId ||\n undefined !== props.organisationId) &&\n (!props.hideIfEmpty || (props.hideIfEmpty && 0 !== lives.value.length))\n );\n});\nconst filterOrgaUsed = computed(() => {\n return filterStore.filterOrgaId ? filterStore.filterOrgaId : props.organisationId;\n});\nconst editRight = computed(() => {\n return isEditRights(filterOrgaUsed.value);\n});\nconst liveRight = computed(() => {\n return (\n authStore.isRoleLive &&\n \"true\" === authStore.authOrganisation.attributes?.[\"live.active\"]\n );\n});\nconst statusArraySelect = computed(() => {\n const statusArray = [{ title: t(\"All lives\"), value: \"ALL\" }];\n for (const status of statusFetched.value) {\n let title = \"\";\n switch (status) {\n case \"RECORDING\":\n title = t(\"In live\");\n break;\n case \"PENDING\":\n title = t(\"live upcoming\");\n break;\n case \"PLANNED\":\n title = t(\"live in few time\");\n break;\n case \"DEBRIEFING\":\n title = t(\"In debriefing\");\n break;\n case \"PUBLISHING\":\n title = t(\"In the process of being published\");\n break;\n case \"ERROR\":\n title = t(\"In error\");\n break;\n default:\n break;\n }\n statusArray.push({ title: title, value: status });\n }\n return statusArray;\n});\nconst statusFetched = computed(() => {\n if (editRight.value) {\n return statusClassic.value.concat(statusAdmin.value);\n }\n return statusClassic.value;\n});\n\n\n//Watch\nwatch(filterOrgaUsed, async () => {\n await checkIfLiveAuthorized();\n fetchContent();\n}, {immediate: true});\nwatch(selectedStatus, () => fetchContent());\n\n\n//Methods\nasync function checkIfLiveAuthorized(): Promise<void> {\n if (!filterOrgaUsed.value) {\n return;\n }\n isLiveAuthorized.value = await saveFetchStore.getOrgaLiveEnabled(\n filterOrgaUsed.value,\n );\n}\nfunction endLoading(): void {\n loading.value = false;\n loaded.value = true;\n}\nfunction updateLive(live: Conference, index: number): void {\n lives.value.splice(index, 1, live);\n}\nasync function fetchContent(): Promise<void> {\n lives.value.length = 0;\n if (!filterOrgaUsed.value || !isLiveAuthorized.value) {\n endLoading();\n return;\n }\n loading.value = true;\n loaded.value = false;\n try {\n const dataLives = await classicApi.fetchData<Array<Conference>>({\n api: 9,\n path: \"conference/list\",\n parameters: {\n organisationId: filterOrgaUsed.value,\n withPodcastId: true,\n status:\n \"ALL\" === selectedStatus.value\n ? statusFetched.value\n : selectedStatus.value,\n },\n });\n lives.value = dataLives.filter((p: Conference | null) => {\n return null !== p;\n });\n } catch (error) {\n handle403(error as AxiosError);\n }\n endLoading();\n}\nfunction deleteLive(index: number): void {\n lives.value.splice(index, 1);\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivesPage-BvDLscOE.mjs","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_toDisplayString","_createVNode","_createCommentVNode","_createBlock","_sfc_main"],"sources":["../src/components/pages/LivesPage.vue","../src/components/pages/LivesPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"!filterStore.filterOrgaId && !organisationId && !state.generalParameters.podcastmaker\">\n <div class=\"align-self-start fw-bold mb-2\">\n {{ t(\"Please chose a productor\") }}\n </div>\n <OrganisationChooser\n :defaultanswer=\"t('Please chose a productor')\"\n @selected=\"onOrganisationSelected\"\n />\n </template>\n <template v-if=\"filterStore.filterOrgaId || organisationId\">\n <LiveList :organisation-id=\"organisationId\" />\n <RadioList v-if=\"!notRadios\" :organisation-id=\"organisationId\" />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { defineAsyncComponent, onMounted } from \"vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\nconst LiveList = defineAsyncComponent(\n () => import(\"../display/live/LiveList.vue\"),\n);\nconst RadioList = defineAsyncComponent(\n () => import(\"../display/live/RadioList.vue\"),\n);\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooser.vue\"),\n);\n\n\n//Props\nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n productor: { default: undefined, type: String },\n notRadios: { default: false, type: Boolean },\n});\n\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\"]);\n\n\n//Composables\nconst { t } = useI18n();\nconst filterStore = useFilterStore();\n\n\nonMounted(() => {\n if (props.productor) {\n emit(\"update:organisationId\", props.productor);\n } else if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }\n})\n\n//Methods\nfunction onOrganisationSelected(organisation: Organisation | undefined): void {\n emit(\"update:organisationId\", organisation?.id);\n}\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"!filterStore.filterOrgaId && !organisationId && !state.generalParameters.podcastmaker\">\n <div class=\"align-self-start fw-bold mb-2\">\n {{ t(\"Please chose a productor\") }}\n </div>\n <OrganisationChooser\n :defaultanswer=\"t('Please chose a productor')\"\n @selected=\"onOrganisationSelected\"\n />\n </template>\n <template v-if=\"filterStore.filterOrgaId || organisationId\">\n <LiveList :organisation-id=\"organisationId\" />\n <RadioList v-if=\"!notRadios\" :organisation-id=\"organisationId\" />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { defineAsyncComponent, onMounted } from \"vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\nconst LiveList = defineAsyncComponent(\n () => import(\"../display/live/LiveList.vue\"),\n);\nconst RadioList = defineAsyncComponent(\n () => import(\"../display/live/RadioList.vue\"),\n);\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooser.vue\"),\n);\n\n\n//Props\nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n productor: { default: undefined, type: String },\n notRadios: { default: false, type: Boolean },\n});\n\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\"]);\n\n\n//Composables\nconst { t } = useI18n();\nconst filterStore = useFilterStore();\n\n\nonMounted(() => {\n if (props.productor) {\n emit(\"update:organisationId\", props.productor);\n } else if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }\n})\n\n//Methods\nfunction onOrganisationSelected(organisation: Organisation | undefined): void {\n emit(\"update:organisationId\", organisation?.id);\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAwBA,MAAM,WAAW,2BACT,OAAO,0BACf;EACA,MAAM,YAAY,2BACV,OAAO,2BACf;EACA,MAAM,sBAAsB,2BACpB,OAAO,qCACf;EAIA,MAAM,QAAQ;EAQd,MAAM,OAAO;EAIb,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,cAAc,eAAe;EAGnC,gBAAgB;GACd,IAAI,MAAM,WACR,KAAK,yBAAyB,MAAM,SAAS;QACxC,IAAI,YAAY,cACrB,KAAK,yBAAyB,YAAY,YAAY;EAE1D,CAAC;EAGD,SAAS,uBAAuB,cAA8C;GAC5E,KAAK,yBAAyB,cAAc,EAAE;EAChD;;;;;;;;;;;;;;;;;;;;;;;AC9DW,IAAA,aAAA,EAAA,OAAM,WAAU;AAEhB,IAAA,aAAA,EAAA,OAAM,gCAA+B;;CAF9C,OAAAA,UAAA,GAAAC,mBAcU,WAdV,YAcU,CAbS,CAAA,OAAA,YAAY,gBAAY,CAAK,OAAA,kBAAc,CAAK,OAAA,MAAM,kBAAkB,gBAAzFD,UAAA,GAAAC,mBAQWC,UAAA,EAAA,KAAA,EAAA,GAAA,CAPTC,mBAEM,OAFN,YAEMC,gBADD,OAAA,EAAC,0BAAA,CAAA,GAAA,CAAA,GAENC,YAGE,OAAA,wBAAA;EAFC,eAAe,OAAA,EAAC,0BAAA;EAChB,YAAU,OAAA;CAGC,GAAA,MAAA,GAAA,CAAA,eAAA,CAAA,CAAA,GAAA,EAAA,KAAAC,mBAAA,QAAA,IAAA,GAAA,OAAA,YAAY,gBAAgB,OAAA,kBAA5CN,UAAA,GAAAC,mBAGWC,UAAA,EAAA,KAAA,EAAA,GAAA,CAFTG,YAA8C,OAAA,aAAA,EAAnC,mBAAiB,OAAA,eAAc,GAAA,MAAA,GAAA,CAAA,iBAAA,CAAA,GACxB,CAAA,OAAA,aAAlBL,UAAA,GAAAO,YAAiE,OAAA,cAAA;;EAAnC,mBAAiB,OAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { j as e, r as t } from "./classicApi-CGipMqf7.mjs";
|
|
2
2
|
import { Fragment as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, onMounted as u, openBlock as d, toDisplayString as f, unref as p } from "vue";
|
|
3
3
|
import { useI18n as m } from "vue-i18n";
|
|
4
4
|
//#region src/components/pages/LivesPage.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -20,7 +20,7 @@ var h = { class: "page-box" }, g = { class: "align-self-start fw-bold mb-2" }, _
|
|
|
20
20
|
},
|
|
21
21
|
emits: ["update:organisationId"],
|
|
22
22
|
setup(l, { emit: _ }) {
|
|
23
|
-
let v = c(() => import("./LiveList-
|
|
23
|
+
let v = c(() => import("./LiveList-BVOEnAEc.mjs")), y = c(() => import("./RadioList-BZFFAobk.mjs")), b = c(() => import("./OrganisationChooser-C48cWqbY.mjs")), x = l, S = _, { t: C } = m(), w = t();
|
|
24
24
|
u(() => {
|
|
25
25
|
x.productor ? S("update:organisationId", x.productor) : w.filterOrgaId && S("update:organisationId", w.filterOrgaId);
|
|
26
26
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivesPage-DmSlg7iH.mjs","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_toDisplayString","_createVNode","_createCommentVNode","_createBlock","_sfc_main"],"sources":["../src/components/pages/LivesPage.vue","../src/components/pages/LivesPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"!filterStore.filterOrgaId && !organisationId && !state.generalParameters.podcastmaker\">\n <div class=\"align-self-start fw-bold mb-2\">\n {{ t(\"Please chose a productor\") }}\n </div>\n <OrganisationChooser\n :defaultanswer=\"t('Please chose a productor')\"\n @selected=\"onOrganisationSelected\"\n />\n </template>\n <template v-if=\"filterStore.filterOrgaId || organisationId\">\n <LiveList :organisation-id=\"organisationId\" />\n <RadioList v-if=\"!notRadios\" :organisation-id=\"organisationId\" />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { defineAsyncComponent, onMounted } from \"vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\nconst LiveList = defineAsyncComponent(\n () => import(\"../display/live/LiveList.vue\"),\n);\nconst RadioList = defineAsyncComponent(\n () => import(\"../display/live/RadioList.vue\"),\n);\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooser.vue\"),\n);\n\n\n//Props\nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n productor: { default: undefined, type: String },\n notRadios: { default: false, type: Boolean },\n});\n\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\"]);\n\n\n//Composables\nconst { t } = useI18n();\nconst filterStore = useFilterStore();\n\n\nonMounted(() => {\n if (props.productor) {\n emit(\"update:organisationId\", props.productor);\n } else if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }\n})\n\n//Methods\nfunction onOrganisationSelected(organisation: Organisation | undefined): void {\n emit(\"update:organisationId\", organisation?.id);\n}\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"!filterStore.filterOrgaId && !organisationId && !state.generalParameters.podcastmaker\">\n <div class=\"align-self-start fw-bold mb-2\">\n {{ t(\"Please chose a productor\") }}\n </div>\n <OrganisationChooser\n :defaultanswer=\"t('Please chose a productor')\"\n @selected=\"onOrganisationSelected\"\n />\n </template>\n <template v-if=\"filterStore.filterOrgaId || organisationId\">\n <LiveList :organisation-id=\"organisationId\" />\n <RadioList v-if=\"!notRadios\" :organisation-id=\"organisationId\" />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { defineAsyncComponent, onMounted } from \"vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\nconst LiveList = defineAsyncComponent(\n () => import(\"../display/live/LiveList.vue\"),\n);\nconst RadioList = defineAsyncComponent(\n () => import(\"../display/live/RadioList.vue\"),\n);\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooser.vue\"),\n);\n\n\n//Props\nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n productor: { default: undefined, type: String },\n notRadios: { default: false, type: Boolean },\n});\n\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\"]);\n\n\n//Composables\nconst { t } = useI18n();\nconst filterStore = useFilterStore();\n\n\nonMounted(() => {\n if (props.productor) {\n emit(\"update:organisationId\", props.productor);\n } else if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }\n})\n\n//Methods\nfunction onOrganisationSelected(organisation: Organisation | undefined): void {\n emit(\"update:organisationId\", organisation?.id);\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAwBA,MAAM,WAAW,2BACT,OAAO,0BACf;EACA,MAAM,YAAY,2BACV,OAAO,2BACf;EACA,MAAM,sBAAsB,2BACpB,OAAO,qCACf;EAIA,MAAM,QAAQ;EAQd,MAAM,OAAO;EAIb,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,cAAc,eAAe;EAGnC,gBAAgB;GACd,IAAI,MAAM,WACR,KAAK,yBAAyB,MAAM,SAAS;QACxC,IAAI,YAAY,cACrB,KAAK,yBAAyB,YAAY,YAAY;EAE1D,CAAC;EAGD,SAAS,uBAAuB,cAA8C;GAC5E,KAAK,yBAAyB,cAAc,EAAE;EAChD;;;;;;;;;;;;;;;;;;;;;;;AC9DW,IAAA,aAAA,EAAA,OAAM,WAAU;AAEhB,IAAA,aAAA,EAAA,OAAM,gCAA+B;;CAF9C,OAAAA,UAAA,GAAAC,mBAcU,WAdV,YAcU,CAbS,CAAA,OAAA,YAAY,gBAAY,CAAK,OAAA,kBAAc,CAAK,OAAA,MAAM,kBAAkB,gBAAzFD,UAAA,GAAAC,mBAQWC,UAAA,EAAA,KAAA,EAAA,GAAA,CAPTC,mBAEM,OAFN,YAEMC,gBADD,OAAA,EAAC,0BAAA,CAAA,GAAA,CAAA,GAENC,YAGE,OAAA,wBAAA;EAFC,eAAe,OAAA,EAAC,0BAAA;EAChB,YAAU,OAAA;CAGC,GAAA,MAAA,GAAA,CAAA,eAAA,CAAA,CAAA,GAAA,EAAA,KAAAC,mBAAA,QAAA,IAAA,GAAA,OAAA,YAAY,gBAAgB,OAAA,kBAA5CN,UAAA,GAAAC,mBAGWC,UAAA,EAAA,KAAA,EAAA,GAAA,CAFTG,YAA8C,OAAA,aAAA,EAAnC,mBAAiB,OAAA,eAAc,GAAA,MAAA,GAAA,CAAA,iBAAA,CAAA,GACxB,CAAA,OAAA,aAAlBL,UAAA,GAAAO,YAAiE,OAAA,cAAA;;EAAnC,mBAAiB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivesPage-yy_5pI8R.mjs","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_toDisplayString","_createVNode","_createCommentVNode","_createBlock","_sfc_main"],"sources":["../src/components/pages/LivesPage.vue","../src/components/pages/LivesPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <template v-if=\"!filterStore.filterOrgaId && !organisationId && !state.generalParameters.podcastmaker\">\n <div class=\"align-self-start fw-bold mb-2\">\n {{ t(\"Please chose a productor\") }}\n </div>\n <OrganisationChooser\n :defaultanswer=\"t('Please chose a productor')\"\n @selected=\"onOrganisationSelected\"\n />\n </template>\n <template v-if=\"filterStore.filterOrgaId || organisationId\">\n <LiveList :organisation-id=\"organisationId\" />\n <RadioList v-if=\"!notRadios\" :organisation-id=\"organisationId\" />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { defineAsyncComponent, onMounted } from \"vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\nconst LiveList = defineAsyncComponent(\n () => import(\"../display/live/LiveList.vue\"),\n);\nconst RadioList = defineAsyncComponent(\n () => import(\"../display/live/RadioList.vue\"),\n);\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooser.vue\"),\n);\n\n\n//Props\nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n productor: { default: undefined, type: String },\n notRadios: { default: false, type: Boolean },\n});\n\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\"]);\n\n\n//Composables\nconst { t } = useI18n();\nconst filterStore = useFilterStore();\n\n\nonMounted(() => {\n if (props.productor) {\n emit(\"update:organisationId\", props.productor);\n } else if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }\n})\n\n//Methods\nfunction onOrganisationSelected(organisation: Organisation | undefined): void {\n emit(\"update:organisationId\", organisation?.id);\n}\n</script>\n","<template>\n <section class=\"page-box\">\n <template v-if=\"!filterStore.filterOrgaId && !organisationId && !state.generalParameters.podcastmaker\">\n <div class=\"align-self-start fw-bold mb-2\">\n {{ t(\"Please chose a productor\") }}\n </div>\n <OrganisationChooser\n :defaultanswer=\"t('Please chose a productor')\"\n @selected=\"onOrganisationSelected\"\n />\n </template>\n <template v-if=\"filterStore.filterOrgaId || organisationId\">\n <LiveList :organisation-id=\"organisationId\" />\n <RadioList v-if=\"!notRadios\" :organisation-id=\"organisationId\" />\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { defineAsyncComponent, onMounted } from \"vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useI18n } from \"vue-i18n\";\nconst LiveList = defineAsyncComponent(\n () => import(\"../display/live/LiveList.vue\"),\n);\nconst RadioList = defineAsyncComponent(\n () => import(\"../display/live/RadioList.vue\"),\n);\nconst OrganisationChooser = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooser.vue\"),\n);\n\n\n//Props\nconst props = defineProps({\n organisationId: { default: undefined, type: String },\n productor: { default: undefined, type: String },\n notRadios: { default: false, type: Boolean },\n});\n\n\n//Emits\nconst emit = defineEmits([\"update:organisationId\"]);\n\n\n//Composables\nconst { t } = useI18n();\nconst filterStore = useFilterStore();\n\n\nonMounted(() => {\n if (props.productor) {\n emit(\"update:organisationId\", props.productor);\n } else if (filterStore.filterOrgaId) {\n emit(\"update:organisationId\", filterStore.filterOrgaId);\n }\n})\n\n//Methods\nfunction onOrganisationSelected(organisation: Organisation | undefined): void {\n emit(\"update:organisationId\", organisation?.id);\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAwBA,MAAM,WAAW,2BACT,OAAO,0BACf;EACA,MAAM,YAAY,2BACV,OAAO,2BACf;EACA,MAAM,sBAAsB,2BACpB,OAAO,qCACf;EAIA,MAAM,QAAQ;EAQd,MAAM,OAAO;EAIb,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,cAAc,eAAe;EAGnC,gBAAgB;GACd,IAAI,MAAM,WACR,KAAK,yBAAyB,MAAM,SAAS;QACxC,IAAI,YAAY,cACrB,KAAK,yBAAyB,YAAY,YAAY;EAE1D,CAAC;EAGD,SAAS,uBAAuB,cAA8C;GAC5E,KAAK,yBAAyB,cAAc,EAAE;EAChD;;;;;;;;;;;;;;;;;;;;;;;AC9DW,IAAA,aAAA,EAAA,OAAM,WAAU;AAEhB,IAAA,aAAA,EAAA,OAAM,gCAA+B;;CAF9C,OAAAA,UAAA,GAAAC,mBAcU,WAdV,YAcU,CAbS,CAAA,OAAA,YAAY,gBAAY,CAAK,OAAA,kBAAc,CAAK,OAAA,MAAM,kBAAkB,gBAAzFD,UAAA,GAAAC,mBAQWC,UAAA,EAAA,KAAA,EAAA,GAAA,CAPTC,mBAEM,OAFN,YAEMC,gBADD,OAAA,EAAC,0BAAA,CAAA,GAAA,CAAA,GAENC,YAGE,OAAA,wBAAA;EAFC,eAAe,OAAA,EAAC,0BAAA;EAChB,YAAU,OAAA;CAGC,GAAA,MAAA,GAAA,CAAA,eAAA,CAAA,CAAA,GAAA,EAAA,KAAAC,mBAAA,QAAA,IAAA,GAAA,OAAA,YAAY,gBAAgB,OAAA,kBAA5CN,UAAA,GAAAC,mBAGWC,UAAA,EAAA,KAAA,EAAA,GAAA,CAFTG,YAA8C,OAAA,aAAA,EAAnC,mBAAiB,OAAA,eAAc,GAAA,MAAA,GAAA,CAAA,iBAAA,CAAA,GACxB,CAAA,OAAA,aAAlBL,UAAA,GAAAO,YAAiE,OAAA,cAAA;;EAAnC,mBAAiB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapPage-3n-rigBK.mjs","names":["_resolveComponent","_openBlock","_createElementBlock","_createBlock","_resolveDynamicComponent","_withCtx","_createTextVNode","_toDisplayString","_createElementVNode","_Fragment","_renderList","_createVNode","_createCommentVNode","_sfc_main"],"sources":["../src/components/pages/MapPage.vue","../src/components/pages/MapPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box map-page\">\n <component :is=\"titleTag\">\n {{ t(\"Site map\") }}\n </component>\n <nav :aria-label=\"t('Site menu')\" class=\"d-flex flex-column align-items-center\">\n <ul class=\"my-1\">\n <template v-for=\"linkItem in siteMap\" :key=\"linkItem.id\">\n <li\n v-if=\"linkItem.condition\"\n :id=\"linkItem.id\"\n class=\"my-1\"\n >\n <router-link class=\"text-dark\" :to=\"linkItem.href\">\n {{\n linkItem.title\n }}\n </router-link>\n <ul v-if=\"linkItem.links\">\n <template v-for=\"subLink in linkItem.links\" :key=\"subLink.id\">\n <li\n v-if=\"subLink.condition\"\n :id=\"subLink.id\"\n class=\"my-1\"\n >\n <router-link class=\"text-dark\" :to=\"subLink.href\">\n {{\n subLink.title\n }}\n </router-link>\n </li>\n </template>\n </ul>\n </li>\n </template>\n </ul>\n </nav>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { computed, onMounted, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\ninterface LinkMapSite {\n id: string;\n title: string;\n href: string;\n condition: boolean;\n links: Array<{\n id: string;\n title: string;\n href: string;\n condition: boolean;\n }>;\n}\n\n\n//Props\nconst props = defineProps({\n externLinks: { default: () => [], type: Array as () => Array<LinkMapSite> },\n titleTag: { default: \"h1\", type: String },\n});\n\n//Data\nconst studioAuthorized = ref(true);\nconst radioAuthorized = ref(true);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\n\n\n//Computed\nconst isAuthenticated = computed(() =>undefined !== authStore.authProfile?.userId);\nconst isStudioAuth = computed(() =>(authStore.isRoleLive || authStore.isRoleContribution) && studioAuthorized.value);\nconst isPodcastmaker = computed(() =>state.generalParameters.podcastmaker);\nconst organisationsAvailable = computed(() =>authStore.authProfile?.organisations ?? []);\nconst siteMap = computed(() =>[\n ...contentSection.value,\n ...props.externLinks,\n ...userLinks.value,\n ...adminSection.value,\n ...footerLinks.value,\n]);\nconst contentSection = computed(() =>[\n {\n title: t(\"Home\"),\n id: \"link-page-home\",\n href: \"/main/pub/home\",\n condition: true,\n },\n {\n title: isPodcastmaker.value? t(\"Live\"): t(\"Radio & Live\"),\n id: \"link-page-lives\",\n href: \"/main/pub/lives\",\n condition: true,\n },\n {\n title: t(\"Podcasts\"),\n id: \"link-page-podcasts\",\n href: \"/main/pub/podcasts\",\n condition: true,\n },\n {\n title: t(\"Emissions\"),\n id: \"link-page-emissions\",\n href: \"/main/pub/emissions\",\n condition: true,\n },\n {\n title: t(\"Speakers\"),\n id: \"link-page-participants\",\n href: \"/main/pub/participants\",\n condition: true,\n },\n {\n title: t(\"Playlists\"),\n id: \"link-page-playlists\",\n href: \"/main/pub/playlists\",\n condition: true,\n },\n {\n title: t(\"Productors\"),\n id: \"link-page-productors\",\n href: \"/main/pub/productors\",\n condition:!isPodcastmaker.value && (!filterStore.filterOrgaId || generalStore.platformEducation),\n },\n]);\nconst userLinks = computed(() =>[\n {\n title: t(\"Edit my profile\"),\n href: { name: 'my-profile' },\n id: \"link-page-profile\",\n condition: !isPodcastmaker.value && isAuthenticated.value,\n },\n {\n title: t(\"Edit my organisation\"),\n href: \"/main/priv/edit/organisation\",\n id: \"link-page-organisation\",\n condition:\n !isPodcastmaker.value &&\n isAuthenticated.value &&\n (authStore.isRoleOrganisation || 1 < organisationsAvailable.value.length),\n },\n]);\nconst footerLinks = computed(() =>{\n if (isPodcastmaker.value || authStore.isGarRole) {\n return [];\n }\n return [\n {\n title: t(\"Contact\"),\n href: \"/main/pub/contact\",\n id: \"link-page-contact\",\n condition: true,\n },\n {\n title: t(\"Term of use\"),\n href: \"/main/pub/cgu\",\n id: \"link-page-cgu\",\n condition: true,\n },\n {\n title: t(\"Used libraries\"),\n href: \"/main/pub/libraries\",\n id: \"link-page-libraries\",\n condition: true,\n },\n ];\n});\nconst adminSection = computed(() =>{\n if (isPodcastmaker.value) {\n return [];\n }\n return [\n {\n title: t(\"Welcome in the Backoffice\"),\n href: \"/main/priv/backoffice\",\n id: \"link-page-backoffice\",\n condition: isAuthenticated.value,\n links: [\n {\n title: t(\"Upload\"),\n href: \"/main/priv/upload\",\n id: \"link-page-upload\",\n condition: authStore.isRoleContribution,\n },\n {\n title: t(\"Media library\"),\n href: \"/main/priv/media\",\n id: \"link-page-media\",\n condition: isStudioAuth.value,\n },\n {\n title: t(\"Studio\"),\n href: \"/main/priv/records\",\n id: \"link-page-records\",\n condition: isStudioAuth.value,\n },\n {\n title: t(\"Radio planning\"),\n href: \"/main/priv/radio/\",\n id: \"link-page-radio\",\n condition: authStore.isRoleRadio && radioAuthorized.value,\n },\n {\n title: t(\"Edit / Delete episodes\"),\n href: \"/main/pub/podcasts\",\n id: \"link-page-edit-podcast\",\n condition: true,\n },\n {\n title: t(\"Handle my players\"),\n href: \"/main/priv/players\",\n id: \"link-page-players\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Monetization\"),\n href: \"/main/priv/edit/adserv\",\n id: \"link-page-adserv\",\n condition: authStore.isRoleAdvertising && !generalStore.platformEducation,\n },\n {\n title: t(\"Handle FTP\"),\n href: \"/main/priv/edit/ftp\",\n id: \"link-page-ftp\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Topics and rubrics\"),\n href: \"/main/priv/edit/rubrics\",\n id: \"link-page-rubrics\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Handle RSS\"),\n href: \"/main/priv/edit/rss\",\n id: \"link-page-rss\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Handle my participants\"),\n href: \"/main/priv/participants/handle\",\n id: \"link-page-edit-participants\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Handle comments\"),\n href: \"/main/priv/comments\",\n id: \"link-page-comments\",\n condition: authStore.isRoleComments,\n },\n {\n title: t(\"See my statistics\"),\n href: \"/main/priv/show/stats\",\n id: \"link-page-stats\",\n condition: authStore.isRoleAnalytics,\n },\n {\n title: t(\"Organisations management\"),\n href: \"/main/priv/edit/contract\",\n id: \"link-page-contract\",\n condition: authStore.isRoleAdmin,\n },\n {\n title: t(\"My account\"),\n href: \"/main/priv/account\",\n id: \"link-page-account\",\n condition: true,\n },\n {\n title: t(\"Handle my users\"),\n href: \"/main/priv/user/handle\",\n id: \"link-page-users\",\n condition: authStore.isRoleUsers,\n },\n ],\n },\n ];\n});\n\n\nonMounted(() => {\n studioAuthorized.value = checkOrgaAttribute(\"studio.active\");\n radioAuthorized.value = checkOrgaAttribute(\"radio.active\");\n})\n\n\n//Methods\nfunction checkOrgaAttribute(attribute: string): boolean {\n return \"true\" == authStore.authOrganisation.attributes?.[attribute]?.toString();\n}\n</script>\n","<template>\n <section class=\"page-box map-page\">\n <component :is=\"titleTag\">\n {{ t(\"Site map\") }}\n </component>\n <nav :aria-label=\"t('Site menu')\" class=\"d-flex flex-column align-items-center\">\n <ul class=\"my-1\">\n <template v-for=\"linkItem in siteMap\" :key=\"linkItem.id\">\n <li\n v-if=\"linkItem.condition\"\n :id=\"linkItem.id\"\n class=\"my-1\"\n >\n <router-link class=\"text-dark\" :to=\"linkItem.href\">\n {{\n linkItem.title\n }}\n </router-link>\n <ul v-if=\"linkItem.links\">\n <template v-for=\"subLink in linkItem.links\" :key=\"subLink.id\">\n <li\n v-if=\"subLink.condition\"\n :id=\"subLink.id\"\n class=\"my-1\"\n >\n <router-link class=\"text-dark\" :to=\"subLink.href\">\n {{\n subLink.title\n }}\n </router-link>\n </li>\n </template>\n </ul>\n </li>\n </template>\n </ul>\n </nav>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { computed, onMounted, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\ninterface LinkMapSite {\n id: string;\n title: string;\n href: string;\n condition: boolean;\n links: Array<{\n id: string;\n title: string;\n href: string;\n condition: boolean;\n }>;\n}\n\n\n//Props\nconst props = defineProps({\n externLinks: { default: () => [], type: Array as () => Array<LinkMapSite> },\n titleTag: { default: \"h1\", type: String },\n});\n\n//Data\nconst studioAuthorized = ref(true);\nconst radioAuthorized = ref(true);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst filterStore = useFilterStore();\nconst generalStore = useGeneralStore();\n\n\n//Computed\nconst isAuthenticated = computed(() =>undefined !== authStore.authProfile?.userId);\nconst isStudioAuth = computed(() =>(authStore.isRoleLive || authStore.isRoleContribution) && studioAuthorized.value);\nconst isPodcastmaker = computed(() =>state.generalParameters.podcastmaker);\nconst organisationsAvailable = computed(() =>authStore.authProfile?.organisations ?? []);\nconst siteMap = computed(() =>[\n ...contentSection.value,\n ...props.externLinks,\n ...userLinks.value,\n ...adminSection.value,\n ...footerLinks.value,\n]);\nconst contentSection = computed(() =>[\n {\n title: t(\"Home\"),\n id: \"link-page-home\",\n href: \"/main/pub/home\",\n condition: true,\n },\n {\n title: isPodcastmaker.value? t(\"Live\"): t(\"Radio & Live\"),\n id: \"link-page-lives\",\n href: \"/main/pub/lives\",\n condition: true,\n },\n {\n title: t(\"Podcasts\"),\n id: \"link-page-podcasts\",\n href: \"/main/pub/podcasts\",\n condition: true,\n },\n {\n title: t(\"Emissions\"),\n id: \"link-page-emissions\",\n href: \"/main/pub/emissions\",\n condition: true,\n },\n {\n title: t(\"Speakers\"),\n id: \"link-page-participants\",\n href: \"/main/pub/participants\",\n condition: true,\n },\n {\n title: t(\"Playlists\"),\n id: \"link-page-playlists\",\n href: \"/main/pub/playlists\",\n condition: true,\n },\n {\n title: t(\"Productors\"),\n id: \"link-page-productors\",\n href: \"/main/pub/productors\",\n condition:!isPodcastmaker.value && (!filterStore.filterOrgaId || generalStore.platformEducation),\n },\n]);\nconst userLinks = computed(() =>[\n {\n title: t(\"Edit my profile\"),\n href: { name: 'my-profile' },\n id: \"link-page-profile\",\n condition: !isPodcastmaker.value && isAuthenticated.value,\n },\n {\n title: t(\"Edit my organisation\"),\n href: \"/main/priv/edit/organisation\",\n id: \"link-page-organisation\",\n condition:\n !isPodcastmaker.value &&\n isAuthenticated.value &&\n (authStore.isRoleOrganisation || 1 < organisationsAvailable.value.length),\n },\n]);\nconst footerLinks = computed(() =>{\n if (isPodcastmaker.value || authStore.isGarRole) {\n return [];\n }\n return [\n {\n title: t(\"Contact\"),\n href: \"/main/pub/contact\",\n id: \"link-page-contact\",\n condition: true,\n },\n {\n title: t(\"Term of use\"),\n href: \"/main/pub/cgu\",\n id: \"link-page-cgu\",\n condition: true,\n },\n {\n title: t(\"Used libraries\"),\n href: \"/main/pub/libraries\",\n id: \"link-page-libraries\",\n condition: true,\n },\n ];\n});\nconst adminSection = computed(() =>{\n if (isPodcastmaker.value) {\n return [];\n }\n return [\n {\n title: t(\"Welcome in the Backoffice\"),\n href: \"/main/priv/backoffice\",\n id: \"link-page-backoffice\",\n condition: isAuthenticated.value,\n links: [\n {\n title: t(\"Upload\"),\n href: \"/main/priv/upload\",\n id: \"link-page-upload\",\n condition: authStore.isRoleContribution,\n },\n {\n title: t(\"Media library\"),\n href: \"/main/priv/media\",\n id: \"link-page-media\",\n condition: isStudioAuth.value,\n },\n {\n title: t(\"Studio\"),\n href: \"/main/priv/records\",\n id: \"link-page-records\",\n condition: isStudioAuth.value,\n },\n {\n title: t(\"Radio planning\"),\n href: \"/main/priv/radio/\",\n id: \"link-page-radio\",\n condition: authStore.isRoleRadio && radioAuthorized.value,\n },\n {\n title: t(\"Edit / Delete episodes\"),\n href: \"/main/pub/podcasts\",\n id: \"link-page-edit-podcast\",\n condition: true,\n },\n {\n title: t(\"Handle my players\"),\n href: \"/main/priv/players\",\n id: \"link-page-players\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Monetization\"),\n href: \"/main/priv/edit/adserv\",\n id: \"link-page-adserv\",\n condition: authStore.isRoleAdvertising && !generalStore.platformEducation,\n },\n {\n title: t(\"Handle FTP\"),\n href: \"/main/priv/edit/ftp\",\n id: \"link-page-ftp\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Topics and rubrics\"),\n href: \"/main/priv/edit/rubrics\",\n id: \"link-page-rubrics\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Handle RSS\"),\n href: \"/main/priv/edit/rss\",\n id: \"link-page-rss\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Handle my participants\"),\n href: \"/main/priv/participants/handle\",\n id: \"link-page-edit-participants\",\n condition: authStore.isRoleEditor,\n },\n {\n title: t(\"Handle comments\"),\n href: \"/main/priv/comments\",\n id: \"link-page-comments\",\n condition: authStore.isRoleComments,\n },\n {\n title: t(\"See my statistics\"),\n href: \"/main/priv/show/stats\",\n id: \"link-page-stats\",\n condition: authStore.isRoleAnalytics,\n },\n {\n title: t(\"Organisations management\"),\n href: \"/main/priv/edit/contract\",\n id: \"link-page-contract\",\n condition: authStore.isRoleAdmin,\n },\n {\n title: t(\"My account\"),\n href: \"/main/priv/account\",\n id: \"link-page-account\",\n condition: true,\n },\n {\n title: t(\"Handle my users\"),\n href: \"/main/priv/user/handle\",\n id: \"link-page-users\",\n condition: authStore.isRoleUsers,\n },\n ],\n },\n ];\n});\n\n\nonMounted(() => {\n studioAuthorized.value = checkOrgaAttribute(\"studio.active\");\n radioAuthorized.value = checkOrgaAttribute(\"radio.active\");\n})\n\n\n//Methods\nfunction checkOrgaAttribute(attribute: string): boolean {\n return \"true\" == authStore.authOrganisation.attributes?.[attribute]?.toString();\n}\n</script>\n"],"mappings":"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"}
|