@saooti/octopus-sdk 37.0.5 → 37.0.7

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 (263) hide show
  1. package/README.md +2 -2
  2. package/index.html +1 -0
  3. package/index.ts +21 -21
  4. package/package.json +26 -20
  5. package/public/css/fonts/icomoon.eot +0 -0
  6. package/public/css/fonts/icomoon.svg +1 -1
  7. package/public/css/fonts/icomoon.ttf +0 -0
  8. package/public/css/fonts/icomoon.woff +0 -0
  9. package/public/css/fonts/montserrat/Montserrat-Black.ttf +0 -0
  10. package/public/css/fonts/montserrat/Montserrat-BlackItalic.ttf +0 -0
  11. package/public/css/fonts/montserrat/Montserrat-Bold.ttf +0 -0
  12. package/public/css/fonts/montserrat/Montserrat-BoldItalic.ttf +0 -0
  13. package/public/css/fonts/montserrat/Montserrat-ExtraBold.ttf +0 -0
  14. package/public/css/fonts/montserrat/Montserrat-ExtraBoldItalic.ttf +0 -0
  15. package/public/css/fonts/montserrat/Montserrat-ExtraLight.ttf +0 -0
  16. package/public/css/fonts/montserrat/Montserrat-ExtraLightItalic.ttf +0 -0
  17. package/public/css/fonts/montserrat/Montserrat-Italic.ttf +0 -0
  18. package/public/css/fonts/montserrat/Montserrat-Light.ttf +0 -0
  19. package/public/css/fonts/montserrat/Montserrat-LightItalic.ttf +0 -0
  20. package/public/css/fonts/montserrat/Montserrat-Medium.ttf +0 -0
  21. package/public/css/fonts/montserrat/Montserrat-MediumItalic.ttf +0 -0
  22. package/public/css/fonts/montserrat/Montserrat-Regular.ttf +0 -0
  23. package/public/css/fonts/montserrat/Montserrat-SemiBold.ttf +0 -0
  24. package/public/css/fonts/montserrat/Montserrat-SemiBoldItalic.ttf +0 -0
  25. package/public/css/fonts/montserrat/Montserrat-Thin.ttf +0 -0
  26. package/public/css/fonts/montserrat/Montserrat-ThinItalic.ttf +0 -0
  27. package/public/css/fonts/montserrat/style.css +28 -0
  28. package/public/css/fonts/style.css +5 -5
  29. package/src/App.vue +69 -60
  30. package/src/api/classicCrud.ts +12 -12
  31. package/src/api/initialize.ts +1 -1
  32. package/src/assets/bootstrap.scss +9 -0
  33. package/src/assets/general.scss +1 -1
  34. package/src/assets/share.scss +1 -1
  35. package/src/components/display/aggregator/RssSection.vue +3 -3
  36. package/src/components/display/categories/CategoryChooser.vue +73 -60
  37. package/src/components/display/categories/CategoryFilter.vue +134 -90
  38. package/src/components/display/categories/CategoryList.vue +76 -62
  39. package/src/components/display/comments/AddCommentModal.vue +44 -44
  40. package/src/components/display/comments/CommentBasicView.vue +38 -30
  41. package/src/components/display/comments/CommentInput.vue +122 -110
  42. package/src/components/display/comments/CommentItem.vue +144 -102
  43. package/src/components/display/comments/CommentList.vue +117 -85
  44. package/src/components/display/comments/CommentParentInfo.vue +18 -15
  45. package/src/components/display/comments/CommentPlayer.vue +39 -41
  46. package/src/components/display/comments/CommentSection.vue +68 -53
  47. package/src/components/display/edit/EditBox.vue +7 -7
  48. package/src/components/display/edit/EditBoxRadio.vue +3 -4
  49. package/src/components/display/edit/EditCommentBox.vue +34 -36
  50. package/src/components/display/emission/EmissionInlineList.vue +75 -63
  51. package/src/components/display/emission/EmissionItem.vue +47 -35
  52. package/src/components/display/emission/EmissionList.vue +111 -83
  53. package/src/components/display/emission/EmissionPlayerItem.vue +89 -89
  54. package/src/components/display/filter/AdvancedSearch.vue +81 -73
  55. package/src/components/display/filter/CategorySearchFilter.vue +27 -25
  56. package/src/components/display/filter/DateFilter.vue +38 -38
  57. package/src/components/display/filter/MonetizableFilter.vue +16 -14
  58. package/src/components/display/filter/ProductorSearch.vue +55 -47
  59. package/src/components/display/filter/RubriqueChoice.vue +42 -27
  60. package/src/components/display/filter/RubriqueFilter.vue +130 -85
  61. package/src/components/display/filter/SearchOrder.vue +16 -11
  62. package/src/components/display/list/ListPaginate.vue +72 -70
  63. package/src/components/display/list/PaginateParams.vue +29 -30
  64. package/src/components/display/list/PaginateSection.vue +210 -0
  65. package/src/components/display/list/SwiperList.vue +28 -32
  66. package/src/components/display/live/CountDown.vue +12 -14
  67. package/src/components/display/live/LiveHorizontalList.vue +60 -50
  68. package/src/components/display/live/LiveItem.vue +42 -26
  69. package/src/components/display/live/LiveList.vue +92 -65
  70. package/src/components/display/live/RadioCurrently.vue +47 -42
  71. package/src/components/display/live/RadioImage.vue +40 -42
  72. package/src/components/display/live/RadioItem.vue +15 -22
  73. package/src/components/display/live/RadioList.vue +24 -21
  74. package/src/components/display/live/RadioPlanning.vue +105 -68
  75. package/src/components/display/organisation/OrganisationChooser.vue +58 -42
  76. package/src/components/display/organisation/OrganisationChooserLight.vue +27 -19
  77. package/src/components/display/participant/ParticipantItem.vue +89 -76
  78. package/src/components/display/participant/ParticipantList.vue +90 -60
  79. package/src/components/display/playlist/PlaylistItem.vue +32 -35
  80. package/src/components/display/playlist/PlaylistList.vue +70 -52
  81. package/src/components/display/playlist/PodcastList.vue +61 -50
  82. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +47 -38
  83. package/src/components/display/podcasts/AnimatorsItem.vue +17 -15
  84. package/src/components/display/podcasts/ParticipantDescription.vue +21 -22
  85. package/src/components/display/podcasts/PodcastFilterList.vue +28 -26
  86. package/src/components/display/podcasts/PodcastImage.vue +129 -138
  87. package/src/components/display/podcasts/PodcastInlineList.vue +33 -29
  88. package/src/components/display/podcasts/PodcastInlineListClassic.vue +91 -71
  89. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +94 -85
  90. package/src/components/display/podcasts/PodcastItem.vue +96 -90
  91. package/src/components/display/podcasts/PodcastItemInfo.vue +63 -65
  92. package/src/components/display/podcasts/PodcastList.vue +115 -84
  93. package/src/components/display/podcasts/PodcastModuleBox.vue +95 -104
  94. package/src/components/display/podcasts/PodcastPlayBar.vue +45 -32
  95. package/src/components/display/podcasts/PodcastSwiperList.vue +65 -55
  96. package/src/components/display/podcasts/TagList.vue +33 -37
  97. package/src/components/display/rubriques/RubriqueChooser.vue +70 -51
  98. package/src/components/display/rubriques/RubriqueList.vue +117 -89
  99. package/src/components/display/sharing/PlayerParameters.vue +45 -42
  100. package/src/components/display/sharing/QrCode.vue +52 -46
  101. package/src/components/display/sharing/ShareButtons.vue +25 -27
  102. package/src/components/display/sharing/ShareButtonsIntern.vue +182 -155
  103. package/src/components/display/sharing/ShareDistribution.vue +101 -67
  104. package/src/components/display/sharing/SharePlayer.vue +207 -127
  105. package/src/components/display/sharing/SharePlayerColors.vue +15 -15
  106. package/src/components/display/sharing/SharePlayerRadio.vue +62 -39
  107. package/src/components/display/sharing/SharePlayerTypes.vue +93 -55
  108. package/src/components/display/sharing/SubscribeButtons.vue +83 -32
  109. package/src/components/display/studio/RecordingItemButton.vue +3 -3
  110. package/src/components/form/ClassicCheckbox.vue +32 -31
  111. package/src/components/form/ClassicDatePicker.vue +47 -49
  112. package/src/components/form/ClassicInputText.vue +99 -98
  113. package/src/components/form/ClassicLoading.vue +11 -14
  114. package/src/components/form/ClassicMultiselect.vue +125 -126
  115. package/src/components/form/ClassicRadio.vue +15 -18
  116. package/src/components/form/ClassicSearch.vue +17 -23
  117. package/src/components/form/ClassicSelect.vue +35 -27
  118. package/src/components/form/{Wysiwyg.vue → ClassicWysiwyg.vue} +94 -109
  119. package/src/components/misc/AcpmImage.vue +26 -0
  120. package/src/components/misc/ClassicAccordion.vue +69 -0
  121. package/src/components/misc/ClassicNav.vue +117 -0
  122. package/src/components/misc/ClassicPopover.vue +212 -0
  123. package/src/components/misc/{Spinner.vue → ClassicSpinner.vue} +14 -15
  124. package/src/components/misc/ErrorMessage.vue +9 -17
  125. package/src/components/misc/FooterSection.vue +198 -0
  126. package/src/components/misc/HomeDropdown.vue +67 -64
  127. package/src/components/misc/LeftMenu.vue +115 -79
  128. package/src/components/misc/ProgressBar.vue +36 -32
  129. package/src/components/misc/SnackBar.vue +169 -0
  130. package/src/components/misc/TopBar.vue +161 -115
  131. package/src/components/misc/modal/ClassicModal.vue +99 -103
  132. package/src/components/misc/modal/ClipboardModal.vue +21 -23
  133. package/src/components/misc/modal/MessageModal.vue +22 -28
  134. package/src/components/misc/modal/NewsletterModal.vue +139 -113
  135. package/src/components/misc/modal/QrCodeModal.vue +14 -17
  136. package/src/components/misc/modal/ShareModalPlayer.vue +44 -60
  137. package/src/components/misc/player/PlayerCompact.vue +47 -62
  138. package/src/components/misc/player/{Player.vue → PlayerComponent.vue} +54 -46
  139. package/src/components/misc/player/PlayerLarge.vue +66 -62
  140. package/src/components/misc/player/PlayerProgressBar.vue +40 -30
  141. package/src/components/misc/player/PlayerTimeline.vue +32 -36
  142. package/src/components/misc/player/radio/RadioHistory.vue +62 -59
  143. package/src/components/misc/player/radio/RadioProgressBar.vue +44 -35
  144. package/src/components/mixins/cookies.ts +11 -10
  145. package/src/components/mixins/displayMethods.ts +5 -4
  146. package/src/components/mixins/handle403.ts +9 -9
  147. package/src/components/mixins/imageProxy.ts +14 -7
  148. package/src/components/mixins/init.ts +31 -16
  149. package/src/components/mixins/orgaComputed.ts +7 -7
  150. package/src/components/mixins/organisationFilter.ts +36 -22
  151. package/src/components/mixins/player/playerComment.ts +46 -37
  152. package/src/components/mixins/player/playerDisplay.ts +122 -87
  153. package/src/components/mixins/player/playerLive.ts +65 -43
  154. package/src/components/mixins/player/playerLogic.ts +133 -88
  155. package/src/components/mixins/player/playerTranscript.ts +48 -30
  156. package/src/components/mixins/radio/fetchRadioData.ts +40 -23
  157. package/src/components/mixins/selenium.ts +2 -2
  158. package/src/components/mixins/tagOfMixins.ts +11 -11
  159. package/src/components/pages/CategoryPage.vue +43 -0
  160. package/src/components/pages/{Emission.vue → EmissionPage.vue} +98 -67
  161. package/src/components/pages/{Emissions.vue → EmissionsPage.vue} +51 -44
  162. package/src/components/pages/Error403Page.vue +20 -19
  163. package/src/components/pages/HomePage.vue +144 -0
  164. package/src/components/pages/LivesPage.vue +66 -0
  165. package/src/components/pages/PageNotFound.vue +33 -22
  166. package/src/components/pages/{Participant.vue → ParticipantPage.vue} +63 -49
  167. package/src/components/pages/{Participants.vue → ParticipantsPage.vue} +9 -9
  168. package/src/components/pages/PlaylistPage.vue +175 -0
  169. package/src/components/pages/{Playlists.vue → PlaylistsPage.vue} +16 -14
  170. package/src/components/pages/PodcastPage.vue +365 -0
  171. package/src/components/pages/PodcastsPage.vue +152 -0
  172. package/src/components/pages/RadioPage.vue +131 -0
  173. package/src/components/pages/RubriquePage.vue +45 -0
  174. package/src/components/pages/{Search.vue → SearchPage.vue} +19 -19
  175. package/src/helper/dom.ts +1 -1
  176. package/src/helper/duration.ts +10 -4
  177. package/src/helper/useEventListener.ts +7 -8
  178. package/src/i18n.ts +31 -30
  179. package/src/locale/de.ts +263 -257
  180. package/src/locale/educationen.ts +13 -13
  181. package/src/locale/educationfr.ts +1 -1
  182. package/src/locale/en.ts +323 -324
  183. package/src/locale/es.ts +325 -318
  184. package/src/locale/fr.ts +330 -324
  185. package/src/locale/it.ts +332 -328
  186. package/src/locale/messages.ts +9 -9
  187. package/src/locale/sl.ts +315 -319
  188. package/src/main.ts +28 -31
  189. package/src/router/router.ts +218 -198
  190. package/src/shims-tsx.d.ts +1 -1
  191. package/src/shims-vue.d.ts +1 -1
  192. package/src/stores/ApiStore.ts +44 -44
  193. package/src/stores/AuthStore.ts +24 -16
  194. package/src/stores/CommentStore.ts +13 -11
  195. package/src/stores/FilterStore.ts +25 -15
  196. package/src/stores/GeneralStore.ts +15 -15
  197. package/src/stores/ParamSdkStore.ts +179 -137
  198. package/src/stores/PlayerStore.ts +139 -125
  199. package/src/stores/class/adserver/adserverConfig.ts +1 -1
  200. package/src/stores/class/adserver/adserverOtherEmission.ts +9 -9
  201. package/src/stores/class/cartouchier/cartouche.ts +4 -4
  202. package/src/stores/class/cartouchier/cartouchier.ts +2 -2
  203. package/src/stores/class/conference/conference.ts +10 -9
  204. package/src/stores/class/conference/conferenceMessage.ts +2 -2
  205. package/src/stores/class/conference/conferenceParticipant.ts +1 -1
  206. package/src/stores/class/conference/studioCall.ts +6 -6
  207. package/src/stores/class/contract/contractOrganisation.ts +5 -5
  208. package/src/stores/class/ftp/ftpEmission.ts +9 -9
  209. package/src/stores/class/ftp/testFtpEmission.ts +4 -4
  210. package/src/stores/class/general/audioView.ts +19 -19
  211. package/src/stores/class/general/category.ts +1 -1
  212. package/src/stores/class/general/classicSelectType.ts +2 -3
  213. package/src/stores/class/general/customPlayer.ts +8 -8
  214. package/src/stores/class/general/emission.ts +20 -21
  215. package/src/stores/class/general/fetchParam.ts +8 -2
  216. package/src/stores/class/general/initState.ts +31 -31
  217. package/src/stores/class/general/interfacePageable.ts +13 -13
  218. package/src/stores/class/general/ituneCategory.ts +4 -4
  219. package/src/stores/class/general/listReturn.ts +12 -12
  220. package/src/stores/class/general/media.ts +7 -7
  221. package/src/stores/class/general/organisation.ts +9 -10
  222. package/src/stores/class/general/pageable.ts +10 -10
  223. package/src/stores/class/general/participant.ts +7 -7
  224. package/src/stores/class/general/player.ts +30 -28
  225. package/src/stores/class/general/playlist.ts +17 -19
  226. package/src/stores/class/general/podcast.ts +19 -19
  227. package/src/stores/class/general/sortPageable.ts +4 -4
  228. package/src/stores/class/general/soundcastCategory.ts +7 -7
  229. package/src/stores/class/ouestFrance/ofTag.ts +34 -34
  230. package/src/stores/class/ouestFrance/ofTagInfo.ts +9 -9
  231. package/src/stores/class/ouestFrance/ofTagPage.ts +7 -7
  232. package/src/stores/class/ouestFrance/ofTagSeo.ts +7 -7
  233. package/src/stores/class/ouestFrance/ofTagVente.ts +6 -6
  234. package/src/stores/class/ouestFrance/ofTagWithParents.ts +20 -20
  235. package/src/stores/class/radio/canal.ts +4 -4
  236. package/src/stores/class/radio/live.ts +6 -6
  237. package/src/stores/class/radio/mix.ts +16 -16
  238. package/src/stores/class/radio/playlistMedia.ts +7 -7
  239. package/src/stores/class/radio/recurrence.ts +54 -54
  240. package/src/stores/class/rss/rssEmission.ts +13 -13
  241. package/src/stores/class/rss/rssInfo.ts +7 -7
  242. package/src/stores/class/rubrique/rubriquage.ts +2 -2
  243. package/src/stores/class/rubrique/rubrique.ts +1 -1
  244. package/src/stores/class/stat/statArrayIncome.ts +5 -5
  245. package/src/stores/class/stat/statArrayObject.ts +26 -26
  246. package/src/stores/class/stat/statGraph.ts +6 -6
  247. package/src/stores/class/user/person.ts +4 -2
  248. package/src/stores/class/user/profile.ts +4 -2
  249. package/src/stores/class/user/userKeycloak.ts +4 -5
  250. package/src/components/display/list/Paginate.vue +0 -181
  251. package/src/components/misc/Accordion.vue +0 -78
  252. package/src/components/misc/Footer.vue +0 -165
  253. package/src/components/misc/Nav.vue +0 -119
  254. package/src/components/misc/Popover.vue +0 -193
  255. package/src/components/misc/Snackbar.vue +0 -168
  256. package/src/components/pages/Category.vue +0 -41
  257. package/src/components/pages/Home.vue +0 -125
  258. package/src/components/pages/Lives.vue +0 -64
  259. package/src/components/pages/Playlist.vue +0 -164
  260. package/src/components/pages/Podcast.vue +0 -307
  261. package/src/components/pages/Podcasts.vue +0 -146
  262. package/src/components/pages/Radio.vue +0 -122
  263. package/src/components/pages/Rubrique.vue +0 -42
@@ -14,32 +14,26 @@
14
14
  type="text"
15
15
  :placeholder="$t('Your name')"
16
16
  :class="{ 'border border-danger': 0 === countName || !validName }"
17
- >
17
+ />
18
18
  <p
19
19
  class="d-flex justify-content-end h6"
20
20
  :class="{ 'text-danger': !validName }"
21
21
  >
22
- {{ countName + ' / ' + maxName }}
22
+ {{ countName + " / " + maxName }}
23
23
  </p>
24
- <div
25
- v-if="''!==errorText"
26
- class="mt-1 text-danger"
27
- >
24
+ <div v-if="'' !== errorText" class="mt-1 text-danger">
28
25
  {{ errorText }}
29
26
  </div>
30
27
  </template>
31
28
  <template v-else>
32
- <div>{{ $t('Send in progress') }}</div>
29
+ <div>{{ $t("Send in progress") }}</div>
33
30
  </template>
34
31
  </template>
35
32
  <template #footer>
36
- <button
37
- class="btn m-1"
38
- @click="closePopup"
39
- >
40
- {{ $t('Close') }}
33
+ <button class="btn m-1" @click="closePopup">
34
+ {{ $t("Close") }}
41
35
  </button>
42
- <vue-recaptcha
36
+ <vue-recaptcha
43
37
  v-if="!isVerify"
44
38
  ref="invisibleRecaptcha"
45
39
  :load-recaptcha-script="true"
@@ -54,56 +48,56 @@
54
48
  :disabled="0 === countName || !validName"
55
49
  @click="submit"
56
50
  >
57
- {{ $t('Validate') }}
51
+ {{ $t("Validate") }}
58
52
  </button>
59
53
  </template>
60
54
  </ClassicModal>
61
55
  </template>
62
56
 
63
57
  <script lang="ts">
64
- import Constants from '../../../../public/config';
65
- import { state } from '../../../stores/ParamSdkStore';
66
- import ClassicModal from '../../misc/modal/ClassicModal.vue';
67
- import api from '@/api/initialize';
68
- import { useAuthStore } from '@/stores/AuthStore';
69
- import { mapState } from 'pinia';
70
- import { VueRecaptcha } from 'vue-recaptcha';
71
- import { defineComponent } from 'vue';
58
+ import Constants from "../../../../public/config";
59
+ import { state } from "../../../stores/ParamSdkStore";
60
+ import ClassicModal from "../../misc/modal/ClassicModal.vue";
61
+ import api from "@/api/initialize";
62
+ import { useAuthStore } from "@/stores/AuthStore";
63
+ import { mapState } from "pinia";
64
+ import { VueRecaptcha } from "vue-recaptcha";
65
+ import { defineComponent } from "vue";
72
66
  export default defineComponent({
73
- name: 'AddCommentModal',
74
- components:{
67
+ name: "AddCommentModal",
68
+ components: {
75
69
  VueRecaptcha,
76
- ClassicModal
70
+ ClassicModal,
77
71
  },
78
72
 
79
73
  props: {},
80
- emits: ['close','validate'],
74
+ emits: ["close", "validate"],
81
75
 
82
76
  data() {
83
77
  return {
84
- name: '' as string,
78
+ name: "" as string,
85
79
  sending: false as boolean,
86
80
  sendError: false as boolean,
87
81
  isVerify: false as boolean,
88
- maxName : Constants.MAX_COMMENT_NAME as number
82
+ maxName: Constants.MAX_COMMENT_NAME as number,
89
83
  };
90
84
  },
91
85
  computed: {
92
- ...mapState(useAuthStore, ['authProfile']),
93
- errorText():string {
94
- if(this.isCaptchaTest){
95
- return this.$t('Recaptcha not active');
86
+ ...mapState(useAuthStore, ["authProfile"]),
87
+ errorText(): string {
88
+ if (this.isCaptchaTest) {
89
+ return this.$t("Recaptcha not active");
96
90
  }
97
- return this.sendError? this.$t('Recaptcha error') : '';
91
+ return this.sendError ? this.$t("Recaptcha error") : "";
98
92
  },
99
- validName(): boolean{
93
+ validName(): boolean {
100
94
  return this.countName <= this.maxName;
101
95
  },
102
- countName(): number{
96
+ countName(): number {
103
97
  return this.name.length;
104
98
  },
105
99
  isCaptchaTest(): boolean {
106
- return (state.generalParameters.isCaptchaTest as boolean);
100
+ return state.generalParameters.isCaptchaTest as boolean;
107
101
  },
108
102
  },
109
103
 
@@ -111,9 +105,13 @@ export default defineComponent({
111
105
  this.initAuthenticatedName();
112
106
  },
113
107
  methods: {
114
- initAuthenticatedName():void{
115
- if (!state.generalParameters.authenticated) { return; }
116
- this.name = (`${this.authProfile?.firstname||''} ${this.authProfile?.lastname||''}`).trim();
108
+ initAuthenticatedName(): void {
109
+ if (!this.authProfile?.userId) {
110
+ return;
111
+ }
112
+ this.name = `${this.authProfile?.firstname || ""} ${
113
+ this.authProfile?.lastname || ""
114
+ }`.trim();
117
115
  this.isVerify = true;
118
116
  },
119
117
  async handleSuccess(token: string) {
@@ -126,17 +124,19 @@ export default defineComponent({
126
124
  },
127
125
  async submit(): Promise<void> {
128
126
  if (!this.isVerify && !this.isCaptchaTest) {
129
- return (this.$refs.invisibleRecaptcha as InstanceType<typeof VueRecaptcha>).execute();
127
+ return (
128
+ this.$refs.invisibleRecaptcha as InstanceType<typeof VueRecaptcha>
129
+ ).execute();
130
130
  }
131
131
  this.sendComment();
132
132
  },
133
133
  closePopup(): void {
134
- this.$emit('close');
134
+ this.$emit("close");
135
135
  },
136
136
  sendComment(): void {
137
137
  this.sending = true;
138
- this.$emit('validate', this.name);
138
+ this.$emit("validate", this.name);
139
139
  },
140
140
  },
141
- })
142
- </script>
141
+ });
142
+ </script>
@@ -2,19 +2,22 @@
2
2
  <div>
3
3
  <div class="d-flex h6">
4
4
  <strong
5
- v-if="recordingInLive && ('Live' === comment.phase || 'Prelive' === comment.phase)"
5
+ v-if="
6
+ recordingInLive &&
7
+ ('Live' === comment.phase || 'Prelive' === comment.phase)
8
+ "
6
9
  class="recording-bg me-1 text-light p-1"
7
- >{{ $t('Live') }}</strong>
10
+ >{{ $t("Live") }}</strong
11
+ >
8
12
  <strong
9
13
  :id="'popover-comment' + comment.comId"
10
14
  role="button"
11
15
  tabindex="-1"
12
- :class="editRight || isValid? 'c-hand-auto':'text-danger'"
16
+ :class="editRight || isValid ? 'c-hand-auto' : 'text-danger'"
13
17
  class="me-2"
14
- >{{
15
- comment.name
16
- }}</strong>
17
- <Popover
18
+ >{{ comment.name }}</strong
19
+ >
20
+ <ClassicPopover
18
21
  :disable="editRight || isValid"
19
22
  :target="'popover-comment' + comment.comId"
20
23
  :content="$t('Comment waiting')"
@@ -29,8 +32,8 @@
29
32
  <div class="me-2">
30
33
  {{ date }}
31
34
  </div>
32
- <span
33
- v-if="editRight"
35
+ <span
36
+ v-if="editRight"
34
37
  :class="'status-' + comment.status"
35
38
  :data-selenium="'status-comment-' + seleniumFormat(comment.name)"
36
39
  />
@@ -42,30 +45,31 @@
42
45
  v-if="comment.content.length > 300"
43
46
  class="c-hand font-italic"
44
47
  @click="summary = !summary"
45
- >{{ readMore }}</a>
48
+ >{{ readMore }}</a
49
+ >
46
50
  </div>
47
51
  </template>
48
52
 
49
53
  <script lang="ts">
50
- import selenium from '../../mixins/selenium';
51
- import displayMethods from '../../mixins/displayMethods';
52
- import { CommentPodcast } from '@/stores/class/general/comment';
53
- import dayjs from 'dayjs';
54
- import Popover from '../../misc/Popover.vue';
55
- import { defineComponent } from 'vue';
54
+ import selenium from "../../mixins/selenium";
55
+ import displayMethods from "../../mixins/displayMethods";
56
+ import { CommentPodcast } from "@/stores/class/general/comment";
57
+ import dayjs from "dayjs";
58
+ import ClassicPopover from "../../misc/ClassicPopover.vue";
59
+ import { defineComponent } from "vue";
56
60
  export default defineComponent({
57
- name: 'CommentBasicView',
61
+ name: "CommentBasicView",
58
62
 
59
63
  components: {
60
- Popover
64
+ ClassicPopover,
61
65
  },
62
66
 
63
- mixins:[displayMethods, selenium],
67
+ mixins: [displayMethods, selenium],
64
68
 
65
69
  props: {
66
- comment: { default: ()=>({}), type: Object as ()=>CommentPodcast },
67
- editRight: { default: false, type: Boolean},
68
- recordingInLive: { default: false, type: Boolean},
70
+ comment: { default: () => ({}), type: Object as () => CommentPodcast },
71
+ editRight: { default: false, type: Boolean },
72
+ recordingInLive: { default: false, type: Boolean },
69
73
  },
70
74
 
71
75
  data() {
@@ -74,21 +78,25 @@ export default defineComponent({
74
78
  };
75
79
  },
76
80
  computed: {
77
- isValid(): boolean{
78
- return 'Valid'=== this.comment.status;
81
+ isValid(): boolean {
82
+ return "Valid" === this.comment.status;
79
83
  },
80
84
  date(): string {
81
- return this.comment.date ? dayjs(this.comment.date).format('D MMMM YYYY HH[h]mm') : '';
85
+ return this.comment.date
86
+ ? dayjs(this.comment.date).format("D MMMM YYYY HH[h]mm")
87
+ : "";
82
88
  },
83
89
  readMore(): string {
84
- return this.summary ? this.$t('Read more') : this.$t('Read less');
90
+ return this.summary ? this.$t("Read more") : this.$t("Read less");
85
91
  },
86
92
  contentDisplay(): string {
87
- if (!this.summary){return this.comment.content;}
88
- if (!this.comment.content) return '';
93
+ if (!this.summary) {
94
+ return this.comment.content;
95
+ }
96
+ if (!this.comment.content) return "";
89
97
  if (this.comment.content.length <= 300) return this.comment.content;
90
- return this.comment.content.substring(0, 300) + '...';
98
+ return this.comment.content.substring(0, 300) + "...";
91
99
  },
92
100
  },
93
- })
101
+ });
94
102
  </script>