@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
@@ -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>