@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
@@ -4,58 +4,54 @@
4
4
  class="timeline-button"
5
5
  @click="$emit('update:showTimeline', !showTimeline)"
6
6
  >
7
- <div
8
- class="saooti-down"
9
- :class="showTimeline ? '' : 'arrow-transform'"
10
- />
7
+ <div class="saooti-down" :class="showTimeline ? '' : 'arrow-transform'" />
11
8
  <div>Timeline</div>
12
9
  </div>
13
10
  </template>
14
11
 
15
12
  <script lang="ts">
16
- import { state } from '../../../stores/ParamSdkStore';
17
- import { defineComponent } from 'vue';
18
- import { CommentPodcast } from '@/stores/class/general/comment';
13
+ import { state } from "../../../stores/ParamSdkStore";
14
+ import { defineComponent } from "vue";
15
+ import { CommentPodcast } from "@/stores/class/general/comment";
19
16
  export default defineComponent({
20
- name: 'PlayerTimeline',
17
+ name: "PlayerTimeline",
21
18
 
22
19
  props: {
23
- showTimeline: { default: false, type: Boolean},
24
- comments: { default: ()=>[], type: Array as ()=>Array<CommentPodcast>},
20
+ showTimeline: { default: false, type: Boolean },
21
+ comments: { default: () => [], type: Array as () => Array<CommentPodcast> },
25
22
  },
26
- emits:['update:showTimeline'],
23
+ emits: ["update:showTimeline"],
27
24
 
28
25
  computed: {
29
26
  isPodcastmaker(): boolean {
30
- return (state.generalParameters.podcastmaker as boolean);
27
+ return state.generalParameters.podcastmaker as boolean;
31
28
  },
32
29
  },
33
-
34
- })
30
+ });
35
31
  </script>
36
32
  <style lang="scss">
37
- @import '@scss/_variables.scss';
38
- .octopus-app{
39
- .player-container {
40
- .timeline-button {
41
- background: black;
42
- padding: 0.1rem;
43
- border-radius: 50%;
44
- width: 70px;
45
- height: 70px;
46
- font-size: 0.7rem;
47
- font-weight: bold;
48
- justify-content: center;
49
- display: flex;
50
- flex-direction: column;
51
- align-items: center;
52
- cursor: pointer;
53
- color: $octopus-primary-color;
54
- margin-left: 0.5rem;
55
- @media (max-width: 960px) {
56
- display: none;
33
+ @import "@scss/_variables.scss";
34
+ .octopus-app {
35
+ .player-container {
36
+ .timeline-button {
37
+ background: black;
38
+ padding: 0.1rem;
39
+ border-radius: 50%;
40
+ width: 70px;
41
+ height: 70px;
42
+ font-size: 0.7rem;
43
+ font-weight: bold;
44
+ justify-content: center;
45
+ display: flex;
46
+ flex-direction: column;
47
+ align-items: center;
48
+ cursor: pointer;
49
+ color: $octopus-primary-color;
50
+ margin-left: 0.5rem;
51
+ @media (max-width: 960px) {
52
+ display: none;
53
+ }
57
54
  }
58
55
  }
59
56
  }
60
- }
61
- </style>
57
+ </style>
@@ -1,34 +1,30 @@
1
1
  <template>
2
- <div
3
- v-if="playerRadioHistory.length"
4
- class="d-flex align-items-center mt-3"
5
- >
2
+ <div v-if="playerRadioHistory.length" class="d-flex align-items-center mt-3">
6
3
  <div class="fw-bold me-3">
7
- {{ $t('Previously') +':' }}
4
+ {{ $t("Previously") + ":" }}
8
5
  </div>
9
6
  <button
10
- v-if="indexStart!==0"
7
+ v-if="indexStart !== 0"
11
8
  class="btn btn-transparent text-light saooti-left"
12
9
  @click="handleResize(0)"
13
10
  />
14
- <div
15
- ref="historyListContainer"
16
- class="history-list-container"
17
- >
18
- <div
19
- v-for="(pastItem, index) in playerRadioHistory"
11
+ <div ref="historyListContainer" class="history-list-container">
12
+ <div
13
+ v-for="(pastItem, index) in playerRadioHistory"
20
14
  :key="pastItem.title"
21
15
  :ref="'history' + index"
22
16
  class="d-flex flex-shrink-0"
23
17
  >
24
18
  <div class="d-flex flex-shrink-0 align-items-end">
25
- <span class="me-2 hour-past-item">{{ displayTimeItem(pastItem) }}</span>
19
+ <span class="me-2 hour-past-item">{{
20
+ displayTimeItem(pastItem)
21
+ }}</span>
26
22
  <span class="me-3">{{ displayPreviousItem(pastItem) }}</span>
27
23
  </div>
28
24
  </div>
29
25
  </div>
30
26
  <button
31
- v-if="indexNotDisplay<=playerRadioHistory.length-1"
27
+ v-if="indexNotDisplay <= playerRadioHistory.length - 1"
32
28
  class="btn btn-transparent text-light saooti-right"
33
29
  @click="handleResize(indexNotDisplay)"
34
30
  />
@@ -36,100 +32,107 @@
36
32
  </template>
37
33
 
38
34
  <script lang="ts">
39
- import { usePlayerStore } from '@/stores/PlayerStore';
40
- import { mapState } from 'pinia';
41
- import dayjs from 'dayjs';
42
- import {fetchRadioData} from '../../../mixins/radio/fetchRadioData';
43
- import { defineComponent } from 'vue';
44
- import { MediaRadio } from '@/stores/class/general/player';
35
+ import { usePlayerStore } from "@/stores/PlayerStore";
36
+ import { mapState } from "pinia";
37
+ import dayjs from "dayjs";
38
+ import { fetchRadioData } from "../../../mixins/radio/fetchRadioData";
39
+ import { defineComponent } from "vue";
40
+ import { MediaRadio } from "@/stores/class/general/player";
45
41
  export default defineComponent({
46
- name: 'RadioHistory',
42
+ name: "RadioHistory",
47
43
 
48
- components: {
49
- },
44
+ components: {},
50
45
 
51
46
  mixins: [fetchRadioData],
52
- emits: ['updateNotListenTime'],
47
+ emits: ["updateNotListenTime"],
53
48
  data() {
54
49
  return {
55
50
  indexStart: 0 as number,
56
51
  indexNotDisplay: 100 as number,
57
52
  };
58
53
  },
59
-
54
+
60
55
  computed: {
61
- ...mapState(usePlayerStore, ['playerRadio']),
62
- playerRadioHistory(){
56
+ ...mapState(usePlayerStore, ["playerRadio"]),
57
+ playerRadioHistory() {
63
58
  return this.playerRadio?.history ?? [];
64
- }
59
+ },
65
60
  },
66
- watch:{
61
+ watch: {
67
62
  playerRadioHistory: {
68
63
  deep: true,
69
- immediate:true,
70
- handler(){
64
+ immediate: true,
65
+ handler() {
71
66
  this.$nextTick(() => {
72
67
  this.handleResize(0);
73
68
  });
74
- }
69
+ },
75
70
  },
76
71
  },
77
72
  created() {
78
- window.addEventListener('resize', ()=>{this.handleResize(0);});
73
+ window.addEventListener("resize", () => {
74
+ this.handleResize(0);
75
+ });
79
76
  },
80
77
  unmounted() {
81
- window.removeEventListener('resize', ()=>{this.handleResize(0);});
78
+ window.removeEventListener("resize", () => {
79
+ this.handleResize(0);
80
+ });
82
81
  },
83
82
  mounted() {
84
83
  this.handleResize(0);
85
84
  },
86
- methods:{
87
- handleResize(indexAsked:number): void {
88
- const historyList = (this.$refs.historyListContainer as HTMLElement);
89
- if(null === historyList ||!historyList){
85
+ methods: {
86
+ handleResize(indexAsked: number): void {
87
+ const historyList = this.$refs.historyListContainer as HTMLElement;
88
+ if (null === historyList || !historyList) {
90
89
  return;
91
90
  }
92
91
  this.indexStart = indexAsked;
93
92
  this.indexNotDisplay = this.playerRadioHistory.length;
94
93
  for (let index = 0; index < this.playerRadioHistory.length; index++) {
95
- const el = (this.$refs['history' +index] as Array<HTMLElement>)[0];
94
+ const el = (this.$refs["history" + index] as Array<HTMLElement>)[0];
96
95
  if (!el) continue;
97
- if(index < this.indexStart && !el.classList.contains('hid')){
98
- el.classList.add('hid');
96
+ if (index < this.indexStart && !el.classList.contains("hid")) {
97
+ el.classList.add("hid");
99
98
  continue;
100
99
  }
101
- if (index >= this.indexStart && el.classList.contains('hid')) {
102
- el.classList.remove('hid');
100
+ if (index >= this.indexStart && el.classList.contains("hid")) {
101
+ el.classList.remove("hid");
103
102
  }
104
103
  }
105
- for (let index = this.indexStart + 1; index < this.playerRadioHistory.length; index++) {
106
- const el = (this.$refs['history' +index] as Array<HTMLElement>)[0];
104
+ for (
105
+ let index = this.indexStart + 1;
106
+ index < this.playerRadioHistory.length;
107
+ index++
108
+ ) {
109
+ const el = (this.$refs["history" + index] as Array<HTMLElement>)[0];
107
110
  if (!el) continue;
108
- if (index > this.indexNotDisplay && !el.classList.contains('hid')) {
109
- el.classList.add('hid');
111
+ if (index > this.indexNotDisplay && !el.classList.contains("hid")) {
112
+ el.classList.add("hid");
110
113
  continue;
111
114
  }
112
115
  const parent = el.parentElement;
113
- if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth ) {
116
+ if (parent && el.offsetLeft + el.clientWidth > parent.clientWidth) {
114
117
  this.indexNotDisplay = index;
115
- el.classList.add('hid');
118
+ el.classList.add("hid");
116
119
  }
117
120
  }
118
121
  },
119
- displayTimeItem(item: MediaRadio):string{
120
- return dayjs(item.startDate).format('HH:mm');
122
+ displayTimeItem(item: MediaRadio): string {
123
+ return dayjs(item.startDate).format("HH:mm");
121
124
  },
122
- displayPreviousItem(item: MediaRadio):string{
123
- if(item.podcastId){
125
+ displayPreviousItem(item: MediaRadio): string {
126
+ if (item.podcastId) {
124
127
  return item.title;
125
128
  }
126
129
  return this.displayTitle(item);
127
- }
128
- }
129
- })
130
+ },
131
+ },
132
+ });
130
133
  </script>
131
134
  <style lang="scss">
132
- .octopus-app{
135
+ .octopus-app {
133
136
  .history-list-container {
134
137
  display: inline-flex;
135
138
  justify-content: flex-start;
@@ -138,9 +141,9 @@ export default defineComponent({
138
141
  width: 0;
139
142
  position: relative;
140
143
  }
141
- .hour-past-item{
144
+ .hour-past-item {
142
145
  font-size: 0.8rem;
143
146
  color: #dbdbdb;
144
147
  }
145
148
  }
146
- </style>
149
+ </style>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  class="octopus-progress c-hand-auto mt-1"
4
- :class="isAmbiance?'ambiance-progress':''"
4
+ :class="isAmbiance ? 'ambiance-progress' : ''"
5
5
  >
6
6
  <div
7
7
  class="octopus-progress-bar"
@@ -15,39 +15,40 @@
15
15
  </template>
16
16
 
17
17
  <script lang="ts">
18
- import { usePlayerStore } from '@/stores/PlayerStore';
19
- import { mapState, mapActions } from 'pinia';
20
- import dayjs from 'dayjs';
21
- import { defineComponent } from 'vue';
18
+ import { usePlayerStore } from "@/stores/PlayerStore";
19
+ import { mapState, mapActions } from "pinia";
20
+ import dayjs from "dayjs";
21
+ import { defineComponent } from "vue";
22
22
  export default defineComponent({
23
- name: 'RadioProgressBar',
23
+ name: "RadioProgressBar",
24
24
 
25
- components: {
26
- },
27
- emits: ['updateNotListenTime'],
25
+ components: {},
26
+ emits: ["updateNotListenTime"],
28
27
  data() {
29
28
  return {
30
- percentInterval: undefined as ReturnType<typeof setTimeout>|undefined,
29
+ percentInterval: undefined as ReturnType<typeof setTimeout> | undefined,
31
30
  };
32
31
  },
33
-
32
+
34
33
  computed: {
35
- ...mapState(usePlayerStore, ['playerRadio', 'playerElapsed']),
36
- isAmbiance(): boolean{
37
- return !this.playerRadio?.podcast?.podcastId
34
+ ...mapState(usePlayerStore, ["playerRadio", "playerElapsed"]),
35
+ isAmbiance(): boolean {
36
+ return !this.playerRadio?.podcast?.podcastId;
38
37
  },
39
- percentProgress(): number{
40
- if(!this.playerElapsed){return 0;}
38
+ percentProgress(): number {
39
+ if (!this.playerElapsed) {
40
+ return 0;
41
+ }
41
42
  return this.playerElapsed * 100;
42
43
  },
43
44
  },
44
- mounted(){
45
+ mounted() {
45
46
  this.handlePercentInterval();
46
47
  },
47
- methods:{
48
- ...mapActions(usePlayerStore, ['playerUpdateElapsed']),
49
- handlePercentInterval(/* clear: boolean */): void{
50
- /* if(clear){
48
+ methods: {
49
+ ...mapActions(usePlayerStore, ["playerUpdateElapsed"]),
50
+ handlePercentInterval(/* clear: boolean */): void {
51
+ /* if(clear){
51
52
  clearInterval((this.percentInterval as unknown as number));
52
53
  this.percentInterval = undefined;
53
54
  return;
@@ -56,24 +57,32 @@ export default defineComponent({
56
57
  this.calculatePercent();
57
58
  }, 1000);
58
59
  },
59
- calculatePercent(): void{
60
- if(!this.playerRadio?.metadata){return;}
61
- const actualMilliSecondsPlayed = dayjs().subtract(18, 'second').diff(dayjs(this.playerRadio.metadata.startDate));
62
- const percentPlayed = (actualMilliSecondsPlayed) / (this.playerRadio?.metadata.mediaDuration * 1000);
63
- this.playerUpdateElapsed(percentPlayed, this.playerRadio?.metadata.mediaDuration);
64
- }
65
- }
66
-
67
- })
60
+ calculatePercent(): void {
61
+ if (!this.playerRadio?.metadata) {
62
+ return;
63
+ }
64
+ const actualMilliSecondsPlayed = dayjs()
65
+ .subtract(18, "second")
66
+ .diff(dayjs(this.playerRadio.metadata.startDate));
67
+ const percentPlayed =
68
+ actualMilliSecondsPlayed /
69
+ (this.playerRadio?.metadata.mediaDuration * 1000);
70
+ this.playerUpdateElapsed(
71
+ percentPlayed,
72
+ this.playerRadio?.metadata.mediaDuration,
73
+ );
74
+ },
75
+ },
76
+ });
68
77
  </script>
69
78
  <style lang="scss">
70
- @import '../../../../assets/progressbar.scss';
71
- .octopus-app{
72
- .ambiance-progress{
79
+ @import "../../../../assets/progressbar.scss";
80
+ .octopus-app {
81
+ .ambiance-progress {
73
82
  background-color: #d1d1d1;
74
- .octopus-progress-bar{
83
+ .octopus-progress-bar {
75
84
  background-color: #747474;
76
85
  }
77
86
  }
78
87
  }
79
- </style>
88
+ </style>
@@ -1,21 +1,22 @@
1
- export default{
1
+ export default {
2
2
  methods: {
3
- setCookie(name: string, value: string, domain= ""): void {
3
+ setCookie(name: string, value: string, domain = ""): void {
4
4
  const date = new Date();
5
5
  date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
6
- const expires = '; expires=' + date.toUTCString();
7
- document.cookie = name + '=' + (value || '') + expires +domain+ '; path=/';
6
+ const expires = "; expires=" + date.toUTCString();
7
+ document.cookie =
8
+ name + "=" + (value || "") + expires + domain + "; path=/";
8
9
  },
9
- getCookie(name: string): string|null {
10
- const nameEQ = name + '=';
11
- const ca = document.cookie.split(';');
12
- for (let cookieValue of ca) {
10
+ getCookie(name: string): string | null {
11
+ const nameEQ = name + "=";
12
+ const ca = document.cookie.split(";");
13
+ for (const cookieValue of ca) {
13
14
  let c = cookieValue;
14
- while (c.charAt(0) == ' ') c = c.substring(1, c.length);
15
+ while (c.charAt(0) == " ") c = c.substring(1, c.length);
15
16
  if (0 === c.indexOf(nameEQ))
16
17
  return c.substring(nameEQ.length, c.length);
17
18
  }
18
19
  return null;
19
20
  },
20
21
  },
21
- };
22
+ };
@@ -1,11 +1,12 @@
1
-
2
- export default{
1
+ export default {
3
2
  methods: {
4
3
  urlify(text: string): string {
5
4
  const urlRegex = /[^"](https?:\/\/[^\s<]+)/g;
6
- if (!text) return '';
5
+ if (!text) return "";
7
6
  return text.replace(urlRegex, (url: string) => {
8
- return '<a href="' + url + '" target="_blank" rel="noopener">' + url + '</a>';
7
+ return (
8
+ '<a href="' + url + '" target="_blank" rel="noopener">' + url + "</a>"
9
+ );
9
10
  });
10
11
  },
11
12
  async onCopyCode(link: string, callback: () => void): Promise<void> {
@@ -1,22 +1,22 @@
1
- import { AxiosError } from 'axios';
2
- import { defineComponent } from 'vue';
3
- import { useAuthStore } from '@/stores/AuthStore';
4
- import { mapState } from 'pinia';
1
+ import { AxiosError } from "axios";
2
+ import { defineComponent } from "vue";
3
+ import { useAuthStore } from "@/stores/AuthStore";
4
+ import { mapState } from "pinia";
5
5
  export const handle403 = defineComponent({
6
6
  computed: {
7
- ...mapState(useAuthStore, ['authOrgaId']),
7
+ ...mapState(useAuthStore, ["authOrgaId"]),
8
8
  },
9
9
  methods: {
10
10
  handle403(error: AxiosError): void {
11
11
  if (403 === error.response?.status) {
12
- if(undefined===this.authOrgaId){
12
+ if (undefined === this.authOrgaId) {
13
13
  window.location.href = window.location.origin + "/sso/login";
14
- }else{
14
+ } else {
15
15
  this.$router.push({
16
- path: '/main/pub/error'
16
+ path: "/main/pub/error",
17
17
  });
18
18
  }
19
19
  }
20
20
  },
21
21
  },
22
- });
22
+ });
@@ -1,15 +1,22 @@
1
- import { state } from '../../stores/ParamSdkStore';
1
+ import { state } from "../../stores/ParamSdkStore";
2
2
  export default {
3
3
  methods: {
4
- proxyImageUrl(url:string, width:string, height?:string): string{
5
- if(!url){
4
+ proxyImageUrl(url: string, width: string, height?: string): string {
5
+ if (!url) {
6
6
  return "";
7
7
  }
8
- if(state.octopusApi.imageUrl && url.includes('http')){
9
- const size = height ? "height="+height:"width="+width;
10
- return state.octopusApi.imageUrl+"image/"+btoa(url)+"?"+size+"&useWebp=true";
8
+ if (state.octopusApi.imageUrl && url.includes("http")) {
9
+ const size = height ? "height=" + height : "width=" + width;
10
+ return (
11
+ state.octopusApi.imageUrl +
12
+ "image/" +
13
+ btoa(url) +
14
+ "?" +
15
+ size +
16
+ "&useWebp=true"
17
+ );
11
18
  }
12
19
  return url;
13
20
  },
14
21
  },
15
- };
22
+ };
@@ -1,26 +1,41 @@
1
-
2
1
  import { Category } from "@/stores/class/general/category";
3
- import orgaFilter from '../mixins/organisationFilter';
4
- import octopusApi from '@saooti/octopus-api';
5
- import { state } from '../../stores/ParamSdkStore';
6
- import { useGeneralStore } from '@/stores/GeneralStore';
7
- import { mapActions } from 'pinia';
8
- import { defineComponent } from 'vue';
2
+ import orgaFilter from "../mixins/organisationFilter";
3
+ import octopusApi from "@saooti/octopus-api";
4
+ import { state } from "../../stores/ParamSdkStore";
5
+ import { useGeneralStore } from "@/stores/GeneralStore";
6
+ import { mapActions } from "pinia";
7
+ import { defineComponent } from "vue";
9
8
  export default defineComponent({
10
9
  mixins: [orgaFilter],
11
10
  methods: {
12
- ...mapActions(useGeneralStore, ['storedUpdateCategories']),
11
+ ...mapActions(useGeneralStore, ["storedUpdateCategories"]),
13
12
  async initSdk() {
14
- if (0 === (state.generalParameters.allCategories as Array<Category>).length) {
15
- octopusApi.fetchDataWithParams<Array<Category>>(0, `iab/list${state.octopusApi.organisationId? '/'+state.octopusApi.organisationId : ''}`, { lang: this.$i18n.locale }).then((data: Array<Category>) => {
16
- this.storedUpdateCategories(data);
17
- });
18
- }else{
19
- this.storedUpdateCategories((state.generalParameters.allCategories as Array<Category>));
13
+ if (
14
+ 0 === (state.generalParameters.allCategories as Array<Category>).length
15
+ ) {
16
+ octopusApi
17
+ .fetchDataWithParams<Array<Category>>(
18
+ 0,
19
+ `iab/list${
20
+ state.octopusApi.organisationId
21
+ ? "/" + state.octopusApi.organisationId
22
+ : ""
23
+ }`,
24
+ { lang: this.$i18n.locale },
25
+ )
26
+ .then((data: Array<Category>) => {
27
+ this.storedUpdateCategories(data);
28
+ });
29
+ } else {
30
+ this.storedUpdateCategories(
31
+ state.generalParameters.allCategories as Array<Category>,
32
+ );
20
33
  }
21
- const captcha = (document.getElementsByClassName('grecaptcha-badge')[0] as HTMLElement);
34
+ const captcha = document.getElementsByClassName(
35
+ "grecaptcha-badge",
36
+ )[0] as HTMLElement;
22
37
  if (captcha) {
23
- captcha.style.display = 'none';
38
+ captcha.style.display = "none";
24
39
  }
25
40
  },
26
41
  },
@@ -1,15 +1,15 @@
1
- import { state } from '../../stores/ParamSdkStore';
2
- import { useFilterStore } from '@/stores/FilterStore';
3
- import { mapState } from 'pinia';
4
- import { defineComponent } from 'vue';
1
+ import { state } from "../../stores/ParamSdkStore";
2
+ import { useFilterStore } from "@/stores/FilterStore";
3
+ import { mapState } from "pinia";
4
+ import { defineComponent } from "vue";
5
5
  export const orgaComputed = defineComponent({
6
6
  computed: {
7
- ...mapState(useFilterStore, ['filterOrgaId']),
8
- myOrganisationId(): string|undefined {
7
+ ...mapState(useFilterStore, ["filterOrgaId"]),
8
+ myOrganisationId(): string | undefined {
9
9
  return state.generalParameters.organisationId;
10
10
  },
11
11
  authenticated(): boolean {
12
- return (state.generalParameters.authenticated as boolean);
12
+ return state.generalParameters.authenticated as boolean;
13
13
  },
14
14
  },
15
15
  });