@saooti/octopus-sdk 37.0.6 → 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 (235) hide show
  1. package/README.md +2 -2
  2. package/index.ts +21 -21
  3. package/package.json +26 -20
  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/components/display/aggregator/RssSection.vue +3 -3
  8. package/src/components/display/categories/CategoryChooser.vue +73 -60
  9. package/src/components/display/categories/CategoryFilter.vue +134 -90
  10. package/src/components/display/categories/CategoryList.vue +76 -62
  11. package/src/components/display/comments/AddCommentModal.vue +44 -44
  12. package/src/components/display/comments/CommentBasicView.vue +38 -30
  13. package/src/components/display/comments/CommentInput.vue +121 -106
  14. package/src/components/display/comments/CommentItem.vue +144 -102
  15. package/src/components/display/comments/CommentList.vue +117 -85
  16. package/src/components/display/comments/CommentParentInfo.vue +18 -15
  17. package/src/components/display/comments/CommentPlayer.vue +39 -41
  18. package/src/components/display/comments/CommentSection.vue +68 -53
  19. package/src/components/display/edit/EditBox.vue +7 -7
  20. package/src/components/display/edit/EditBoxRadio.vue +3 -4
  21. package/src/components/display/edit/EditCommentBox.vue +34 -36
  22. package/src/components/display/emission/EmissionInlineList.vue +75 -63
  23. package/src/components/display/emission/EmissionItem.vue +47 -35
  24. package/src/components/display/emission/EmissionList.vue +111 -83
  25. package/src/components/display/emission/EmissionPlayerItem.vue +89 -89
  26. package/src/components/display/filter/AdvancedSearch.vue +81 -73
  27. package/src/components/display/filter/CategorySearchFilter.vue +27 -25
  28. package/src/components/display/filter/DateFilter.vue +38 -38
  29. package/src/components/display/filter/MonetizableFilter.vue +16 -14
  30. package/src/components/display/filter/ProductorSearch.vue +55 -47
  31. package/src/components/display/filter/RubriqueChoice.vue +42 -27
  32. package/src/components/display/filter/RubriqueFilter.vue +130 -85
  33. package/src/components/display/filter/SearchOrder.vue +16 -11
  34. package/src/components/display/list/ListPaginate.vue +72 -70
  35. package/src/components/display/list/PaginateParams.vue +29 -30
  36. package/src/components/display/list/PaginateSection.vue +210 -0
  37. package/src/components/display/list/SwiperList.vue +28 -32
  38. package/src/components/display/live/CountDown.vue +12 -14
  39. package/src/components/display/live/LiveHorizontalList.vue +60 -50
  40. package/src/components/display/live/LiveItem.vue +42 -26
  41. package/src/components/display/live/LiveList.vue +92 -65
  42. package/src/components/display/live/RadioCurrently.vue +47 -42
  43. package/src/components/display/live/RadioImage.vue +40 -42
  44. package/src/components/display/live/RadioItem.vue +15 -22
  45. package/src/components/display/live/RadioList.vue +24 -21
  46. package/src/components/display/live/RadioPlanning.vue +105 -68
  47. package/src/components/display/organisation/OrganisationChooser.vue +58 -42
  48. package/src/components/display/organisation/OrganisationChooserLight.vue +27 -19
  49. package/src/components/display/participant/ParticipantItem.vue +89 -77
  50. package/src/components/display/participant/ParticipantList.vue +90 -60
  51. package/src/components/display/playlist/PlaylistItem.vue +32 -35
  52. package/src/components/display/playlist/PlaylistList.vue +70 -52
  53. package/src/components/display/playlist/PodcastList.vue +61 -50
  54. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +47 -38
  55. package/src/components/display/podcasts/AnimatorsItem.vue +17 -15
  56. package/src/components/display/podcasts/ParticipantDescription.vue +21 -22
  57. package/src/components/display/podcasts/PodcastFilterList.vue +28 -26
  58. package/src/components/display/podcasts/PodcastImage.vue +129 -135
  59. package/src/components/display/podcasts/PodcastInlineList.vue +33 -29
  60. package/src/components/display/podcasts/PodcastInlineListClassic.vue +91 -71
  61. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +94 -85
  62. package/src/components/display/podcasts/PodcastItem.vue +96 -90
  63. package/src/components/display/podcasts/PodcastItemInfo.vue +61 -65
  64. package/src/components/display/podcasts/PodcastList.vue +115 -84
  65. package/src/components/display/podcasts/PodcastModuleBox.vue +95 -104
  66. package/src/components/display/podcasts/PodcastPlayBar.vue +45 -32
  67. package/src/components/display/podcasts/PodcastSwiperList.vue +65 -55
  68. package/src/components/display/podcasts/TagList.vue +33 -37
  69. package/src/components/display/rubriques/RubriqueChooser.vue +70 -51
  70. package/src/components/display/rubriques/RubriqueList.vue +117 -89
  71. package/src/components/display/sharing/PlayerParameters.vue +45 -42
  72. package/src/components/display/sharing/QrCode.vue +52 -46
  73. package/src/components/display/sharing/ShareButtons.vue +18 -18
  74. package/src/components/display/sharing/ShareButtonsIntern.vue +100 -78
  75. package/src/components/display/sharing/ShareDistribution.vue +101 -67
  76. package/src/components/display/sharing/SharePlayer.vue +207 -127
  77. package/src/components/display/sharing/SharePlayerColors.vue +15 -15
  78. package/src/components/display/sharing/SharePlayerRadio.vue +62 -39
  79. package/src/components/display/sharing/SharePlayerTypes.vue +93 -55
  80. package/src/components/display/sharing/SubscribeButtons.vue +83 -32
  81. package/src/components/display/studio/RecordingItemButton.vue +3 -3
  82. package/src/components/form/ClassicCheckbox.vue +32 -31
  83. package/src/components/form/ClassicDatePicker.vue +47 -49
  84. package/src/components/form/ClassicInputText.vue +99 -98
  85. package/src/components/form/ClassicLoading.vue +11 -14
  86. package/src/components/form/ClassicMultiselect.vue +125 -126
  87. package/src/components/form/ClassicRadio.vue +15 -18
  88. package/src/components/form/ClassicSearch.vue +17 -23
  89. package/src/components/form/ClassicSelect.vue +35 -27
  90. package/src/components/form/{Wysiwyg.vue → ClassicWysiwyg.vue} +94 -109
  91. package/src/components/misc/AcpmImage.vue +6 -6
  92. package/src/components/misc/ClassicAccordion.vue +69 -0
  93. package/src/components/misc/ClassicNav.vue +117 -0
  94. package/src/components/misc/ClassicPopover.vue +212 -0
  95. package/src/components/misc/{Spinner.vue → ClassicSpinner.vue} +14 -15
  96. package/src/components/misc/ErrorMessage.vue +9 -17
  97. package/src/components/misc/FooterSection.vue +198 -0
  98. package/src/components/misc/HomeDropdown.vue +60 -60
  99. package/src/components/misc/LeftMenu.vue +115 -79
  100. package/src/components/misc/ProgressBar.vue +36 -32
  101. package/src/components/misc/SnackBar.vue +169 -0
  102. package/src/components/misc/TopBar.vue +161 -115
  103. package/src/components/misc/modal/ClassicModal.vue +99 -103
  104. package/src/components/misc/modal/ClipboardModal.vue +21 -23
  105. package/src/components/misc/modal/MessageModal.vue +22 -28
  106. package/src/components/misc/modal/NewsletterModal.vue +139 -113
  107. package/src/components/misc/modal/QrCodeModal.vue +14 -17
  108. package/src/components/misc/modal/ShareModalPlayer.vue +44 -60
  109. package/src/components/misc/player/PlayerCompact.vue +47 -62
  110. package/src/components/misc/player/{Player.vue → PlayerComponent.vue} +54 -46
  111. package/src/components/misc/player/PlayerLarge.vue +62 -61
  112. package/src/components/misc/player/PlayerProgressBar.vue +40 -30
  113. package/src/components/misc/player/PlayerTimeline.vue +32 -36
  114. package/src/components/misc/player/radio/RadioHistory.vue +62 -59
  115. package/src/components/misc/player/radio/RadioProgressBar.vue +44 -35
  116. package/src/components/mixins/cookies.ts +11 -10
  117. package/src/components/mixins/displayMethods.ts +5 -4
  118. package/src/components/mixins/handle403.ts +9 -9
  119. package/src/components/mixins/imageProxy.ts +14 -7
  120. package/src/components/mixins/init.ts +31 -16
  121. package/src/components/mixins/orgaComputed.ts +7 -7
  122. package/src/components/mixins/organisationFilter.ts +36 -22
  123. package/src/components/mixins/player/playerComment.ts +46 -37
  124. package/src/components/mixins/player/playerDisplay.ts +122 -87
  125. package/src/components/mixins/player/playerLive.ts +65 -43
  126. package/src/components/mixins/player/playerLogic.ts +133 -88
  127. package/src/components/mixins/player/playerTranscript.ts +48 -30
  128. package/src/components/mixins/radio/fetchRadioData.ts +40 -23
  129. package/src/components/mixins/selenium.ts +2 -2
  130. package/src/components/mixins/tagOfMixins.ts +11 -11
  131. package/src/components/pages/CategoryPage.vue +43 -0
  132. package/src/components/pages/{Emission.vue → EmissionPage.vue} +98 -67
  133. package/src/components/pages/{Emissions.vue → EmissionsPage.vue} +51 -44
  134. package/src/components/pages/Error403Page.vue +20 -19
  135. package/src/components/pages/HomePage.vue +144 -0
  136. package/src/components/pages/LivesPage.vue +66 -0
  137. package/src/components/pages/PageNotFound.vue +33 -22
  138. package/src/components/pages/{Participant.vue → ParticipantPage.vue} +63 -49
  139. package/src/components/pages/{Participants.vue → ParticipantsPage.vue} +9 -9
  140. package/src/components/pages/PlaylistPage.vue +175 -0
  141. package/src/components/pages/{Playlists.vue → PlaylistsPage.vue} +16 -14
  142. package/src/components/pages/PodcastPage.vue +365 -0
  143. package/src/components/pages/PodcastsPage.vue +152 -0
  144. package/src/components/pages/RadioPage.vue +131 -0
  145. package/src/components/pages/RubriquePage.vue +45 -0
  146. package/src/components/pages/{Search.vue → SearchPage.vue} +19 -19
  147. package/src/helper/dom.ts +1 -1
  148. package/src/helper/duration.ts +10 -4
  149. package/src/helper/useEventListener.ts +7 -8
  150. package/src/i18n.ts +31 -30
  151. package/src/locale/de.ts +263 -257
  152. package/src/locale/educationen.ts +13 -13
  153. package/src/locale/educationfr.ts +1 -1
  154. package/src/locale/en.ts +323 -324
  155. package/src/locale/es.ts +325 -318
  156. package/src/locale/fr.ts +330 -324
  157. package/src/locale/it.ts +332 -328
  158. package/src/locale/messages.ts +9 -9
  159. package/src/locale/sl.ts +315 -319
  160. package/src/main.ts +28 -31
  161. package/src/router/router.ts +218 -198
  162. package/src/shims-tsx.d.ts +1 -1
  163. package/src/shims-vue.d.ts +1 -1
  164. package/src/stores/ApiStore.ts +44 -44
  165. package/src/stores/AuthStore.ts +21 -15
  166. package/src/stores/CommentStore.ts +13 -11
  167. package/src/stores/FilterStore.ts +25 -15
  168. package/src/stores/GeneralStore.ts +15 -15
  169. package/src/stores/ParamSdkStore.ts +179 -137
  170. package/src/stores/PlayerStore.ts +139 -125
  171. package/src/stores/class/adserver/adserverConfig.ts +1 -1
  172. package/src/stores/class/adserver/adserverOtherEmission.ts +9 -9
  173. package/src/stores/class/cartouchier/cartouche.ts +4 -4
  174. package/src/stores/class/cartouchier/cartouchier.ts +2 -2
  175. package/src/stores/class/conference/conference.ts +10 -9
  176. package/src/stores/class/conference/conferenceMessage.ts +2 -2
  177. package/src/stores/class/conference/conferenceParticipant.ts +1 -1
  178. package/src/stores/class/conference/studioCall.ts +6 -6
  179. package/src/stores/class/contract/contractOrganisation.ts +5 -5
  180. package/src/stores/class/ftp/ftpEmission.ts +9 -9
  181. package/src/stores/class/ftp/testFtpEmission.ts +4 -4
  182. package/src/stores/class/general/audioView.ts +19 -19
  183. package/src/stores/class/general/category.ts +1 -1
  184. package/src/stores/class/general/classicSelectType.ts +2 -3
  185. package/src/stores/class/general/customPlayer.ts +8 -8
  186. package/src/stores/class/general/emission.ts +20 -20
  187. package/src/stores/class/general/fetchParam.ts +8 -2
  188. package/src/stores/class/general/initState.ts +31 -31
  189. package/src/stores/class/general/interfacePageable.ts +13 -13
  190. package/src/stores/class/general/ituneCategory.ts +4 -4
  191. package/src/stores/class/general/listReturn.ts +12 -12
  192. package/src/stores/class/general/media.ts +7 -7
  193. package/src/stores/class/general/organisation.ts +9 -9
  194. package/src/stores/class/general/pageable.ts +10 -10
  195. package/src/stores/class/general/participant.ts +7 -7
  196. package/src/stores/class/general/player.ts +30 -28
  197. package/src/stores/class/general/playlist.ts +17 -19
  198. package/src/stores/class/general/podcast.ts +19 -19
  199. package/src/stores/class/general/sortPageable.ts +4 -4
  200. package/src/stores/class/general/soundcastCategory.ts +7 -7
  201. package/src/stores/class/ouestFrance/ofTag.ts +34 -34
  202. package/src/stores/class/ouestFrance/ofTagInfo.ts +9 -9
  203. package/src/stores/class/ouestFrance/ofTagPage.ts +7 -7
  204. package/src/stores/class/ouestFrance/ofTagSeo.ts +7 -7
  205. package/src/stores/class/ouestFrance/ofTagVente.ts +6 -6
  206. package/src/stores/class/ouestFrance/ofTagWithParents.ts +20 -20
  207. package/src/stores/class/radio/canal.ts +4 -4
  208. package/src/stores/class/radio/live.ts +6 -6
  209. package/src/stores/class/radio/mix.ts +16 -16
  210. package/src/stores/class/radio/playlistMedia.ts +7 -7
  211. package/src/stores/class/radio/recurrence.ts +54 -54
  212. package/src/stores/class/rss/rssEmission.ts +13 -13
  213. package/src/stores/class/rss/rssInfo.ts +7 -7
  214. package/src/stores/class/rubrique/rubriquage.ts +2 -2
  215. package/src/stores/class/rubrique/rubrique.ts +1 -1
  216. package/src/stores/class/stat/statArrayIncome.ts +5 -5
  217. package/src/stores/class/stat/statArrayObject.ts +26 -26
  218. package/src/stores/class/stat/statGraph.ts +6 -6
  219. package/src/stores/class/user/person.ts +4 -2
  220. package/src/stores/class/user/profile.ts +4 -2
  221. package/src/stores/class/user/userKeycloak.ts +4 -5
  222. package/src/components/display/list/Paginate.vue +0 -181
  223. package/src/components/misc/Accordion.vue +0 -78
  224. package/src/components/misc/Footer.vue +0 -169
  225. package/src/components/misc/Nav.vue +0 -119
  226. package/src/components/misc/Popover.vue +0 -193
  227. package/src/components/misc/Snackbar.vue +0 -168
  228. package/src/components/pages/Category.vue +0 -41
  229. package/src/components/pages/Home.vue +0 -125
  230. package/src/components/pages/Lives.vue +0 -64
  231. package/src/components/pages/Playlist.vue +0 -164
  232. package/src/components/pages/Podcast.vue +0 -307
  233. package/src/components/pages/Podcasts.vue +0 -146
  234. package/src/components/pages/Radio.vue +0 -122
  235. package/src/components/pages/Rubrique.vue +0 -42
@@ -5,28 +5,15 @@
5
5
  @close="closePopup"
6
6
  >
7
7
  <template #body>
8
- <Nav
9
- v-model:activeTab="activeTab"
10
- :tab-number="tabs.length"
11
- >
12
- <template
13
- v-for="(tab, index) in tabs"
14
- #[index]
15
- >
8
+ <ClassicNav v-model:activeTab="activeTab" :tab-number="tabs.length">
9
+ <template v-for="(tab, index) in tabs" #[index]>
16
10
  {{ tab }}
17
11
  </template>
18
- <template
19
- #tab0
20
- >
12
+ <template #tab0>
21
13
  <p>{{ embedLink }}</p>
22
- <div
23
- class="saooti-copy"
24
- @click="onCopyCode(embedLink, afterCopy)"
25
- />
14
+ <div class="saooti-copy" @click="onCopyCode(embedLink, afterCopy)" />
26
15
  </template>
27
- <template
28
- #tab1
29
- >
16
+ <template #tab1>
30
17
  <div class="d-flex flex-column flex-grow-1">
31
18
  <div class="d-flex justify-content-between align-items-center">
32
19
  <p>{{ embedlyLink }}</p>
@@ -38,88 +25,85 @@
38
25
  <QrCode :url="embedlyLink" />
39
26
  </div>
40
27
  </template>
41
- <template
42
- v-if="directLink"
43
- #tab2
44
- >
28
+ <template v-if="directLink" #tab2>
45
29
  <p>{{ directLink.audioUrl }}</p>
46
30
  <div
47
31
  class="saooti-copy"
48
32
  @click="onCopyCode(directLink.audioUrl, snackbarRef)"
49
33
  />
50
34
  </template>
51
- </Nav>
35
+ </ClassicNav>
52
36
  </template>
53
37
  <template #footer>
54
- <button
55
- class="btn btn-primary m-1"
56
- @click="closePopup"
57
- >
58
- {{ $t('Close') }}
38
+ <button class="btn btn-primary m-1" @click="closePopup">
39
+ {{ $t("Close") }}
59
40
  </button>
60
41
  </template>
61
42
  </ClassicModal>
62
- <Snackbar
63
- ref="snackbar"
64
- position="bottom-left"
65
- />
43
+ <SnackBar ref="snackbar" position="bottom-left" />
66
44
  </template>
67
45
 
68
46
  <script lang="ts">
69
- import Snackbar from '../Snackbar.vue';
70
- import displayMethods from '../../mixins/displayMethods';
71
- import ClassicModal from '../modal/ClassicModal.vue';
72
- import Nav from '../Nav.vue';
73
- import QrCode from '../../display/sharing/QrCode.vue';
74
- import { defineComponent } from 'vue'
75
- import { Podcast } from '@/stores/class/general/podcast';
47
+ import SnackBar from "../SnackBar.vue";
48
+ import displayMethods from "../../mixins/displayMethods";
49
+ import ClassicModal from "../modal/ClassicModal.vue";
50
+ import ClassicNav from "../ClassicNav.vue";
51
+ import QrCode from "../../display/sharing/QrCode.vue";
52
+ import { defineComponent } from "vue";
53
+ import { Podcast } from "@/stores/class/general/podcast";
76
54
  export default defineComponent({
77
- name: 'ShareModalPlayer',
55
+ name: "ShareModalPlayer",
78
56
 
79
57
  components: {
80
- Snackbar,
58
+ SnackBar,
81
59
  QrCode,
82
60
  ClassicModal,
83
- Nav
61
+ ClassicNav,
84
62
  },
85
63
  mixins: [displayMethods],
86
64
  props: {
87
- embedLink: { default: undefined, type: String},
88
- embedlyLink: { default: undefined, type: String},
89
- directLink: { default: undefined, type: Object as ()=>Podcast},
65
+ embedLink: { default: undefined, type: String },
66
+ embedlyLink: { default: undefined, type: String },
67
+ directLink: { default: undefined, type: Object as () => Podcast },
90
68
  },
91
- emits: ['close'],
69
+ emits: ["close"],
92
70
  data() {
93
71
  return {
94
72
  activeTab: 0 as number,
95
73
  };
96
74
  },
97
- computed:{
98
- tabs(): Array<string>{
99
- if(this.directLink){
100
- return [this.$t('Embed link'),this.$t('Embedly link'),this.$t('Direct link')];
75
+ computed: {
76
+ tabs(): Array<string> {
77
+ if (this.directLink) {
78
+ return [
79
+ this.$t("Embed link"),
80
+ this.$t("Embedly link"),
81
+ this.$t("Direct link"),
82
+ ];
101
83
  }
102
- return [this.$t('Embed link'),this.$t('Embedly link')];
103
- }
84
+ return [this.$t("Embed link"), this.$t("Embedly link")];
85
+ },
104
86
  },
105
87
  methods: {
106
88
  closePopup(): void {
107
- this.$emit('close');
89
+ this.$emit("close");
90
+ },
91
+ afterCopy(): void {
92
+ (this.$refs.snackbar as InstanceType<typeof SnackBar>).open(
93
+ this.$t("Data in clipboard"),
94
+ );
108
95
  },
109
- afterCopy(): void{
110
- (this.$refs.snackbar as InstanceType<typeof Snackbar>).open(this.$t('Data in clipboard'));
111
- }
112
96
  },
113
- })
97
+ });
114
98
  </script>
115
99
 
116
100
  <style lang="scss">
117
- .octopus-app{
118
- #share-modal{
101
+ .octopus-app {
102
+ #share-modal {
119
103
  .saooti-copy {
120
104
  cursor: pointer;
121
105
  align-self: center;
122
106
  }
123
107
  }
124
108
  }
125
- </style>
109
+ </style>
@@ -1,18 +1,13 @@
1
1
  <template>
2
- <div
3
- class="d-flex align-items-center flex-grow-1 ps-2"
4
- >
5
- <router-link
6
- v-if="isImage && podcastImage"
7
- :to="podcastShareUrl"
8
- >
2
+ <div class="d-flex align-items-center flex-grow-1 ps-2">
3
+ <router-link v-if="isImage && podcastImage" :to="podcastShareUrl">
9
4
  <img
10
- v-lazy="proxyImageUrl(podcastImage,'48')"
5
+ v-lazy="proxyImageUrl(podcastImage, '48')"
11
6
  width="48"
12
7
  height="48"
13
8
  :alt="$t('Podcast image')"
14
9
  class="player-image"
15
- >
10
+ />
16
11
  </router-link>
17
12
  <button
18
13
  v-if="!playerError"
@@ -20,34 +15,22 @@
20
15
  :class="{
21
16
  'saooti-play': isPaused,
22
17
  'saooti-pause': isPlaying,
23
- 'p-0':!isPaused&&!isPlaying
18
+ 'p-0': !isPaused && !isPlaying,
24
19
  }"
25
20
  class="btn play-button-box text-light bg-primary"
26
21
  @click="switchPausePlay"
27
22
  >
28
- <Spinner
29
- v-if="!isPaused&&!isPlaying"
30
- :small="true"
31
- />
23
+ <ClassicSpinner v-if="!isPaused && !isPlaying" :small="true" />
32
24
  </button>
33
25
  <div class="text-light player-grow-content">
34
- <div
35
- class="d-flex"
36
- :class="!radioUrl?'mb-1':''"
37
- >
38
- <div
39
- v-if="playerError"
40
- class="text-warning mx-2"
41
- >
42
- {{ $t('Podcast play error') + ' - ' }}
26
+ <div class="d-flex" :class="!radioUrl ? 'mb-1' : ''">
27
+ <div v-if="playerError" class="text-warning mx-2">
28
+ {{ $t("Podcast play error") + " - " }}
43
29
  </div>
44
30
  <div class="flex-grow-1 text-truncate">
45
31
  {{ podcastTitle }}
46
32
  </div>
47
- <div
48
- v-if="!playerError && !radioUrl"
49
- class="hide-phone"
50
- >
33
+ <div v-if="!playerError && !radioUrl" class="hide-phone">
51
34
  {{ playedTime }} / {{ totalTime }}
52
35
  </div>
53
36
  </div>
@@ -60,14 +43,12 @@
60
43
  :duration-live-position="durationLivePosition"
61
44
  :player-error="playerError"
62
45
  :listen-time="listenTime"
63
- @updateNotListenTime="$emit('update:notListenTime', $event)"
64
- />
65
- <RadioProgressBar
66
- v-else
46
+ @update-not-listen-time="$emit('update:notListenTime', $event)"
67
47
  />
48
+ <RadioProgressBar v-else />
68
49
  </div>
69
50
  <button
70
- :title="''!=transcriptText ? $t('View transcript'): $t('Enlarge')"
51
+ :title="'' != transcriptText ? $t('View transcript') : $t('Enlarge')"
71
52
  class="btn play-button-box btn-transparent text-light saooti-up me-0"
72
53
  @click="changePlayerLargeVersion"
73
54
  />
@@ -84,55 +65,59 @@
84
65
  </div>
85
66
  </template>
86
67
  <script lang="ts">
87
- import { CommentPodcast } from '@/stores/class/general/comment';
88
- import { playerDisplay } from '../../mixins/player/playerDisplay';
89
- import imageProxy from '../../mixins/imageProxy';
90
- import Spinner from '../Spinner.vue';
91
- import PlayerTimeline from './PlayerTimeline.vue';
92
- import { defineAsyncComponent, defineComponent } from 'vue';
93
- const RadioProgressBar = defineAsyncComponent(() => import('./radio/RadioProgressBar.vue'));
94
- const PlayerProgressBar = defineAsyncComponent(() => import('./PlayerProgressBar.vue'));
68
+ import { CommentPodcast } from "@/stores/class/general/comment";
69
+ import { playerDisplay } from "../../mixins/player/playerDisplay";
70
+ import imageProxy from "../../mixins/imageProxy";
71
+ import ClassicSpinner from "../ClassicSpinner.vue";
72
+ import PlayerTimeline from "./PlayerTimeline.vue";
73
+ import { defineAsyncComponent, defineComponent } from "vue";
74
+ const RadioProgressBar = defineAsyncComponent(
75
+ () => import("./radio/RadioProgressBar.vue"),
76
+ );
77
+ const PlayerProgressBar = defineAsyncComponent(
78
+ () => import("./PlayerProgressBar.vue"),
79
+ );
95
80
  export default defineComponent({
96
- name: 'PlayerCompact',
81
+ name: "PlayerCompact",
97
82
 
98
83
  components: {
99
84
  PlayerProgressBar,
100
85
  RadioProgressBar,
101
86
  PlayerTimeline,
102
- Spinner
87
+ ClassicSpinner,
103
88
  },
104
- mixins:[playerDisplay, imageProxy],
89
+ mixins: [playerDisplay, imageProxy],
105
90
 
106
91
  props: {
107
- playerError: { default: false, type: Boolean},
108
- notListenTime: { default: 0 , type: Number},
109
- comments: { default: ()=>[] , type: Array as ()=> Array<CommentPodcast> },
110
- displayAlertBar: { default: false , type: Boolean},
111
- percentLiveProgress: { default: 0 , type: Number},
112
- durationLivePosition: { default: 0 , type: Number},
113
- listenTime: { default: 0 , type: Number},
92
+ playerError: { default: false, type: Boolean },
93
+ notListenTime: { default: 0, type: Number },
94
+ comments: { default: () => [], type: Array as () => Array<CommentPodcast> },
95
+ displayAlertBar: { default: false, type: Boolean },
96
+ percentLiveProgress: { default: 0, type: Number },
97
+ durationLivePosition: { default: 0, type: Number },
98
+ listenTime: { default: 0, type: Number },
114
99
  },
115
100
 
116
- emits: ['stopPlayer', 'update:notListenTime', 'changePlayerLargeVersion'],
101
+ emits: ["stopPlayer", "update:notListenTime", "changePlayerLargeVersion"],
117
102
  data() {
118
103
  return {
119
104
  showTimeline: false as boolean,
120
105
  };
121
106
  },
122
- methods:{
123
- stopPlayer(){
124
- this.$emit('stopPlayer');
107
+ methods: {
108
+ stopPlayer() {
109
+ this.$emit("stopPlayer");
125
110
  },
126
- changePlayerLargeVersion(){
127
- this.$emit('changePlayerLargeVersion');
128
- }
129
- }
130
- })
111
+ changePlayerLargeVersion() {
112
+ this.$emit("changePlayerLargeVersion");
113
+ },
114
+ },
115
+ });
131
116
  </script>
132
117
 
133
118
  <style lang="scss">
134
- @import '@scss/_variables.scss';
135
- .octopus-app{
119
+ @import "@scss/_variables.scss";
120
+ .octopus-app {
136
121
  .player-grow-content {
137
122
  display: flex;
138
123
  flex-direction: column;
@@ -167,4 +152,4 @@ export default defineComponent({
167
152
  cursor: pointer;
168
153
  }
169
154
  }
170
- </style>
155
+ </style>
@@ -7,7 +7,7 @@
7
7
  <template v-if="display">
8
8
  <audio
9
9
  id="audio-player"
10
- :src="!playerLive && !playerRadio? audioUrlToPlay: undefined"
10
+ :src="!playerLive && !playerRadio ? audioUrlToPlay : undefined"
11
11
  autoplay
12
12
  @timeupdate="onTimeUpdate"
13
13
  @ended="onFinished"
@@ -26,8 +26,8 @@
26
26
  :percent-live-progress="percentLiveProgress"
27
27
  :duration-live-position="durationLivePosition"
28
28
  :listen-time="listenTime"
29
- @stopPlayer="stopPlayer"
30
- @changePlayerLargeVersion="playerUpdateLargeVersion(true)"
29
+ @stop-player="stopPlayer"
30
+ @change-player-large-version="playerUpdateLargeVersion(true)"
31
31
  />
32
32
  <PlayerLarge
33
33
  v-else
@@ -38,95 +38,103 @@
38
38
  :percent-live-progress="percentLiveProgress"
39
39
  :duration-live-position="durationLivePosition"
40
40
  :listen-time="listenTime"
41
- @stopPlayer="stopPlayer"
42
- @changePlayerLargeVersion="playerUpdateLargeVersion(false)"
41
+ @stop-player="stopPlayer"
42
+ @change-player-large-version="playerUpdateLargeVersion(false)"
43
43
  />
44
44
  </template>
45
45
  </div>
46
46
  </template>
47
47
  <script lang="ts">
48
- import { CommentPodcast } from '@/stores/class/general/comment';
49
- import { playerLogic } from '../../mixins/player/playerLogic';
50
- import PlayerCompact from '../player/PlayerCompact.vue';
51
- import PlayerLarge from '../player/PlayerLarge.vue';
52
- import { usePlayerStore } from '@/stores/PlayerStore';
53
- import { mapState, mapActions } from 'pinia';
54
- import { defineComponent } from 'vue';
48
+ import { CommentPodcast } from "@/stores/class/general/comment";
49
+ import { playerLogic } from "../../mixins/player/playerLogic";
50
+ import PlayerCompact from "../player/PlayerCompact.vue";
51
+ import PlayerLarge from "../player/PlayerLarge.vue";
52
+ import { usePlayerStore } from "@/stores/PlayerStore";
53
+ import { mapState, mapActions } from "pinia";
54
+ import { defineComponent } from "vue";
55
55
  export default defineComponent({
56
- name: 'Player',
56
+ name: "PlayerComponent",
57
57
 
58
58
  components: {
59
59
  PlayerCompact,
60
- PlayerLarge
60
+ PlayerLarge,
61
61
  },
62
- mixins:[playerLogic],
63
- emits: ['hide'],
62
+ mixins: [playerLogic],
63
+ emits: ["hide"],
64
64
  data() {
65
65
  return {
66
66
  forceHide: false as boolean,
67
67
  listenTime: 0 as number,
68
68
  notListenTime: 0 as number,
69
69
  lastSend: 0 as number,
70
- downloadId: null as string|null,
70
+ downloadId: null as string | null,
71
71
  playerError: false as boolean,
72
72
  listenError: false as boolean,
73
73
  percentLiveProgress: 0 as number,
74
74
  durationLivePosition: 0 as number,
75
75
  displayAlertBar: false as boolean,
76
76
  comments: [] as Array<CommentPodcast>,
77
- audioUrlToPlay: "" as string
77
+ audioUrlToPlay: "" as string,
78
78
  };
79
79
  },
80
80
  computed: {
81
- ...mapState(usePlayerStore, ['playerStatus', 'playerHeight', 'playerLargeVersion']),
82
- display(){
83
- return 'STOPPED' !== this.playerStatus;
81
+ ...mapState(usePlayerStore, [
82
+ "playerStatus",
83
+ "playerHeight",
84
+ "playerLargeVersion",
85
+ ]),
86
+ display() {
87
+ return "STOPPED" !== this.playerStatus;
84
88
  },
85
89
  },
86
90
 
87
91
  watch: {
88
92
  playerHeight(): void {
89
- this.$emit('hide', 0 === this.playerHeight);
93
+ this.$emit("hide", 0 === this.playerHeight);
90
94
  },
91
95
  },
92
-
96
+
93
97
  methods: {
94
- ...mapActions(usePlayerStore, ['playerPlay', 'playerUpdateLargeVersion', 'playerChangeStatus']),
98
+ ...mapActions(usePlayerStore, [
99
+ "playerPlay",
100
+ "playerUpdateLargeVersion",
101
+ "playerChangeStatus",
102
+ ]),
95
103
  onHidden(): void {
96
104
  if (this.forceHide) {
97
105
  this.playerPlay();
98
106
  this.forceHide = false;
99
107
  }
100
108
  },
101
- onPause(){
102
- if("PLAYING"===this.playerStatus){
109
+ onPause() {
110
+ if ("PLAYING" === this.playerStatus) {
103
111
  this.playerChangeStatus(true);
104
112
  }
105
- }
113
+ },
106
114
  },
107
- })
115
+ });
108
116
  </script>
109
117
 
110
118
  <style lang="scss">
111
- .octopus-app{
112
- .player-container {
113
- max-height: 94%;
114
- position: sticky;
115
- overflow: hidden;
116
- z-index: 12;
117
- width: 100%;
118
- bottom: 0;
119
- display: flex;
120
- flex-direction: column;
121
- transition: height 1s;
122
- background: #282828 !important;
123
- font-size: 1rem;
119
+ .octopus-app {
120
+ .player-container {
121
+ max-height: 94%;
122
+ position: sticky;
123
+ overflow: hidden;
124
+ z-index: 12;
125
+ width: 100%;
126
+ bottom: 0;
127
+ display: flex;
128
+ flex-direction: column;
129
+ transition: height 1s;
130
+ background: #282828 !important;
131
+ font-size: 1rem;
124
132
 
125
- @media (max-width: 960px) {
126
- .d-flex {
127
- flex-wrap: nowrap !important;
133
+ @media (max-width: 960px) {
134
+ .d-flex {
135
+ flex-wrap: nowrap !important;
136
+ }
128
137
  }
129
138
  }
130
139
  }
131
- }
132
- </style>
140
+ </style>