@saooti/octopus-sdk 31.0.1 → 31.0.2
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/README.md +12 -1
- package/index.ts +8 -2
- package/package.json +3 -3
- package/src/assets/general.scss +8 -0
- package/src/assets/share.scss +21 -0
- package/src/components/display/categories/CategoryFilter.vue +10 -8
- package/src/components/display/categories/CategoryList.vue +26 -24
- package/src/components/display/comments/CommentInput.vue +21 -19
- package/src/components/display/comments/CommentList.vue +2 -0
- package/src/components/display/comments/CommentPlayer.vue +2 -0
- package/src/components/display/emission/EmissionInlineList.vue +32 -29
- package/src/components/display/emission/EmissionList.vue +12 -8
- package/src/components/display/emission/EmissionPlayerItem.vue +16 -1
- package/src/components/display/filter/AdvancedSearch.vue +2 -0
- package/src/components/display/filter/ProductorSearch.vue +6 -1
- package/src/components/display/live/LiveHorizontalList.vue +1 -1
- package/src/components/display/live/LiveItem.vue +2 -1
- package/src/components/display/live/LiveList.vue +51 -41
- package/src/components/display/organisation/OrganisationChooser.vue +1 -1
- package/src/components/display/organisation/OrganisationChooserLight.vue +28 -19
- package/src/components/display/participant/ParticipantItem.vue +2 -0
- package/src/components/display/participant/ParticipantList.vue +30 -19
- package/src/components/display/playlist/PlaylistList.vue +12 -3
- package/src/components/display/playlist/PodcastList.vue +26 -16
- package/src/components/display/playlist/PodcastPlaylistInlineList.vue +204 -0
- package/src/components/display/podcasts/AnimatorsItem.vue +2 -0
- package/src/components/display/podcasts/ParticipantDescription.vue +1 -5
- package/src/components/display/podcasts/PodcastImage.vue +2 -1
- package/src/components/display/podcasts/PodcastInlineList.vue +40 -28
- package/src/components/display/podcasts/PodcastItem.vue +12 -0
- package/src/components/display/podcasts/PodcastList.vue +11 -3
- package/src/components/display/podcasts/PodcastPlayBar.vue +2 -0
- package/src/components/display/podcasts/TagList.vue +2 -0
- package/src/components/display/rubriques/RubriqueList.vue +3 -1
- package/src/components/display/sharing/PlayerParameters.vue +2 -0
- package/src/components/display/sharing/QrCode.vue +7 -0
- package/src/components/display/sharing/ShareDistribution.vue +2 -0
- package/src/components/display/sharing/SharePlayer.vue +2 -0
- package/src/components/form/ClassicSearch.vue +2 -0
- package/src/components/misc/ErrorMessage.vue +2 -0
- package/src/components/misc/Footer.vue +2 -0
- package/src/components/misc/LeftMenu.vue +2 -0
- package/src/components/misc/Player.vue +14 -0
- package/src/components/misc/PlayerButtons.vue +2 -14
- package/src/components/misc/PlayerClockAndTimeline.vue +2 -0
- package/src/components/misc/PlayerProgressBar.vue +2 -0
- package/src/components/misc/Popover.vue +5 -0
- package/src/components/misc/Snackbar.vue +2 -0
- package/src/components/misc/TopBar.vue +2 -0
- package/src/components/misc/modal/NewsletterModal.vue +11 -3
- package/src/components/misc/modal/ShareModalPlayer.vue +2 -0
- package/src/components/mixins/handle403.ts +17 -0
- package/src/components/pages/Emission.vue +17 -4
- package/src/components/pages/Error403Page.vue +24 -0
- package/src/components/pages/Participant.vue +19 -4
- package/src/components/pages/Playlist.vue +17 -3
- package/src/components/pages/Podcast.vue +28 -12
- package/src/components/pages/Podcasts.vue +4 -0
- package/src/locale/en.ts +1 -0
- package/src/locale/fr.ts +1 -0
- package/src/locale/it.ts +298 -0
- package/src/locale/messages.ts +2 -0
- package/src/main.ts +1 -1
- package/src/router/router.ts +6 -0
- package/src/store/class/general/organisation.ts +1 -0
- package/src/store/paramStore.ts +5 -2
|
@@ -8,16 +8,12 @@
|
|
|
8
8
|
:id="idPopover"
|
|
9
9
|
tabindex="-1"
|
|
10
10
|
class="saooti-help m-0"
|
|
11
|
-
:title="
|
|
11
|
+
:title="title"
|
|
12
12
|
/>
|
|
13
13
|
<span class="mx-1">:</span>
|
|
14
14
|
<Popover
|
|
15
15
|
:target="idPopover"
|
|
16
16
|
>
|
|
17
|
-
<div class="text-center font-weight-bold">
|
|
18
|
-
{{ title }}
|
|
19
|
-
</div>
|
|
20
|
-
<hr>
|
|
21
17
|
<div
|
|
22
18
|
v-for="participant in participants"
|
|
23
19
|
:key="'desc-'+participant.participantId"
|
|
@@ -286,6 +286,7 @@ export default defineComponent({
|
|
|
286
286
|
|
|
287
287
|
|
|
288
288
|
<style lang="scss">
|
|
289
|
+
.octopus-app{
|
|
289
290
|
.live-image-status {
|
|
290
291
|
text-align: center;
|
|
291
292
|
width: 100%;
|
|
@@ -363,5 +364,5 @@ export default defineComponent({
|
|
|
363
364
|
z-index: 2;
|
|
364
365
|
}
|
|
365
366
|
}
|
|
366
|
-
|
|
367
|
+
}
|
|
367
368
|
</style>
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
alignLeft ? 'justify-content-start' : '',
|
|
56
56
|
overflowScroll ? 'overflowScroll' : '',
|
|
57
57
|
]"
|
|
58
|
+
:css="isInlineAnimation"
|
|
58
59
|
>
|
|
59
60
|
<PodcastItem
|
|
60
61
|
v-for="p in podcasts"
|
|
@@ -71,13 +72,14 @@
|
|
|
71
72
|
{{ buttonText }}
|
|
72
73
|
<div
|
|
73
74
|
v-if="buttonPlus"
|
|
74
|
-
class="ms-1 saooti-
|
|
75
|
+
class="ms-1 saooti-more"
|
|
75
76
|
/>
|
|
76
77
|
</router-link>
|
|
77
78
|
</div>
|
|
78
79
|
</template>
|
|
79
80
|
|
|
80
81
|
<script lang="ts">
|
|
82
|
+
import { handle403 } from '../../mixins/handle403';
|
|
81
83
|
import octopusApi from '@saooti/octopus-api';
|
|
82
84
|
import domHelper from '../../../helper/dom';
|
|
83
85
|
import PodcastItem from './PodcastItem.vue';
|
|
@@ -88,6 +90,7 @@ import { Podcast } from '@/store/class/general/podcast';
|
|
|
88
90
|
import { RubriquageFilter } from '@/store/class/rubrique/rubriquageFilter';
|
|
89
91
|
import { defineComponent } from 'vue'
|
|
90
92
|
import { RouteLocationRaw } from 'vue-router';
|
|
93
|
+
import { AxiosError } from 'axios';
|
|
91
94
|
export default defineComponent({
|
|
92
95
|
name: 'PodcastInlineList',
|
|
93
96
|
|
|
@@ -96,6 +99,8 @@ export default defineComponent({
|
|
|
96
99
|
ClassicLoading
|
|
97
100
|
},
|
|
98
101
|
|
|
102
|
+
mixins: [handle403],
|
|
103
|
+
|
|
99
104
|
props: {
|
|
100
105
|
organisationId: { default: undefined, type: String},
|
|
101
106
|
emissionId: { default: undefined, type: Number},
|
|
@@ -137,6 +142,9 @@ export default defineComponent({
|
|
|
137
142
|
overflowScroll(): boolean {
|
|
138
143
|
return (state.emissionPage.overflowScroll as boolean);
|
|
139
144
|
},
|
|
145
|
+
isInlineAnimation(): boolean {
|
|
146
|
+
return (state.generalParameters.isInlineAnimation as boolean);
|
|
147
|
+
},
|
|
140
148
|
filterOrga(): string {
|
|
141
149
|
return this.$store.state.filter.organisationId;
|
|
142
150
|
},
|
|
@@ -207,34 +215,38 @@ export default defineComponent({
|
|
|
207
215
|
},
|
|
208
216
|
methods: {
|
|
209
217
|
async fetchNext(): Promise<void> {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
this.
|
|
234
|
-
|
|
235
|
-
|
|
218
|
+
try {
|
|
219
|
+
const data = await octopusApi.fetchPodcasts({
|
|
220
|
+
first: this.first,
|
|
221
|
+
size: this.size + 1,
|
|
222
|
+
organisationId: this.organisation,
|
|
223
|
+
emissionId: this.emissionId,
|
|
224
|
+
iabId: this.iabId,
|
|
225
|
+
rubriqueId: this.rubriqueId.length ?this.rubriqueId:undefined,
|
|
226
|
+
rubriquageId: this.rubriquageId.length ?this.rubriquageId : undefined,
|
|
227
|
+
noRubriquageId: this.noRubriquageId.length ? this.noRubriquageId : undefined,
|
|
228
|
+
sort: this.popularSort ? 'POPULARITY' : 'DATE',
|
|
229
|
+
query: this.query,
|
|
230
|
+
});
|
|
231
|
+
this.loading = false;
|
|
232
|
+
this.loaded = true;
|
|
233
|
+
this.totalCount = data.count;
|
|
234
|
+
if (this.allPodcasts.length + data.result.length < this.totalCount) {
|
|
235
|
+
const nexEl = data.result.pop() as Podcast;
|
|
236
|
+
this.preloadImage(nexEl.imageUrl?nexEl.imageUrl:'');
|
|
237
|
+
}
|
|
238
|
+
this.allPodcasts = this.allPodcasts.concat(
|
|
239
|
+
data.result.filter((pod: Podcast|null) => null !== pod)
|
|
240
|
+
);
|
|
241
|
+
if (this.allPodcasts.length <= 3) {
|
|
242
|
+
this.alignLeft = true;
|
|
243
|
+
} else {
|
|
244
|
+
this.alignLeft = false;
|
|
245
|
+
}
|
|
246
|
+
this.first += this.size;
|
|
247
|
+
} catch (error) {
|
|
248
|
+
this.handle403((error as AxiosError));
|
|
236
249
|
}
|
|
237
|
-
this.first += this.size;
|
|
238
250
|
},
|
|
239
251
|
displayPrevious(): void {
|
|
240
252
|
this.direction = -1;
|
|
@@ -197,6 +197,16 @@ export default defineComponent({
|
|
|
197
197
|
s: () => 'sec',
|
|
198
198
|
ms: () => 'ms',
|
|
199
199
|
},
|
|
200
|
+
shortIt: {
|
|
201
|
+
y: () => 'anni',
|
|
202
|
+
mo: () => 'mesi',
|
|
203
|
+
w: () => 'settimane',
|
|
204
|
+
d: () => 'giorni',
|
|
205
|
+
h: () => 'h',
|
|
206
|
+
m: () => 'min',
|
|
207
|
+
s: () => 'sec',
|
|
208
|
+
ms: () => 'ms',
|
|
209
|
+
},
|
|
200
210
|
},
|
|
201
211
|
});
|
|
202
212
|
}
|
|
@@ -243,6 +253,7 @@ export default defineComponent({
|
|
|
243
253
|
</script>
|
|
244
254
|
|
|
245
255
|
<style lang="scss">
|
|
256
|
+
.octopus-app{
|
|
246
257
|
.podcast-item-container {
|
|
247
258
|
border-radius: 0.8rem;
|
|
248
259
|
list-style: none;
|
|
@@ -308,4 +319,5 @@ export default defineComponent({
|
|
|
308
319
|
margin: 0.5rem !important;
|
|
309
320
|
}
|
|
310
321
|
}
|
|
322
|
+
}
|
|
311
323
|
</style>
|
|
@@ -33,13 +33,14 @@
|
|
|
33
33
|
</template>
|
|
34
34
|
<div
|
|
35
35
|
:class="buttonPlus?'ms-1':''"
|
|
36
|
-
class="saooti-
|
|
36
|
+
class="saooti-more"
|
|
37
37
|
/>
|
|
38
38
|
</button>
|
|
39
39
|
</div>
|
|
40
40
|
</template>
|
|
41
41
|
|
|
42
42
|
<script lang="ts">
|
|
43
|
+
import { handle403 } from '../../mixins/handle403';
|
|
43
44
|
import octopusApi from '@saooti/octopus-api';
|
|
44
45
|
import PodcastItem from './PodcastItem.vue';
|
|
45
46
|
import { state } from '../../../store/paramStore';
|
|
@@ -47,6 +48,7 @@ import ClassicLoading from '../../form/ClassicLoading.vue';
|
|
|
47
48
|
import { Podcast } from '@/store/class/general/podcast';
|
|
48
49
|
import { defineComponent } from 'vue'
|
|
49
50
|
import { FetchParam } from '@/store/class/general/fetchParam';
|
|
51
|
+
import { AxiosError } from 'axios';
|
|
50
52
|
export default defineComponent({
|
|
51
53
|
name: 'PodcastList',
|
|
52
54
|
|
|
@@ -55,6 +57,8 @@ export default defineComponent({
|
|
|
55
57
|
ClassicLoading
|
|
56
58
|
},
|
|
57
59
|
|
|
60
|
+
mixins: [handle403],
|
|
61
|
+
|
|
58
62
|
props: {
|
|
59
63
|
first: { default: 0, type: Number},
|
|
60
64
|
size: { default: 12, type: Number},
|
|
@@ -174,8 +178,12 @@ export default defineComponent({
|
|
|
174
178
|
if (this.notValid && !this.isProduction) {
|
|
175
179
|
param.publisherId = this.$store.state.profile.userId;
|
|
176
180
|
}
|
|
177
|
-
|
|
178
|
-
|
|
181
|
+
try {
|
|
182
|
+
const data = await octopusApi.fetchPodcasts(param);
|
|
183
|
+
this.afterFetching(reset, data);
|
|
184
|
+
} catch (error) {
|
|
185
|
+
this.handle403((error as AxiosError));
|
|
186
|
+
}
|
|
179
187
|
},
|
|
180
188
|
afterFetching(reset: boolean, data: {count: number, result: Array<Podcast>, sort: string}): void {
|
|
181
189
|
if (reset) {
|
|
@@ -51,6 +51,7 @@ export default defineComponent({
|
|
|
51
51
|
</script>
|
|
52
52
|
|
|
53
53
|
<style lang="scss">
|
|
54
|
+
.octopus-app{
|
|
54
55
|
.tag-list-component{
|
|
55
56
|
.ouest-france-logo{
|
|
56
57
|
width: 20px;
|
|
@@ -65,4 +66,5 @@ export default defineComponent({
|
|
|
65
66
|
border-radius: 0.5rem;
|
|
66
67
|
}
|
|
67
68
|
}
|
|
69
|
+
}
|
|
68
70
|
</style>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
class="dropdown btn-group"
|
|
32
32
|
>
|
|
33
33
|
<button
|
|
34
|
-
class="btn dropdown-toggle admin-button dropdown-toggle-no-caret saooti-
|
|
34
|
+
class="btn dropdown-toggle admin-button dropdown-toggle-no-caret saooti-more"
|
|
35
35
|
data-bs-toggle="dropdown"
|
|
36
36
|
aria-expanded="false"
|
|
37
37
|
:title="$t('See more')"
|
|
@@ -179,6 +179,7 @@ export default defineComponent({
|
|
|
179
179
|
</script>
|
|
180
180
|
|
|
181
181
|
<style lang="scss">
|
|
182
|
+
.octopus-app{
|
|
182
183
|
#rubrique-list-container {
|
|
183
184
|
display: flex;
|
|
184
185
|
justify-content: flex-start;
|
|
@@ -210,4 +211,5 @@ export default defineComponent({
|
|
|
210
211
|
background: #eee !important;
|
|
211
212
|
}
|
|
212
213
|
}
|
|
214
|
+
}
|
|
213
215
|
</style>
|
|
@@ -50,6 +50,9 @@ export default defineComponent({
|
|
|
50
50
|
return (state.generalParameters.authenticated as boolean);
|
|
51
51
|
},
|
|
52
52
|
},
|
|
53
|
+
created(){
|
|
54
|
+
this.initColor();
|
|
55
|
+
},
|
|
53
56
|
methods:{
|
|
54
57
|
download(): void{
|
|
55
58
|
const link = document.createElement('a');
|
|
@@ -62,6 +65,10 @@ export default defineComponent({
|
|
|
62
65
|
}
|
|
63
66
|
},
|
|
64
67
|
async initColor(): Promise<void> {
|
|
68
|
+
if(state.generalParameters.podcastmaker && state.generalParameters.podcastmakerColor){
|
|
69
|
+
this.color = state.generalParameters.podcastmakerColor;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
65
72
|
if (!this.authenticated) return;
|
|
66
73
|
let data;
|
|
67
74
|
if(this.$store.state.organisation && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
|
|
@@ -170,6 +170,7 @@ export default defineComponent({
|
|
|
170
170
|
</script>
|
|
171
171
|
|
|
172
172
|
<style lang="scss">
|
|
173
|
+
.octopus-app{
|
|
173
174
|
.sharing-distribution-container {
|
|
174
175
|
border: 0.05rem solid #dee2e6;
|
|
175
176
|
border-radius: 0.3rem;
|
|
@@ -214,4 +215,5 @@ export default defineComponent({
|
|
|
214
215
|
margin: 0.2rem 0.5rem;
|
|
215
216
|
}
|
|
216
217
|
}
|
|
218
|
+
}
|
|
217
219
|
</style>
|
|
@@ -364,6 +364,7 @@ export default defineComponent({
|
|
|
364
364
|
|
|
365
365
|
<style lang="scss">
|
|
366
366
|
@import '../../../sass/_variables.scss';
|
|
367
|
+
.octopus-app{
|
|
367
368
|
.sticker {
|
|
368
369
|
align-self: center;
|
|
369
370
|
background: $octopus-primary-dark;
|
|
@@ -385,4 +386,5 @@ export default defineComponent({
|
|
|
385
386
|
.max-iframe {
|
|
386
387
|
max-width: 300px;
|
|
387
388
|
}
|
|
389
|
+
}
|
|
388
390
|
</style>
|
|
@@ -61,6 +61,7 @@ export default defineComponent({
|
|
|
61
61
|
});
|
|
62
62
|
</script>
|
|
63
63
|
<style lang="scss">
|
|
64
|
+
.octopus-app{
|
|
64
65
|
.champs-searchPage{
|
|
65
66
|
input {
|
|
66
67
|
border: 2px solid #dee2e6;
|
|
@@ -81,4 +82,5 @@ export default defineComponent({
|
|
|
81
82
|
margin: 1rem;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
85
|
+
}
|
|
84
86
|
</style>
|
|
@@ -201,6 +201,7 @@ export default defineComponent({
|
|
|
201
201
|
</script>
|
|
202
202
|
|
|
203
203
|
<style lang="scss">
|
|
204
|
+
.octopus-app{
|
|
204
205
|
#footer{
|
|
205
206
|
font-size: 0.7rem;
|
|
206
207
|
.acpm_image {
|
|
@@ -221,4 +222,5 @@ export default defineComponent({
|
|
|
221
222
|
}
|
|
222
223
|
}
|
|
223
224
|
}
|
|
225
|
+
}
|
|
224
226
|
</style>
|
|
@@ -195,6 +195,7 @@ export default defineComponent({
|
|
|
195
195
|
</script>
|
|
196
196
|
|
|
197
197
|
<style lang="scss">
|
|
198
|
+
.octopus-app{
|
|
198
199
|
.left-menu-container {
|
|
199
200
|
position: fixed;
|
|
200
201
|
top: 3rem;
|
|
@@ -225,4 +226,5 @@ export default defineComponent({
|
|
|
225
226
|
width: 94%;
|
|
226
227
|
}
|
|
227
228
|
}
|
|
229
|
+
}
|
|
228
230
|
</style>
|
|
@@ -51,6 +51,15 @@
|
|
|
51
51
|
:player-error="playerError"
|
|
52
52
|
:listen-time="listenTime"
|
|
53
53
|
/>
|
|
54
|
+
<div
|
|
55
|
+
class="play-button-box primary-bg text-light"
|
|
56
|
+
@click="stopPlayer"
|
|
57
|
+
>
|
|
58
|
+
<div
|
|
59
|
+
class="saooti-cross"
|
|
60
|
+
:title="$t('Close')"
|
|
61
|
+
/>
|
|
62
|
+
</div>
|
|
54
63
|
<PlayerClockAndTimeline
|
|
55
64
|
v-model:showTimeline="showTimeline"
|
|
56
65
|
:comments="comments"
|
|
@@ -204,6 +213,9 @@ export default defineComponent({
|
|
|
204
213
|
},
|
|
205
214
|
|
|
206
215
|
methods: {
|
|
216
|
+
stopPlayer(): void {
|
|
217
|
+
this.$store.commit('playerPlayPodcast');
|
|
218
|
+
},
|
|
207
219
|
getListenerId(): string{
|
|
208
220
|
let listenerId = this.getCookie("octopus_listenerId");
|
|
209
221
|
if(!listenerId){
|
|
@@ -473,6 +485,7 @@ reject('There is an error while reading media content');
|
|
|
473
485
|
</script>
|
|
474
486
|
|
|
475
487
|
<style lang="scss">
|
|
488
|
+
.octopus-app{
|
|
476
489
|
.player-container {
|
|
477
490
|
position: fixed;
|
|
478
491
|
overflow: hidden;
|
|
@@ -497,4 +510,5 @@ reject('There is an error while reading media content');
|
|
|
497
510
|
}
|
|
498
511
|
}
|
|
499
512
|
}
|
|
513
|
+
}
|
|
500
514
|
</style>
|
|
@@ -23,16 +23,6 @@
|
|
|
23
23
|
}"
|
|
24
24
|
/>
|
|
25
25
|
</div>
|
|
26
|
-
<div
|
|
27
|
-
v-if="isPlaying || isPaused"
|
|
28
|
-
class="play-button-box primary-bg text-light"
|
|
29
|
-
@click="stopPlayer"
|
|
30
|
-
>
|
|
31
|
-
<div
|
|
32
|
-
class="saooti-stop-bounty"
|
|
33
|
-
:title="$t('Stop')"
|
|
34
|
-
/>
|
|
35
|
-
</div>
|
|
36
26
|
</template>
|
|
37
27
|
|
|
38
28
|
<script lang="ts">
|
|
@@ -114,9 +104,6 @@ export default defineComponent({
|
|
|
114
104
|
this.onPause();
|
|
115
105
|
}
|
|
116
106
|
},
|
|
117
|
-
stopPlayer(): void {
|
|
118
|
-
this.$store.commit('playerPlayPodcast');
|
|
119
|
-
},
|
|
120
107
|
onPlay(): void {
|
|
121
108
|
this.$store.commit('playerPause', false);
|
|
122
109
|
},
|
|
@@ -128,6 +115,7 @@ export default defineComponent({
|
|
|
128
115
|
</script>
|
|
129
116
|
|
|
130
117
|
<style lang="scss">
|
|
118
|
+
.octopus-app{
|
|
131
119
|
.player-image {
|
|
132
120
|
border-radius: 0.2rem;
|
|
133
121
|
height: 2.4rem;
|
|
@@ -151,5 +139,5 @@ export default defineComponent({
|
|
|
151
139
|
flex-shrink: 0;
|
|
152
140
|
cursor: pointer;
|
|
153
141
|
}
|
|
154
|
-
|
|
142
|
+
}
|
|
155
143
|
</style>
|
|
@@ -61,6 +61,7 @@ export default defineComponent({
|
|
|
61
61
|
</script>
|
|
62
62
|
<style lang="scss">
|
|
63
63
|
@import '../../sass/_variables.scss';
|
|
64
|
+
.octopus-app{
|
|
64
65
|
.player-container {
|
|
65
66
|
.timeline-button {
|
|
66
67
|
background: black;
|
|
@@ -82,4 +83,5 @@ export default defineComponent({
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
86
|
+
}
|
|
85
87
|
</style>
|
|
@@ -146,6 +146,7 @@ export default defineComponent({
|
|
|
146
146
|
</script>
|
|
147
147
|
|
|
148
148
|
<style lang="scss">
|
|
149
|
+
.octopus-app{
|
|
149
150
|
.player-grow-content {
|
|
150
151
|
display: flex;
|
|
151
152
|
flex-direction: column;
|
|
@@ -165,4 +166,5 @@ export default defineComponent({
|
|
|
165
166
|
position: absolute;
|
|
166
167
|
}
|
|
167
168
|
}
|
|
169
|
+
}
|
|
168
170
|
</style>
|
|
@@ -257,6 +257,7 @@ export default defineComponent({
|
|
|
257
257
|
</script>
|
|
258
258
|
|
|
259
259
|
<style lang="scss">
|
|
260
|
+
.octopus-app{
|
|
260
261
|
.top-bar-container {
|
|
261
262
|
position: sticky;
|
|
262
263
|
top: 0;
|
|
@@ -336,4 +337,5 @@ export default defineComponent({
|
|
|
336
337
|
}
|
|
337
338
|
}
|
|
338
339
|
}
|
|
340
|
+
}
|
|
339
341
|
</style>
|
|
@@ -242,9 +242,7 @@ export default defineComponent({
|
|
|
242
242
|
`" title="` +
|
|
243
243
|
this.$t('Listen this episode') +
|
|
244
244
|
`">
|
|
245
|
-
<img width="44" height="44" style="display: inline-block;vertical-align: middle" src="
|
|
246
|
-
this.resourcesUrl +
|
|
247
|
-
`/img/play-podcast.png">
|
|
245
|
+
<img width="44" height="44" style="display: inline-block;vertical-align: middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAAxElEQVRIie3WMWpCURBG4Q8FSRrtbC2SPhvICmzchVuwtXQLbsE2pVUIkjqQHVgqNmIj6EvxGHhFQAIvcxt/OPVhhrlzh3sKZ4MvTLLFVYNPvJYQB294LiGucMYSw2xxcMQcj9niYIsputni4BvjEuJgjZcS4goXrDDKFgcnLDDIFgd7zNDLFgfvTUHnL23ISJuV7iS3Ooarn1VxkeeUvkDSV2b6J3FQT+pDW8Jb4vRD4Kqe1Kf/Ev4mTj32PhQ6b+9pPT+XHgysHrPM6QAAAABJRU5ErkJggg=="/>
|
|
248
246
|
</a>
|
|
249
247
|
<a style="color: #000;text-decoration: none; margin-right:8px" href="` +
|
|
250
248
|
window.location.href +
|
|
@@ -283,6 +281,9 @@ export default defineComponent({
|
|
|
283
281
|
});
|
|
284
282
|
},
|
|
285
283
|
},
|
|
284
|
+
created(){
|
|
285
|
+
this.initColor();
|
|
286
|
+
},
|
|
286
287
|
methods: {
|
|
287
288
|
closePopup(event: { preventDefault: () => void }): void {
|
|
288
289
|
event.preventDefault();
|
|
@@ -302,12 +303,18 @@ export default defineComponent({
|
|
|
302
303
|
},
|
|
303
304
|
afterCopy(): void{
|
|
304
305
|
(this.$refs.snackbar as InstanceType<typeof SnackbarVue>).open(this.$t('Data in clipboard'));
|
|
306
|
+
},
|
|
307
|
+
initColor(): void {
|
|
308
|
+
if(state.generalParameters.podcastmaker && state.generalParameters.podcastmakerColor){
|
|
309
|
+
this.color = state.generalParameters.podcastmakerColor;
|
|
310
|
+
}
|
|
305
311
|
}
|
|
306
312
|
},
|
|
307
313
|
})
|
|
308
314
|
</script>
|
|
309
315
|
|
|
310
316
|
<style lang="scss">
|
|
317
|
+
.octopus-app{
|
|
311
318
|
#newsletter-modal {
|
|
312
319
|
textarea {
|
|
313
320
|
border: 2px solid #eee;
|
|
@@ -323,4 +330,5 @@ export default defineComponent({
|
|
|
323
330
|
max-width: 60%;
|
|
324
331
|
}
|
|
325
332
|
}
|
|
333
|
+
}
|
|
326
334
|
</style>
|
|
@@ -139,6 +139,7 @@ export default defineComponent({
|
|
|
139
139
|
</script>
|
|
140
140
|
|
|
141
141
|
<style lang="scss">
|
|
142
|
+
.octopus-app{
|
|
142
143
|
.share-modal-border {
|
|
143
144
|
border-right: solid 1px rgb(222, 226, 230);
|
|
144
145
|
border-left: solid 1px rgb(222, 226, 230);
|
|
@@ -178,4 +179,5 @@ export default defineComponent({
|
|
|
178
179
|
align-self: center;
|
|
179
180
|
}
|
|
180
181
|
}
|
|
182
|
+
}
|
|
181
183
|
</style>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AxiosError } from 'axios';
|
|
2
|
+
import { defineComponent } from 'vue';
|
|
3
|
+
export const handle403 = defineComponent({
|
|
4
|
+
methods: {
|
|
5
|
+
handle403(error: AxiosError): void {
|
|
6
|
+
if (403 === error.response?.status) {
|
|
7
|
+
if(!this.$store.state.authentication.isAuthenticated){
|
|
8
|
+
this.$router.push("/sso/login");
|
|
9
|
+
}else{
|
|
10
|
+
this.$router.push({
|
|
11
|
+
path: '/main/pub/error'
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
});
|