@saooti/octopus-sdk 42.1.0 → 42.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/{CategoryPage-CsabctRT.mjs → CategoryPage-B_IUEC85.mjs} +2 -2
  2. package/dist/{CheckIdentityModal-fNecycn-.mjs → CheckIdentityModal-Du2Jqur2.mjs} +2 -2
  3. package/dist/CheckIdentityModal-Du2Jqur2.mjs.map +1 -0
  4. package/dist/{ClassicAlert-dYigdfoZ.mjs → ClassicAlert-DUQplMvs.mjs} +3 -3
  5. package/dist/{ClassicInputText-B7EAwP2N.mjs → ClassicInputText-D2wR2cwa.mjs} +2 -2
  6. package/dist/ClassicInputText-D2wR2cwa.mjs.map +1 -0
  7. package/dist/{ClassicWysiwyg-BKq8ExjM.mjs → ClassicWysiwyg-Bew6KMXn.mjs} +2 -2
  8. package/dist/ClassicWysiwyg-Bew6KMXn.mjs.map +1 -0
  9. package/dist/{CommentBasicView-bNaLVdjT.mjs → CommentBasicView-BIiF59xV.mjs} +3 -3
  10. package/dist/{CommentInput-B7qnp3is.mjs → CommentInput-DRmRcSy-.mjs} +3 -3
  11. package/dist/CommentInput-DRmRcSy-.mjs.map +1 -0
  12. package/dist/{CommentItem-DDCavfx_.mjs → CommentItem-Vvd1NE_W.mjs} +7 -7
  13. package/dist/CommentItem-Vvd1NE_W.mjs.map +1 -0
  14. package/dist/CommentItem-vMMaiTCB.mjs.map +1 -0
  15. package/dist/CommentList-BcFHoPtE.mjs.map +1 -0
  16. package/dist/{CommentList-BbEaau4S.mjs → CommentList-Cn5TPBet.mjs} +2 -2
  17. package/dist/CommentList-Cn5TPBet.mjs.map +1 -0
  18. package/dist/{CommentMoreActions-CB8419fO.mjs → CommentMoreActions-BR4CRRey.mjs} +3 -3
  19. package/dist/CommentMoreActions-BR4CRRey.mjs.map +1 -0
  20. package/dist/{CommentName-DFzxl7mU.mjs → CommentName-D6y51EaZ.mjs} +2 -2
  21. package/dist/CommentName-D6y51EaZ.mjs.map +1 -0
  22. package/dist/{CommentParentInfo-BDSceNbu.mjs → CommentParentInfo-0WKRt9an.mjs} +2 -2
  23. package/dist/{CommentSection-CfhzLqZE.mjs → CommentSection-CRfcutkV.mjs} +3 -3
  24. package/dist/CommentSection-CRfcutkV.mjs.map +1 -0
  25. package/dist/CommentSection-CsyPvXiH.mjs.map +1 -0
  26. package/dist/{EditCommentModal-7vDcLEPD.mjs → EditCommentModal-Bs7nuqdq.mjs} +2 -2
  27. package/dist/EditCommentModal-Bs7nuqdq.mjs.map +1 -0
  28. package/dist/{EmissionItem-9HFaHgWp.mjs → EmissionItem-CwxO_AWw.mjs} +4 -4
  29. package/dist/{EmissionList-Clu9bigG.mjs → EmissionList-DxnXwOri.mjs} +2 -2
  30. package/dist/{EmissionPage-DX_2HI0y.mjs → EmissionPage-DrTFNH8I.mjs} +6 -6
  31. package/dist/{EmissionsPage-CxLXKG5S.mjs → EmissionsPage-y9p63k_v.mjs} +2 -2
  32. package/dist/{ErrorMessage-DhSwu9H_.mjs → ErrorMessage-D2XAzxpC.mjs} +3 -3
  33. package/dist/{FooterSection-r3Ehg0kp.mjs → FooterSection-XGEgsnuF.mjs} +15 -11
  34. package/dist/FooterSection-XGEgsnuF.mjs.map +1 -0
  35. package/dist/{HomePage-C3t8bQ4X.mjs → HomePage-Dk595L99.mjs} +2 -2
  36. package/dist/{LikeSection-KEHYZ6eH.mjs → LikeSection-CComV07M.mjs} +2 -2
  37. package/dist/LikeSection-CComV07M.mjs.map +1 -0
  38. package/dist/{LiveHorizontalList-CiyK7eIx.mjs → LiveHorizontalList-ZPpLxrPr.mjs} +2 -2
  39. package/dist/{LiveList-DnEolyFx.mjs → LiveList-B0CuTJqy.mjs} +2 -2
  40. package/dist/{LivesPage-BjOGZLj4.mjs → LivesPage-3nPItQ68.mjs} +2 -2
  41. package/dist/{ParticipantInlineList-D13FKP63.mjs → ParticipantInlineList-CXt6fXdk.mjs} +2 -2
  42. package/dist/{ParticipantItem-NaOJtacr.mjs → ParticipantItem-DuNtN4xy.mjs} +3 -3
  43. package/dist/{ParticipantPage-CVDQ4I-p.mjs → ParticipantPage-CNxK2NDT.mjs} +2 -2
  44. package/dist/{ParticipantsPage-CxDl6EWr.mjs → ParticipantsPage-BRmwzzh-.mjs} +2 -2
  45. package/dist/{PlaylistPage-BrZuaX3e.mjs → PlaylistPage-DCMCB2S0.mjs} +2 -2
  46. package/dist/{PodcastFilterList-YdyFX695.mjs → PodcastFilterList-DC_MbmDG.mjs} +2 -2
  47. package/dist/{PodcastImage-CF7D3Alx.mjs → PodcastImage-Dk-1L3AQ.mjs} +2 -2
  48. package/dist/{PodcastInlineList-C_dvAa4O.mjs → PodcastInlineList-CIrrTrdd.mjs} +2 -2
  49. package/dist/{PodcastItem-C5U2vYiX.mjs → PodcastItem-BrCf4kZs.mjs} +3 -3
  50. package/dist/{PodcastList-Dkh7Kahu.mjs → PodcastList-0qKdtTwt.mjs} +2 -2
  51. package/dist/{PodcastList-BHOJTVqP.mjs → PodcastList-CmxUF9_N.mjs} +2 -2
  52. package/dist/{PodcastPage-CTwEe_n7.mjs → PodcastPage-BvRTyXh8.mjs} +7 -7
  53. package/dist/PodcastPage-BvRTyXh8.mjs.map +1 -0
  54. package/dist/PodcastPage-DlZWXScN.mjs.map +1 -0
  55. package/dist/{PodcastPlayButton--X67hSEO.mjs → PodcastPlayButton-D7YuFUWp.mjs} +3 -3
  56. package/dist/{PodcastPlaylistInlineList-Csf1PwTQ.mjs → PodcastPlaylistInlineList-Dx1iJbdA.mjs} +2 -2
  57. package/dist/{PodcastPresentationList-DSQebLtP.mjs → PodcastPresentationList-CaTtzsoH.mjs} +2 -2
  58. package/dist/{PodcastSwiperList-B6Rb4sb3.mjs → PodcastSwiperList-ByXlm62M.mjs} +2 -2
  59. package/dist/{PodcastsPage-BA8vFVBZ.mjs → PodcastsPage-C_-VnfGg.mjs} +2 -2
  60. package/dist/{ReportAbuseModal-Cn4dKNYU.mjs → ReportAbuseModal-Dhr0wNeN.mjs} +2 -2
  61. package/dist/ReportAbuseModal-Dhr0wNeN.mjs.map +1 -0
  62. package/dist/{RightsIndicator-DMZt2V0j.mjs → RightsIndicator-mnSeA5VR.mjs} +2 -2
  63. package/dist/{RubriquePage-Dh4NUQ2M.mjs → RubriquePage-D-4GhME5.mjs} +2 -2
  64. package/dist/{SearchPage-nupT1-eH.mjs → SearchPage-C3hFn5z8.mjs} +2 -2
  65. package/dist/{TagPage-DX0T8dNu.mjs → TagPage-DJ05ef4Y.mjs} +2 -2
  66. package/dist/{VideoPage-B1udtWP7.mjs → VideoPage-Dr-rwYv9.mjs} +2 -2
  67. package/dist/VideoPage-Dr-rwYv9.mjs.map +1 -0
  68. package/dist/VideoPage-Gr_u3MAh.mjs.map +1 -0
  69. package/dist/index.mjs +47 -47
  70. package/package.json +1 -1
  71. package/src/components/form/ClassicWysiwyg.vue +2 -4
  72. package/src/components/misc/FooterSection.vue +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentMoreActions-BR4CRRey.mjs","names":[],"sources":["../src/components/display/comments/item/CommentMoreActions.vue","../src/components/display/comments/item/CommentMoreActions.vue"],"sourcesContent":["<template>\n <div v-if=\"isAtLeastOneMoreAction\">\n <ReportAbuseModal\n v-if=\"isReportAbuse\"\n v-model:comment=\"commentForVmodel\"\n @close=\"isReportAbuse = false\"\n />\n <EditCommentModal\n v-if=\"isEdit\"\n v-model:comment=\"commentForVmodel\"\n :edit-right=\"editRight\"\n @close=\"isEdit = false\"\n />\n <MessageModal\n v-if=\"confirmModal\"\n :validatetext=\"validateText\"\n :canceltext=\"canceltext\"\n :closable=\"false\"\n :title=\"modalTitle\"\n :message=\"modalMessage\"\n :focus=\"true\"\n @cancel=\"confirmModal = false\"\n @validate=\"actionComment\"\n @close=\"confirmModal = false\"\n />\n <button\n :id=\"'comment-dropdown' + comment.commentId\"\n class=\"btn share-btn\"\n :title=\"t('See more')\"\n :data-selenium=\"\n 'comment-dropdown-' + seleniumFormat(comment.poster.userName)\n \"\n >\n <DotsVerticalIcon />\n </button>\n <ClassicPopover\n :target=\"'comment-dropdown' + comment.commentId\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <template v-for=\"action in moreActions\" :key=\"action\">\n <button\n v-if=\"action.condition\"\n class=\"octopus-dropdown-item c-hand\"\n @mousedown=\"action.actionClick\"\n @keydown.enter=\"action.actionClick\"\n >\n {{ action.title }}\n </button>\n </template>\n </ClassicPopover>\n <!--\n CommentMoreActionsAdmin is not defined in the SDK: it is resolved at\n runtime from the consuming app's globally registered components\n (app.component()), and renders nothing if the app hasn't registered one\n under that name.\n -->\n <CommentMoreActionsAdmin\n v-if=\"editRight\"\n v-model:comment=\"commentForVmodel\"\n v-model:actions-admin=\"actionsAdmin\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport DotsVerticalIcon from \"vue-material-design-icons/DotsVertical.vue\";\nimport {useSelenium} from \"../../../composable/useSelenium\";\nimport classicApi from \"../../../../api/classicApi\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { defineAsyncComponent, ref, Ref, computed } from \"vue\";\nimport { CommentsConfig } from \"@/stores/class/config/commentsConfig\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../../misc/ClassicPopover.vue\"),\n);\nconst ReportAbuseModal = defineAsyncComponent(\n () => import(\"../modal/ReportAbuseModal.vue\"),\n);\nconst EditCommentModal = defineAsyncComponent(\n () => import(\"../modal/EditCommentModal.vue\"),\n);\nconst MessageModal = defineAsyncComponent(\n () => import(\"../../../misc/modal/MessageModal.vue\"),\n);\n\n//Props \nconst props = defineProps({\n comment: { default: () => ({}), type: Object as () => CommentPodcast },\n podcast: { default: undefined, type: Object as () => Podcast },\n config: { default: undefined, type: Object as () => CommentsConfig },\n editRight: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"update:comment\", \"deleteComment\"]);\n\n//Data \nconst isEdit = ref(false);\nconst isReportAbuse = ref(false);\nconst actionName: Ref<string | undefined> = ref(undefined);\nconst actionsAdmin: Ref<string | undefined> = ref(undefined);\nconst confirmModal = ref(false);\nconst actionInProgress = ref(false);\nconst isError = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { seleniumFormat } = useSelenium();\nconst authStore = useAuthStore();\nconst commentStore = useCommentStore();\n\n//Computed\nconst commentForVmodel = computed({\n get(): CommentPodcast {\n return props.comment;\n },\n set(value: CommentPodcast) {\n emit(\"update:comment\", value);\n },\n});\nconst isMyComment = computed(() => {\n const uuid = authStore.authProfile?.userId ?? commentStore.commentUser?.uuidHash;\n return uuid === props.comment?.poster.uuid;\n});\nconst isAtLeastOneMoreAction = computed(() => {\n return moreActions.value.some((el) => {\n return el.condition;\n });\n});\nconst moreActions = computed(() => {\n return [\n {\n title: t(\"Report abuse\"),\n actionClick: () => {\n isReportAbuse.value = true;\n },\n condition:\n commentStore.getCanReportAbuse(\n props.config,\n undefined !== authStore.authOrgaId,\n ) && !isMyComment.value,\n },\n {\n title: t(\"Managing reported abuses\"),\n actionClick: () => {\n actionsAdmin.value = \"abuse\";\n },\n condition: props.editRight && props.comment.abuse,\n },\n {\n title: t(\"Edit comment\"),\n actionClick: () => {\n isEdit.value = true;\n },\n condition: props.editRight || isMyComment.value,\n },\n {\n title: t(\"Comment information\"),\n actionClick: () => {\n actionsAdmin.value = \"info\";\n },\n condition: props.editRight && !props.podcast,\n },\n {\n title: t(\"Validate\"),\n actionClick: () => {\n actionName.value = \"validate\";\n isError.value = false;\n confirmModal.value = true;\n },\n condition:\n props.editRight &&\n (\"PENDING\" === props.comment.state ||\n \"NOT_VALID\" === props.comment.state),\n },\n {\n title: t(\"Invalidate\"),\n actionClick: () => {\n actionName.value = \"invalidate\";\n isError.value = false;\n confirmModal.value = true;\n },\n condition:\n props.editRight &&\n (\"PENDING\" === props.comment.state ||\n \"VALIDATED\" === props.comment.state),\n },\n {\n title: t(\"Delete comment\"),\n actionClick: () => {\n actionName.value = \"delete\";\n isError.value = false;\n confirmModal.value = true;\n },\n condition: props.editRight || isMyComment.value,\n },\n ];\n});\nconst validateText = computed(() => {\n if (isError.value) {\n return t(\"Close\");\n }\n return actionInProgress.value ? undefined : t(\"Yes\");\n});\nconst canceltext = computed(() => isError.value ? undefined : t(\"No\"));\nconst modalMessage = computed(() => {\n if (actionInProgress.value) {\n return t(\"Saving\");\n }\n if (isError.value) {\n return t(\"An error occurred\");\n }\n const name = { name: props.comment.poster.userName };\n switch (actionName.value) {\n case \"delete\":\n return t(\"Confirm comment deletion text\", name);\n case \"validate\":\n return t(\"Confirm comment valid text\", name);\n case \"invalidate\":\n return t(\"Confirm comment invalid text\", name);\n default:\n return \"\";\n }\n});\nconst modalTitle = computed(() => {\n if (\"delete\" === actionName.value) {\n return t(\"Delete comment\");\n }\n return t(\"Update comment\");\n}); \n \n\n//Methods\nasync function actionComment() {\n if (!props.comment) {\n return;\n }\n actionInProgress.value = true;\n isError.value = false;\n try {\n if (\"delete\" === actionName.value) {\n await classicApi.deleteData({\n api: 2,\n path: \"comment/\" + props.comment.commentId,\n parameters: props.editRight\n ? undefined\n : { uuid: commentStore.commentUser?.uuid },\n isNotAuth: !props.editRight,\n });\n emit(\"deleteComment\");\n } else {\n const commentUpdated = await classicApi.putData({\n api: 2,\n path: \"comment/\",\n dataToSend: {\n commentId: props.comment.commentId,\n content: props.comment.content,\n name: props.comment.poster.userName,\n state: \"validate\" === actionName.value ? \"VALIDATED\" : \"NOT_VALID\",\n },\n });\n emit(\"update:comment\", commentUpdated);\n }\n confirmModal.value = false;\n } catch {\n isError.value = true;\n }\n actionInProgress.value = false;\n}\n</script>\n","<template>\n <div v-if=\"isAtLeastOneMoreAction\">\n <ReportAbuseModal\n v-if=\"isReportAbuse\"\n v-model:comment=\"commentForVmodel\"\n @close=\"isReportAbuse = false\"\n />\n <EditCommentModal\n v-if=\"isEdit\"\n v-model:comment=\"commentForVmodel\"\n :edit-right=\"editRight\"\n @close=\"isEdit = false\"\n />\n <MessageModal\n v-if=\"confirmModal\"\n :validatetext=\"validateText\"\n :canceltext=\"canceltext\"\n :closable=\"false\"\n :title=\"modalTitle\"\n :message=\"modalMessage\"\n :focus=\"true\"\n @cancel=\"confirmModal = false\"\n @validate=\"actionComment\"\n @close=\"confirmModal = false\"\n />\n <button\n :id=\"'comment-dropdown' + comment.commentId\"\n class=\"btn share-btn\"\n :title=\"t('See more')\"\n :data-selenium=\"\n 'comment-dropdown-' + seleniumFormat(comment.poster.userName)\n \"\n >\n <DotsVerticalIcon />\n </button>\n <ClassicPopover\n :target=\"'comment-dropdown' + comment.commentId\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <template v-for=\"action in moreActions\" :key=\"action\">\n <button\n v-if=\"action.condition\"\n class=\"octopus-dropdown-item c-hand\"\n @mousedown=\"action.actionClick\"\n @keydown.enter=\"action.actionClick\"\n >\n {{ action.title }}\n </button>\n </template>\n </ClassicPopover>\n <!--\n CommentMoreActionsAdmin is not defined in the SDK: it is resolved at\n runtime from the consuming app's globally registered components\n (app.component()), and renders nothing if the app hasn't registered one\n under that name.\n -->\n <CommentMoreActionsAdmin\n v-if=\"editRight\"\n v-model:comment=\"commentForVmodel\"\n v-model:actions-admin=\"actionsAdmin\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport DotsVerticalIcon from \"vue-material-design-icons/DotsVertical.vue\";\nimport {useSelenium} from \"../../../composable/useSelenium\";\nimport classicApi from \"../../../../api/classicApi\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { defineAsyncComponent, ref, Ref, computed } from \"vue\";\nimport { CommentsConfig } from \"@/stores/class/config/commentsConfig\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicPopover = defineAsyncComponent(\n () => import(\"../../../misc/ClassicPopover.vue\"),\n);\nconst ReportAbuseModal = defineAsyncComponent(\n () => import(\"../modal/ReportAbuseModal.vue\"),\n);\nconst EditCommentModal = defineAsyncComponent(\n () => import(\"../modal/EditCommentModal.vue\"),\n);\nconst MessageModal = defineAsyncComponent(\n () => import(\"../../../misc/modal/MessageModal.vue\"),\n);\n\n//Props \nconst props = defineProps({\n comment: { default: () => ({}), type: Object as () => CommentPodcast },\n podcast: { default: undefined, type: Object as () => Podcast },\n config: { default: undefined, type: Object as () => CommentsConfig },\n editRight: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"update:comment\", \"deleteComment\"]);\n\n//Data \nconst isEdit = ref(false);\nconst isReportAbuse = ref(false);\nconst actionName: Ref<string | undefined> = ref(undefined);\nconst actionsAdmin: Ref<string | undefined> = ref(undefined);\nconst confirmModal = ref(false);\nconst actionInProgress = ref(false);\nconst isError = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { seleniumFormat } = useSelenium();\nconst authStore = useAuthStore();\nconst commentStore = useCommentStore();\n\n//Computed\nconst commentForVmodel = computed({\n get(): CommentPodcast {\n return props.comment;\n },\n set(value: CommentPodcast) {\n emit(\"update:comment\", value);\n },\n});\nconst isMyComment = computed(() => {\n const uuid = authStore.authProfile?.userId ?? commentStore.commentUser?.uuidHash;\n return uuid === props.comment?.poster.uuid;\n});\nconst isAtLeastOneMoreAction = computed(() => {\n return moreActions.value.some((el) => {\n return el.condition;\n });\n});\nconst moreActions = computed(() => {\n return [\n {\n title: t(\"Report abuse\"),\n actionClick: () => {\n isReportAbuse.value = true;\n },\n condition:\n commentStore.getCanReportAbuse(\n props.config,\n undefined !== authStore.authOrgaId,\n ) && !isMyComment.value,\n },\n {\n title: t(\"Managing reported abuses\"),\n actionClick: () => {\n actionsAdmin.value = \"abuse\";\n },\n condition: props.editRight && props.comment.abuse,\n },\n {\n title: t(\"Edit comment\"),\n actionClick: () => {\n isEdit.value = true;\n },\n condition: props.editRight || isMyComment.value,\n },\n {\n title: t(\"Comment information\"),\n actionClick: () => {\n actionsAdmin.value = \"info\";\n },\n condition: props.editRight && !props.podcast,\n },\n {\n title: t(\"Validate\"),\n actionClick: () => {\n actionName.value = \"validate\";\n isError.value = false;\n confirmModal.value = true;\n },\n condition:\n props.editRight &&\n (\"PENDING\" === props.comment.state ||\n \"NOT_VALID\" === props.comment.state),\n },\n {\n title: t(\"Invalidate\"),\n actionClick: () => {\n actionName.value = \"invalidate\";\n isError.value = false;\n confirmModal.value = true;\n },\n condition:\n props.editRight &&\n (\"PENDING\" === props.comment.state ||\n \"VALIDATED\" === props.comment.state),\n },\n {\n title: t(\"Delete comment\"),\n actionClick: () => {\n actionName.value = \"delete\";\n isError.value = false;\n confirmModal.value = true;\n },\n condition: props.editRight || isMyComment.value,\n },\n ];\n});\nconst validateText = computed(() => {\n if (isError.value) {\n return t(\"Close\");\n }\n return actionInProgress.value ? undefined : t(\"Yes\");\n});\nconst canceltext = computed(() => isError.value ? undefined : t(\"No\"));\nconst modalMessage = computed(() => {\n if (actionInProgress.value) {\n return t(\"Saving\");\n }\n if (isError.value) {\n return t(\"An error occurred\");\n }\n const name = { name: props.comment.poster.userName };\n switch (actionName.value) {\n case \"delete\":\n return t(\"Confirm comment deletion text\", name);\n case \"validate\":\n return t(\"Confirm comment valid text\", name);\n case \"invalidate\":\n return t(\"Confirm comment invalid text\", name);\n default:\n return \"\";\n }\n});\nconst modalTitle = computed(() => {\n if (\"delete\" === actionName.value) {\n return t(\"Delete comment\");\n }\n return t(\"Update comment\");\n}); \n \n\n//Methods\nasync function actionComment() {\n if (!props.comment) {\n return;\n }\n actionInProgress.value = true;\n isError.value = false;\n try {\n if (\"delete\" === actionName.value) {\n await classicApi.deleteData({\n api: 2,\n path: \"comment/\" + props.comment.commentId,\n parameters: props.editRight\n ? undefined\n : { uuid: commentStore.commentUser?.uuid },\n isNotAuth: !props.editRight,\n });\n emit(\"deleteComment\");\n } else {\n const commentUpdated = await classicApi.putData({\n api: 2,\n path: \"comment/\",\n dataToSend: {\n commentId: props.comment.commentId,\n content: props.comment.content,\n name: props.comment.poster.userName,\n state: \"validate\" === actionName.value ? \"VALIDATED\" : \"NOT_VALID\",\n },\n });\n emit(\"update:comment\", commentUpdated);\n }\n confirmModal.value = false;\n } catch {\n isError.value = true;\n }\n actionInProgress.value = false;\n}\n</script>\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-hel
2
2
  import { i as useAuthStore } from "./classicApi-DpwVUC0E.mjs";
3
3
  import { t as useCommentStore } from "./CommentStore-DAa7RQ_3.mjs";
4
4
  import { t as config_default } from "./config-C73GMJpz.mjs";
5
- import { t as ClassicInputText_default } from "./ClassicInputText-B7EAwP2N.mjs";
5
+ import { t as ClassicInputText_default } from "./ClassicInputText-D2wR2cwa.mjs";
6
6
  import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, ref, resolveDynamicComponent, toDisplayString, withCtx } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  //#region src/components/display/comments/CommentName.vue?vue&type=script&setup=true&lang.ts
@@ -93,4 +93,4 @@ var CommentName_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Commen
93
93
  //#endregion
94
94
  export { CommentName_default as default };
95
95
 
96
- //# sourceMappingURL=CommentName-DFzxl7mU.mjs.map
96
+ //# sourceMappingURL=CommentName-D6y51EaZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentName-D6y51EaZ.mjs","names":[],"sources":["../src/components/display/comments/CommentName.vue","../src/components/display/comments/CommentName.vue"],"sourcesContent":["<template>\n <div \n class=\"d-flex align-items-center mb-2\">\n <component\n :is=\"canEditName ? 'button' : 'div'\"\n v-if=\"!isEditing\"\n class=\"h6 fw-bold\"\n :class=\"canEditName ? 'btn btn-transparent p-1' : ''\"\n @click=\"startEditingName\"\n >{{ commentStore.commentUser?.name }}</component\n >\n <template v-else>\n <ClassicInputText\n v-model:text-init=\"temporaryName\"\n v-model:error-variable=\"errorName\"\n input-id=\"comment-name-input\"\n focus\n :label=\"t('Your name')\"\n :max-length=\"Constants.MAX_COMMENT_NAME\"\n autocomplete-type=\"name\"\n class=\"me-3\"\n />\n <button class=\"btn m-1\" @click=\"isEditing = false\">\n {{ t(\"Cancel\") }}\n </button>\n <button\n class=\"btn btn-primary m-1\"\n :disabled=\"errorName\"\n @click=\"validEdit\"\n >\n {{ t(\"Yes\") }}\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicInputText from \"../../form/ClassicInputText.vue\";\nimport Constants from \"../../../../public/config\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { computed, ref } from \"vue\";\nimport { useCommentStore } from \"../../../stores/CommentStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Data \nconst isEditing = ref(false);\nconst temporaryName = ref(\"\");\nconst errorName = ref(true);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\nconst authStore = useAuthStore();\n\n\n//Computed\nconst canEditName = computed(() => undefined !== authStore.authProfile);\n\n//Methods\nfunction startEditingName(): void {\n if (!canEditName.value) {\n return;\n }\n temporaryName.value = commentStore.commentUser?.name ?? \"\";\n isEditing.value = true;\n}\nfunction validEdit(): void {\n commentStore.setCommentUser(temporaryName.value);\n isEditing.value = false;\n}\n</script>\n","<template>\n <div \n class=\"d-flex align-items-center mb-2\">\n <component\n :is=\"canEditName ? 'button' : 'div'\"\n v-if=\"!isEditing\"\n class=\"h6 fw-bold\"\n :class=\"canEditName ? 'btn btn-transparent p-1' : ''\"\n @click=\"startEditingName\"\n >{{ commentStore.commentUser?.name }}</component\n >\n <template v-else>\n <ClassicInputText\n v-model:text-init=\"temporaryName\"\n v-model:error-variable=\"errorName\"\n input-id=\"comment-name-input\"\n focus\n :label=\"t('Your name')\"\n :max-length=\"Constants.MAX_COMMENT_NAME\"\n autocomplete-type=\"name\"\n class=\"me-3\"\n />\n <button class=\"btn m-1\" @click=\"isEditing = false\">\n {{ t(\"Cancel\") }}\n </button>\n <button\n class=\"btn btn-primary m-1\"\n :disabled=\"errorName\"\n @click=\"validEdit\"\n >\n {{ t(\"Yes\") }}\n </button>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicInputText from \"../../form/ClassicInputText.vue\";\nimport Constants from \"../../../../public/config\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { computed, ref } from \"vue\";\nimport { useCommentStore } from \"../../../stores/CommentStore\";\nimport { useI18n } from \"vue-i18n\";\n\n//Data \nconst isEditing = ref(false);\nconst temporaryName = ref(\"\");\nconst errorName = ref(true);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\nconst authStore = useAuthStore();\n\n\n//Computed\nconst canEditName = computed(() => undefined !== authStore.authProfile);\n\n//Methods\nfunction startEditingName(): void {\n if (!canEditName.value) {\n return;\n }\n temporaryName.value = commentStore.commentUser?.name ?? \"\";\n isEditing.value = true;\n}\nfunction validEdit(): void {\n commentStore.setCommentUser(temporaryName.value);\n isEditing.value = false;\n}\n</script>\n"],"mappings":";;;;;;;;;;;;EA6CA,MAAM,YAAY,IAAI,KAAK;EAC3B,MAAM,gBAAgB,IAAI,EAAE;EAC5B,MAAM,YAAY,IAAI,IAAI;EAG1B,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,eAAe,gBAAgB;EACrC,MAAM,YAAY,aAAa;EAI/B,MAAM,cAAc,eAAe,KAAA,MAAc,UAAU,WAAW;EAGtE,SAAS,mBAAyB;GAChC,IAAI,CAAC,YAAY,OACf;GAEF,cAAc,QAAQ,aAAa,aAAa,QAAQ;GACxD,UAAU,QAAQ;EACpB;EACA,SAAS,YAAkB;GACzB,aAAa,eAAe,cAAc,KAAK;GAC/C,UAAU,QAAQ;EACpB;;;;;;;;;;;;;;;;;;;;;;;;;mBCnEI,OAAM,iCAAgC;;;qBADxC,mBAgCM,OAhCN,YAgCM,CAAA,CA5BK,OAAA,aAAA,UAAA,GAFT,YAOC,wBANM,OAAA,cAAW,WAAA,KAAA,GAAA;;EAEhB,OAAK,eAAA,CAAC,cACE,OAAA,cAAW,4BAAA,EAAA,CAAA;EAClB,SAAO,OAAA;;yBAC6B,CAAA,gBAAA,gBAAjC,OAAA,aAAa,aAAa,IAAI,GAAA,CAAA,CAAA,CAAA;;mCAEpC,mBAqBW,UAAA,EAAA,KAAA,EAAA,GAAA;EApBT,YASE,OAAA,qBAAA;GARQ,aAAW,OAAA;8DAAA,OAAA,gBAAa;GACxB,kBAAgB,OAAA;mEAAA,OAAA,YAAS;GACjC,YAAS;GACT,OAAA;GACC,OAAO,OAAA,EAAC,WAAA;GACR,cAAY,OAAA,UAAU;GACvB,qBAAkB;GAClB,OAAM;;;;;;;EAER,mBAES,UAAA;GAFD,OAAM;GAAW,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,YAAS;qBACpC,OAAA,EAAC,QAAA,CAAA,GAAA,CAAA;EAEN,mBAMS,UAAA;GALP,OAAM;GACL,UAAU,OAAA;GACV,SAAO,OAAA;qBAEL,OAAA,EAAC,KAAA,CAAA,GAAA,GAAA,UAAA"}
@@ -1,7 +1,7 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
2
  import { t as ClassicLoading_default } from "./ClassicLoading-Crlw7cAx.mjs";
3
3
  import { t as classicApi_default } from "./classicApi-DpwVUC0E.mjs";
4
- import { t as CommentBasicView_default } from "./CommentBasicView-bNaLVdjT.mjs";
4
+ import { t as CommentBasicView_default } from "./CommentBasicView-BIiF59xV.mjs";
5
5
  import { createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, onBeforeMount, openBlock, ref } from "vue";
6
6
  import { useI18n } from "vue-i18n";
7
7
  //#region src/components/display/comments/CommentParentInfo.vue?vue&type=script&setup=true&lang.ts
@@ -61,4 +61,4 @@ var CommentParentInfo_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
61
61
  //#endregion
62
62
  export { CommentParentInfo_default as default };
63
63
 
64
- //# sourceMappingURL=CommentParentInfo-BDSceNbu.mjs.map
64
+ //# sourceMappingURL=CommentParentInfo-0WKRt9an.mjs.map
@@ -24,8 +24,8 @@ var CommentSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
24
24
  emits: ["commentReceived"],
25
25
  setup(__props, { expose: __expose, emit: __emit }) {
26
26
  __expose();
27
- const CommentList = defineAsyncComponent(() => import("./CommentList-BbEaau4S.mjs"));
28
- const CommentInput = defineAsyncComponent(() => import("./CommentInput-B7qnp3is.mjs"));
27
+ const CommentList = defineAsyncComponent(() => import("./CommentList-Cn5TPBet.mjs"));
28
+ const CommentInput = defineAsyncComponent(() => import("./CommentInput-DRmRcSy-.mjs"));
29
29
  const props = __props;
30
30
  const emit = __emit;
31
31
  const reload = ref(false);
@@ -138,4 +138,4 @@ var CommentSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Com
138
138
  //#endregion
139
139
  export { CommentSection_default as default };
140
140
 
141
- //# sourceMappingURL=CommentSection-CfhzLqZE.mjs.map
141
+ //# sourceMappingURL=CommentSection-CRfcutkV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentSection-CRfcutkV.mjs","names":[],"sources":["../src/components/display/comments/CommentSection.vue","../src/components/display/comments/CommentSection.vue"],"sourcesContent":["<template>\n <section v-show=\"displayCommentSection\" class=\"module-box\">\n <div class=\"d-flex align-items-center\">\n <component \n :is=\"inStudio? 'div':'h3'\" \n :class=\"inStudio? 'm-1 fw-bold':'mb-0 me-2'\">{{ t(\"Podcast's comments\") }}</component>\n <button\n :title=\"t('Refresh')\"\n class=\"btn btn-transparent\"\n @click=\"reload = !reload\"\n >\n <RefreshIcon />\n </button>\n </div>\n <CommentInput\n v-if=\"canPostComment\"\n :podcast=\"podcast\"\n @new-comment=\"newComment\"\n />\n <CommentList\n v-model:nb-comments=\"nbComments\"\n :class=\"inStudio? 'mt-2':'mt-5'\"\n :podcast=\"podcast\"\n :is-flat-list=\"inStudio\"\n :reload=\"reload\"\n :config=\"configPodcast\"\n :event-to-handle=\"eventToHandle\"\n :state-filter=\"stateFilter\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RefreshIcon from \"vue-material-design-icons/Refresh.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, Ref, watch } from \"vue\";\nimport { useCommentStore } from \"../../../stores/CommentStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {\n CommentMessage,\n CommentsConfig,\n} from \"@/stores/class/config/commentsConfig\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { useI18n } from \"vue-i18n\";\nconst CommentList = defineAsyncComponent(() => import(\"./CommentList.vue\"));\nconst CommentInput = defineAsyncComponent(() => import(\"./CommentInput.vue\"));\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n inStudio: { default: false, type: Boolean },\n stateFilter: { default: \"\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"commentReceived\"]);\n\n//Data \nconst reload = ref(false);\nconst configPodcast: Ref<CommentsConfig | undefined> = ref(undefined);\nconst nbComments = ref(0);\nconst eventToHandle: Ref<CommentMessage | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\nconst authStore = useAuthStore();\n\n\n//Computed\nconst displayCommentSection = computed(() => canPostComment.value || nbComments.value > 0);\nconst canPostComment = computed(() => {\n return commentStore.getCanPostComment(\n configPodcast.value,\n props.podcast,\n undefined !== authStore.authOrgaId,\n );\n});\nconst eventActive = computed(() => undefined !== props.podcast?.conferenceId);\n\n\n//Watch\nwatch(()=>commentStore.commentEventToHandle, async () => {\n if (\n !commentStore.commentEventToHandle.length ||\n commentStore.commentPodcastId !== props.podcast?.podcastId\n ){\n return;\n }\n eventToHandle.value = commentStore.commentEventToHandle[0];\n commentStore.commentEventHandled();\n emit('commentReceived');\n}, {deep: true});\n\n\nonBeforeMount(()=>fetchPodcastCommentsConfig())\n\n\n//Methods\nasync function fetchPodcastCommentsConfig() {\n if (!props.podcast?.podcastId) {\n return;\n }\n configPodcast.value = await commentStore.getCommentsConfig(props.podcast);\n if (!eventActive.value) {\n return;\n }\n initLiveComments();\n}\nasync function initLiveComments(): Promise<void> {\n if (!props.podcast?.podcastId || !props.podcast?.organisation.id) {\n return;\n }\n if (!commentStore.commentInitialized) {\n await commentStore.initialize();\n }\n await commentStore.initComments(\n props.podcast.podcastId,\n props.podcast.organisation.id,\n );\n}\nfunction newComment(comment: CommentPodcast) {\n if (eventActive.value) {\n return;\n }\n eventToHandle.value = { type: \"CREATE\", comment: comment };\n}\n</script>\n","<template>\n <section v-show=\"displayCommentSection\" class=\"module-box\">\n <div class=\"d-flex align-items-center\">\n <component \n :is=\"inStudio? 'div':'h3'\" \n :class=\"inStudio? 'm-1 fw-bold':'mb-0 me-2'\">{{ t(\"Podcast's comments\") }}</component>\n <button\n :title=\"t('Refresh')\"\n class=\"btn btn-transparent\"\n @click=\"reload = !reload\"\n >\n <RefreshIcon />\n </button>\n </div>\n <CommentInput\n v-if=\"canPostComment\"\n :podcast=\"podcast\"\n @new-comment=\"newComment\"\n />\n <CommentList\n v-model:nb-comments=\"nbComments\"\n :class=\"inStudio? 'mt-2':'mt-5'\"\n :podcast=\"podcast\"\n :is-flat-list=\"inStudio\"\n :reload=\"reload\"\n :config=\"configPodcast\"\n :event-to-handle=\"eventToHandle\"\n :state-filter=\"stateFilter\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RefreshIcon from \"vue-material-design-icons/Refresh.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, Ref, watch } from \"vue\";\nimport { useCommentStore } from \"../../../stores/CommentStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {\n CommentMessage,\n CommentsConfig,\n} from \"@/stores/class/config/commentsConfig\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { useI18n } from \"vue-i18n\";\nconst CommentList = defineAsyncComponent(() => import(\"./CommentList.vue\"));\nconst CommentInput = defineAsyncComponent(() => import(\"./CommentInput.vue\"));\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n inStudio: { default: false, type: Boolean },\n stateFilter: { default: \"\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"commentReceived\"]);\n\n//Data \nconst reload = ref(false);\nconst configPodcast: Ref<CommentsConfig | undefined> = ref(undefined);\nconst nbComments = ref(0);\nconst eventToHandle: Ref<CommentMessage | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\nconst authStore = useAuthStore();\n\n\n//Computed\nconst displayCommentSection = computed(() => canPostComment.value || nbComments.value > 0);\nconst canPostComment = computed(() => {\n return commentStore.getCanPostComment(\n configPodcast.value,\n props.podcast,\n undefined !== authStore.authOrgaId,\n );\n});\nconst eventActive = computed(() => undefined !== props.podcast?.conferenceId);\n\n\n//Watch\nwatch(()=>commentStore.commentEventToHandle, async () => {\n if (\n !commentStore.commentEventToHandle.length ||\n commentStore.commentPodcastId !== props.podcast?.podcastId\n ){\n return;\n }\n eventToHandle.value = commentStore.commentEventToHandle[0];\n commentStore.commentEventHandled();\n emit('commentReceived');\n}, {deep: true});\n\n\nonBeforeMount(()=>fetchPodcastCommentsConfig())\n\n\n//Methods\nasync function fetchPodcastCommentsConfig() {\n if (!props.podcast?.podcastId) {\n return;\n }\n configPodcast.value = await commentStore.getCommentsConfig(props.podcast);\n if (!eventActive.value) {\n return;\n }\n initLiveComments();\n}\nasync function initLiveComments(): Promise<void> {\n if (!props.podcast?.podcastId || !props.podcast?.organisation.id) {\n return;\n }\n if (!commentStore.commentInitialized) {\n await commentStore.initialize();\n }\n await commentStore.initComments(\n props.podcast.podcastId,\n props.podcast.organisation.id,\n );\n}\nfunction newComment(comment: CommentPodcast) {\n if (eventActive.value) {\n return;\n }\n eventToHandle.value = { type: \"CREATE\", comment: comment };\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EA4CA,MAAM,cAAc,2BAA2B,OAAO,6BAAoB;EAC1E,MAAM,eAAe,2BAA2B,OAAO,8BAAqB;EAG5E,MAAM,QAAQ;EAOd,MAAM,OAAO;EAGb,MAAM,SAAS,IAAI,KAAK;EACxB,MAAM,gBAAiD,IAAI,KAAA,CAAS;EACpE,MAAM,aAAa,IAAI,CAAC;EACxB,MAAM,gBAAiD,IAAI,KAAA,CAAS;EAGpE,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,eAAe,gBAAgB;EACrC,MAAM,YAAY,aAAa;EAI/B,MAAM,wBAAwB,eAAe,eAAe,SAAS,WAAW,QAAQ,CAAC;EACzF,MAAM,iBAAiB,eAAe;GACpC,OAAO,aAAa,kBAClB,cAAc,OACd,MAAM,SACN,KAAA,MAAc,UAAU,UAC1B;EACF,CAAC;EACD,MAAM,cAAc,eAAgB,KAAA,MAAc,MAAM,SAAS,YAAY;EAI7E,YAAU,aAAa,sBAAsB,YAAY;GACvD,IACE,CAAC,aAAa,qBAAqB,UACnC,aAAa,qBAAqB,MAAM,SAAS,WAEjD;GAEF,cAAc,QAAQ,aAAa,qBAAqB;GACxD,aAAa,oBAAoB;GACjC,KAAK,iBAAiB;EACxB,GAAG,EAAC,MAAM,KAAI,CAAC;EAGf,oBAAkB,2BAA2B,CAAC;EAI9C,eAAe,6BAA6B;GAC1C,IAAI,CAAC,MAAM,SAAS,WAClB;GAEF,cAAc,QAAQ,MAAM,aAAa,kBAAkB,MAAM,OAAO;GACxE,IAAI,CAAC,YAAY,OACf;GAEF,iBAAiB;EACnB;EACA,eAAe,mBAAkC;GAC/C,IAAI,CAAC,MAAM,SAAS,aAAa,CAAC,MAAM,SAAS,aAAa,IAC5D;GAEF,IAAI,CAAC,aAAa,oBAChB,MAAM,aAAa,WAAW;GAEhC,MAAM,aAAa,aACjB,MAAM,QAAQ,WACd,MAAM,QAAQ,aAAa,EAC7B;EACF;EACA,SAAS,WAAW,SAAyB;GAC3C,IAAI,YAAY,OACd;GAEF,cAAc,QAAQ;IAAE,MAAM;IAAmB;GAAQ;EAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBC7H0C,OAAM,aAAY;mBACnD,OAAM,4BAA2B;;;qCADxC,mBA4BU,WA5BV,YA4BU;EA3BR,mBAWM,OAXN,YAWM,EAAA,UAAA,GAVJ,YAEwF,wBADjF,OAAA,WAAQ,QAAA,IAAA,GAAA,EACZ,OAAK,eAAE,OAAA,WAAQ,gBAAA,WAAA,EAAA,GAAA;0BAA0D,CAAA,gBAAA,gBAA1B,OAAA,EAAC,oBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;qBACnD,mBAMS,UAAA;GALN,OAAO,OAAA,EAAC,SAAA;GACT,OAAM;GACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,SAAM,CAAI,OAAA;MAElB,YAAe,OAAA,cAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;EAIX,OAAA,kBAAA,UAAA,GADR,YAIE,OAAA,iBAAA;;GAFC,SAAS,OAAA;GACT,cAAa,OAAA;;EAEhB,YASE,OAAA,gBAAA;GARQ,eAAa,OAAA;gEAAA,OAAA,aAAU;GAC9B,OAAK,eAAE,OAAA,WAAQ,SAAA,MAAA;GACf,SAAS,OAAA;GACT,gBAAc,OAAA;GACd,QAAQ,OAAA;GACR,QAAQ,OAAA;GACR,mBAAiB,OAAA;GACjB,gBAAc,OAAA;;;;;;;;;;;oBA1BF,OAAA,qBAAqB,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentSection-CsyPvXiH.mjs","names":[],"sources":["../src/components/display/comments/CommentSection.vue","../src/components/display/comments/CommentSection.vue"],"sourcesContent":["<template>\n <section v-show=\"displayCommentSection\" class=\"module-box\">\n <div class=\"d-flex align-items-center\">\n <component \n :is=\"inStudio? 'div':'h3'\" \n :class=\"inStudio? 'm-1 fw-bold':'mb-0 me-2'\">{{ t(\"Podcast's comments\") }}</component>\n <button\n :title=\"t('Refresh')\"\n class=\"btn btn-transparent\"\n @click=\"reload = !reload\"\n >\n <RefreshIcon />\n </button>\n </div>\n <CommentInput\n v-if=\"canPostComment\"\n :podcast=\"podcast\"\n @new-comment=\"newComment\"\n />\n <CommentList\n v-model:nb-comments=\"nbComments\"\n :class=\"inStudio? 'mt-2':'mt-5'\"\n :podcast=\"podcast\"\n :is-flat-list=\"inStudio\"\n :reload=\"reload\"\n :config=\"configPodcast\"\n :event-to-handle=\"eventToHandle\"\n :state-filter=\"stateFilter\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RefreshIcon from \"vue-material-design-icons/Refresh.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, Ref, watch } from \"vue\";\nimport { useCommentStore } from \"../../../stores/CommentStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {\n CommentMessage,\n CommentsConfig,\n} from \"@/stores/class/config/commentsConfig\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { useI18n } from \"vue-i18n\";\nconst CommentList = defineAsyncComponent(() => import(\"./CommentList.vue\"));\nconst CommentInput = defineAsyncComponent(() => import(\"./CommentInput.vue\"));\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n inStudio: { default: false, type: Boolean },\n stateFilter: { default: \"\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"commentReceived\"]);\n\n//Data \nconst reload = ref(false);\nconst configPodcast: Ref<CommentsConfig | undefined> = ref(undefined);\nconst nbComments = ref(0);\nconst eventToHandle: Ref<CommentMessage | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\nconst authStore = useAuthStore();\n\n\n//Computed\nconst displayCommentSection = computed(() => canPostComment.value || nbComments.value > 0);\nconst canPostComment = computed(() => {\n return commentStore.getCanPostComment(\n configPodcast.value,\n props.podcast,\n undefined !== authStore.authOrgaId,\n );\n});\nconst eventActive = computed(() => undefined !== props.podcast?.conferenceId);\n\n\n//Watch\nwatch(()=>commentStore.commentEventToHandle, async () => {\n if (\n !commentStore.commentEventToHandle.length ||\n commentStore.commentPodcastId !== props.podcast?.podcastId\n ){\n return;\n }\n eventToHandle.value = commentStore.commentEventToHandle[0];\n commentStore.commentEventHandled();\n emit('commentReceived');\n}, {deep: true});\n\n\nonBeforeMount(()=>fetchPodcastCommentsConfig())\n\n\n//Methods\nasync function fetchPodcastCommentsConfig() {\n if (!props.podcast?.podcastId) {\n return;\n }\n configPodcast.value = await commentStore.getCommentsConfig(props.podcast);\n if (!eventActive.value) {\n return;\n }\n initLiveComments();\n}\nasync function initLiveComments(): Promise<void> {\n if (!props.podcast?.podcastId || !props.podcast?.organisation.id) {\n return;\n }\n if (!commentStore.commentInitialized) {\n await commentStore.initialize();\n }\n await commentStore.initComments(\n props.podcast.podcastId,\n props.podcast.organisation.id,\n );\n}\nfunction newComment(comment: CommentPodcast) {\n if (eventActive.value) {\n return;\n }\n eventToHandle.value = { type: \"CREATE\", comment: comment };\n}\n</script>\n","<template>\n <section v-show=\"displayCommentSection\" class=\"module-box\">\n <div class=\"d-flex align-items-center\">\n <component \n :is=\"inStudio? 'div':'h3'\" \n :class=\"inStudio? 'm-1 fw-bold':'mb-0 me-2'\">{{ t(\"Podcast's comments\") }}</component>\n <button\n :title=\"t('Refresh')\"\n class=\"btn btn-transparent\"\n @click=\"reload = !reload\"\n >\n <RefreshIcon />\n </button>\n </div>\n <CommentInput\n v-if=\"canPostComment\"\n :podcast=\"podcast\"\n @new-comment=\"newComment\"\n />\n <CommentList\n v-model:nb-comments=\"nbComments\"\n :class=\"inStudio? 'mt-2':'mt-5'\"\n :podcast=\"podcast\"\n :is-flat-list=\"inStudio\"\n :reload=\"reload\"\n :config=\"configPodcast\"\n :event-to-handle=\"eventToHandle\"\n :state-filter=\"stateFilter\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport RefreshIcon from \"vue-material-design-icons/Refresh.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, defineAsyncComponent, onBeforeMount, ref, Ref, watch } from \"vue\";\nimport { useCommentStore } from \"../../../stores/CommentStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport {\n CommentMessage,\n CommentsConfig,\n} from \"@/stores/class/config/commentsConfig\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { useI18n } from \"vue-i18n\";\nconst CommentList = defineAsyncComponent(() => import(\"./CommentList.vue\"));\nconst CommentInput = defineAsyncComponent(() => import(\"./CommentInput.vue\"));\n\n//Props \nconst props = defineProps({\n podcast: { default: undefined, type: Object as () => Podcast },\n inStudio: { default: false, type: Boolean },\n stateFilter: { default: \"\", type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"commentReceived\"]);\n\n//Data \nconst reload = ref(false);\nconst configPodcast: Ref<CommentsConfig | undefined> = ref(undefined);\nconst nbComments = ref(0);\nconst eventToHandle: Ref<CommentMessage | undefined> = ref(undefined);\n\n//Composables\nconst { t } = useI18n();\nconst commentStore = useCommentStore();\nconst authStore = useAuthStore();\n\n\n//Computed\nconst displayCommentSection = computed(() => canPostComment.value || nbComments.value > 0);\nconst canPostComment = computed(() => {\n return commentStore.getCanPostComment(\n configPodcast.value,\n props.podcast,\n undefined !== authStore.authOrgaId,\n );\n});\nconst eventActive = computed(() => undefined !== props.podcast?.conferenceId);\n\n\n//Watch\nwatch(()=>commentStore.commentEventToHandle, async () => {\n if (\n !commentStore.commentEventToHandle.length ||\n commentStore.commentPodcastId !== props.podcast?.podcastId\n ){\n return;\n }\n eventToHandle.value = commentStore.commentEventToHandle[0];\n commentStore.commentEventHandled();\n emit('commentReceived');\n}, {deep: true});\n\n\nonBeforeMount(()=>fetchPodcastCommentsConfig())\n\n\n//Methods\nasync function fetchPodcastCommentsConfig() {\n if (!props.podcast?.podcastId) {\n return;\n }\n configPodcast.value = await commentStore.getCommentsConfig(props.podcast);\n if (!eventActive.value) {\n return;\n }\n initLiveComments();\n}\nasync function initLiveComments(): Promise<void> {\n if (!props.podcast?.podcastId || !props.podcast?.organisation.id) {\n return;\n }\n if (!commentStore.commentInitialized) {\n await commentStore.initialize();\n }\n await commentStore.initComments(\n props.podcast.podcastId,\n props.podcast.organisation.id,\n );\n}\nfunction newComment(comment: CommentPodcast) {\n if (eventActive.value) {\n return;\n }\n eventToHandle.value = { type: \"CREATE\", comment: comment };\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EA4CA,MAAM,cAAc,2BAA2B,OAAO,6BAAoB;EAC1E,MAAM,eAAe,2BAA2B,OAAO,8BAAqB;EAG5E,MAAM,QAAQ;EAOd,MAAM,OAAO;EAGb,MAAM,SAAS,IAAI,KAAK;EACxB,MAAM,gBAAiD,IAAI,KAAA,CAAS;EACpE,MAAM,aAAa,IAAI,CAAC;EACxB,MAAM,gBAAiD,IAAI,KAAA,CAAS;EAGpE,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,eAAe,gBAAgB;EACrC,MAAM,YAAY,aAAa;EAI/B,MAAM,wBAAwB,eAAe,eAAe,SAAS,WAAW,QAAQ,CAAC;EACzF,MAAM,iBAAiB,eAAe;GACpC,OAAO,aAAa,kBAClB,cAAc,OACd,MAAM,SACN,KAAA,MAAc,UAAU,UAC1B;EACF,CAAC;EACD,MAAM,cAAc,eAAgB,KAAA,MAAc,MAAM,SAAS,YAAY;EAI7E,YAAU,aAAa,sBAAsB,YAAY;GACvD,IACE,CAAC,aAAa,qBAAqB,UACnC,aAAa,qBAAqB,MAAM,SAAS,WAEjD;GAEF,cAAc,QAAQ,aAAa,qBAAqB;GACxD,aAAa,oBAAoB;GACjC,KAAK,iBAAiB;EACxB,GAAG,EAAC,MAAM,KAAI,CAAC;EAGf,oBAAkB,2BAA2B,CAAC;EAI9C,eAAe,6BAA6B;GAC1C,IAAI,CAAC,MAAM,SAAS,WAClB;GAEF,cAAc,QAAQ,MAAM,aAAa,kBAAkB,MAAM,OAAO;GACxE,IAAI,CAAC,YAAY,OACf;GAEF,iBAAiB;EACnB;EACA,eAAe,mBAAkC;GAC/C,IAAI,CAAC,MAAM,SAAS,aAAa,CAAC,MAAM,SAAS,aAAa,IAC5D;GAEF,IAAI,CAAC,aAAa,oBAChB,MAAM,aAAa,WAAW;GAEhC,MAAM,aAAa,aACjB,MAAM,QAAQ,WACd,MAAM,QAAQ,aAAa,EAC7B;EACF;EACA,SAAS,WAAW,SAAyB;GAC3C,IAAI,YAAY,OACd;GAEF,cAAc,QAAQ;IAAE,MAAM;IAAmB;GAAQ;EAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBC7H0C,OAAM,aAAY;mBACnD,OAAM,4BAA2B;;;qCADxC,mBA4BU,WA5BV,YA4BU;EA3BR,mBAWM,OAXN,YAWM,EAAA,UAAA,GAVJ,YAEwF,wBADjF,OAAA,WAAQ,QAAA,IAAA,GAAA,EACZ,OAAK,eAAE,OAAA,WAAQ,gBAAA,WAAA,EAAA,GAAA;0BAA0D,CAAA,gBAAA,gBAA1B,OAAA,EAAC,oBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;qBACnD,mBAMS,UAAA;GALN,OAAO,OAAA,EAAC,SAAA;GACT,OAAM;GACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,SAAM,CAAI,OAAA;MAElB,YAAe,OAAA,cAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;EAIX,OAAA,kBAAA,UAAA,GADR,YAIE,OAAA,iBAAA;;GAFC,SAAS,OAAA;GACT,cAAa,OAAA;;EAEhB,YASE,OAAA,gBAAA;GARQ,eAAa,OAAA;gEAAA,OAAA,aAAU;GAC9B,OAAK,eAAE,OAAA,WAAQ,SAAA,MAAA;GACf,SAAS,OAAA;GACT,gBAAc,OAAA;GACd,QAAQ,OAAA;GACR,QAAQ,OAAA;GACR,mBAAiB,OAAA;GACjB,gBAAc,OAAA;;;;;;;;;;;oBA1BF,OAAA,qBAAqB,CAAA,CAAA"}
@@ -21,7 +21,7 @@ var EditCommentModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
21
21
  __expose();
22
22
  const ClassicModal = defineAsyncComponent(() => import("./ClassicModal-CilwHp9p.mjs").then((n) => n.n));
23
23
  const ClassicLoading = defineAsyncComponent(() => import("./ClassicLoading-Crlw7cAx.mjs").then((n) => n.n));
24
- const ClassicInputText = defineAsyncComponent(() => import("./ClassicInputText-B7EAwP2N.mjs").then((n) => n.n));
24
+ const ClassicInputText = defineAsyncComponent(() => import("./ClassicInputText-D2wR2cwa.mjs").then((n) => n.n));
25
25
  const ClassicSelect = defineAsyncComponent(() => import("./ClassicSelect-BaY2yvwP.mjs").then((n) => n.n));
26
26
  const props = __props;
27
27
  const emit = __emit;
@@ -159,4 +159,4 @@ var EditCommentModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(E
159
159
  //#endregion
160
160
  export { EditCommentModal_default as default };
161
161
 
162
- //# sourceMappingURL=EditCommentModal-7vDcLEPD.mjs.map
162
+ //# sourceMappingURL=EditCommentModal-Bs7nuqdq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditCommentModal-Bs7nuqdq.mjs","names":[],"sources":["../src/components/display/comments/modal/EditCommentModal.vue","../src/components/display/comments/modal/EditCommentModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"edit-comment-modal\"\n :title-modal=\"t('Edit comment')\"\n @close=\"closePopup\"\n >\n <template #body>\n <ClassicLoading\n :loading-text=\"inProcessing ? t('Send in progress') : undefined\"\n :error-text=\"errorUpdate ? t(`An error occurred`) : undefined\"\n />\n <template v-if=\"!inProcessing && !errorUpdate\">\n <ClassicInputText\n v-model:text-init=\"commentText\"\n v-model:error-variable=\"errorCommentText\"\n input-id=\"comment-textarea\"\n :label=\"t('Comment')\"\n :max-length=\"Constants.MAX_COMMENT\"\n :error-text=\"t('Please provide a comment')\"\n :is-textarea=\"true\"\n :is-emoji-picker=\"true\"\n popover-relative-class=\"octopus-modal\"\n :focus=\"true\"\n />\n <ClassicSelect\n v-if=\"editRight\"\n v-model:text-init=\"commentState\"\n id-select=\"comment-state-select\"\n :label=\"t('Status')\"\n :display-label=\"true\"\n :options=\"[\n { title: t('pending'), value: 'PENDING' },\n { title: t('Validated'), value: 'VALIDATED' },\n { title: t('Invalid'), value: 'NOT_VALID' },\n ]\"\n />\n </template>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"No\") }}\n </button>\n <button\n class=\"btn btn-primary m-1\"\n :disabled=\"errorCommentText\"\n @click=\"onEditComment\"\n >\n {{ t(\"Yes\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../../api/classicApi\";\nimport Constants from \"../../../../../public/config\";\nimport { defineAsyncComponent, onBeforeMount, Ref, ref } from \"vue\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicModal = defineAsyncComponent(\n () => import(\"../../../misc/modal/ClassicModal.vue\"),\n);\nconst ClassicLoading = defineAsyncComponent(\n () => import(\"../../../form/ClassicLoading.vue\"),\n);\nconst ClassicInputText = defineAsyncComponent(\n () => import(\"../../../form/ClassicInputText.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../../form/ClassicSelect.vue\"),\n);\n\n//Props \nconst props = defineProps({\n comment: {\n default: undefined,\n type: Object as () => CommentPodcast,\n },\n editRight: { default: false, type: Boolean },\n})\n \n//Emits\nconst emit = defineEmits([\"close\", \"update:comment\"]);\n\n\n//Data \nconst commentText: Ref<string | undefined> = ref(undefined);\nconst errorCommentText = ref(true);\nconst commentState = ref(\"PENDING\");\nconst errorUpdate = ref(false);\nconst inProcessing = ref(false);\n\n//Composables\nconst { t } = useI18n();\n \nonBeforeMount(()=>initComment())\n\n\n//Methods\nfunction initComment() {\n if (!props.comment) {\n return;\n }\n commentText.value = props.comment.content;\n commentState.value = props.comment.state;\n}\nasync function onEditComment() {\n if (!props.comment) {\n return;\n }\n inProcessing.value = true;\n try {\n const commentUpdated = await classicApi.putData({\n api: 2,\n path: \"comment/\",\n dataToSend: {\n commentId: props.comment.commentId,\n content: commentText.value,\n state: commentState.value,\n },\n isNotAuth: !props.editRight,\n });\n emit(\"update:comment\", commentUpdated);\n closePopup();\n } catch {\n errorUpdate.value = true;\n }\n inProcessing.value = false;\n}\nfunction closePopup() {\n emit(\"close\");\n}\n</script>\n","<template>\n <ClassicModal\n id-modal=\"edit-comment-modal\"\n :title-modal=\"t('Edit comment')\"\n @close=\"closePopup\"\n >\n <template #body>\n <ClassicLoading\n :loading-text=\"inProcessing ? t('Send in progress') : undefined\"\n :error-text=\"errorUpdate ? t(`An error occurred`) : undefined\"\n />\n <template v-if=\"!inProcessing && !errorUpdate\">\n <ClassicInputText\n v-model:text-init=\"commentText\"\n v-model:error-variable=\"errorCommentText\"\n input-id=\"comment-textarea\"\n :label=\"t('Comment')\"\n :max-length=\"Constants.MAX_COMMENT\"\n :error-text=\"t('Please provide a comment')\"\n :is-textarea=\"true\"\n :is-emoji-picker=\"true\"\n popover-relative-class=\"octopus-modal\"\n :focus=\"true\"\n />\n <ClassicSelect\n v-if=\"editRight\"\n v-model:text-init=\"commentState\"\n id-select=\"comment-state-select\"\n :label=\"t('Status')\"\n :display-label=\"true\"\n :options=\"[\n { title: t('pending'), value: 'PENDING' },\n { title: t('Validated'), value: 'VALIDATED' },\n { title: t('Invalid'), value: 'NOT_VALID' },\n ]\"\n />\n </template>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"No\") }}\n </button>\n <button\n class=\"btn btn-primary m-1\"\n :disabled=\"errorCommentText\"\n @click=\"onEditComment\"\n >\n {{ t(\"Yes\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../../api/classicApi\";\nimport Constants from \"../../../../../public/config\";\nimport { defineAsyncComponent, onBeforeMount, Ref, ref } from \"vue\";\nimport { CommentPodcast } from \"@/stores/class/general/comment\";\nimport { useI18n } from \"vue-i18n\";\nconst ClassicModal = defineAsyncComponent(\n () => import(\"../../../misc/modal/ClassicModal.vue\"),\n);\nconst ClassicLoading = defineAsyncComponent(\n () => import(\"../../../form/ClassicLoading.vue\"),\n);\nconst ClassicInputText = defineAsyncComponent(\n () => import(\"../../../form/ClassicInputText.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../../form/ClassicSelect.vue\"),\n);\n\n//Props \nconst props = defineProps({\n comment: {\n default: undefined,\n type: Object as () => CommentPodcast,\n },\n editRight: { default: false, type: Boolean },\n})\n \n//Emits\nconst emit = defineEmits([\"close\", \"update:comment\"]);\n\n\n//Data \nconst commentText: Ref<string | undefined> = ref(undefined);\nconst errorCommentText = ref(true);\nconst commentState = ref(\"PENDING\");\nconst errorUpdate = ref(false);\nconst inProcessing = ref(false);\n\n//Composables\nconst { t } = useI18n();\n \nonBeforeMount(()=>initComment())\n\n\n//Methods\nfunction initComment() {\n if (!props.comment) {\n return;\n }\n commentText.value = props.comment.content;\n commentState.value = props.comment.state;\n}\nasync function onEditComment() {\n if (!props.comment) {\n return;\n }\n inProcessing.value = true;\n try {\n const commentUpdated = await classicApi.putData({\n api: 2,\n path: \"comment/\",\n dataToSend: {\n commentId: props.comment.commentId,\n content: commentText.value,\n state: commentState.value,\n },\n isNotAuth: !props.editRight,\n });\n emit(\"update:comment\", commentUpdated);\n closePopup();\n } catch {\n errorUpdate.value = true;\n }\n inProcessing.value = false;\n}\nfunction closePopup() {\n emit(\"close\");\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA2DA,MAAM,eAAe,2BACb,OAAO,+BAAA,MAAA,MAAA,EAAA,CAAA,CACf;EACA,MAAM,iBAAiB,2BACf,OAAO,iCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EACA,MAAM,mBAAmB,2BACjB,OAAO,mCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EACA,MAAM,gBAAgB,2BACd,OAAO,gCAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EASd,MAAM,OAAO;EAIb,MAAM,cAAuC,IAAI,KAAA,CAAS;EAC1D,MAAM,mBAAmB,IAAI,IAAI;EACjC,MAAM,eAAe,IAAI,SAAS;EAClC,MAAM,cAAc,IAAI,KAAK;EAC7B,MAAM,eAAe,IAAI,KAAK;EAG9B,MAAM,EAAE,MAAM,QAAQ;EAEtB,oBAAkB,YAAY,CAAC;EAI/B,SAAS,cAAc;GACrB,IAAI,CAAC,MAAM,SACT;GAEF,YAAY,QAAQ,MAAM,QAAQ;GAClC,aAAa,QAAQ,MAAM,QAAQ;EACrC;EACA,eAAe,gBAAgB;GAC7B,IAAI,CAAC,MAAM,SACT;GAEF,aAAa,QAAQ;GACrB,IAAI;IAWF,KAAK,kBAAkB,MAVM,mBAAW,QAAQ;KAC9C,KAAK;KACL,MAAM;KACN,YAAY;MACV,WAAW,MAAM,QAAQ;MACzB,SAAS,YAAY;MACrB,OAAO,aAAa;KACtB;KACA,WAAW,CAAC,MAAM;IACpB,CAAC,CACoC;IACrC,WAAW;GACb,QAAQ;IACN,YAAY,QAAQ;GACtB;GACA,aAAa,QAAQ;EACvB;EACA,SAAS,aAAa;GACpB,KAAK,OAAO;EACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBClIE,YAiDe,OAAA,iBAAA;EAhDb,YAAS;EACR,eAAa,OAAA,EAAC,cAAA;EACd,SAAO,OAAA;;EAEG,MAAI,cAIX,CAHF,YAGE,OAAA,mBAAA;GAFC,gBAAc,OAAA,eAAe,OAAA,EAAC,kBAAA,IAAuB,KAAA;GACrD,cAAY,OAAA,cAAc,OAAA,EAAC,mBAAA,IAAwB,KAAA;gDAErC,OAAA,gBAAY,CAAK,OAAA,eAAA,UAAA,GAAlC,mBAyBW,UAAA,EAAA,KAAA,EAAA,GAAA,CAxBT,YAWE,OAAA,qBAAA;GAVQ,aAAW,OAAA;8DAAA,OAAA,cAAW;GACtB,kBAAgB,OAAA;mEAAA,OAAA,mBAAgB;GACxC,YAAS;GACR,OAAO,OAAA,EAAC,SAAA;GACR,cAAY,OAAA,UAAU;GACtB,cAAY,OAAA,EAAC,0BAAA;GACb,eAAa;GACb,mBAAiB;GAClB,0BAAuB;GACtB,OAAO;;;;;;;MAGF,OAAA,aAAA,UAAA,GADR,YAWE,OAAA,kBAAA;;GATQ,aAAW,OAAA;8DAAA,OAAA,eAAY;GAC/B,aAAU;GACT,OAAO,OAAA,EAAC,QAAA;GACR,iBAAe;GACf,SAAO;;YAAyB,OAAA,EAAC,SAAA;KAAA,OAAA;IAAA;;YAAsD,OAAA,EAAC,WAAA;KAAA,OAAA;IAAA;;YAA0D,OAAA,EAAC,SAAA;KAAA,OAAA;IAAA;;;;;;;EAQ/I,QAAM,cAGN,CAFT,mBAES,UAAA;GAFD,OAAM;GAAW,SAAO,OAAA;qBAC3B,OAAA,EAAC,IAAA,CAAA,GAAA,CAAA,GAEN,mBAMS,UAAA;GALP,OAAM;GACL,UAAU,OAAA;GACV,SAAO,OAAA;qBAEL,OAAA,EAAC,KAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA"}
@@ -4,10 +4,10 @@ import { t as useResizePhone } from "./useResizePhone-CpfFUmfV.mjs";
4
4
  import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
5
5
  import { t as useImageProxy } from "./useImageProxy-DI8RhM5W.mjs";
6
6
  import { t as useOrgaComputed } from "./useOrgaComputed-Cv6ZE0fR.mjs";
7
- import { t as RightsIndicator_default } from "./RightsIndicator-DMZt2V0j.mjs";
7
+ import { t as RightsIndicator_default } from "./RightsIndicator-mnSeA5VR.mjs";
8
8
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, onBeforeMount, onMounted, openBlock, ref, renderSlot, resolveComponent, resolveDirective, toDisplayString, useTemplateRef, withCtx, withDirectives } from "vue";
9
9
  import { useI18n } from "vue-i18n";
10
- import Alert from "vue-material-design-icons/Alert.vue";
10
+ import AlertIcon from "vue-material-design-icons/Alert.vue";
11
11
  //#region src/components/misc/ClassicImageBanner.vue
12
12
  var _sfc_main = {};
13
13
  var _hoisted_1$1 = { class: "blur-with-banner" };
@@ -87,7 +87,7 @@ var EmissionItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
87
87
  description,
88
88
  urlify,
89
89
  hasPodcast,
90
- AlertIcon: Alert,
90
+ AlertIcon,
91
91
  RightsIndicator: RightsIndicator_default,
92
92
  ClassicImageBanner: ClassicImageBanner_default
93
93
  };
@@ -180,4 +180,4 @@ var EmissionItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Emiss
180
180
  //#endregion
181
181
  export { EmissionItem_default as default };
182
182
 
183
- //# sourceMappingURL=EmissionItem-9HFaHgWp.mjs.map
183
+ //# sourceMappingURL=EmissionItem-CwxO_AWw.mjs.map
@@ -84,7 +84,7 @@ var EmissionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
84
84
  },
85
85
  setup(__props, { expose: __expose }) {
86
86
  __expose();
87
- const EmissionItem = defineAsyncComponent(() => import("./EmissionItem-9HFaHgWp.mjs"));
87
+ const EmissionItem = defineAsyncComponent(() => import("./EmissionItem-CwxO_AWw.mjs"));
88
88
  const EmissionPlayerItem = defineAsyncComponent(() => import("./EmissionPlayerItem-C8IKeJ7q.mjs").then((n) => n.n));
89
89
  const props = __props;
90
90
  const loading = ref(true);
@@ -322,4 +322,4 @@ var EmissionList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Emiss
322
322
  //#endregion
323
323
  export { EmissionList_exports as n, EmissionList_default as t };
324
324
 
325
- //# sourceMappingURL=EmissionList-Clu9bigG.mjs.map
325
+ //# sourceMappingURL=EmissionList-DxnXwOri.mjs.map
@@ -9,9 +9,9 @@ import { t as useSimplePageParam } from "./useSimplePageParam-CWi9AKl0.mjs";
9
9
  import { t as useSeoTitleUrl } from "./useSeoTitleUrl-CrM1YzAc.mjs";
10
10
  import { t as useOrgaComputed } from "./useOrgaComputed-Cv6ZE0fR.mjs";
11
11
  import { t as useSeasonsManagement } from "./useSeasonsManagement-D-ngDipg.mjs";
12
- import { t as RightsIndicator_default } from "./RightsIndicator-DMZt2V0j.mjs";
12
+ import { t as RightsIndicator_default } from "./RightsIndicator-mnSeA5VR.mjs";
13
13
  import { t as ClassicHelpButton_default } from "./ClassicHelpButton-B6jXpEKT.mjs";
14
- import { t as ErrorMessage_default } from "./ErrorMessage-DhSwu9H_.mjs";
14
+ import { t as ErrorMessage_default } from "./ErrorMessage-D2XAzxpC.mjs";
15
15
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, guardReactiveProps, normalizeClass, normalizeProps, onBeforeUnmount, openBlock, ref, renderSlot, resolveDirective, toDisplayString, watch, withCtx, withDirectives } from "vue";
16
16
  import { useI18n } from "vue-i18n";
17
17
  import { useRoute } from "vue-router";
@@ -46,12 +46,12 @@ var EmissionPage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
46
46
  setup(__props, { expose: __expose }) {
47
47
  __expose();
48
48
  const ShareAnonymous = defineAsyncComponent(() => import("./ShareAnonymous-BmIwbMz_.mjs"));
49
- const PodcastFilterList = defineAsyncComponent(() => import("./PodcastFilterList-YdyFX695.mjs"));
49
+ const PodcastFilterList = defineAsyncComponent(() => import("./PodcastFilterList-DC_MbmDG.mjs"));
50
50
  const SharePlayer = defineAsyncComponent(() => import("./SharePlayer-B-8165rs.mjs").then((n) => n.n));
51
51
  const ShareSocialsButtons = defineAsyncComponent(() => import("./ShareSocialsButtons-CZtpG1zL.mjs"));
52
52
  const SubscribeButtons = defineAsyncComponent(() => import("./SubscribeButtons-DTu2q9nM.mjs").then((n) => n.n));
53
- const LiveHorizontalList = defineAsyncComponent(() => import("./LiveHorizontalList-CiyK7eIx.mjs"));
54
- const PodcastPlayButton = defineAsyncComponent(() => import("./PodcastPlayButton--X67hSEO.mjs").then((n) => n.n));
53
+ const LiveHorizontalList = defineAsyncComponent(() => import("./LiveHorizontalList-ZPpLxrPr.mjs"));
54
+ const PodcastPlayButton = defineAsyncComponent(() => import("./PodcastPlayButton-D7YuFUWp.mjs").then((n) => n.n));
55
55
  const PodcastmakerHeader = defineAsyncComponent(() => import("./PodcastmakerHeader-SuHA7pwQ.mjs"));
56
56
  const TagList = defineAsyncComponent(() => import("./TagList-CZwg6-Wl.mjs"));
57
57
  const props = __props;
@@ -319,4 +319,4 @@ var EmissionPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Emiss
319
319
  //#endregion
320
320
  export { EmissionPage_default as default };
321
321
 
322
- //# sourceMappingURL=EmissionPage-DX_2HI0y.mjs.map
322
+ //# sourceMappingURL=EmissionPage-DrTFNH8I.mjs.map
@@ -1,5 +1,5 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { t as EmissionList_default } from "./EmissionList-Clu9bigG.mjs";
2
+ import { t as EmissionList_default } from "./EmissionList-DxnXwOri.mjs";
3
3
  import { t as AdvancedSearch_default } from "./AdvancedSearch-C__BZuJX.mjs";
4
4
  import { t as useAdvancedParamInit } from "./useAdvancedParamInit-XK-FI81b.mjs";
5
5
  import { createCommentVNode, createElementBlock, createVNode, defineAsyncComponent, defineComponent, openBlock, renderSlot } from "vue";
@@ -196,4 +196,4 @@ var EmissionsPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Emis
196
196
  //#endregion
197
197
  export { EmissionsPage_default as default };
198
198
 
199
- //# sourceMappingURL=EmissionsPage-CxLXKG5S.mjs.map
199
+ //# sourceMappingURL=EmissionsPage-y9p63k_v.mjs.map
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
3
3
  import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, renderSlot, toDisplayString } from "vue";
4
4
  import { useI18n } from "vue-i18n";
5
- import Alert from "vue-material-design-icons/Alert.vue";
5
+ import AlertIcon from "vue-material-design-icons/Alert.vue";
6
6
  //#region src/components/misc/ErrorMessage.vue?vue&type=script&setup=true&lang.ts
7
7
  var ErrorMessage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
8
8
  __name: "ErrorMessage",
@@ -15,7 +15,7 @@ var ErrorMessage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
15
15
  const { t } = useI18n();
16
16
  const __returned__ = {
17
17
  t,
18
- AlertIcon: Alert
18
+ AlertIcon
19
19
  };
20
20
  Object.defineProperty(__returned__, "__isScriptSetup", {
21
21
  enumerable: false,
@@ -41,4 +41,4 @@ var ErrorMessage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Error
41
41
  //#endregion
42
42
  export { ErrorMessage_exports as n, ErrorMessage_default as t };
43
43
 
44
- //# sourceMappingURL=ErrorMessage-DhSwu9H_.mjs.map
44
+ //# sourceMappingURL=ErrorMessage-D2XAzxpC.mjs.map
@@ -3,6 +3,7 @@ import { A as state, h as loadLocaleMessages, i as useAuthStore, r as useFilterS
3
3
  import { t as ClassicSelect_default } from "./ClassicSelect-BaY2yvwP.mjs";
4
4
  import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
5
5
  import { n as LOAD_LOCALE_MESSAGES_KEY } from "./keys-TjlLYNQE.mjs";
6
+ import { t as useDayjs } from "./useDayjs-CD7LNHpM.mjs";
6
7
  import { t as cookiesHelper_default } from "./cookiesHelper-BQksSais.mjs";
7
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, inject, openBlock, ref, renderList, resolveComponent, toDisplayString, watch, withCtx } from "vue";
8
9
  import { useI18n } from "vue-i18n";
@@ -54,6 +55,7 @@ var FooterSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
54
55
  const authStore = useAuthStore();
55
56
  const router = useRouter();
56
57
  const route = useRoute();
58
+ const { dayjs } = useDayjs();
57
59
  const loadLocaleMessages$1 = inject(LOAD_LOCALE_MESSAGES_KEY, loadLocaleMessages);
58
60
  const authenticated = computed(() => void 0 !== authStore.authOrgaId);
59
61
  const routerLinkSecondArray = computed(() => {
@@ -121,6 +123,7 @@ var FooterSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
121
123
  authStore,
122
124
  router,
123
125
  route,
126
+ dayjs,
124
127
  loadLocaleMessages: loadLocaleMessages$1,
125
128
  authenticated,
126
129
  routerLinkSecondArray,
@@ -151,20 +154,21 @@ var _hoisted_2 = {
151
154
  key: 0,
152
155
  class: "d-flex flex-column px-1"
153
156
  };
154
- var _hoisted_3 = ["aria-label"];
155
- var _hoisted_4 = { class: "p-0 m-0" };
156
- var _hoisted_5 = { class: "d-flex align-items-center" };
157
- var _hoisted_6 = { class: "hosted-by" };
158
- var _hoisted_7 = ["title"];
157
+ var _hoisted_3 = { class: "text-dark my-1 special-select-align-magic-trick" };
158
+ var _hoisted_4 = ["aria-label"];
159
+ var _hoisted_5 = { class: "p-0 m-0" };
160
+ var _hoisted_6 = { class: "d-flex align-items-center" };
161
+ var _hoisted_7 = { class: "hosted-by" };
162
+ var _hoisted_8 = ["title"];
159
163
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
160
164
  const _component_router_link = resolveComponent("router-link");
161
165
  return openBlock(), createElementBlock("footer", _hoisted_1, [!$setup.state.generalParameters.podcastmaker ? (openBlock(), createElementBlock("div", _hoisted_2, [
162
- _cache[1] || (_cache[1] = createElementVNode("div", { class: "text-dark my-1 special-select-align-magic-trick" }, " © Saooti 2025 ", -1)),
166
+ createElementVNode("div", _hoisted_3, " © Saooti " + toDisplayString($setup.dayjs().year()), 1),
163
167
  $setup.authStore.isGarRole ? (openBlock(), createBlock($setup["FooterGarSection"], {
164
168
  key: 0,
165
169
  "auth-orga-id": $setup.authStore.authOrgaId
166
170
  }, null, 8, ["auth-orga-id"])) : createCommentVNode("v-if", true),
167
- createElementVNode("nav", { "aria-label": $setup.t("Site menu") }, [createElementVNode("ul", _hoisted_4, [(openBlock(true), createElementBlock(Fragment, null, renderList($setup.routerLinkSecondArray, (link) => {
171
+ createElementVNode("nav", { "aria-label": $setup.t("Site menu") }, [createElementVNode("ul", _hoisted_5, [(openBlock(true), createElementBlock(Fragment, null, renderList($setup.routerLinkSecondArray, (link) => {
168
172
  return openBlock(), createElementBlock("li", {
169
173
  key: link.routeName,
170
174
  class: "li-style-none my-1"
@@ -175,7 +179,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
175
179
  default: withCtx(() => [createTextVNode(toDisplayString(link.title), 1)]),
176
180
  _: 2
177
181
  }, 1032, ["to"])]);
178
- }), 128))])], 8, _hoisted_3),
182
+ }), 128))])], 8, _hoisted_4),
179
183
  createVNode($setup["ClassicSelect"], {
180
184
  "text-init": $setup.language,
181
185
  "onUpdate:textInit": _cache[0] || (_cache[0] = ($event) => $setup.language = $event),
@@ -219,13 +223,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
219
223
  defaultanswer: $setup.t("No organisation filter"),
220
224
  onSelected: $setup.onOrganisationSelected
221
225
  }, null, 8, ["defaultanswer"])) : createCommentVNode("v-if", true)
222
- ])) : createCommentVNode("v-if", true), createElementVNode("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [createTextVNode(toDisplayString($setup.t("Hosted by")), 1), _cache[2] || (_cache[2] = createElementVNode("span", { class: "ms-1 me-1 text-primary" }, "Saooti", -1))]), $setup.authStore.isGarRole ? (openBlock(), createBlock($setup["AcpmImage"], { key: 0 })) : (openBlock(), createElementBlock("a", {
226
+ ])) : createCommentVNode("v-if", true), createElementVNode("div", _hoisted_6, [createElementVNode("div", _hoisted_7, [createTextVNode(toDisplayString($setup.t("Hosted by")), 1), _cache[1] || (_cache[1] = createElementVNode("span", { class: "ms-1 me-1 text-primary" }, "Saooti", -1))]), $setup.authStore.isGarRole ? (openBlock(), createBlock($setup["AcpmImage"], { key: 0 })) : (openBlock(), createElementBlock("a", {
223
227
  key: 1,
224
228
  href: "https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts",
225
229
  rel: "noreferrer noopener",
226
230
  target: "_blank",
227
231
  title: $setup.t("New window", { text: $setup.t("Octopus is ACPM Podcast accredited") })
228
- }, [createVNode($setup["AcpmImage"])], 8, _hoisted_7))])], 512);
232
+ }, [createVNode($setup["AcpmImage"])], 8, _hoisted_8))])], 512);
229
233
  }
230
234
  var FooterSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(FooterSection_vue_vue_type_script_setup_true_lang_default, [
231
235
  ["render", _sfc_render],
@@ -235,4 +239,4 @@ var FooterSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Foot
235
239
  //#endregion
236
240
  export { FooterSection_default as default };
237
241
 
238
- //# sourceMappingURL=FooterSection-r3Ehg0kp.mjs.map
242
+ //# sourceMappingURL=FooterSection-XGEgsnuF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FooterSection-XGEgsnuF.mjs","names":[],"sources":["../src/components/misc/AcpmImage.vue","../../../../../img/ACPM.webp","../src/components/misc/AcpmImage.vue","../src/components/misc/FooterSection.vue","../src/components/misc/FooterSection.vue"],"sourcesContent":["<template>\n <img\n width=\"44\"\n height=\"44\"\n class=\"acpm-image\"\n src=\"/img/ACPM.webp\"\n :title=\"t('Octopus is ACPM Podcast accredited')\"\n :alt=\"t('Octopus is ACPM Podcast accredited')\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\n//Composables\nconst { t } = useI18n();\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .acpm-image {\n width: 44px;\n height: 44px;\n }\n}\n</style>\n","export default \"__VITE_PUBLIC_ASSET__df107582__\"","<template>\n <img\n width=\"44\"\n height=\"44\"\n class=\"acpm-image\"\n src=\"/img/ACPM.webp\"\n :title=\"t('Octopus is ACPM Podcast accredited')\"\n :alt=\"t('Octopus is ACPM Podcast accredited')\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\n//Composables\nconst { t } = useI18n();\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .acpm-image {\n width: 44px;\n height: 44px;\n }\n}\n</style>\n","<template>\n <footer\n id=\"footer\"\n ref=\"footer\"\n role=\"contentinfo\"\n class=\"d-flex align-items-center justify-content-between border-top mt-auto\"\n >\n <div\n v-if=\"!state.generalParameters.podcastmaker\"\n class=\"d-flex flex-column px-1\"\n >\n <div class=\"text-dark my-1 special-select-align-magic-trick\">\n &copy; Saooti {{ dayjs().year() }}\n </div>\n <FooterGarSection\n v-if=\"authStore.isGarRole\"\n :auth-orga-id=\"authStore.authOrgaId\"\n />\n <nav :aria-label=\"t('Site menu')\">\n <ul class=\"p-0 m-0\">\n <li \n v-for=\"link in routerLinkSecondArray\"\n :key=\"link.routeName\"\n class=\"li-style-none my-1\"\n >\n <router-link\n class=\"link-hover special-select-align-magic-trick\"\n :to=\"link.routeName\"\n >\n {{ link.title }}\n </router-link>\n </li>\n </ul>\n </nav>\n <ClassicSelect\n v-model:text-init=\"language\"\n :display-label=\"false\"\n id-select=\"language-chooser-select\"\n :label=\"t('Change locale')\"\n :transparent=\"true\"\n :options=\"[\n { title: 'Deutsch', value: 'de' },\n { title: 'English', value: 'en' },\n { title: 'Español', value: 'es' },\n { title: 'Français', value: 'fr' },\n { title: 'Italiano', value: 'it' },\n { title: 'Slovenščina', value: 'sl' },\n ]\"\n class=\"my-1\"\n />\n <OrganisationChooserLight\n v-if=\"!state.generalParameters.podcastmaker && authenticated\"\n page=\"footer\"\n width=\"auto\"\n class=\"my-1\"\n :defaultanswer=\"t('No organisation filter')\"\n @selected=\"onOrganisationSelected\"\n />\n </div>\n <div class=\"d-flex align-items-center\">\n <div class=\"hosted-by\">\n {{ t(\"Hosted by\") }}<span class=\"ms-1 me-1 text-primary\">Saooti</span>\n </div>\n\n <AcpmImage v-if=\"authStore.isGarRole\" />\n <a\n v-else\n href=\"https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts\"\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n :title=\"t('New window', {text: t('Octopus is ACPM Podcast accredited')})\"\n >\n <AcpmImage />\n </a>\n </div>\n </footer>\n</template>\n\n<script setup lang=\"ts\">\nimport cookiesHelper from \"../../helper/cookiesHelper\";\nimport ClassicSelect from \"../form/ClassicSelect.vue\";\nimport AcpmImage from \"./AcpmImage.vue\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { loadLocaleMessages as loadSdkLocaleMessages } from \"../../i18n\";\nimport { LOAD_LOCALE_MESSAGES_KEY } from \"../composable/keys\";\nimport classicApi from \"../../api/classicApi\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { computed, defineAsyncComponent, inject, ref, watch } from \"vue\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport { useDayjs } from \"../composable/useDayjs\";\nconst OrganisationChooserLight = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooserLight.vue\"),\n);\nconst FooterGarSection = defineAsyncComponent(\n () => import(\"./FooterGarSection.vue\"),\n);\nconst i18n = useI18n();\nconst { t, locale } = useI18n();\n\n//Data \nconst language = ref(locale);\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst router = useRouter();\nconst route = useRoute();\nconst { dayjs } = useDayjs();\n// loadLocaleMessages is resolved at runtime from the consuming app's\n// globally provided implementation (app.provide()), e.g. to merge in its\n// own locale bundles; defaults to the SDK's own base-translations loader.\nconst loadLocaleMessages = inject(LOAD_LOCALE_MESSAGES_KEY, loadSdkLocaleMessages);\n\n\n//Computed\nconst authenticated = computed(() => undefined !== authStore.authOrgaId);\nconst routerLinkSecondArray = computed(() => {\n const links = [];\n if (!authStore.isGarRole) {\n links.push(\n { title: t(\"Contact\"), routeName: \"/main/pub/contact\" },\n { title:t(\"Used libraries\"), routeName: \"/main/pub/libraries\"},\n { title: t(\"Term of use\"), routeName: \"/main/pub/cgu\" },\n );\n }\n links.push({ title: t(\"Site map\"), routeName: \"/main/pub/map\" });\n return links;\n});\n\n\n//Watch\nwatch(language, () => changeLanguage());\n\n//Methods\nfunction changeLanguage(): void {\n cookiesHelper.setCookie(\"octopus-language\", language.value);\n loadLocaleMessages(\n i18n,\n language.value,\n authenticated.value,\n generalStore.platformEducation,\n );\n classicApi\n .fetchData<Array<Category>>({\n api: 0,\n path: `iab/list${authStore.authOrgaId ? \"/\" + authStore.authOrgaId : \"\"}`,\n parameters: { lang: language.value },\n })\n .then((data: Array<Category>) => {\n generalStore.storedUpdateCategories(data);\n if (filterStore.filterIab) {\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === filterStore.filterIab?.id;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n }\n });\n}\n\n/**\n * Select another organisation\n * @param organisation The new organisation to focus on, or undefined to remove focus\n */\nasync function onOrganisationSelected( organisation: Organisation | undefined): Promise<void> {\n if (organisation?.id) {\n router.push({\n query: { ...route.query, ...{ productor: organisation.id, o:undefined, viewall: \"false\" } },\n });\n }else{\n router.push({\n query: { ...route.query, ...{ productor: undefined, viewall: \"true\" } },\n });\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n#footer {\n font-size: max(0.6rem, 12px);\n bottom: 0;\n z-index: 10;\n background: white;\n padding: 0 2rem;\n\n a,\n .link-hover.btn-transparent {\n font-weight: 500;\n color: var(--octopus-gray-text) !important;\n }\n\n .special-select-align-magic-trick {\n margin-left: 0.16rem;\n }\n}\n</style>\n","<template>\n <footer\n id=\"footer\"\n ref=\"footer\"\n role=\"contentinfo\"\n class=\"d-flex align-items-center justify-content-between border-top mt-auto\"\n >\n <div\n v-if=\"!state.generalParameters.podcastmaker\"\n class=\"d-flex flex-column px-1\"\n >\n <div class=\"text-dark my-1 special-select-align-magic-trick\">\n &copy; Saooti {{ dayjs().year() }}\n </div>\n <FooterGarSection\n v-if=\"authStore.isGarRole\"\n :auth-orga-id=\"authStore.authOrgaId\"\n />\n <nav :aria-label=\"t('Site menu')\">\n <ul class=\"p-0 m-0\">\n <li \n v-for=\"link in routerLinkSecondArray\"\n :key=\"link.routeName\"\n class=\"li-style-none my-1\"\n >\n <router-link\n class=\"link-hover special-select-align-magic-trick\"\n :to=\"link.routeName\"\n >\n {{ link.title }}\n </router-link>\n </li>\n </ul>\n </nav>\n <ClassicSelect\n v-model:text-init=\"language\"\n :display-label=\"false\"\n id-select=\"language-chooser-select\"\n :label=\"t('Change locale')\"\n :transparent=\"true\"\n :options=\"[\n { title: 'Deutsch', value: 'de' },\n { title: 'English', value: 'en' },\n { title: 'Español', value: 'es' },\n { title: 'Français', value: 'fr' },\n { title: 'Italiano', value: 'it' },\n { title: 'Slovenščina', value: 'sl' },\n ]\"\n class=\"my-1\"\n />\n <OrganisationChooserLight\n v-if=\"!state.generalParameters.podcastmaker && authenticated\"\n page=\"footer\"\n width=\"auto\"\n class=\"my-1\"\n :defaultanswer=\"t('No organisation filter')\"\n @selected=\"onOrganisationSelected\"\n />\n </div>\n <div class=\"d-flex align-items-center\">\n <div class=\"hosted-by\">\n {{ t(\"Hosted by\") }}<span class=\"ms-1 me-1 text-primary\">Saooti</span>\n </div>\n\n <AcpmImage v-if=\"authStore.isGarRole\" />\n <a\n v-else\n href=\"https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts\"\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n :title=\"t('New window', {text: t('Octopus is ACPM Podcast accredited')})\"\n >\n <AcpmImage />\n </a>\n </div>\n </footer>\n</template>\n\n<script setup lang=\"ts\">\nimport cookiesHelper from \"../../helper/cookiesHelper\";\nimport ClassicSelect from \"../form/ClassicSelect.vue\";\nimport AcpmImage from \"./AcpmImage.vue\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { loadLocaleMessages as loadSdkLocaleMessages } from \"../../i18n\";\nimport { LOAD_LOCALE_MESSAGES_KEY } from \"../composable/keys\";\nimport classicApi from \"../../api/classicApi\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { computed, defineAsyncComponent, inject, ref, watch } from \"vue\";\nimport { Organisation } from \"../../stores/class/general/organisation\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport { useDayjs } from \"../composable/useDayjs\";\nconst OrganisationChooserLight = defineAsyncComponent(\n () => import(\"../display/organisation/OrganisationChooserLight.vue\"),\n);\nconst FooterGarSection = defineAsyncComponent(\n () => import(\"./FooterGarSection.vue\"),\n);\nconst i18n = useI18n();\nconst { t, locale } = useI18n();\n\n//Data \nconst language = ref(locale);\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst router = useRouter();\nconst route = useRoute();\nconst { dayjs } = useDayjs();\n// loadLocaleMessages is resolved at runtime from the consuming app's\n// globally provided implementation (app.provide()), e.g. to merge in its\n// own locale bundles; defaults to the SDK's own base-translations loader.\nconst loadLocaleMessages = inject(LOAD_LOCALE_MESSAGES_KEY, loadSdkLocaleMessages);\n\n\n//Computed\nconst authenticated = computed(() => undefined !== authStore.authOrgaId);\nconst routerLinkSecondArray = computed(() => {\n const links = [];\n if (!authStore.isGarRole) {\n links.push(\n { title: t(\"Contact\"), routeName: \"/main/pub/contact\" },\n { title:t(\"Used libraries\"), routeName: \"/main/pub/libraries\"},\n { title: t(\"Term of use\"), routeName: \"/main/pub/cgu\" },\n );\n }\n links.push({ title: t(\"Site map\"), routeName: \"/main/pub/map\" });\n return links;\n});\n\n\n//Watch\nwatch(language, () => changeLanguage());\n\n//Methods\nfunction changeLanguage(): void {\n cookiesHelper.setCookie(\"octopus-language\", language.value);\n loadLocaleMessages(\n i18n,\n language.value,\n authenticated.value,\n generalStore.platformEducation,\n );\n classicApi\n .fetchData<Array<Category>>({\n api: 0,\n path: `iab/list${authStore.authOrgaId ? \"/\" + authStore.authOrgaId : \"\"}`,\n parameters: { lang: language.value },\n })\n .then((data: Array<Category>) => {\n generalStore.storedUpdateCategories(data);\n if (filterStore.filterIab) {\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === filterStore.filterIab?.id;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n }\n });\n}\n\n/**\n * Select another organisation\n * @param organisation The new organisation to focus on, or undefined to remove focus\n */\nasync function onOrganisationSelected( organisation: Organisation | undefined): Promise<void> {\n if (organisation?.id) {\n router.push({\n query: { ...route.query, ...{ productor: organisation.id, o:undefined, viewall: \"false\" } },\n });\n }else{\n router.push({\n query: { ...route.query, ...{ productor: undefined, viewall: \"true\" } },\n });\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n#footer {\n font-size: max(0.6rem, 12px);\n bottom: 0;\n z-index: 10;\n background: white;\n padding: 0 2rem;\n\n a,\n .link-hover.btn-transparent {\n font-weight: 500;\n color: var(--octopus-gray-text) !important;\n }\n\n .special-select-align-magic-trick {\n margin-left: 0.16rem;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { A as state, r as useFilterStore } from "./classicApi-DpwVUC0E.mjs";
3
3
  import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
4
4
  import { t as ClassicLazy_default } from "./ClassicLazy-7mFHxG6O.mjs";
5
5
  import { t as useRubriquesFilterComputed } from "./useRubriquesFilterComputed-Hr6ZScZJ.mjs";
6
- import { t as PodcastInlineList_default } from "./PodcastInlineList-C_dvAa4O.mjs";
6
+ import { t as PodcastInlineList_default } from "./PodcastInlineList-CIrrTrdd.mjs";
7
7
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, ref, renderList, resolveComponent, toDisplayString, watch, withCtx } from "vue";
8
8
  import { useI18n } from "vue-i18n";
9
9
  //#region src/components/pages/HomePage.vue?vue&type=script&setup=true&lang.ts
@@ -163,4 +163,4 @@ var HomePage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(HomePage_
163
163
  //#endregion
164
164
  export { HomePage_default as default };
165
165
 
166
- //# sourceMappingURL=HomePage-C3t8bQ4X.mjs.map
166
+ //# sourceMappingURL=HomePage-Dk595L99.mjs.map
@@ -23,7 +23,7 @@ var LikeSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
23
23
  emits: ["deleteComment", "update:comment"],
24
24
  setup(__props, { expose: __expose, emit: __emit }) {
25
25
  __expose();
26
- const CheckIdentityModal = defineAsyncComponent(() => import("./CheckIdentityModal-fNecycn-.mjs"));
26
+ const CheckIdentityModal = defineAsyncComponent(() => import("./CheckIdentityModal-Du2Jqur2.mjs"));
27
27
  const LikeButton = defineAsyncComponent(() => import("./LikeButton-DFkrvbgE.mjs"));
28
28
  const props = __props;
29
29
  const emit = __emit;
@@ -164,4 +164,4 @@ var LikeSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(LikeSe
164
164
  //#endregion
165
165
  export { LikeSection_default as default };
166
166
 
167
- //# sourceMappingURL=LikeSection-KEHYZ6eH.mjs.map
167
+ //# sourceMappingURL=LikeSection-CComV07M.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LikeSection-CComV07M.mjs","names":[],"sources":["../src/components/display/comments/like/LikeSection.vue","../src/components/display/comments/like/LikeSection.vue"],"sourcesContent":["<template>\n <div class=\"d-flex align-items-center mt-1\">\n <CheckIdentityModal\n v-if=\"isCheckIdentityActions\"\n :title=\"t('Welcome, thanks for your interaction')\"\n @validate=\"likeActions(isCheckIdentityActions)\"\n @close=\"isCheckIdentityActions = undefined\"\n />\n <template v-for=\"section in feelingSection\" :key=\"section.name\">\n <template v-if=\"section.condition\">\n <LikeButton\n :like=\"'like' === section.name\"\n :is-active=\"section.name === userFeeling\"\n :can-interact=\"canLikeOrDislike\"\n @like-action=\"initiateLikeActions\"\n />\n <span v-if=\"section.counter\" class=\"ms-1 me-2\">{{\n transformInThousands(section.counter)\n }}</span>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { defineAsyncComponent, Ref, ref, computed, onBeforeMount } from \"vue\";\nimport classicApi from \"../../../../api/classicApi\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport {\n CommentFeelings,\n CommentPodcast,\n} from \"@/stores/class/general/comment\";\nimport { CommentsConfig } from \"@/stores/class/config/commentsConfig\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nconst CheckIdentityModal = defineAsyncComponent(\n () => import(\"../modal/CheckIdentityModal.vue\"),\n);\nconst LikeButton = defineAsyncComponent(() => import(\"./LikeButton.vue\"));\n\n//Props \nconst props = defineProps({\n comment: { default: () => undefined, type: Object as () => CommentPodcast },\n editRight: { default: false, type: Boolean },\n podcast: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"deleteComment\", \"update:comment\"]);\n\n//Data \nconst isCheckIdentityActions: Ref<string | undefined> = ref(undefined);\nconst userFeeling: Ref<string | undefined> = ref(undefined);\nconst config: Ref<CommentsConfig | undefined> = ref(undefined);\nconst podcastFeeling: Ref<CommentFeelings | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst commentStore = useCommentStore();\n\n//Computed\nconst configToApply = computed(() => {\n if (props.comment) {\n return config.value?.commentLikes;\n }\n return config.value?.podcastLikes;\n});\nconst podcastId = computed(() => props.podcast?.podcastId ?? 0);\nconst feelingSection = computed(() => {\n return [\n {\n name: \"like\",\n counter: props.comment?.likes ?? podcastFeeling.value?.likesCount,\n condition: configToApply.value?.likeEnabled ?? false,\n },\n {\n name: \"dislike\",\n counter: props.editRight\n ? (props.comment?.dislikes ?? podcastFeeling.value?.dislikesCount)\n : 0,\n condition: configToApply.value?.dislikeEnabled ?? false,\n },\n ];\n});\nconst canLikeOrDislike = computed(() => {\n return (\n !configToApply.value?.authRequired ||\n (configToApply.value.authRequired && undefined !== authStore.authOrgaId)\n );\n});\n\nonBeforeMount(()=>initLikeConfig())\n\n\n//Methods\nasync function initLikeConfig() {\n if (!props.podcast) {\n return;\n }\n config.value = await commentStore.getCommentsConfig(props.podcast);\n if (\n props.comment ||\n (!config.value.podcastLikes.likeEnabled &&\n !config.value.podcastLikes.dislikeEnabled)\n ) {\n return;\n }\n await fetchPodcastCounters();\n}\nasync function fetchPodcastCounters() {\n const data = await classicApi.fetchData<{\n [key: number]: CommentFeelings;\n }>({\n api: 2,\n path: \"podcast/status\",\n parameters: {\n podcastId: [podcastId.value],\n uuid: commentStore.commentUser?.uuid,\n },\n isNotAuth: true,\n });\n podcastFeeling.value = data[podcastId.value];\n if (\"LIKED\" === podcastFeeling.value.feeling) {\n userFeeling.value = \"like\";\n } else if (\"DISLIKED\" === podcastFeeling.value.feeling) {\n userFeeling.value = \"dislike\";\n }\n}\nfunction transformInThousands(nb: number) {\n if (nb >= 1000) {\n return Math.round(nb / 100) / 10 + \"k\";\n }\n return nb.toString();\n}\nasync function initiateLikeActions(actionName: string) {\n if (!commentStore.commentUser?.name) {\n isCheckIdentityActions.value = actionName;\n return;\n }\n likeActions(actionName);\n}\nasync function likeActions(actionName: string) {\n const prefix = props.comment ? \"comment/\" : \"podcast/\";\n const data = await classicApi.putData<{\n [key: number]: CommentFeelings;\n }>({\n api: 2,\n path: prefix + actionName,\n dataToSend: {\n ids: [props.comment?.commentId ?? podcastId.value],\n name: commentStore.commentUser?.name,\n uuid: commentStore.commentUser?.uuid,\n },\n isNotAuth: true,\n });\n if (props.comment) {\n emit(\"update:comment\", {\n ...props.comment,\n ...{\n likes: data[props.comment.commentId].likesCount,\n dislikes: data[props.comment.commentId].dislikesCount,\n },\n });\n } else {\n podcastFeeling.value = data[podcastId.value];\n }\n userFeeling.value = userFeeling.value ? undefined : actionName;\n isCheckIdentityActions.value = undefined;\n}\n</script>\n","<template>\n <div class=\"d-flex align-items-center mt-1\">\n <CheckIdentityModal\n v-if=\"isCheckIdentityActions\"\n :title=\"t('Welcome, thanks for your interaction')\"\n @validate=\"likeActions(isCheckIdentityActions)\"\n @close=\"isCheckIdentityActions = undefined\"\n />\n <template v-for=\"section in feelingSection\" :key=\"section.name\">\n <template v-if=\"section.condition\">\n <LikeButton\n :like=\"'like' === section.name\"\n :is-active=\"section.name === userFeeling\"\n :can-interact=\"canLikeOrDislike\"\n @like-action=\"initiateLikeActions\"\n />\n <span v-if=\"section.counter\" class=\"ms-1 me-2\">{{\n transformInThousands(section.counter)\n }}</span>\n </template>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { defineAsyncComponent, Ref, ref, computed, onBeforeMount } from \"vue\";\nimport classicApi from \"../../../../api/classicApi\";\nimport { useCommentStore } from \"../../../../stores/CommentStore\";\nimport { useAuthStore } from \"../../../../stores/AuthStore\";\nimport {\n CommentFeelings,\n CommentPodcast,\n} from \"@/stores/class/general/comment\";\nimport { CommentsConfig } from \"@/stores/class/config/commentsConfig\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\nconst CheckIdentityModal = defineAsyncComponent(\n () => import(\"../modal/CheckIdentityModal.vue\"),\n);\nconst LikeButton = defineAsyncComponent(() => import(\"./LikeButton.vue\"));\n\n//Props \nconst props = defineProps({\n comment: { default: () => undefined, type: Object as () => CommentPodcast },\n editRight: { default: false, type: Boolean },\n podcast: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"deleteComment\", \"update:comment\"]);\n\n//Data \nconst isCheckIdentityActions: Ref<string | undefined> = ref(undefined);\nconst userFeeling: Ref<string | undefined> = ref(undefined);\nconst config: Ref<CommentsConfig | undefined> = ref(undefined);\nconst podcastFeeling: Ref<CommentFeelings | undefined> = ref(undefined);\n\n\n//Composables\nconst { t } = useI18n();\nconst authStore = useAuthStore();\nconst commentStore = useCommentStore();\n\n//Computed\nconst configToApply = computed(() => {\n if (props.comment) {\n return config.value?.commentLikes;\n }\n return config.value?.podcastLikes;\n});\nconst podcastId = computed(() => props.podcast?.podcastId ?? 0);\nconst feelingSection = computed(() => {\n return [\n {\n name: \"like\",\n counter: props.comment?.likes ?? podcastFeeling.value?.likesCount,\n condition: configToApply.value?.likeEnabled ?? false,\n },\n {\n name: \"dislike\",\n counter: props.editRight\n ? (props.comment?.dislikes ?? podcastFeeling.value?.dislikesCount)\n : 0,\n condition: configToApply.value?.dislikeEnabled ?? false,\n },\n ];\n});\nconst canLikeOrDislike = computed(() => {\n return (\n !configToApply.value?.authRequired ||\n (configToApply.value.authRequired && undefined !== authStore.authOrgaId)\n );\n});\n\nonBeforeMount(()=>initLikeConfig())\n\n\n//Methods\nasync function initLikeConfig() {\n if (!props.podcast) {\n return;\n }\n config.value = await commentStore.getCommentsConfig(props.podcast);\n if (\n props.comment ||\n (!config.value.podcastLikes.likeEnabled &&\n !config.value.podcastLikes.dislikeEnabled)\n ) {\n return;\n }\n await fetchPodcastCounters();\n}\nasync function fetchPodcastCounters() {\n const data = await classicApi.fetchData<{\n [key: number]: CommentFeelings;\n }>({\n api: 2,\n path: \"podcast/status\",\n parameters: {\n podcastId: [podcastId.value],\n uuid: commentStore.commentUser?.uuid,\n },\n isNotAuth: true,\n });\n podcastFeeling.value = data[podcastId.value];\n if (\"LIKED\" === podcastFeeling.value.feeling) {\n userFeeling.value = \"like\";\n } else if (\"DISLIKED\" === podcastFeeling.value.feeling) {\n userFeeling.value = \"dislike\";\n }\n}\nfunction transformInThousands(nb: number) {\n if (nb >= 1000) {\n return Math.round(nb / 100) / 10 + \"k\";\n }\n return nb.toString();\n}\nasync function initiateLikeActions(actionName: string) {\n if (!commentStore.commentUser?.name) {\n isCheckIdentityActions.value = actionName;\n return;\n }\n likeActions(actionName);\n}\nasync function likeActions(actionName: string) {\n const prefix = props.comment ? \"comment/\" : \"podcast/\";\n const data = await classicApi.putData<{\n [key: number]: CommentFeelings;\n }>({\n api: 2,\n path: prefix + actionName,\n dataToSend: {\n ids: [props.comment?.commentId ?? podcastId.value],\n name: commentStore.commentUser?.name,\n uuid: commentStore.commentUser?.uuid,\n },\n isNotAuth: true,\n });\n if (props.comment) {\n emit(\"update:comment\", {\n ...props.comment,\n ...{\n likes: data[props.comment.commentId].likesCount,\n dislikes: data[props.comment.commentId].dislikesCount,\n },\n });\n } else {\n podcastFeeling.value = data[podcastId.value];\n }\n userFeeling.value = userFeeling.value ? undefined : actionName;\n isCheckIdentityActions.value = undefined;\n}\n</script>\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-hel
2
2
  import { t as classicApi_default } from "./classicApi-DpwVUC0E.mjs";
3
3
  import { t as ListPaginate_default } from "./ListPaginate-Dd3eeyMI.mjs";
4
4
  import { r as emptyPodcastData } from "./podcast-Da9L7I5Q.mjs";
5
- import { t as PodcastItem_default } from "./PodcastItem-C5U2vYiX.mjs";
5
+ import { t as PodcastItem_default } from "./PodcastItem-BrCf4kZs.mjs";
6
6
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, onBeforeMount, openBlock, ref, renderList, toDisplayString, watch, withCtx } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  //#region src/components/display/live/LiveHorizontalList.vue?vue&type=script&setup=true&lang.ts
@@ -133,4 +133,4 @@ var LiveHorizontalList_default = /*#__PURE__*/ _plugin_vue_export_helper_default
133
133
  //#endregion
134
134
  export { LiveHorizontalList_default as default };
135
135
 
136
- //# sourceMappingURL=LiveHorizontalList-CiyK7eIx.mjs.map
136
+ //# sourceMappingURL=LiveHorizontalList-ZPpLxrPr.mjs.map
@@ -5,7 +5,7 @@ import { t as ClassicSelect_default } from "./ClassicSelect-BaY2yvwP.mjs";
5
5
  import { t as useErrorHandler } from "./useErrorHandler-DpcjkDh_.mjs";
6
6
  import { t as useOrgaComputed } from "./useOrgaComputed-Cv6ZE0fR.mjs";
7
7
  import { t as SwiperList_default } from "./SwiperList-DkzjytBq.mjs";
8
- import { t as PodcastItem_default } from "./PodcastItem-C5U2vYiX.mjs";
8
+ import { t as PodcastItem_default } from "./PodcastItem-BrCf4kZs.mjs";
9
9
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, onBeforeMount, onUnmounted, openBlock, ref, resolveComponent, toDisplayString, watch, withCtx } from "vue";
10
10
  import { useI18n } from "vue-i18n";
11
11
  //#region src/components/display/live/LiveItem.vue?vue&type=script&setup=true&lang.ts
@@ -321,4 +321,4 @@ var LiveList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(LiveList_
321
321
  //#endregion
322
322
  export { LiveList_default as default };
323
323
 
324
- //# sourceMappingURL=LiveList-DnEolyFx.mjs.map
324
+ //# sourceMappingURL=LiveList-B0CuTJqy.mjs.map
@@ -22,7 +22,7 @@ var LivesPage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
22
22
  emits: ["update:organisationId"],
23
23
  setup(__props, { expose: __expose, emit: __emit }) {
24
24
  __expose();
25
- const LiveList = defineAsyncComponent(() => import("./LiveList-DnEolyFx.mjs"));
25
+ const LiveList = defineAsyncComponent(() => import("./LiveList-B0CuTJqy.mjs"));
26
26
  const RadioList = defineAsyncComponent(() => import("./RadioList-5WLGZn1M.mjs"));
27
27
  const OrganisationChooser = defineAsyncComponent(() => import("./OrganisationChooser-BZnwu6PU.mjs"));
28
28
  const props = __props;
@@ -73,4 +73,4 @@ var LivesPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(LivesPag
73
73
  //#endregion
74
74
  export { LivesPage_default as default };
75
75
 
76
- //# sourceMappingURL=LivesPage-BjOGZLj4.mjs.map
76
+ //# sourceMappingURL=LivesPage-3nPItQ68.mjs.map