@saooti/octopus-sdk 37.0.6 → 37.0.8

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 (236) hide show
  1. package/README.md +2 -2
  2. package/index.ts +22 -22
  3. package/package.json +26 -22
  4. package/src/App.vue +69 -60
  5. package/src/api/classicCrud.ts +12 -12
  6. package/src/api/initialize.ts +1 -1
  7. package/src/assets/transition.scss +34 -22
  8. package/src/components/display/aggregator/RssSection.vue +3 -3
  9. package/src/components/display/categories/CategoryChooser.vue +73 -60
  10. package/src/components/display/categories/CategoryFilter.vue +134 -90
  11. package/src/components/display/categories/CategoryList.vue +76 -62
  12. package/src/components/display/comments/AddCommentModal.vue +44 -44
  13. package/src/components/display/comments/CommentBasicView.vue +38 -30
  14. package/src/components/display/comments/CommentInput.vue +121 -106
  15. package/src/components/display/comments/CommentItem.vue +144 -102
  16. package/src/components/display/comments/CommentList.vue +117 -85
  17. package/src/components/display/comments/CommentParentInfo.vue +18 -15
  18. package/src/components/display/comments/CommentPlayer.vue +39 -41
  19. package/src/components/display/comments/CommentSection.vue +68 -53
  20. package/src/components/display/edit/EditBox.vue +7 -7
  21. package/src/components/display/edit/EditBoxRadio.vue +3 -4
  22. package/src/components/display/edit/EditCommentBox.vue +34 -36
  23. package/src/components/display/emission/EmissionInlineList.vue +75 -63
  24. package/src/components/display/emission/EmissionItem.vue +47 -35
  25. package/src/components/display/emission/EmissionList.vue +118 -83
  26. package/src/components/display/emission/EmissionPlayerItem.vue +89 -89
  27. package/src/components/display/filter/AdvancedSearch.vue +81 -73
  28. package/src/components/display/filter/CategorySearchFilter.vue +27 -25
  29. package/src/components/display/filter/DateFilter.vue +38 -38
  30. package/src/components/display/filter/MonetizableFilter.vue +16 -14
  31. package/src/components/display/filter/ProductorSearch.vue +55 -47
  32. package/src/components/display/filter/RubriqueChoice.vue +42 -27
  33. package/src/components/display/filter/RubriqueFilter.vue +130 -85
  34. package/src/components/display/filter/SearchOrder.vue +16 -11
  35. package/src/components/display/list/ListPaginate.vue +72 -70
  36. package/src/components/display/list/PaginateParams.vue +29 -30
  37. package/src/components/display/list/PaginateSection.vue +210 -0
  38. package/src/components/display/list/SwiperList.vue +28 -32
  39. package/src/components/display/live/CountDown.vue +12 -14
  40. package/src/components/display/live/LiveHorizontalList.vue +60 -50
  41. package/src/components/display/live/LiveItem.vue +42 -26
  42. package/src/components/display/live/LiveList.vue +92 -65
  43. package/src/components/display/live/RadioCurrently.vue +47 -42
  44. package/src/components/display/live/RadioImage.vue +40 -42
  45. package/src/components/display/live/RadioItem.vue +15 -22
  46. package/src/components/display/live/RadioList.vue +24 -21
  47. package/src/components/display/live/RadioPlanning.vue +105 -68
  48. package/src/components/display/organisation/OrganisationChooser.vue +58 -42
  49. package/src/components/display/organisation/OrganisationChooserLight.vue +27 -19
  50. package/src/components/display/participant/ParticipantItem.vue +89 -77
  51. package/src/components/display/participant/ParticipantList.vue +90 -60
  52. package/src/components/display/playlist/PlaylistItem.vue +32 -35
  53. package/src/components/display/playlist/PlaylistList.vue +70 -52
  54. package/src/components/display/playlist/PodcastList.vue +61 -50
  55. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +47 -38
  56. package/src/components/display/podcasts/AnimatorsItem.vue +17 -15
  57. package/src/components/display/podcasts/ParticipantDescription.vue +21 -22
  58. package/src/components/display/podcasts/PodcastFilterList.vue +28 -26
  59. package/src/components/display/podcasts/PodcastImage.vue +129 -131
  60. package/src/components/display/podcasts/PodcastInlineList.vue +33 -29
  61. package/src/components/display/podcasts/PodcastInlineListClassic.vue +91 -71
  62. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +94 -85
  63. package/src/components/display/podcasts/PodcastItem.vue +96 -90
  64. package/src/components/display/podcasts/PodcastItemInfo.vue +61 -65
  65. package/src/components/display/podcasts/PodcastList.vue +115 -84
  66. package/src/components/display/podcasts/PodcastModuleBox.vue +95 -104
  67. package/src/components/display/podcasts/PodcastPlayBar.vue +45 -32
  68. package/src/components/display/podcasts/PodcastSwiperList.vue +65 -55
  69. package/src/components/display/podcasts/TagList.vue +33 -37
  70. package/src/components/display/rubriques/RubriqueChooser.vue +70 -51
  71. package/src/components/display/rubriques/RubriqueList.vue +117 -89
  72. package/src/components/display/sharing/PlayerParameters.vue +45 -42
  73. package/src/components/display/sharing/QrCode.vue +52 -46
  74. package/src/components/display/sharing/ShareButtons.vue +18 -18
  75. package/src/components/display/sharing/ShareButtonsIntern.vue +100 -78
  76. package/src/components/display/sharing/ShareDistribution.vue +101 -67
  77. package/src/components/display/sharing/SharePlayer.vue +207 -127
  78. package/src/components/display/sharing/SharePlayerColors.vue +15 -15
  79. package/src/components/display/sharing/SharePlayerRadio.vue +62 -39
  80. package/src/components/display/sharing/SharePlayerTypes.vue +93 -55
  81. package/src/components/display/sharing/SubscribeButtons.vue +83 -32
  82. package/src/components/display/studio/RecordingItemButton.vue +3 -3
  83. package/src/components/form/ClassicCheckbox.vue +32 -31
  84. package/src/components/form/ClassicDatePicker.vue +47 -49
  85. package/src/components/form/ClassicInputText.vue +99 -98
  86. package/src/components/form/ClassicLoading.vue +11 -14
  87. package/src/components/form/ClassicMultiselect.vue +125 -126
  88. package/src/components/form/ClassicRadio.vue +15 -18
  89. package/src/components/form/ClassicSearch.vue +17 -23
  90. package/src/components/form/ClassicSelect.vue +35 -27
  91. package/src/components/form/{Wysiwyg.vue → ClassicWysiwyg.vue} +103 -118
  92. package/src/components/misc/AcpmImage.vue +6 -6
  93. package/src/components/misc/ClassicAccordion.vue +73 -0
  94. package/src/components/misc/ClassicNav.vue +117 -0
  95. package/src/components/misc/ClassicPopover.vue +212 -0
  96. package/src/components/misc/{Spinner.vue → ClassicSpinner.vue} +14 -15
  97. package/src/components/misc/ErrorMessage.vue +9 -17
  98. package/src/components/misc/FooterSection.vue +198 -0
  99. package/src/components/misc/HomeDropdown.vue +60 -60
  100. package/src/components/misc/LeftMenu.vue +115 -79
  101. package/src/components/misc/ProgressBar.vue +36 -32
  102. package/src/components/misc/SnackBar.vue +169 -0
  103. package/src/components/misc/TopBar.vue +162 -116
  104. package/src/components/misc/modal/ClassicModal.vue +99 -103
  105. package/src/components/misc/modal/ClipboardModal.vue +21 -23
  106. package/src/components/misc/modal/MessageModal.vue +22 -28
  107. package/src/components/misc/modal/NewsletterModal.vue +139 -113
  108. package/src/components/misc/modal/QrCodeModal.vue +14 -17
  109. package/src/components/misc/modal/ShareModalPlayer.vue +44 -60
  110. package/src/components/misc/player/PlayerCompact.vue +47 -62
  111. package/src/components/misc/player/{Player.vue → PlayerComponent.vue} +54 -46
  112. package/src/components/misc/player/PlayerLarge.vue +62 -61
  113. package/src/components/misc/player/PlayerProgressBar.vue +40 -30
  114. package/src/components/misc/player/PlayerTimeline.vue +32 -36
  115. package/src/components/misc/player/radio/RadioHistory.vue +62 -59
  116. package/src/components/misc/player/radio/RadioProgressBar.vue +44 -35
  117. package/src/components/mixins/cookies.ts +11 -10
  118. package/src/components/mixins/displayMethods.ts +5 -4
  119. package/src/components/mixins/handle403.ts +9 -9
  120. package/src/components/mixins/imageProxy.ts +14 -7
  121. package/src/components/mixins/init.ts +31 -16
  122. package/src/components/mixins/orgaComputed.ts +7 -7
  123. package/src/components/mixins/organisationFilter.ts +36 -22
  124. package/src/components/mixins/player/playerComment.ts +46 -37
  125. package/src/components/mixins/player/playerDisplay.ts +122 -87
  126. package/src/components/mixins/player/playerLive.ts +65 -43
  127. package/src/components/mixins/player/playerLogic.ts +133 -88
  128. package/src/components/mixins/player/playerTranscript.ts +48 -30
  129. package/src/components/mixins/radio/fetchRadioData.ts +40 -23
  130. package/src/components/mixins/selenium.ts +2 -2
  131. package/src/components/mixins/tagOfMixins.ts +11 -11
  132. package/src/components/pages/CategoryPage.vue +43 -0
  133. package/src/components/pages/{Emission.vue → EmissionPage.vue} +98 -67
  134. package/src/components/pages/{Emissions.vue → EmissionsPage.vue} +51 -44
  135. package/src/components/pages/Error403Page.vue +20 -19
  136. package/src/components/pages/HomePage.vue +144 -0
  137. package/src/components/pages/LivesPage.vue +66 -0
  138. package/src/components/pages/PageNotFound.vue +33 -22
  139. package/src/components/pages/{Participant.vue → ParticipantPage.vue} +63 -49
  140. package/src/components/pages/{Participants.vue → ParticipantsPage.vue} +9 -9
  141. package/src/components/pages/PlaylistPage.vue +175 -0
  142. package/src/components/pages/{Playlists.vue → PlaylistsPage.vue} +16 -14
  143. package/src/components/pages/PodcastPage.vue +365 -0
  144. package/src/components/pages/PodcastsPage.vue +152 -0
  145. package/src/components/pages/RadioPage.vue +131 -0
  146. package/src/components/pages/RubriquePage.vue +45 -0
  147. package/src/components/pages/{Search.vue → SearchPage.vue} +19 -19
  148. package/src/helper/dom.ts +1 -1
  149. package/src/helper/duration.ts +10 -4
  150. package/src/helper/useEventListener.ts +7 -8
  151. package/src/i18n.ts +31 -30
  152. package/src/locale/de.ts +272 -257
  153. package/src/locale/educationen.ts +13 -13
  154. package/src/locale/educationfr.ts +1 -1
  155. package/src/locale/en.ts +332 -324
  156. package/src/locale/es.ts +334 -318
  157. package/src/locale/fr.ts +339 -324
  158. package/src/locale/it.ts +341 -328
  159. package/src/locale/messages.ts +9 -9
  160. package/src/locale/sl.ts +324 -319
  161. package/src/main.ts +28 -31
  162. package/src/router/router.ts +218 -198
  163. package/src/shims-tsx.d.ts +1 -1
  164. package/src/shims-vue.d.ts +1 -1
  165. package/src/stores/ApiStore.ts +44 -44
  166. package/src/stores/AuthStore.ts +21 -15
  167. package/src/stores/CommentStore.ts +13 -11
  168. package/src/stores/FilterStore.ts +25 -15
  169. package/src/stores/GeneralStore.ts +15 -15
  170. package/src/stores/ParamSdkStore.ts +179 -137
  171. package/src/stores/PlayerStore.ts +139 -125
  172. package/src/stores/class/adserver/adserverConfig.ts +1 -1
  173. package/src/stores/class/adserver/adserverOtherEmission.ts +9 -9
  174. package/src/stores/class/cartouchier/cartouche.ts +4 -4
  175. package/src/stores/class/cartouchier/cartouchier.ts +2 -2
  176. package/src/stores/class/conference/conference.ts +10 -9
  177. package/src/stores/class/conference/conferenceMessage.ts +2 -2
  178. package/src/stores/class/conference/conferenceParticipant.ts +1 -1
  179. package/src/stores/class/conference/studioCall.ts +6 -6
  180. package/src/stores/class/contract/contractOrganisation.ts +5 -5
  181. package/src/stores/class/ftp/ftpEmission.ts +9 -9
  182. package/src/stores/class/ftp/testFtpEmission.ts +4 -4
  183. package/src/stores/class/general/audioView.ts +19 -19
  184. package/src/stores/class/general/category.ts +1 -1
  185. package/src/stores/class/general/classicSelectType.ts +2 -3
  186. package/src/stores/class/general/customPlayer.ts +8 -8
  187. package/src/stores/class/general/emission.ts +20 -20
  188. package/src/stores/class/general/fetchParam.ts +8 -2
  189. package/src/stores/class/general/initState.ts +31 -31
  190. package/src/stores/class/general/interfacePageable.ts +13 -13
  191. package/src/stores/class/general/ituneCategory.ts +4 -4
  192. package/src/stores/class/general/listReturn.ts +12 -12
  193. package/src/stores/class/general/media.ts +7 -7
  194. package/src/stores/class/general/organisation.ts +9 -9
  195. package/src/stores/class/general/pageable.ts +10 -10
  196. package/src/stores/class/general/participant.ts +7 -7
  197. package/src/stores/class/general/player.ts +30 -28
  198. package/src/stores/class/general/playlist.ts +17 -19
  199. package/src/stores/class/general/podcast.ts +19 -19
  200. package/src/stores/class/general/sortPageable.ts +4 -4
  201. package/src/stores/class/general/soundcastCategory.ts +7 -7
  202. package/src/stores/class/ouestFrance/ofTag.ts +34 -34
  203. package/src/stores/class/ouestFrance/ofTagInfo.ts +9 -9
  204. package/src/stores/class/ouestFrance/ofTagPage.ts +7 -7
  205. package/src/stores/class/ouestFrance/ofTagSeo.ts +7 -7
  206. package/src/stores/class/ouestFrance/ofTagVente.ts +6 -6
  207. package/src/stores/class/ouestFrance/ofTagWithParents.ts +20 -20
  208. package/src/stores/class/radio/canal.ts +4 -4
  209. package/src/stores/class/radio/live.ts +6 -6
  210. package/src/stores/class/radio/mix.ts +16 -16
  211. package/src/stores/class/radio/playlistMedia.ts +7 -7
  212. package/src/stores/class/radio/recurrence.ts +54 -54
  213. package/src/stores/class/rss/rssEmission.ts +13 -13
  214. package/src/stores/class/rss/rssInfo.ts +7 -7
  215. package/src/stores/class/rubrique/rubriquage.ts +2 -2
  216. package/src/stores/class/rubrique/rubrique.ts +1 -1
  217. package/src/stores/class/stat/statArrayIncome.ts +5 -5
  218. package/src/stores/class/stat/statArrayObject.ts +26 -26
  219. package/src/stores/class/stat/statGraph.ts +6 -6
  220. package/src/stores/class/user/person.ts +4 -2
  221. package/src/stores/class/user/profile.ts +4 -2
  222. package/src/stores/class/user/userKeycloak.ts +4 -5
  223. package/src/components/display/list/Paginate.vue +0 -181
  224. package/src/components/misc/Accordion.vue +0 -78
  225. package/src/components/misc/Footer.vue +0 -169
  226. package/src/components/misc/Nav.vue +0 -119
  227. package/src/components/misc/Popover.vue +0 -193
  228. package/src/components/misc/Snackbar.vue +0 -168
  229. package/src/components/pages/Category.vue +0 -41
  230. package/src/components/pages/Home.vue +0 -125
  231. package/src/components/pages/Lives.vue +0 -64
  232. package/src/components/pages/Playlist.vue +0 -164
  233. package/src/components/pages/Podcast.vue +0 -307
  234. package/src/components/pages/Podcasts.vue +0 -146
  235. package/src/components/pages/Radio.vue +0 -122
  236. package/src/components/pages/Rubrique.vue +0 -42
@@ -2,14 +2,14 @@
2
2
  <div class="module-box overflow-visible">
3
3
  <div class="d-flex justify-content-between align-items-center">
4
4
  <h2 class="big-h2 mb-3 height-40">
5
- {{ $t('Embed') }}
5
+ {{ $t("Embed") }}
6
6
  </h2>
7
7
  <div
8
8
  v-if="noAd && !isEducation"
9
9
  class="sticker"
10
10
  :title="$t('You cannot insert advertising')"
11
11
  >
12
- {{ $t('No advertising') }}
12
+ {{ $t("No advertising") }}
13
13
  </div>
14
14
  </div>
15
15
  <template v-if="!exclusive && (authenticated || notExclusive)">
@@ -23,7 +23,7 @@
23
23
  class="max-iframe mx-3"
24
24
  />
25
25
  <div class="d-flex flex-column flex-grow-1">
26
- <SharePlayerTypes
26
+ <SharePlayerTypes
27
27
  v-if="!isLiveReadyToRecord"
28
28
  v-model:iFrameModel="iFrameModel"
29
29
  :podcast="podcast"
@@ -45,17 +45,19 @@
45
45
  <PlayerParameters
46
46
  v-if="isPlayerParameter"
47
47
  :is-visible="isVisible"
48
- :chose-number-episode="displayChoiceAllEpisodes|| isLargeSuggestion"
48
+ :chose-number-episode="
49
+ displayChoiceAllEpisodes || isLargeSuggestion
50
+ "
49
51
  :display-choice-all-episodes="displayChoiceAllEpisodes"
50
52
  :display-transcript-param="displayTranscriptParam"
51
53
  :display-article-param="displayArticleParam"
52
- @displayArticle="displayArticle = $event"
53
- @displayTranscript="displayTranscript = $event"
54
- @displayWave="displayWave=$event"
55
- @episodeNumbers="episodeNumbers = $event"
56
- @proceedReading="proceedReading = $event"
57
- @isVisible="isVisible = $event"
58
- @iFrameNumber="iFrameNumber = $event"
54
+ @display-article="displayArticle = $event"
55
+ @display-transcript="displayTranscript = $event"
56
+ @display-wave="displayWave = $event"
57
+ @episode-numbers="episodeNumbers = $event"
58
+ @proceed-reading="proceedReading = $event"
59
+ @is-visible="isVisible = $event"
60
+ @i-frame-number="iFrameNumber = $event"
59
61
  />
60
62
  <ShareModalPlayer
61
63
  v-if="isShareModal"
@@ -68,150 +70,186 @@
68
70
  class="btn btn-primary width-fit-content mt-3"
69
71
  @click="isShareModal = true"
70
72
  >
71
- {{ $t('Share the player') }}
73
+ {{ $t("Share the player") }}
72
74
  </button>
73
75
  </div>
74
76
  </div>
75
77
  </template>
76
78
  <div v-else-if="exclusive && authenticated">
77
- {{ $t('Only organisation members can share the content') }}
79
+ {{ $t("Only organisation members can share the content") }}
78
80
  </div>
79
81
  <div v-else-if="!authenticated">
80
- {{ $t('Only authenticated members can share the content') }}
82
+ {{ $t("Only authenticated members can share the content") }}
81
83
  </div>
82
84
  </div>
83
85
  </template>
84
86
 
85
87
  <script lang="ts">
86
- import { orgaComputed } from '../../mixins/orgaComputed';
87
- import { state } from '../../../stores/ParamSdkStore';
88
- import octopusApi from '@saooti/octopus-api';
89
- import { Podcast } from '@/stores/class/general/podcast';
90
- import { Emission } from '@/stores/class/general/emission';
91
- import { Playlist } from '@/stores/class/general/playlist';
92
- import { useAuthStore } from '@/stores/AuthStore';
93
- import { mapState } from 'pinia';
94
- import { defineComponent, defineAsyncComponent } from 'vue';
95
- const ShareModalPlayer = defineAsyncComponent(() => import('../../misc/modal/ShareModalPlayer.vue'));
96
- const PlayerParameters = defineAsyncComponent(() => import('./PlayerParameters.vue'));
97
- const SharePlayerTypes = defineAsyncComponent(() => import('./SharePlayerTypes.vue'));
98
- const SharePlayerColors = defineAsyncComponent(() => import('./SharePlayerColors.vue'));
99
- const ClassicCheckbox = defineAsyncComponent(() => import('../../form/ClassicCheckbox.vue'));
88
+ import { orgaComputed } from "../../mixins/orgaComputed";
89
+ import { state } from "../../../stores/ParamSdkStore";
90
+ import octopusApi from "@saooti/octopus-api";
91
+ import { Podcast } from "@/stores/class/general/podcast";
92
+ import { Emission } from "@/stores/class/general/emission";
93
+ import { Playlist } from "@/stores/class/general/playlist";
94
+ import { useAuthStore } from "@/stores/AuthStore";
95
+ import { mapState } from "pinia";
96
+ import { defineComponent, defineAsyncComponent } from "vue";
97
+ const ShareModalPlayer = defineAsyncComponent(
98
+ () => import("../../misc/modal/ShareModalPlayer.vue"),
99
+ );
100
+ const PlayerParameters = defineAsyncComponent(
101
+ () => import("./PlayerParameters.vue"),
102
+ );
103
+ const SharePlayerTypes = defineAsyncComponent(
104
+ () => import("./SharePlayerTypes.vue"),
105
+ );
106
+ const SharePlayerColors = defineAsyncComponent(
107
+ () => import("./SharePlayerColors.vue"),
108
+ );
109
+ const ClassicCheckbox = defineAsyncComponent(
110
+ () => import("../../form/ClassicCheckbox.vue"),
111
+ );
100
112
  export default defineComponent({
101
113
  components: {
102
114
  ShareModalPlayer,
103
115
  SharePlayerColors,
104
116
  PlayerParameters,
105
117
  SharePlayerTypes,
106
- ClassicCheckbox
118
+ ClassicCheckbox,
107
119
  },
108
- mixins:[orgaComputed],
120
+ mixins: [orgaComputed],
109
121
  props: {
110
- podcast: { default: undefined, type: Object as ()=> Podcast},
111
- emission: { default: undefined, type: Object as ()=> Emission},
112
- playlist: { default: undefined, type: Object as ()=> Playlist},
113
- organisationId: { default: undefined, type: String},
114
- isEducation: { default: false, type: Boolean},
115
- exclusive: { default: false, type: Boolean},
116
- notExclusive: { default: true, type: Boolean},
122
+ podcast: { default: undefined, type: Object as () => Podcast },
123
+ emission: { default: undefined, type: Object as () => Emission },
124
+ playlist: { default: undefined, type: Object as () => Playlist },
125
+ organisationId: { default: undefined, type: String },
126
+ isEducation: { default: false, type: Boolean },
127
+ exclusive: { default: false, type: Boolean },
128
+ notExclusive: { default: true, type: Boolean },
117
129
  },
118
130
 
119
131
  data() {
120
132
  return {
121
- iFrameModel: 'default' as string,
133
+ iFrameModel: "default" as string,
122
134
  isShareModal: false as boolean,
123
- color: '#40a372' as string,
124
- theme: '#000000' as string,
135
+ color: "#40a372" as string,
136
+ theme: "#000000" as string,
125
137
  proceedReading: true as boolean,
126
- episodeNumbers: 'number' as string,
127
- iFrameNumber: '3' as string,
138
+ episodeNumbers: "number" as string,
139
+ iFrameNumber: "3" as string,
128
140
  isVisible: false as boolean,
129
141
  displayArticle: true as boolean,
130
142
  displayTranscript: true as boolean,
131
143
  displayWave: true as boolean,
132
- orgaAttributes: undefined as{[key: string]:string|number|boolean|undefined}|undefined,
144
+ orgaAttributes: undefined as
145
+ | { [key: string]: string | number | boolean | undefined }
146
+ | undefined,
133
147
  };
134
148
  },
135
-
149
+
136
150
  computed: {
137
- ...mapState(useAuthStore, ['authOrganisation']),
138
- displayArticleParam():boolean{
139
- return undefined!==this.podcast && undefined!==this.podcast.article && 0 !== this.podcast.article.length;
151
+ ...mapState(useAuthStore, ["authOrganisation"]),
152
+ displayArticleParam(): boolean {
153
+ return (
154
+ undefined !== this.podcast &&
155
+ undefined !== this.podcast.article &&
156
+ 0 !== this.podcast.article.length
157
+ );
140
158
  },
141
- displayTranscriptParam():boolean{
142
- return this.isTranscriptionAuthorize && (this.isDefault || this.isEmission);
159
+ displayTranscriptParam(): boolean {
160
+ return (
161
+ this.isTranscriptionAuthorize && (this.isDefault || this.isEmission)
162
+ );
143
163
  },
144
- isTranscriptionAuthorize(): boolean{
145
- if(!this.orgaAttributes){return false;}
146
- return this.orgaAttributes && Object.prototype.hasOwnProperty.call(this.orgaAttributes,'speechtotext.active')?(this.orgaAttributes['speechtotext.active'] as boolean): false;
164
+ isTranscriptionAuthorize(): boolean {
165
+ if (!this.orgaAttributes) {
166
+ return false;
167
+ }
168
+ return this.orgaAttributes &&
169
+ Object.prototype.hasOwnProperty.call(
170
+ this.orgaAttributes,
171
+ "speechtotext.active",
172
+ )
173
+ ? (this.orgaAttributes["speechtotext.active"] as boolean)
174
+ : false;
147
175
  },
148
- displayChoiceAllEpisodes():boolean{
176
+ displayChoiceAllEpisodes(): boolean {
149
177
  return !this.podcast || this.isEmission || this.isLargeEmission;
150
178
  },
151
- baseUrl(): string{
152
- return (state.podcastPage.MiniplayerUri as string);
179
+ baseUrl(): string {
180
+ return state.podcastPage.MiniplayerUri as string;
153
181
  },
154
182
  isDefault(): boolean {
155
- return 'default' === this.iFrameModel;
183
+ return "default" === this.iFrameModel;
156
184
  },
157
185
  isEmission(): boolean {
158
- return 'emission' === this.iFrameModel;
186
+ return "emission" === this.iFrameModel;
159
187
  },
160
188
  isLargeEmission(): boolean {
161
- return 'emissionLarge' === this.iFrameModel;
189
+ return "emissionLarge" === this.iFrameModel;
162
190
  },
163
191
  isLargeSuggestion(): boolean {
164
- return 'largeSuggestion' === this.iFrameModel;
192
+ return "largeSuggestion" === this.iFrameModel;
165
193
  },
166
194
  titleStillAvailable(): string {
167
- return this.isPodcastNotVisible ?this.$t('Podcast still available') : this.$t('Podcasts still available');
195
+ return this.isPodcastNotVisible
196
+ ? this.$t("Podcast still available")
197
+ : this.$t("Podcasts still available");
168
198
  },
169
199
  isLiveReadyToRecord(): boolean {
170
200
  if (this.podcast)
171
201
  return (
172
202
  undefined !== this.podcast.conferenceId &&
173
203
  0 !== this.podcast.conferenceId &&
174
- this.podcast.processingStatus === 'READY_TO_RECORD'
204
+ this.podcast.processingStatus === "READY_TO_RECORD"
175
205
  );
176
206
  return false;
177
207
  },
178
208
  noAd(): boolean {
179
- return (this.podcast?.organisation.id !== this.organisationId &&
180
- 'NO' === this.podcast?.monetisable) ||
181
- ('UNDEFINED' === this.podcast?.monetisable &&
182
- 'NO' === this.podcast?.emission.monetisable);
209
+ return (
210
+ (this.podcast?.organisation.id !== this.organisationId &&
211
+ "NO" === this.podcast?.monetisable) ||
212
+ ("UNDEFINED" === this.podcast?.monetisable &&
213
+ "NO" === this.podcast?.emission.monetisable)
214
+ );
183
215
  },
184
216
  iFrameSrc(): string {
185
- let url = [''];
186
- let iFrameNumber = this.displayChoiceAllEpisodes && 'all' === this.episodeNumbers ? '/0' : '/' + this.iFrameNumber;
217
+ let url = [""];
218
+ let iFrameNumber =
219
+ this.displayChoiceAllEpisodes && "all" === this.episodeNumbers
220
+ ? "/0"
221
+ : "/" + this.iFrameNumber;
187
222
  url.push(`${this.baseUrl}miniplayer/`);
188
223
  if (!this.podcast && !this.playlist && this.emission) {
189
224
  url = this.constructEmissionUrl(url);
190
225
  } else if (this.playlist) {
191
226
  url = this.constructPlaylistUrl(url);
192
- } else if(this.emission && this.podcast){
227
+ } else if (this.emission && this.podcast) {
193
228
  url.push(`${this.iFrameModel}/`);
194
229
  if (this.isEmission || this.isLargeEmission) {
195
- url.push(`${this.emission.emissionId}${iFrameNumber}/${this.podcast.podcastId}`);
230
+ url.push(
231
+ `${this.emission.emissionId}${iFrameNumber}/${this.podcast.podcastId}`,
232
+ );
196
233
  } else if (this.isLargeSuggestion) {
197
234
  url.push(`${this.podcast.podcastId}${iFrameNumber}`);
198
- } else {
235
+ } else {
199
236
  url.push(`${this.podcast.podcastId}`);
200
237
  }
201
238
  }
202
- return this.addUrlParameters(url).join('');
239
+ return this.addUrlParameters(url).join("");
203
240
  },
204
241
  iFrameHeight(): string {
205
242
  switch (this.iFrameModel) {
206
- case 'large':
207
- if (this.podcast) return '210px';
208
- return '350px';
209
- case 'emissionLarge':
210
- case 'largeSuggestion':
211
- return '350px';
212
- case 'emission':return '520px';
243
+ case "large":
244
+ if (this.podcast) return "210px";
245
+ return "350px";
246
+ case "emissionLarge":
247
+ case "largeSuggestion":
248
+ return "350px";
249
+ case "emission":
250
+ return "520px";
213
251
  default:
214
- return '530px';
252
+ return "530px";
215
253
  }
216
254
  },
217
255
  iFrame(): string {
@@ -221,7 +259,7 @@ export default defineComponent({
221
259
  return (
222
260
  undefined !== this.podcast &&
223
261
  !this.podcast.availability.visibility &&
224
- ('default' === this.iFrameModel || 'large' === this.iFrameModel)
262
+ ("default" === this.iFrameModel || "large" === this.iFrameModel)
225
263
  );
226
264
  },
227
265
  dataTitle(): number {
@@ -230,85 +268,127 @@ export default defineComponent({
230
268
  if (this.playlist) return this.playlist.playlistId;
231
269
  return 0;
232
270
  },
233
- isPlayerParameter(): boolean{
234
- return (!this.podcast ||
235
- (this.displayArticleParam) ||
236
- this.isEmission || this.isLargeEmission || this.isLargeSuggestion ||
237
- (this.displayTranscriptParam))
238
- && !this.playlist;
239
- }
271
+ isPlayerParameter(): boolean {
272
+ return (
273
+ (!this.podcast ||
274
+ this.displayArticleParam ||
275
+ this.isEmission ||
276
+ this.isLargeEmission ||
277
+ this.isLargeSuggestion ||
278
+ this.displayTranscriptParam) &&
279
+ !this.playlist
280
+ );
281
+ },
240
282
  },
241
283
  async created() {
242
284
  await this.fetchOrgaAttributes();
243
285
  this.initColor();
244
286
  if (this.isLiveReadyToRecord) {
245
- this.iFrameModel = 'large';
287
+ this.iFrameModel = "large";
246
288
  }
247
289
  },
248
290
  methods: {
249
- getIframeNumber(): string{
250
- return this.displayChoiceAllEpisodes && 'all' === this.episodeNumbers ? '/0' : '/' + this.iFrameNumber;
291
+ getIframeNumber(): string {
292
+ return this.displayChoiceAllEpisodes && "all" === this.episodeNumbers
293
+ ? "/0"
294
+ : "/" + this.iFrameNumber;
251
295
  },
252
- constructEmissionUrl(url: Array<string>){
253
- if(!this.emission){return [];}
254
- switch (this.iFrameModel) {
255
- case 'default': url.push('emission'); break;
256
- case 'large': url.push('emissionLarge'); break;
257
- default: url.push(`${this.iFrameModel}`);break;
258
- }
259
- url.push(`/${this.emission.emissionId}${this.getIframeNumber()}`);
260
- return url;
296
+ constructEmissionUrl(url: Array<string>) {
297
+ if (!this.emission) {
298
+ return [];
299
+ }
300
+ switch (this.iFrameModel) {
301
+ case "default":
302
+ url.push("emission");
303
+ break;
304
+ case "large":
305
+ url.push("emissionLarge");
306
+ break;
307
+ default:
308
+ url.push(`${this.iFrameModel}`);
309
+ break;
310
+ }
311
+ url.push(`/${this.emission.emissionId}${this.getIframeNumber()}`);
312
+ return url;
261
313
  },
262
- constructPlaylistUrl(url: Array<string>){
263
- if(!this.playlist){return [];}
314
+ constructPlaylistUrl(url: Array<string>) {
315
+ if (!this.playlist) {
316
+ return [];
317
+ }
264
318
  switch (this.iFrameModel) {
265
- case 'default': url.push('playlist'); break;
266
- case 'large': url.push('playlistLarge'); break;
267
- default: url.push(`${this.iFrameModel}`);break;
319
+ case "default":
320
+ url.push("playlist");
321
+ break;
322
+ case "large":
323
+ url.push("playlistLarge");
324
+ break;
325
+ default:
326
+ url.push(`${this.iFrameModel}`);
327
+ break;
268
328
  }
269
329
  url.push(`/${this.playlist.playlistId}`);
270
330
  return url;
271
331
  },
272
- addUrlParameters(url: Array<string>){
273
- url.push('?distributorId=' + this.organisationId);
274
- url.push(`&color=${this.color.substring(1)}&theme=${this.theme.substring(1)}`);
332
+ addUrlParameters(url: Array<string>) {
333
+ url.push("?distributorId=" + this.organisationId);
334
+ url.push(
335
+ `&color=${this.color.substring(1)}&theme=${this.theme.substring(1)}`,
336
+ );
275
337
  if (!this.proceedReading) {
276
- url.push('&proceed=false');
338
+ url.push("&proceed=false");
277
339
  }
278
- if(!this.displayArticle){
279
- url.push('&article=false');
340
+ if (!this.displayArticle) {
341
+ url.push("&article=false");
280
342
  }
281
- if(!this.displayTranscript){
282
- url.push('&transcript=false');
343
+ if (!this.displayTranscript) {
344
+ url.push("&transcript=false");
283
345
  }
284
- if(!this.displayWave){
285
- url.push('&wave=false');
346
+ if (!this.displayWave) {
347
+ url.push("&wave=false");
286
348
  }
287
349
  if (this.isVisible) {
288
- url.push('&key=' + window.btoa(this.dataTitle.toString()));
350
+ url.push("&key=" + window.btoa(this.dataTitle.toString()));
289
351
  }
290
352
  return url;
291
353
  },
292
- async fetchOrgaAttributes(): Promise<void>{
293
- if(""!==this.authOrganisation.id && this.authOrganisation.attributes && Object.keys(this.authOrganisation.attributes).length > 1){
354
+ async fetchOrgaAttributes(): Promise<void> {
355
+ if (
356
+ "" !== this.authOrganisation.id &&
357
+ this.authOrganisation.attributes &&
358
+ Object.keys(this.authOrganisation.attributes).length > 1
359
+ ) {
294
360
  this.orgaAttributes = this.authOrganisation.attributes;
295
- }else{
296
- this.orgaAttributes= await octopusApi.fetchData<{[key:string]:string}>(0, 'organisation/attributes/'+this.myOrganisationId);
361
+ } else {
362
+ this.orgaAttributes = await octopusApi.fetchData<{
363
+ [key: string]: string;
364
+ }>(0, "organisation/attributes/" + this.myOrganisationId);
297
365
  }
298
366
  },
299
367
  initColor(): void {
300
- if(!this.orgaAttributes){return;}
301
- this.color = Object.prototype.hasOwnProperty.call(this.orgaAttributes,'COLOR') ? (this.orgaAttributes.COLOR as string) : '#40a372';
302
- this.theme = Object.prototype.hasOwnProperty.call(this.orgaAttributes,'THEME') ? (this.orgaAttributes.THEME as string) : '#000000';
368
+ if (!this.orgaAttributes) {
369
+ return;
370
+ }
371
+ this.color = Object.prototype.hasOwnProperty.call(
372
+ this.orgaAttributes,
373
+ "COLOR",
374
+ )
375
+ ? (this.orgaAttributes.COLOR as string)
376
+ : "#40a372";
377
+ this.theme = Object.prototype.hasOwnProperty.call(
378
+ this.orgaAttributes,
379
+ "THEME",
380
+ )
381
+ ? (this.orgaAttributes.THEME as string)
382
+ : "#000000";
303
383
  },
304
384
  },
305
- })
385
+ });
306
386
  </script>
307
387
 
308
388
  <style lang="scss">
309
- @import '@scss/_variables.scss';
310
- @import '../../../assets/iframe.scss';
311
- .octopus-app{
389
+ @import "@scss/_variables.scss";
390
+ @import "../../../assets/iframe.scss";
391
+ .octopus-app {
312
392
  .sticker {
313
393
  align-self: center;
314
394
  background: $octopus-primary-color;
@@ -327,4 +407,4 @@ export default defineComponent({
327
407
  }
328
408
  }
329
409
  }
330
- </style>
410
+ </style>
@@ -2,30 +2,30 @@
2
2
  <div class="d-flex">
3
3
  <div class="d-flex flex-column align-items-center flex-shrink-0 me-4">
4
4
  <div class="h4 mb-2">
5
- {{ $t('Choose color') }}
5
+ {{ $t("Choose color") }}
6
6
  </div>
7
7
  <VSwatches
8
8
  :model-value="color"
9
- class="c-hand "
9
+ class="c-hand"
10
10
  show-fallback
11
11
  colors="text-advanced"
12
12
  popover-to="right"
13
13
  :data-color="color"
14
- @update:modelValue="$emit('update:color',$event)"
14
+ @update:model-value="$emit('update:color', $event)"
15
15
  />
16
16
  </div>
17
17
  <div class="d-flex flex-column align-items-center">
18
18
  <div class="h4 mb-2">
19
- {{ $t('Choose theme') }}
19
+ {{ $t("Choose theme") }}
20
20
  </div>
21
21
  <VSwatches
22
22
  :model-value="theme"
23
- class="c-hand "
23
+ class="c-hand"
24
24
  show-fallback
25
25
  colors="text-advanced"
26
26
  popover-to="right"
27
27
  :data-color="theme"
28
- @update:modelValue="$emit('update:theme',$event)"
28
+ @update:model-value="$emit('update:theme', $event)"
29
29
  />
30
30
  </div>
31
31
  </div>
@@ -33,18 +33,18 @@
33
33
 
34
34
  <script lang="ts">
35
35
  // @ts-ignore
36
- import {VSwatches} from 'vue3-swatches';
37
- import 'vue3-swatches/dist/style.css';
38
- import { defineComponent } from 'vue';
36
+ import { VSwatches } from "vue3-swatches";
37
+ import "vue3-swatches/dist/style.css";
38
+ import { defineComponent } from "vue";
39
39
  export default defineComponent({
40
40
  components: {
41
- VSwatches
41
+ VSwatches,
42
42
  },
43
43
 
44
44
  props: {
45
- color: { default: '#40a372', type: String},
46
- theme: { default: '#000000', type: String},
45
+ color: { default: "#40a372", type: String },
46
+ theme: { default: "#000000", type: String },
47
47
  },
48
- emits:['update:color', 'update:theme'],
49
- })
50
- </script>
48
+ emits: ["update:color", "update:theme"],
49
+ });
50
+ </script>