@saooti/octopus-sdk 32.0.2 → 32.0.5
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 +6 -1
- package/package.json +2 -2
- package/public/css/fonts/icomoon.eot +0 -0
- package/public/css/fonts/icomoon.svg +130 -0
- package/public/css/fonts/icomoon.ttf +0 -0
- package/public/css/fonts/icomoon.woff +0 -0
- package/public/css/fonts/style.css +185 -1275
- package/src/App.vue +1 -1
- package/src/assets/bootstrap-diff.scss +1 -0
- package/src/assets/form.scss +3 -1
- package/src/assets/multiselect.scss +11 -0
- package/src/components/display/categories/CategoryChooser.vue +1 -1
- package/src/components/display/comments/AddCommentModal.vue +1 -3
- package/src/components/display/comments/CommentInput.vue +14 -30
- package/src/components/display/comments/CommentItem.vue +7 -14
- package/src/components/display/comments/CommentList.vue +7 -15
- package/src/components/display/comments/CommentPlayer.vue +1 -4
- package/src/components/display/comments/CommentSection.vue +1 -1
- package/src/components/display/edit/EditCommentBox.vue +3 -3
- package/src/components/display/emission/EmissionChooser.vue +5 -20
- package/src/components/display/emission/EmissionInlineList.vue +1 -6
- package/src/components/display/emission/EmissionItem.vue +3 -10
- package/src/components/display/emission/EmissionList.vue +6 -13
- package/src/components/display/emission/EmissionPlayerItem.vue +5 -13
- package/src/components/display/filter/AdvancedSearch.vue +6 -14
- package/src/components/display/filter/MonetizableFilter.vue +1 -1
- package/src/components/display/filter/RubriqueChoice.vue +1 -1
- package/src/components/display/filter/RubriqueFilter.vue +1 -3
- package/src/components/display/list/ListPaginate.vue +1 -6
- package/src/components/display/live/LiveItem.vue +6 -17
- package/src/components/display/live/LiveList.vue +12 -16
- package/src/components/display/organisation/OrganisationChooser.vue +3 -7
- package/src/components/display/organisation/OrganisationChooserLight.vue +1 -5
- package/src/components/display/participant/ParticipantItem.vue +4 -9
- package/src/components/display/participant/ParticipantList.vue +1 -3
- package/src/components/display/playlist/PlaylistItem.vue +6 -16
- package/src/components/display/playlist/PlaylistList.vue +2 -5
- package/src/components/display/playlist/PodcastList.vue +3 -7
- package/src/components/display/playlist/PodcastPlaylistInlineList.vue +2 -9
- package/src/components/display/podcasts/AnimatorsItem.vue +1 -1
- package/src/components/display/podcasts/ParticipantDescription.vue +1 -1
- package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
- package/src/components/display/podcasts/PodcastImage.vue +14 -22
- package/src/components/display/podcasts/PodcastInlineListClassic.vue +2 -8
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +2 -2
- package/src/components/display/podcasts/PodcastItem.vue +2 -5
- package/src/components/display/podcasts/PodcastItemInfo.vue +4 -9
- package/src/components/display/podcasts/PodcastList.vue +5 -13
- package/src/components/display/podcasts/PodcastModuleBox.vue +7 -22
- package/src/components/display/podcasts/PodcastPlayBar.vue +3 -4
- package/src/components/display/podcasts/PodcastSwiperList.vue +1 -3
- package/src/components/display/rubriques/RubriqueChooser.vue +5 -16
- package/src/components/display/rubriques/RubriqueList.vue +2 -2
- package/src/components/display/sharing/QrCode.vue +1 -1
- package/src/components/display/sharing/ShareButtonsIntern.vue +5 -5
- package/src/components/display/sharing/ShareDistribution.vue +30 -95
- package/src/components/display/sharing/SharePlayer.vue +6 -14
- package/src/components/display/sharing/SharePlayerTypes.vue +1 -1
- package/src/components/display/sharing/SubscribeButtons.vue +2 -4
- package/src/components/form/ClassicSearch.vue +4 -4
- package/src/components/form/ClassicSelect.vue +1 -1
- package/src/components/misc/Footer.vue +2 -2
- package/src/components/misc/HomeDropdown.vue +1 -1
- package/src/components/misc/LeftMenu.vue +3 -3
- package/src/components/misc/TopBar.vue +11 -15
- package/src/components/misc/modal/MessageModal.vue +1 -1
- package/src/components/misc/modal/NewsletterModal.vue +5 -7
- package/src/components/misc/modal/ShareModalPlayer.vue +4 -4
- package/src/components/misc/player/Player.vue +1 -1
- package/src/components/misc/player/PlayerCompact.vue +4 -4
- package/src/components/misc/player/PlayerLarge.vue +4 -4
- package/src/components/misc/player/PlayerTimeline.vue +1 -6
- package/src/components/pages/Emission.vue +14 -33
- package/src/components/pages/Emissions.vue +6 -15
- package/src/components/pages/Home.vue +1 -4
- package/src/components/pages/Lives.vue +3 -11
- package/src/components/pages/PageNotFound.vue +2 -2
- package/src/components/pages/Participant.vue +8 -23
- package/src/components/pages/Participants.vue +3 -6
- package/src/components/pages/Playlist.vue +10 -13
- package/src/components/pages/Playlists.vue +2 -3
- package/src/components/pages/Podcast.vue +15 -51
- package/src/components/pages/Podcasts.vue +7 -16
- package/src/components/pages/Search.vue +3 -6
- package/public/css/fonts/saooti-ui.eot +0 -0
- package/public/css/fonts/saooti-ui.svg +0 -843
- package/public/css/fonts/saooti-ui.ttf +0 -0
- package/public/css/fonts/saooti-ui.woff +0 -0
- package/public/css/fonts/stitcher-logo.svg +0 -83
|
@@ -82,7 +82,7 @@ export default defineComponent({
|
|
|
82
82
|
}
|
|
83
83
|
if (!state.generalParameters.authenticated) return;
|
|
84
84
|
let data;
|
|
85
|
-
if(this.$store.state.organisation
|
|
85
|
+
if(this.$store.state.organisation?.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
|
|
86
86
|
data = this.$store.state.organisation.attributes;
|
|
87
87
|
}else{
|
|
88
88
|
data= await octopusApi.fetchData<{[key:string]:string}>(0, 'organisation/attributes/'+state.generalParameters.organisationId);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
:title="$t('Downloading')"
|
|
7
7
|
@click="onDownload(podcast.audioUrl, podcast.title)"
|
|
8
8
|
>
|
|
9
|
-
<div class="saooti-download
|
|
9
|
+
<div class="saooti-download" />
|
|
10
10
|
</button>
|
|
11
11
|
<template
|
|
12
12
|
v-for="button in arrayShareButtons"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
:title="titleRssButton"
|
|
41
41
|
@click.prevent="openPopup()"
|
|
42
42
|
>
|
|
43
|
-
<div class="saooti-rss
|
|
43
|
+
<div class="saooti-rss" />
|
|
44
44
|
</a>
|
|
45
45
|
<button
|
|
46
46
|
:class="getClass()"
|
|
@@ -143,9 +143,9 @@ export default defineComponent({
|
|
|
143
143
|
},
|
|
144
144
|
arrayShareButtons(){
|
|
145
145
|
return [
|
|
146
|
-
{ title: 'Facebook', icon:'saooti-facebook
|
|
147
|
-
{ title: 'Twitter', icon:'saooti-twitter
|
|
148
|
-
{ title: 'Linkedin', icon:'saooti-
|
|
146
|
+
{ title: 'Facebook', icon:'saooti-facebook', nbPath:0, className:'btn-facebook', url :`https://www.facebook.com/sharer/sharer.php?u=${this.urlPage}`, condition: true},
|
|
147
|
+
{ title: 'Twitter', icon:'saooti-twitter', nbPath:0, className:'btn-twitter', url :`https://twitter.com/intent/tweet?text=${this.urlPage}`, condition: true},
|
|
148
|
+
{ title: 'Linkedin', icon:'saooti-linkedin', nbPath:0, className:'btn-linkedin', url :`https://www.linkedin.com/sharing/share-offsite/?url=${this.urlPage}`, condition: true},
|
|
149
149
|
{ title: 'Whatsapp', icon:'saooti-Whatsapp', nbPath:3, className:'btn-whatsapp', url :`whatsapp://send?text=${this.urlPage}`, condition: window.matchMedia('(hover: none)').matches}
|
|
150
150
|
]
|
|
151
151
|
},
|
|
@@ -17,103 +17,19 @@
|
|
|
17
17
|
:emission="emission"
|
|
18
18
|
/>
|
|
19
19
|
<div class="sharing-distribution-container">
|
|
20
|
-
<router-link
|
|
21
|
-
|
|
20
|
+
<router-link
|
|
21
|
+
v-for="platform in platformShare"
|
|
22
|
+
:key="platform.title"
|
|
23
|
+
:to="platform.url"
|
|
22
24
|
class="text-dark"
|
|
23
25
|
>
|
|
24
|
-
<span class="
|
|
25
|
-
<div
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
:to="'/main/priv/distribution/apple/' + emissionId"
|
|
32
|
-
class="text-dark"
|
|
33
|
-
>
|
|
34
|
-
<span class="saooti-apple" />Apple Podcast / iTunes
|
|
35
|
-
</router-link>
|
|
36
|
-
<router-link
|
|
37
|
-
:to="'/main/priv/distribution/deezer/' + emissionId"
|
|
38
|
-
class="text-dark"
|
|
39
|
-
>
|
|
40
|
-
<span class="saooti-deezer" />Deezer
|
|
41
|
-
</router-link>
|
|
42
|
-
<router-link
|
|
43
|
-
:to="'/main/priv/distribution/googlePodcasts/' + emissionId"
|
|
44
|
-
class="text-dark"
|
|
45
|
-
>
|
|
46
|
-
<span class="saooti-google-podcasts">
|
|
47
|
-
<div class="path1" />
|
|
48
|
-
<div class="path2" />
|
|
49
|
-
<div class="path3" />
|
|
50
|
-
<div class="path4" />
|
|
51
|
-
<div class="path5" />
|
|
52
|
-
<div class="path6" />
|
|
53
|
-
<div class="path7" />
|
|
54
|
-
</span> Google Podcasts
|
|
55
|
-
</router-link>
|
|
56
|
-
<router-link
|
|
57
|
-
:to="'/main/priv/distribution/PlayerFM/' + emissionId"
|
|
58
|
-
class="text-dark"
|
|
59
|
-
>
|
|
60
|
-
<span class="saooti-playerfm" />PlayerFM
|
|
61
|
-
</router-link>
|
|
62
|
-
<router-link
|
|
63
|
-
:to="'/main/priv/distribution/PocketCasts/' + emissionId"
|
|
64
|
-
class="text-dark"
|
|
65
|
-
>
|
|
66
|
-
<span class="saooti-pocket-casts" />Pocket Casts
|
|
67
|
-
</router-link>
|
|
68
|
-
<router-link
|
|
69
|
-
:to="'/main/priv/distribution/PodcastAddict/' + emissionId"
|
|
70
|
-
class="text-dark"
|
|
71
|
-
>
|
|
72
|
-
<span class="saooti-podcast-addict" />Podcast Addict
|
|
73
|
-
</router-link>
|
|
74
|
-
<router-link
|
|
75
|
-
:to="'/main/priv/distribution/radioline/' + emissionId"
|
|
76
|
-
class="text-dark"
|
|
77
|
-
>
|
|
78
|
-
<span class="saooti-radioline" />Radioline
|
|
79
|
-
</router-link>
|
|
80
|
-
<router-link
|
|
81
|
-
:to="'/main/priv/distribution/spotify/' + emissionId"
|
|
82
|
-
class="text-dark"
|
|
83
|
-
>
|
|
84
|
-
<span class="saooti-spotify" />Spotify
|
|
85
|
-
</router-link>
|
|
86
|
-
|
|
87
|
-
<router-link
|
|
88
|
-
:to="'/main/priv/distribution/Stitcher/' + emissionId"
|
|
89
|
-
class="text-dark"
|
|
90
|
-
>
|
|
91
|
-
<span class="saooti-stitcher-logo">
|
|
92
|
-
<div class="path1" />
|
|
93
|
-
<div class="path2" />
|
|
94
|
-
<div class="path3" />
|
|
95
|
-
<div class="path4" />
|
|
96
|
-
<div class="path5" />
|
|
97
|
-
<div class="path6" />
|
|
98
|
-
<div class="path7" />
|
|
99
|
-
<div class="path8" />
|
|
100
|
-
<div class="path9" />
|
|
101
|
-
<div class="path10" />
|
|
102
|
-
<div class="path11" />
|
|
103
|
-
<div class="path12" />
|
|
104
|
-
<div class="path13" />
|
|
105
|
-
<div class="path14" />
|
|
106
|
-
<div class="path15" />
|
|
107
|
-
<div class="path16" />
|
|
108
|
-
<div class="path17" />
|
|
109
|
-
<div class="path18" /> </span>Stitcher
|
|
110
|
-
</router-link>
|
|
111
|
-
|
|
112
|
-
<router-link
|
|
113
|
-
:to="'/main/priv/distribution/tuneIn/' + emissionId"
|
|
114
|
-
class="text-dark"
|
|
115
|
-
>
|
|
116
|
-
<span class="saooti-tunin" />TuneIn
|
|
26
|
+
<span :class="platform.icon">
|
|
27
|
+
<div
|
|
28
|
+
v-for="index in platform.path"
|
|
29
|
+
:key="index"
|
|
30
|
+
:class="'path'+index"
|
|
31
|
+
/>
|
|
32
|
+
</span>{{ platform.title }}
|
|
117
33
|
</router-link>
|
|
118
34
|
</div>
|
|
119
35
|
<Snackbar
|
|
@@ -149,6 +65,22 @@ export default defineComponent({
|
|
|
149
65
|
rss: '' as string,
|
|
150
66
|
};
|
|
151
67
|
},
|
|
68
|
+
computed:{
|
|
69
|
+
platformShare(){
|
|
70
|
+
return [
|
|
71
|
+
{url:this.getUrl('amazon'), icon:'saooti-amazon', title:'Amazon Music | Podcasters', path:3},
|
|
72
|
+
{url:this.getUrl('apple'), icon:'saooti-apple', title:'Apple Podcast / iTunes', path:0},
|
|
73
|
+
{url:this.getUrl('deezer'), icon:'saooti-deezer', title:'Deezer', path:0},
|
|
74
|
+
{url:this.getUrl('googlePodcasts'), icon:'saooti-google-podcasts', title:'Google Podcasts', path:7},
|
|
75
|
+
{url:this.getUrl('PlayerFM'), icon:'saooti-playerfm', title:'PlayerFM', path:0},
|
|
76
|
+
{url:this.getUrl('PocketCasts'), icon:'saooti-pocket-casts', title:'Pocket Casts', path:0},
|
|
77
|
+
{url:this.getUrl('PodcastAddict'), icon:'saooti-podcast-addict', title:'Podcast Addict', path:0},
|
|
78
|
+
{url:this.getUrl('radioline'), icon:'saooti-radioline', title:'Radioline', path:0},
|
|
79
|
+
{url:this.getUrl('spotify'), icon:'saooti-spotify', title:'Spotify', path:0},
|
|
80
|
+
{url:this.getUrl('Stitcher'), icon:'saooti-stitcher-logo', title:'Stitcher', path:18},
|
|
81
|
+
{url:this.getUrl('tuneIn'), icon:'saooti-tunin', title:'TuneIn', path:0}];
|
|
82
|
+
}
|
|
83
|
+
},
|
|
152
84
|
|
|
153
85
|
mounted() {
|
|
154
86
|
this.getEmissionDetails();
|
|
@@ -156,6 +88,9 @@ export default defineComponent({
|
|
|
156
88
|
},
|
|
157
89
|
|
|
158
90
|
methods: {
|
|
91
|
+
getUrl(platform: string): string{
|
|
92
|
+
return `/main/priv/distribution/${platform}/${this.emissionId}`;
|
|
93
|
+
},
|
|
159
94
|
async getEmissionDetails(): Promise<void> {
|
|
160
95
|
this.emission = await octopusApi.fetchData<Emission>(0,'emission/'+this.emissionId);
|
|
161
96
|
},
|
|
@@ -140,8 +140,7 @@ export default defineComponent({
|
|
|
140
140
|
return 'largeSuggestion' === this.iFrameModel;
|
|
141
141
|
},
|
|
142
142
|
titleStillAvailable(): string {
|
|
143
|
-
|
|
144
|
-
return this.$t('Podcasts still available').toString();
|
|
143
|
+
return this.isPodcastNotVisible ?this.$t('Podcast still available') : this.$t('Podcasts still available');
|
|
145
144
|
},
|
|
146
145
|
isLiveReadyToRecord(): boolean {
|
|
147
146
|
if (this.podcast)
|
|
@@ -153,17 +152,10 @@ export default defineComponent({
|
|
|
153
152
|
return false;
|
|
154
153
|
},
|
|
155
154
|
noAd(): boolean {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
'NO' === this.podcast.monetisable)
|
|
160
|
-
(this.podcast &&
|
|
161
|
-
'UNDEFINED' === this.podcast.monetisable &&
|
|
162
|
-
'NO' === this.podcast.emission.monetisable)
|
|
163
|
-
) {
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
return false;
|
|
155
|
+
return (this.podcast?.organisation.id !== this.organisationId &&
|
|
156
|
+
'NO' === this.podcast?.monetisable) ||
|
|
157
|
+
('UNDEFINED' === this.podcast?.monetisable &&
|
|
158
|
+
'NO' === this.podcast?.emission.monetisable);
|
|
167
159
|
},
|
|
168
160
|
iFrameSrc(): string {
|
|
169
161
|
const url = [''];
|
|
@@ -268,7 +260,7 @@ export default defineComponent({
|
|
|
268
260
|
async initColor(): Promise<void> {
|
|
269
261
|
if (!this.authenticated) return;
|
|
270
262
|
let data;
|
|
271
|
-
if(this.$store.state.organisation
|
|
263
|
+
if(this.$store.state.organisation?.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
|
|
272
264
|
data = this.$store.state.organisation.attributes;
|
|
273
265
|
}else{
|
|
274
266
|
data= await octopusApi.fetchData<{[key:string]:string}>(0, 'organisation/attributes/'+this.myOrganisationId);
|
|
@@ -68,7 +68,7 @@ export default defineComponent({
|
|
|
68
68
|
},
|
|
69
69
|
customPlayersDisplay(): Array<CustomPlayer>{
|
|
70
70
|
return this.customPlayers.filter((player: CustomPlayer)=>{
|
|
71
|
-
return (('EPISODE' === player.typePlayer ||'SUGGESTION' === player.typePlayer) &&
|
|
71
|
+
return (('EPISODE' === player.typePlayer ||'SUGGESTION' === player.typePlayer) &&this.podcast?.podcastId) ||
|
|
72
72
|
('EMISSION' === player.typePlayer && this.emission && !this.podcast)|| ('PLAYLIST' === player.typePlayer && this.playlist );
|
|
73
73
|
});
|
|
74
74
|
},
|
|
@@ -67,14 +67,12 @@ export default defineComponent({
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
getUrl(sub: string): string | undefined{
|
|
70
|
-
return this.externaliseLinks(this.emission
|
|
70
|
+
return this.externaliseLinks(this.emission?.annotations?.[sub] as string|undefined);
|
|
71
71
|
},
|
|
72
72
|
externaliseLinks(link?: string): string|undefined {
|
|
73
73
|
if (!link) return link;
|
|
74
74
|
link = link.trim();
|
|
75
|
-
|
|
76
|
-
return '//' + link;
|
|
77
|
-
return link;
|
|
75
|
+
return !link.startsWith('http') && !link.startsWith('//') ? '//' + link:link;
|
|
78
76
|
},
|
|
79
77
|
},
|
|
80
78
|
})
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
/>
|
|
16
16
|
<div
|
|
17
17
|
v-if="!textValue"
|
|
18
|
-
class="saooti-search
|
|
18
|
+
class="saooti-search search-icon-container"
|
|
19
19
|
/>
|
|
20
20
|
<div
|
|
21
21
|
v-else
|
|
22
|
-
class="saooti-
|
|
22
|
+
class="saooti-remove search-icon-container c-hand"
|
|
23
23
|
@click="textValue = ''"
|
|
24
24
|
/>
|
|
25
25
|
</div>
|
|
@@ -68,8 +68,8 @@ export default defineComponent({
|
|
|
68
68
|
border-radius: 10px;
|
|
69
69
|
margin: 0 !important;
|
|
70
70
|
}
|
|
71
|
-
.saooti-search
|
|
72
|
-
.saooti-
|
|
71
|
+
.saooti-search,
|
|
72
|
+
.saooti-remove {
|
|
73
73
|
font-size: 1rem;
|
|
74
74
|
}
|
|
75
75
|
.search-icon-container {
|
|
@@ -136,7 +136,7 @@ export default defineComponent({
|
|
|
136
136
|
return state.footer.contactLink;
|
|
137
137
|
},
|
|
138
138
|
rubriqueQueryParam(): string|undefined{
|
|
139
|
-
if(this.$store.state.filter
|
|
139
|
+
if(this.$store.state.filter?.rubriqueFilter?.length){
|
|
140
140
|
return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
|
|
141
141
|
}
|
|
142
142
|
return undefined;
|
|
@@ -153,7 +153,7 @@ export default defineComponent({
|
|
|
153
153
|
return { productor: this.$store.state.filter.organisationId};
|
|
154
154
|
}
|
|
155
155
|
return { productor: this.$store.state.filter.organisationId,
|
|
156
|
-
iabId: this.$store.state.filter.iab
|
|
156
|
+
iabId: this.$store.state.filter.iab?.id,
|
|
157
157
|
rubriquesId: this.rubriqueQueryParam}
|
|
158
158
|
},
|
|
159
159
|
showBlackBorder(hide: boolean): void {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
class="dropdown btn-group"
|
|
14
14
|
>
|
|
15
15
|
<button
|
|
16
|
-
class="btn dropdown-toggle m-1 admin-button dropdown-toggle-no-caret saooti-user
|
|
16
|
+
class="btn dropdown-toggle m-1 admin-button dropdown-toggle-no-caret saooti-user"
|
|
17
17
|
data-bs-toggle="dropdown"
|
|
18
18
|
aria-expanded="false"
|
|
19
19
|
:title="$t('User menu')"
|
|
@@ -97,7 +97,7 @@ export default defineComponent({
|
|
|
97
97
|
return this.$store.state.filter.live;
|
|
98
98
|
},
|
|
99
99
|
rubriqueQueryParam(): string|undefined{
|
|
100
|
-
if(this.$store.state.filter
|
|
100
|
+
if(this.$store.state.filter?.rubriqueFilter?.length){
|
|
101
101
|
return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
|
|
102
102
|
}
|
|
103
103
|
return undefined;
|
|
@@ -122,14 +122,14 @@ export default defineComponent({
|
|
|
122
122
|
return { productor: this.$store.state.filter.organisationId};
|
|
123
123
|
}
|
|
124
124
|
return { productor: this.$store.state.filter.organisationId,
|
|
125
|
-
iabId: this.$store.state.filter.iab
|
|
125
|
+
iabId: this.$store.state.filter.iab?.id,
|
|
126
126
|
rubriquesId: this.rubriqueQueryParam}
|
|
127
127
|
},
|
|
128
128
|
onMenuClick() {
|
|
129
129
|
this.$emit('update:displayMenu', false);
|
|
130
130
|
},
|
|
131
131
|
async onOrganisationSelected(organisation: Organisation|undefined) {
|
|
132
|
-
if (organisation
|
|
132
|
+
if (organisation?.id) {
|
|
133
133
|
await this.selectOrganisation(organisation.id);
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:to="{
|
|
9
9
|
name: 'home',
|
|
10
10
|
query: { productor: $store.state.filter.organisationId,
|
|
11
|
-
iabId: $store.state.filter.iab
|
|
11
|
+
iabId: $store.state.filter.iab?.id ,
|
|
12
12
|
rubriquesId: rubriqueQueryParam},
|
|
13
13
|
}"
|
|
14
14
|
@click="onDisplayMenu(true)"
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
</template>
|
|
48
48
|
</div>
|
|
49
49
|
<button
|
|
50
|
-
class="btn-transparent saooti-
|
|
50
|
+
class="btn-transparent saooti-menu"
|
|
51
51
|
:title="$t('open left Menu')"
|
|
52
52
|
@click="onDisplayMenu(false)"
|
|
53
53
|
/>
|
|
@@ -111,14 +111,13 @@ export default defineComponent({
|
|
|
111
111
|
{title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && (!this.filterOrga || this.isEducation)}]
|
|
112
112
|
},
|
|
113
113
|
rubriqueQueryParam(): string|undefined{
|
|
114
|
-
if(this.$store.state.filter
|
|
114
|
+
if(this.$store.state.filter?.rubriqueFilter?.length){
|
|
115
115
|
return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
|
|
116
116
|
}
|
|
117
117
|
return undefined;
|
|
118
118
|
},
|
|
119
119
|
logoUrl(): string {
|
|
120
|
-
|
|
121
|
-
return '/img/logo_octopus_final.svg';
|
|
120
|
+
return this.isEducation ?'/img/logo_education.png': '/img/logo_octopus_final.svg';
|
|
122
121
|
},
|
|
123
122
|
isPodcastmaker(): boolean {
|
|
124
123
|
return (state.generalParameters.podcastmaker as boolean);
|
|
@@ -130,11 +129,8 @@ export default defineComponent({
|
|
|
130
129
|
return this.$store.state.filter.live;
|
|
131
130
|
},
|
|
132
131
|
imgUrl(): string {
|
|
133
|
-
if (
|
|
134
|
-
this.$store.state.filter.imgUrl
|
|
135
|
-
!this.$store.state.filter.imgUrl.includes('emptypodcast')
|
|
136
|
-
)
|
|
137
|
-
return this.$store.state.filter.imgUrl + '?dummy=' + this.dummyParam;
|
|
132
|
+
if (!this.$store.state.filter.imgUrl?.includes('emptypodcast'))
|
|
133
|
+
return `${this.$store.state.filter.imgUrl}?dummy=${this.dummyParam}`;
|
|
138
134
|
return '';
|
|
139
135
|
},
|
|
140
136
|
},
|
|
@@ -162,7 +158,7 @@ export default defineComponent({
|
|
|
162
158
|
return { productor: this.$store.state.filter.organisationId};
|
|
163
159
|
}
|
|
164
160
|
return { productor: this.$store.state.filter.organisationId,
|
|
165
|
-
iabId: this.$store.state.filter.iab
|
|
161
|
+
iabId: this.$store.state.filter.iab?.id,
|
|
166
162
|
rubriquesId: this.rubriqueQueryParam}
|
|
167
163
|
},
|
|
168
164
|
handleScroll(): void {
|
|
@@ -193,7 +189,7 @@ export default defineComponent({
|
|
|
193
189
|
this.$emit('update:displayMenu',param?false:!this.displayMenu);
|
|
194
190
|
},
|
|
195
191
|
async onOrganisationSelected(organisation: Organisation | undefined): Promise<void> {
|
|
196
|
-
if (organisation
|
|
192
|
+
if (organisation?.id) {
|
|
197
193
|
await this.selectOrganisation(organisation.id);
|
|
198
194
|
return;
|
|
199
195
|
}
|
|
@@ -222,7 +218,7 @@ export default defineComponent({
|
|
|
222
218
|
padding: 0 0.5rem;
|
|
223
219
|
}
|
|
224
220
|
|
|
225
|
-
.saooti-
|
|
221
|
+
.saooti-menu {
|
|
226
222
|
display: none;
|
|
227
223
|
cursor: pointer;
|
|
228
224
|
font-size: 2rem;
|
|
@@ -255,7 +251,7 @@ export default defineComponent({
|
|
|
255
251
|
.link-hover,.hosted-by {
|
|
256
252
|
display: none;
|
|
257
253
|
}
|
|
258
|
-
.saooti-
|
|
254
|
+
.saooti-menu {
|
|
259
255
|
display: block;
|
|
260
256
|
}
|
|
261
257
|
}
|
|
@@ -265,7 +261,7 @@ export default defineComponent({
|
|
|
265
261
|
.default-multiselect-width, .hosted-by, .link-hover {
|
|
266
262
|
display: none;
|
|
267
263
|
}
|
|
268
|
-
.saooti-
|
|
264
|
+
.saooti-menu {
|
|
269
265
|
display: block;
|
|
270
266
|
}
|
|
271
267
|
}
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
<h4 class="mb-3">
|
|
22
22
|
{{ $t('Configuration') }}
|
|
23
23
|
</h4>
|
|
24
|
-
<label for="share-url-newsletter">{{$t('Share')}}</label>
|
|
24
|
+
<label for="share-url-newsletter">{{ $t('Share') }}</label>
|
|
25
25
|
<input
|
|
26
|
-
v-model="shareUrl"
|
|
27
26
|
id="share-url-newsletter"
|
|
27
|
+
v-model="shareUrl"
|
|
28
28
|
class="form-input mb-2"
|
|
29
29
|
type="text"
|
|
30
30
|
:class="{ 'border border-danger': 0 === shareUrl }"
|
|
@@ -170,7 +170,7 @@ export default defineComponent({
|
|
|
170
170
|
);
|
|
171
171
|
},
|
|
172
172
|
articleHtml(): string{
|
|
173
|
-
if (!this.podcast
|
|
173
|
+
if (!this.podcast?.article ||0 === this.podcast.article?.length){return ''}
|
|
174
174
|
return (`<a href="${this.podcast.article}" title="${this.$t('See associated article')}">
|
|
175
175
|
<img width="44" height="44" style="display: inline-block;vertical-align: middle; margin-right:3px" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAA6UlEQVRIie3WPUpEMRTF8R9+4QpEBGttrcdeV+E2pp3KdYi7GBRttNVCZgOCjSuQ+UCLJzLIe7l3HpFpPJAuOf+T5F4SYh3jFZ/JMVlevJUwv8c+HvEQzD/FIBEaHOFtKdkosWb0PfdHGwXzOxxk03SpDVDNvA1Q1bwNcFMwn/cB/K6iQ+3VMsVVDQDcylVMSl1VBOea5FFjTXHWZVJqtCdcYjcI+YHnPoB3FY6qdERVVNrBHi6wGXgscK3Z8UqAE80dbAeAGV4wXhUwxk5gHurP72CtgP9Gw5oabYBhT7/wwZ/If09S35Yv52lVAXwyqt0AAAAASUVORK5CYII=">
|
|
176
176
|
</a>
|
|
@@ -289,9 +289,7 @@ export default defineComponent({
|
|
|
289
289
|
this.$emit('close');
|
|
290
290
|
},
|
|
291
291
|
getName(person: Participant): string {
|
|
292
|
-
|
|
293
|
-
const last = person.lastName || '';
|
|
294
|
-
return (first + ' ' + last).trim();
|
|
292
|
+
return (`${person.firstName??''} ${person.lastName??''}`).trim();
|
|
295
293
|
},
|
|
296
294
|
selectAll(element: Event): void {
|
|
297
295
|
const target = element.target;
|
|
@@ -305,7 +303,7 @@ export default defineComponent({
|
|
|
305
303
|
},
|
|
306
304
|
async initData(): Promise<void> {
|
|
307
305
|
let attributes;
|
|
308
|
-
if(this.$store.state.organisation
|
|
306
|
+
if(this.$store.state.organisation?.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
|
|
309
307
|
attributes = this.$store.state.organisation.attributes;
|
|
310
308
|
}else{
|
|
311
309
|
attributes = await octopusApi.fetchData<{[key:string]:string}>(0, 'organisation/attributes/'+state.generalParameters.organisationId);
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
>
|
|
43
43
|
<p>{{ embedLink }}</p>
|
|
44
44
|
<div
|
|
45
|
-
class="saooti-copy
|
|
45
|
+
class="saooti-copy"
|
|
46
46
|
@click="onCopyCode(embedLink, afterCopy)"
|
|
47
47
|
/>
|
|
48
48
|
</div>
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
<div class="d-flex">
|
|
55
55
|
<p>{{ embedlyLink }}</p>
|
|
56
56
|
<div
|
|
57
|
-
class="saooti-copy
|
|
57
|
+
class="saooti-copy"
|
|
58
58
|
@click="onCopyCode(embedlyLink, afterCopy)"
|
|
59
59
|
/>
|
|
60
60
|
</div>
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
>
|
|
69
69
|
<p>{{ directLink.audioUrl }}</p>
|
|
70
70
|
<div
|
|
71
|
-
class="saooti-copy
|
|
71
|
+
class="saooti-copy"
|
|
72
72
|
@click="onCopyCode(directLink.audioUrl, snackbarRef)"
|
|
73
73
|
/>
|
|
74
74
|
</div>
|
|
@@ -178,7 +178,7 @@ export default defineComponent({
|
|
|
178
178
|
display: flex;
|
|
179
179
|
justify-content: space-between;
|
|
180
180
|
}
|
|
181
|
-
.saooti-copy
|
|
181
|
+
.saooti-copy {
|
|
182
182
|
cursor: pointer;
|
|
183
183
|
align-self: center;
|
|
184
184
|
}
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
v-if="!playerError"
|
|
17
17
|
:title="$t('Play')"
|
|
18
18
|
:class="{
|
|
19
|
-
'saooti-
|
|
20
|
-
'saooti-pause
|
|
19
|
+
'saooti-play': isPaused,
|
|
20
|
+
'saooti-pause': isPlaying,
|
|
21
21
|
'spinner-border':!isPaused&&!isPlaying
|
|
22
22
|
}"
|
|
23
23
|
class="btn play-button-box text-light primary-bg"
|
|
@@ -55,12 +55,12 @@
|
|
|
55
55
|
</div>
|
|
56
56
|
<button
|
|
57
57
|
:title="$t('Enlarge')"
|
|
58
|
-
class="btn play-button-box primary-bg text-light saooti-up
|
|
58
|
+
class="btn play-button-box primary-bg text-light saooti-up"
|
|
59
59
|
@click="changePlayerLargeVersion"
|
|
60
60
|
/>
|
|
61
61
|
<button
|
|
62
62
|
:title="$t('Close')"
|
|
63
|
-
class="btn play-button-box primary-bg text-light saooti-
|
|
63
|
+
class="btn play-button-box primary-bg text-light saooti-remove"
|
|
64
64
|
@click="stopPlayer"
|
|
65
65
|
/>
|
|
66
66
|
<PlayerTimeline
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
>
|
|
5
5
|
<button
|
|
6
6
|
:title="$t('Reduce')"
|
|
7
|
-
class="player-reduce-button btn bg-transparent text-light saooti-down
|
|
7
|
+
class="player-reduce-button btn bg-transparent text-light saooti-down"
|
|
8
8
|
@click="changePlayerLargeVersion"
|
|
9
9
|
/>
|
|
10
10
|
<router-link
|
|
@@ -55,15 +55,15 @@
|
|
|
55
55
|
v-if="!playerError"
|
|
56
56
|
:title="$t('Play')"
|
|
57
57
|
:class="{
|
|
58
|
-
'saooti-
|
|
59
|
-
'saooti-pause
|
|
58
|
+
'saooti-play': isPaused,
|
|
59
|
+
'saooti-pause': isPlaying,
|
|
60
60
|
'spinner-border':!isPaused&&!isPlaying
|
|
61
61
|
}"
|
|
62
62
|
class="btn play-big-button-box text-light primary-bg"
|
|
63
63
|
@click="switchPausePlay"
|
|
64
64
|
/>
|
|
65
65
|
<button
|
|
66
|
-
class="btn fs-1 bg-transparent text-light saooti-
|
|
66
|
+
class="btn fs-1 bg-transparent text-light saooti-forward"
|
|
67
67
|
@click="seekClick(15)"
|
|
68
68
|
/>
|
|
69
69
|
</div>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
@click="$emit('update:showTimeline', !showTimeline)"
|
|
6
6
|
>
|
|
7
7
|
<div
|
|
8
|
-
class="saooti-
|
|
8
|
+
class="saooti-down"
|
|
9
9
|
:class="showTimeline ? '' : 'arrow-transform'"
|
|
10
10
|
/>
|
|
11
11
|
<div>Timeline</div>
|
|
@@ -25,11 +25,6 @@ export default defineComponent({
|
|
|
25
25
|
},
|
|
26
26
|
emits:['update:showTimeline'],
|
|
27
27
|
|
|
28
|
-
data() {
|
|
29
|
-
return {
|
|
30
|
-
};
|
|
31
|
-
},
|
|
32
|
-
|
|
33
28
|
computed: {
|
|
34
29
|
isPodcastmaker(): boolean {
|
|
35
30
|
return (state.generalParameters.podcastmaker as boolean);
|