@saooti/octopus-sdk 39.0.47 → 39.0.48

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "39.0.47",
3
+ "version": "39.0.48",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <div class="emission-item-container emission-presentation-container mt-3" :class="isVertical?'emission-vertical-item':''">
2
+ <div
3
+ class="emission-item-container emission-presentation-container mt-3"
4
+ :class="isVertical ? 'emission-vertical-item' : ''"
5
+ >
3
6
  <router-link
4
7
  :to="{
5
8
  name: 'emission',
@@ -8,13 +11,13 @@
8
11
  }"
9
12
  :title="$t('Emission')"
10
13
  class="d-flex-column flex-grow-1 text-dark"
11
- :class="isVertical? 'flex-column':''"
14
+ :class="isVertical ? 'flex-column' : ''"
12
15
  >
13
16
  <img
14
- v-lazy="proxyImageUrl(emission.imageUrl, isVertical?'400':'250')"
15
- :width="isVertical?'400':'250'"
16
- :height="isVertical?'400':'250'"
17
- :class="isVertical?'img-box-bigger':''"
17
+ v-lazy="proxyImageUrl(emission.imageUrl, isVertical ? '400' : '250')"
18
+ :width="isVertical ? '400' : '250'"
19
+ :height="isVertical ? '400' : '250'"
20
+ :class="isVertical ? 'img-box-bigger' : ''"
18
21
  class="img-box"
19
22
  :title="$t('Emission name image', { name: emission.name })"
20
23
  :alt="$t('Emission name image', { name: emission.name })"
@@ -43,23 +46,22 @@ export default defineComponent({
43
46
  emission: { default: () => ({}), type: Object as () => Emission },
44
47
  isVertical: { default: false, type: Boolean },
45
48
  },
46
-
47
49
  });
48
50
  </script>
49
51
  <style lang="scss">
50
52
  .octopus-app {
51
- .emission-presentation-container{
53
+ .emission-presentation-container {
52
54
  @media (max-width: 960px) {
53
55
  width: 250px !important;
54
56
  margin-right: 0.5rem;
55
57
  }
56
58
  }
57
- .emission-item-container.emission-vertical-item{
59
+ .emission-item-container.emission-vertical-item {
58
60
  flex-grow: 0;
59
61
  width: 400px;
60
62
  flex-shrink: 0;
61
63
  }
62
- .img-box-bigger{
64
+ .img-box-bigger {
63
65
  width: 400px;
64
66
  height: 400px;
65
67
  }
@@ -7,20 +7,38 @@
7
7
  />
8
8
  <template v-if="!loading && !error">
9
9
  <div class="d-flex flex-nowrap align-items-stretch overflow-phone-auto">
10
- <EmissionItemPresentation
11
- v-if="allEmissions[0]"
12
- :class="!isPhone? 'me-3':''"
13
- :emission="allEmissions[0]"
14
- :isVertical="!isPhone"
10
+ <EmissionItemPresentation
11
+ v-if="allEmissions[0]"
12
+ :class="!isPhone ? 'me-3' : ''"
13
+ :emission="allEmissions[0]"
14
+ :is-vertical="!isPhone"
15
+ />
16
+ <div
17
+ v-if="allEmissions.length > 1"
18
+ class="emission-column emission-column-margin d-flex-row flex-nowrap"
19
+ >
20
+ <EmissionItemPresentation
21
+ v-if="allEmissions[1]"
22
+ :emission="allEmissions[1]"
15
23
  />
16
- <div v-if="allEmissions.length > 1" class="emission-column emission-column-margin d-flex-row flex-nowrap">
17
- <EmissionItemPresentation v-if="allEmissions[1]" :emission="allEmissions[1]" />
18
- <EmissionItemPresentation v-if="allEmissions[2]" :emission="allEmissions[2]"/>
19
- </div>
20
- <div v-if="allEmissions.length > 3" class="emission-column d-flex-row flex-nowrap show-emission-column">
21
- <EmissionItemPresentation v-if="allEmissions[3]" :emission="allEmissions[3]" />
22
- <EmissionItemPresentation v-if="allEmissions[4]" :emission="allEmissions[4]"/>
23
- </div>
24
+ <EmissionItemPresentation
25
+ v-if="allEmissions[2]"
26
+ :emission="allEmissions[2]"
27
+ />
28
+ </div>
29
+ <div
30
+ v-if="allEmissions.length > 3"
31
+ class="emission-column d-flex-row flex-nowrap show-emission-column"
32
+ >
33
+ <EmissionItemPresentation
34
+ v-if="allEmissions[3]"
35
+ :emission="allEmissions[3]"
36
+ />
37
+ <EmissionItemPresentation
38
+ v-if="allEmissions[4]"
39
+ :emission="allEmissions[4]"
40
+ />
41
+ </div>
24
42
  </div>
25
43
  <router-link
26
44
  v-if="buttonText && href"
@@ -34,9 +52,7 @@
34
52
  </template>
35
53
 
36
54
  <script lang="ts">
37
- import SwiperList from "../list/SwiperList.vue";
38
55
  import octopusApi from "@saooti/octopus-api";
39
- import EmissionPlayerItem from "./EmissionPlayerItem.vue";
40
56
  import { handle403 } from "../../mixins/handle403";
41
57
  import ClassicLoading from "../../form/ClassicLoading.vue";
42
58
  import { Emission } from "@/stores/class/general/emission";
@@ -44,14 +60,14 @@ import { defineAsyncComponent, defineComponent } from "vue";
44
60
  import { AxiosError } from "axios";
45
61
  import imageProxy from "../../mixins/imageProxy";
46
62
  import resizePhone from "../../mixins/resizePhone";
47
- const EmissionItemPresentation = defineAsyncComponent(() => import("./EmissionPresentationItem.vue"));
63
+ const EmissionItemPresentation = defineAsyncComponent(
64
+ () => import("./EmissionPresentationItem.vue"),
65
+ );
48
66
  export default defineComponent({
49
67
  name: "EmissionPresentationList",
50
68
  components: {
51
- EmissionPlayerItem,
52
69
  ClassicLoading,
53
- SwiperList,
54
- EmissionItemPresentation
70
+ EmissionItemPresentation,
55
71
  },
56
72
 
57
73
  mixins: [handle403, imageProxy, resizePhone],
@@ -102,36 +118,36 @@ export default defineComponent({
102
118
  this.handle403(error as AxiosError);
103
119
  this.error = true;
104
120
  }
105
- this.loading= false;
121
+ this.loading = false;
106
122
  },
107
123
  },
108
124
  });
109
125
  </script>
110
126
  <style lang="scss">
111
127
  .octopus-app {
112
- .overflow-phone-auto{
128
+ .overflow-phone-auto {
113
129
  @media (max-width: 960px) {
114
130
  overflow-y: auto;
115
131
  }
116
132
  }
117
- .emission-column{
133
+ .emission-column {
118
134
  flex-shrink: 0;
119
135
  width: calc((100% - 420px) / 2);
120
136
  @media (max-width: 1550px) {
121
- width: calc((100% - 420px)) ;
137
+ width: calc((100% - 420px));
122
138
  }
123
139
  @media (max-width: 960px) {
124
140
  width: auto;
125
141
  flex-direction: row !important;
126
142
  }
127
143
  }
128
- .emission-column-margin{
129
- margin-right: 1rem;
130
- @media (max-width: 960px) {
131
- margin-right: 0;
132
- }
144
+ .emission-column-margin {
145
+ margin-right: 1rem;
146
+ @media (max-width: 960px) {
147
+ margin-right: 0;
133
148
  }
134
- .show-emission-column{
149
+ }
150
+ .show-emission-column {
135
151
  display: flex;
136
152
  @media (max-width: 1550px) {
137
153
  display: none !important;
@@ -96,7 +96,7 @@ export default defineComponent({
96
96
  listObject: {
97
97
  deep: true,
98
98
  handler() {
99
- this.manualReload+=1;
99
+ this.manualReload += 1;
100
100
  },
101
101
  },
102
102
  },
@@ -116,6 +116,19 @@
116
116
  </div>
117
117
  </div>
118
118
  </div>
119
+ <TagList
120
+ v-if="undefined !== podcast.tags && 0 !== podcast.tags.length && !isPhone"
121
+ :tag-list="podcast.tags"
122
+ :podcast-annotations="podcast.annotations"
123
+ />
124
+ <PodcastRawTranscript :podcast-id="podcast.podcastId" />
125
+ <SubscribeButtons
126
+ v-if="isPodcastmaker"
127
+ class="mt-4"
128
+ :emission="podcast.emission"
129
+ :window-width="1000"
130
+ :justify-center="false"
131
+ />
119
132
  <RecordingItemButton
120
133
  v-if="!!fetchConference && isLiveReadyToRecord && isOctopusAndAnimator"
121
134
  :podcast="podcast"
@@ -130,24 +143,13 @@
130
143
  :display-studio-access="isDebriefing"
131
144
  @validate-podcast="$emit('updatePodcast', $event)"
132
145
  />
133
- <TagList
134
- v-if="undefined !== podcast.tags && 0 !== podcast.tags.length && !isPhone"
135
- :tag-list="podcast.tags"
136
- :podcast-annotations="podcast.annotations"
137
- />
138
- <SubscribeButtons
139
- v-if="isPodcastmaker"
140
- class="mt-4"
141
- :emission="podcast.emission"
142
- :window-width="1000"
143
- :justify-center="false"
144
- />
145
146
  </div>
146
147
  </template>
147
148
 
148
149
  <script lang="ts">
149
150
  import PodcastImage from "./PodcastImage.vue";
150
151
  import ParticipantDescription from "./ParticipantDescription.vue";
152
+ import PodcastRawTranscript from "./PodcastRawTranscript.vue";
151
153
  import { state } from "../../../stores/ParamSdkStore";
152
154
  import dayjs from "dayjs";
153
155
  // @ts-ignore
@@ -188,6 +190,7 @@ export default defineComponent({
188
190
  RecordingItemButton,
189
191
  SubscribeButtons,
190
192
  Countdown,
193
+ PodcastRawTranscript,
191
194
  },
192
195
 
193
196
  mixins: [displayMethods, orgaComputed, resizePhone],
@@ -0,0 +1,158 @@
1
+ <template>
2
+ <div>
3
+ <button
4
+ class="btn btn-transcript"
5
+ :class="{ open: isOpen }"
6
+ @click="isOpen = !isOpen"
7
+ >
8
+ {{ buttonText }}
9
+ </button>
10
+ <div v-if="isOpen" class="transcription-body">
11
+ <ClassicLoading
12
+ :loading-text="!firstLoaded ? $t('Loading content ...') : undefined"
13
+ />
14
+ <div class="transcription-text">
15
+ <template v-if="firstLoaded && transcript?.length">{{
16
+ transcript
17
+ }}</template>
18
+ <template v-if="firstLoaded && !transcript?.length">{{
19
+ $t("Transcript does not yet exist for this episode")
20
+ }}</template>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </template>
25
+
26
+ <script lang="ts">
27
+ import octopusApi from "@saooti/octopus-api";
28
+ import ClassicLoading from "../../form/ClassicLoading.vue";
29
+ import { defineComponent } from "vue";
30
+ export default defineComponent({
31
+ name: "PodcastRawTranscript",
32
+
33
+ components: {
34
+ ClassicLoading,
35
+ },
36
+
37
+ props: {
38
+ podcastId: { default: undefined, type: Number },
39
+ },
40
+ data() {
41
+ return {
42
+ isOpen: false as boolean,
43
+ firstLoaded: false as boolean,
44
+ transcript: undefined as string | undefined,
45
+ };
46
+ },
47
+
48
+ computed: {
49
+ buttonText() {
50
+ return this.isOpen
51
+ ? this.$t("Hide transcript")
52
+ : this.$t("View transcript");
53
+ },
54
+ },
55
+ watch: {
56
+ async isOpen() {
57
+ if (this.isOpen && !this.firstLoaded) {
58
+ this.fetchTranscript();
59
+ }
60
+ },
61
+ },
62
+ methods: {
63
+ async fetchTranscript() {
64
+ if (!this.podcastId) {
65
+ return;
66
+ }
67
+ try {
68
+ this.transcript = await octopusApi.fetchData(
69
+ 11,
70
+ `transcription/text/${this.podcastId}`,
71
+ );
72
+ } catch {
73
+ //Do nothing
74
+ }
75
+ this.firstLoaded = true;
76
+ },
77
+ },
78
+ });
79
+ </script>
80
+ <style lang="scss">
81
+ @import "@scss/_variables.scss";
82
+ .octopus-app {
83
+ .btn-transcript {
84
+ position: relative;
85
+ border-radius: $octopus-borderradius;
86
+ overflow: hidden;
87
+ background: $octopus-secondary-color;
88
+ transition: all 0.2s linear 0s;
89
+
90
+ &:not(.open):before,
91
+ &.open:after {
92
+ content: "➤";
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: center;
96
+ position: absolute;
97
+ top: 0;
98
+ height: 100%;
99
+ width: 30px;
100
+ border-radius: 0 50% 50% 0;
101
+ background-color: rgba(#fff, 0.4);
102
+ transform: scale(0, 1);
103
+ transition: all 0.2s linear 0s;
104
+ }
105
+ &:not(.open):before {
106
+ left: 0px;
107
+ transform-origin: left center;
108
+ }
109
+ &.open:after {
110
+ right: -30px;
111
+ transform-origin: center left;
112
+ }
113
+ &.open {
114
+ direction: rtl;
115
+ }
116
+ &:hover {
117
+ text-indent: 30px;
118
+ }
119
+ &:not(.open):hover:before,
120
+ &.open:hover:after {
121
+ text-indent: 0;
122
+ }
123
+ &:not(.open):hover:before {
124
+ transform: scale(1, 1);
125
+ }
126
+ &.open:hover:after {
127
+ transform: scale(-1, 1);
128
+ }
129
+ }
130
+ .transcription-body {
131
+ position: relative;
132
+ padding: 1rem;
133
+ max-height: 250px;
134
+ display: flex;
135
+ justify-content: center;
136
+ .transcription-text {
137
+ overflow-y: auto;
138
+ }
139
+ &::before {
140
+ content: "";
141
+ position: absolute;
142
+ inset: 0;
143
+ padding: 3px;
144
+ background: repeating-conic-gradient(
145
+ $octopus-secondary-color 0 25%,
146
+ $octopus-primary-color 0 50%
147
+ )
148
+ 0 0/30px 30px round;
149
+ -webkit-mask:
150
+ linear-gradient(#000 0 0) content-box,
151
+ linear-gradient(#000 0 0);
152
+ -webkit-mask-composite: xor;
153
+ mask-composite: exclude;
154
+ pointer-events: none;
155
+ }
156
+ }
157
+ }
158
+ </style>
@@ -138,7 +138,9 @@ export default defineComponent({
138
138
  true,
139
139
  );
140
140
  this.loading = true;
141
- this.allPodcasts = data.result.filter((pod: Podcast | null) => null !== pod);
141
+ this.allPodcasts = data.result.filter(
142
+ (pod: Podcast | null) => null !== pod,
143
+ );
142
144
  this.loading = false;
143
145
  },
144
146
  sortPopular(): void {
@@ -150,7 +152,7 @@ export default defineComponent({
150
152
  if (!this.popularSort) return;
151
153
  this.popularSort = false;
152
154
  this.fetchNext();
153
- }
155
+ },
154
156
  },
155
157
  });
156
158
  </script>
@@ -166,7 +166,7 @@ export default defineComponent({
166
166
  displayWaveParam(): boolean {
167
167
  return "default" === this.iFrameModel || "emission" === this.iFrameModel;
168
168
  },
169
- choseNumberEpisodes():boolean{
169
+ choseNumberEpisodes(): boolean {
170
170
  return this.displayChoiceAllEpisodes || this.isTypeSuggestion;
171
171
  },
172
172
  displayArticleParam(): boolean {
@@ -222,10 +222,17 @@ export default defineComponent({
222
222
  return "emissionLarge" === this.iFrameModel;
223
223
  },
224
224
  isTypeSuggestion(): boolean {
225
- return "largeSuggestion" === this.iFrameModel || "SUGGESTION"===this.typeCustomPlayer;
225
+ return (
226
+ "largeSuggestion" === this.iFrameModel ||
227
+ "SUGGESTION" === this.typeCustomPlayer
228
+ );
226
229
  },
227
- isTypeEmission():boolean{
228
- return this.isEmission || this.isLargeEmission || "EMISSION"===this.typeCustomPlayer;
230
+ isTypeEmission(): boolean {
231
+ return (
232
+ this.isEmission ||
233
+ this.isLargeEmission ||
234
+ "EMISSION" === this.typeCustomPlayer
235
+ );
229
236
  },
230
237
  titleStillAvailable(): string {
231
238
  return this.isPodcastNotVisible
@@ -120,24 +120,26 @@ export default defineComponent({
120
120
  this.initCustomPlayers();
121
121
  },
122
122
  methods: {
123
- isNumeric(value: string):boolean {
123
+ isNumeric(value: string): boolean {
124
124
  return /^-?\d+$/.test(value);
125
125
  },
126
- selectChange($event: any){
126
+ selectChange($event: any) {
127
127
  const val = $event.target.value;
128
- if(!val){
128
+ if (!val) {
129
129
  return;
130
130
  }
131
- if(this.isNumeric(val)){
132
- var customPlayer = this.customPlayersDisplay.find((p) => {return p.customId.toString() === val});
133
- if(customPlayer){
131
+ if (this.isNumeric(val)) {
132
+ var customPlayer = this.customPlayersDisplay.find((p) => {
133
+ return p.customId.toString() === val;
134
+ });
135
+ if (customPlayer) {
134
136
  this.selectCustomPlayer(customPlayer);
135
137
  }
136
- }else{
137
- this.$emit('update:iFrameModel',val)
138
+ } else {
139
+ this.$emit("update:iFrameModel", val);
138
140
  }
139
141
  },
140
- async fetchPlayerPaginate(type: string): Promise<CustomPlayer[]>{
142
+ async fetchPlayerPaginate(type: string): Promise<CustomPlayer[]> {
141
143
  let players = await octopusApi.fetchDataPublic<
142
144
  InterfacePageable<CustomPlayer>
143
145
  >(6, "customPlayer/type/" + this.organisationId + "/" + type);
@@ -161,11 +163,14 @@ export default defineComponent({
161
163
  }
162
164
  return playersContent;
163
165
  },
164
- selectCustomPlayer(customPlayer: CustomPlayer){
166
+ selectCustomPlayer(customPlayer: CustomPlayer) {
165
167
  this.$emit("update:typeCustomPlayer", customPlayer.typePlayer);
166
- this.$emit("update:iFrameModel",customPlayer.customId.toString());
168
+ this.$emit("update:iFrameModel", customPlayer.customId.toString());
167
169
  },
168
- async fetchCustomPlayers(type: string, selectIfPossible = true): Promise<boolean> {
170
+ async fetchCustomPlayers(
171
+ type: string,
172
+ selectIfPossible = true,
173
+ ): Promise<boolean> {
169
174
  let customPlayersForType = await this.fetchPlayerPaginate(type);
170
175
  this.customPlayers = this.customPlayers.concat(customPlayersForType);
171
176
  if (
@@ -186,8 +191,14 @@ export default defineComponent({
186
191
  this.fetchCustomPlayers("EMISSION");
187
192
  } else {
188
193
  const episodeSelected = await this.fetchCustomPlayers("EPISODE");
189
- const emissionSelected = await this.fetchCustomPlayers("EMISSION", !episodeSelected);
190
- await this.fetchCustomPlayers("SUGGESTION", !episodeSelected && !emissionSelected);
194
+ const emissionSelected = await this.fetchCustomPlayers(
195
+ "EMISSION",
196
+ !episodeSelected,
197
+ );
198
+ await this.fetchCustomPlayers(
199
+ "SUGGESTION",
200
+ !episodeSelected && !emissionSelected,
201
+ );
191
202
  }
192
203
  },
193
204
  },
@@ -20,7 +20,11 @@
20
20
  :disabled="isDisabled"
21
21
  :loading="isLoading"
22
22
  :placeholder="placeholder"
23
- :clearSearchOnBlur="()=>{return true}"
23
+ :clear-search-on-blur="
24
+ () => {
25
+ return true;
26
+ }
27
+ "
24
28
  :filter="fakeSearch"
25
29
  :selectable="() => !maxOptionsSelected"
26
30
  @open="onSearch"
@@ -101,7 +105,7 @@ export default {
101
105
  remainingElements: 0 as number,
102
106
  isLoading: false as boolean,
103
107
  nbOptionsSelected: 0 as number,
104
- searchInput: "" as string
108
+ searchInput: "" as string,
105
109
  };
106
110
  },
107
111
  computed: {
@@ -141,13 +145,13 @@ export default {
141
145
  onSearch(search?: string): void {
142
146
  if (search && search.length < this.minSearchLength) {
143
147
  return;
144
- }else if(search){
148
+ } else if (search) {
145
149
  this.searchInput = search;
146
150
  }
147
151
  this.isLoading = true;
148
152
  this.$emit("onSearch", search);
149
153
  },
150
- onClose(){
154
+ onClose() {
151
155
  this.$emit("onClose", this.searchInput);
152
156
  this.searchInput = "";
153
157
  },
@@ -28,7 +28,7 @@
28
28
  />
29
29
  </div>
30
30
  <!-- <AdsSkipButton/> -->
31
- <PlayerSpeedButton/>
31
+ <PlayerSpeedButton />
32
32
  <button
33
33
  :title="'' != transcriptText ? $t('View transcript') : $t('Enlarge')"
34
34
  class="btn play-button-box btn-transparent text-light saooti-up me-0"
@@ -71,7 +71,7 @@ export default defineComponent({
71
71
  PlayerImage,
72
72
  PlayerPlayButton,
73
73
  PlayerTitle,
74
- PlayerSpeedButton
74
+ PlayerSpeedButton,
75
75
  /* AdsSkipButton */
76
76
  },
77
77
  mixins: [playerDisplayTime, imageProxy],
@@ -127,7 +127,7 @@ export default defineComponent({
127
127
  flex-shrink: 0;
128
128
  cursor: pointer;
129
129
  }
130
- .play-button-box:not(.small-font){
130
+ .play-button-box:not(.small-font) {
131
131
  font-size: 1rem !important;
132
132
  }
133
133
  .play-big-button-box {
@@ -4,12 +4,10 @@
4
4
  class="btn play-button-box small-font btn-transparent text-light me-0"
5
5
  @click="changeSpeed"
6
6
  >
7
- {{
8
- "×"+speedArray[speedIndex]
9
- }}</button>
7
+ {{ "×" + speedArray[speedIndex] }}
8
+ </button>
10
9
  </template>
11
10
  <script lang="ts">
12
-
13
11
  import { defineComponent } from "vue";
14
12
  export default defineComponent({
15
13
  name: "PlayerSpeedButton",
@@ -18,11 +16,11 @@ export default defineComponent({
18
16
  return {
19
17
  audioPlayer: null as HTMLAudioElement | null,
20
18
  speedIndex: 2 as number,
21
- speedArray: [0.5,0.75, 1, 1.25, 1.5,1.75],
19
+ speedArray: [0.5, 0.75, 1, 1.25, 1.5, 1.75],
22
20
  };
23
21
  },
24
- mounted(){
25
- this.audioPlayer =document.querySelector("#audio-player");
22
+ mounted() {
23
+ this.audioPlayer = document.querySelector("#audio-player");
26
24
  },
27
25
  methods: {
28
26
  changeSpeed() {
@@ -30,7 +28,7 @@ export default defineComponent({
30
28
  if (this.speedIndex > this.speedArray.length - 1) {
31
29
  this.speedIndex = 0;
32
30
  }
33
- if(this.audioPlayer){
31
+ if (this.audioPlayer) {
34
32
  this.audioPlayer.playbackRate = this.speedArray[this.speedIndex];
35
33
  }
36
34
  },
@@ -41,6 +39,5 @@ export default defineComponent({
41
39
  <style lang="scss">
42
40
  @import "@scss/_variables.scss";
43
41
  .octopus-app {
44
-
45
42
  }
46
43
  </style>
@@ -15,7 +15,7 @@ import { mapActions } from "pinia";
15
15
  import { playerLogicProgress } from "../../../mixins/player/playerLogicProgress";
16
16
  import videojs, { VideoJsPlayer } from "video.js";
17
17
  import qualitySelectorHls from "videojs-quality-selector-hls";
18
- if (undefined===videojs.getPlugin("qualitySelectorHls")) {
18
+ if (undefined === videojs.getPlugin("qualitySelectorHls")) {
19
19
  videojs.registerPlugin("qualitySelectorHls", qualitySelectorHls);
20
20
  }
21
21
  import { defineComponent } from "vue";
@@ -104,7 +104,7 @@ export default defineComponent({
104
104
  document.getElementById("video-element-hls") as Element,
105
105
  this.videoOptions,
106
106
  () => {
107
- this.player.qualitySelectorHls( {displayCurrentQuality: true} );
107
+ this.player.qualitySelectorHls({ displayCurrentQuality: true });
108
108
  /*console.log(this.player.tech(true).vhs.playlistController_); */
109
109
  this.errorPlay = "";
110
110
  this.playing = true;
package/src/locale/de.ts CHANGED
@@ -364,4 +364,6 @@ export default {
364
364
  "Evening":"Abend",
365
365
  "Now":"Jetzt",
366
366
  "Change speed":"Geschwindigkeit ändern",
367
+ "Hide transcript":"Transkript ausblenden",
368
+ "Transcript does not yet exist for this episode":"Für diese Episode existiert noch kein Transkript",
367
369
  }
package/src/locale/en.ts CHANGED
@@ -365,4 +365,6 @@ export default {
365
365
  "Evening":"Evening",
366
366
  "Now":"Now",
367
367
  "Change speed":"Change speed",
368
+ "Hide transcript":"Hide transcript",
369
+ "Transcript does not yet exist for this episode":"Transcript does not yet exist for this episode",
368
370
  };
package/src/locale/es.ts CHANGED
@@ -365,4 +365,6 @@ export default {
365
365
  "Evening":"Noche",
366
366
  "Now":"Ahora",
367
367
  "Change speed":"Cambiar velocidad",
368
+ "Hide transcript":"Ocultar transcripción",
369
+ "Transcript does not yet exist for this episode":"La transcripción aún no existe para este episodio",
368
370
  }
package/src/locale/fr.ts CHANGED
@@ -372,4 +372,6 @@ export default {
372
372
  "Evening":"Soirée",
373
373
  "Now":"Maintenant",
374
374
  "Change speed":"Changer la vitesse",
375
+ "Hide transcript":"Cacher la transcription",
376
+ "Transcript does not yet exist for this episode":"La transcription n'existe pas encore pour cet épisode",
375
377
  };
package/src/locale/it.ts CHANGED
@@ -358,4 +358,6 @@ export default{
358
358
  "Evening":"Sera",
359
359
  "Now":"Ora",
360
360
  "Change speed":"Cambia velocità",
361
+ "Hide transcript":"Nascondi trascrizione",
362
+ "Transcript does not yet exist for this episode":"La trascrizione di questo episodio non esiste ancora",
361
363
  };
package/src/locale/sl.ts CHANGED
@@ -355,4 +355,6 @@ export default {
355
355
  "Evening":"Večer",
356
356
  "Now":"Zdaj",
357
357
  "Change speed":"Spremenite hitrost",
358
+ "Hide transcript":"Skrij prepis",
359
+ "Transcript does not yet exist for this episode":"Prepis za to epizodo še ne obstaja",
358
360
  }