@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.
Files changed (89) hide show
  1. package/README.md +6 -1
  2. package/package.json +2 -2
  3. package/public/css/fonts/icomoon.eot +0 -0
  4. package/public/css/fonts/icomoon.svg +130 -0
  5. package/public/css/fonts/icomoon.ttf +0 -0
  6. package/public/css/fonts/icomoon.woff +0 -0
  7. package/public/css/fonts/style.css +185 -1275
  8. package/src/App.vue +1 -1
  9. package/src/assets/bootstrap-diff.scss +1 -0
  10. package/src/assets/form.scss +3 -1
  11. package/src/assets/multiselect.scss +11 -0
  12. package/src/components/display/categories/CategoryChooser.vue +1 -1
  13. package/src/components/display/comments/AddCommentModal.vue +1 -3
  14. package/src/components/display/comments/CommentInput.vue +14 -30
  15. package/src/components/display/comments/CommentItem.vue +7 -14
  16. package/src/components/display/comments/CommentList.vue +7 -15
  17. package/src/components/display/comments/CommentPlayer.vue +1 -4
  18. package/src/components/display/comments/CommentSection.vue +1 -1
  19. package/src/components/display/edit/EditCommentBox.vue +3 -3
  20. package/src/components/display/emission/EmissionChooser.vue +5 -20
  21. package/src/components/display/emission/EmissionInlineList.vue +1 -6
  22. package/src/components/display/emission/EmissionItem.vue +3 -10
  23. package/src/components/display/emission/EmissionList.vue +6 -13
  24. package/src/components/display/emission/EmissionPlayerItem.vue +5 -13
  25. package/src/components/display/filter/AdvancedSearch.vue +6 -14
  26. package/src/components/display/filter/MonetizableFilter.vue +1 -1
  27. package/src/components/display/filter/RubriqueChoice.vue +1 -1
  28. package/src/components/display/filter/RubriqueFilter.vue +1 -3
  29. package/src/components/display/list/ListPaginate.vue +1 -6
  30. package/src/components/display/live/LiveItem.vue +6 -17
  31. package/src/components/display/live/LiveList.vue +12 -16
  32. package/src/components/display/organisation/OrganisationChooser.vue +3 -7
  33. package/src/components/display/organisation/OrganisationChooserLight.vue +1 -5
  34. package/src/components/display/participant/ParticipantItem.vue +4 -9
  35. package/src/components/display/participant/ParticipantList.vue +1 -3
  36. package/src/components/display/playlist/PlaylistItem.vue +6 -16
  37. package/src/components/display/playlist/PlaylistList.vue +2 -5
  38. package/src/components/display/playlist/PodcastList.vue +3 -7
  39. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +2 -9
  40. package/src/components/display/podcasts/AnimatorsItem.vue +1 -1
  41. package/src/components/display/podcasts/ParticipantDescription.vue +1 -1
  42. package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
  43. package/src/components/display/podcasts/PodcastImage.vue +14 -22
  44. package/src/components/display/podcasts/PodcastInlineListClassic.vue +2 -8
  45. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +2 -2
  46. package/src/components/display/podcasts/PodcastItem.vue +2 -5
  47. package/src/components/display/podcasts/PodcastItemInfo.vue +4 -9
  48. package/src/components/display/podcasts/PodcastList.vue +5 -13
  49. package/src/components/display/podcasts/PodcastModuleBox.vue +7 -22
  50. package/src/components/display/podcasts/PodcastPlayBar.vue +3 -4
  51. package/src/components/display/podcasts/PodcastSwiperList.vue +1 -3
  52. package/src/components/display/rubriques/RubriqueChooser.vue +5 -16
  53. package/src/components/display/rubriques/RubriqueList.vue +2 -2
  54. package/src/components/display/sharing/QrCode.vue +1 -1
  55. package/src/components/display/sharing/ShareButtonsIntern.vue +5 -5
  56. package/src/components/display/sharing/ShareDistribution.vue +30 -95
  57. package/src/components/display/sharing/SharePlayer.vue +6 -14
  58. package/src/components/display/sharing/SharePlayerTypes.vue +1 -1
  59. package/src/components/display/sharing/SubscribeButtons.vue +2 -4
  60. package/src/components/form/ClassicSearch.vue +4 -4
  61. package/src/components/form/ClassicSelect.vue +1 -1
  62. package/src/components/misc/Footer.vue +2 -2
  63. package/src/components/misc/HomeDropdown.vue +1 -1
  64. package/src/components/misc/LeftMenu.vue +3 -3
  65. package/src/components/misc/TopBar.vue +11 -15
  66. package/src/components/misc/modal/MessageModal.vue +1 -1
  67. package/src/components/misc/modal/NewsletterModal.vue +5 -7
  68. package/src/components/misc/modal/ShareModalPlayer.vue +4 -4
  69. package/src/components/misc/player/Player.vue +1 -1
  70. package/src/components/misc/player/PlayerCompact.vue +4 -4
  71. package/src/components/misc/player/PlayerLarge.vue +4 -4
  72. package/src/components/misc/player/PlayerTimeline.vue +1 -6
  73. package/src/components/pages/Emission.vue +14 -33
  74. package/src/components/pages/Emissions.vue +6 -15
  75. package/src/components/pages/Home.vue +1 -4
  76. package/src/components/pages/Lives.vue +3 -11
  77. package/src/components/pages/PageNotFound.vue +2 -2
  78. package/src/components/pages/Participant.vue +8 -23
  79. package/src/components/pages/Participants.vue +3 -6
  80. package/src/components/pages/Playlist.vue +10 -13
  81. package/src/components/pages/Playlists.vue +2 -3
  82. package/src/components/pages/Podcast.vue +15 -51
  83. package/src/components/pages/Podcasts.vue +7 -16
  84. package/src/components/pages/Search.vue +3 -6
  85. package/public/css/fonts/saooti-ui.eot +0 -0
  86. package/public/css/fonts/saooti-ui.svg +0 -843
  87. package/public/css/fonts/saooti-ui.ttf +0 -0
  88. package/public/css/fonts/saooti-ui.woff +0 -0
  89. 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 && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
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-bounty" />
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-bounty" />
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-bounty', nbPath:0, className:'btn-facebook', url :`https://www.facebook.com/sharer/sharer.php?u=${this.urlPage}`, condition: true},
147
- { title: 'Twitter', icon:'saooti-twitter-bounty', nbPath:0, className:'btn-twitter', url :`https://twitter.com/intent/tweet?text=${this.urlPage}`, condition: true},
148
- { title: 'Linkedin', icon:'saooti-linkedin1', nbPath:0, className:'btn-linkedin', url :`https://www.linkedin.com/sharing/share-offsite/?url=${this.urlPage}`, condition: true},
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
- :to="'/main/priv/distribution/amazon/' + emissionId"
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="saooti-amazon">
25
- <div class="path1" />
26
- <div class="path2" />
27
- <div class="path3" />
28
- </span> Amazon Music | Podcasters
29
- </router-link>
30
- <router-link
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
- if (this.isPodcastNotVisible) return this.$t('Podcast still available').toString();
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
- if (
157
- (this.podcast &&
158
- this.podcast.organisation.id !== this.organisationId &&
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 && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
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) && this.podcast && this.podcast.podcastId) ||
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 && this.emission.annotations? (this.emission.annotations[sub] as string): undefined);
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
- if (!link.startsWith('http') && !link.startsWith('//'))
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-bounty search-icon-container"
18
+ class="saooti-search search-icon-container"
19
19
  />
20
20
  <div
21
21
  v-else
22
- class="saooti-cross search-icon-container c-hand"
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-bounty,
72
- .saooti-cross {
71
+ .saooti-search,
72
+ .saooti-remove {
73
73
  font-size: 1rem;
74
74
  }
75
75
  .search-icon-container {
@@ -50,7 +50,7 @@ export default defineComponent({
50
50
  handler() {
51
51
  if(this.textInit !== this.textValue){
52
52
  this.textValue =this.textInit;
53
- }
53
+ }
54
54
  },
55
55
  },
56
56
  }
@@ -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 && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
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 ? this.$store.state.filter.iab.id : undefined,
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-octopus"
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 && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
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 ? this.$store.state.filter.iab.id : undefined,
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 && organisation.id) {
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 ? $store.state.filter.iab.id : undefined,
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-burger-menu"
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 && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
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
- if (this.isEducation) return '/img/logo_education.png';
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 ? this.$store.state.filter.iab.id : undefined,
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 && organisation.id) {
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-burger-menu {
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-burger-menu {
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-burger-menu {
264
+ .saooti-menu {
269
265
  display: block;
270
266
  }
271
267
  }
@@ -47,8 +47,8 @@
47
47
  {{ thirdText }}
48
48
  </button>
49
49
  <button
50
- class="btn btn-primary m-1"
51
50
  :ref="!closable && !canceltext?'focusElement':''"
51
+ class="btn btn-primary m-1"
52
52
  @click="onValid"
53
53
  >
54
54
  {{ validatetext }}
@@ -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 || this.podcast.article ||0 !== this.podcast.article?.length){return ''}
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
- const first = person.firstName || '';
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 && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
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-octopus"
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-octopus"
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-octopus"
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-octopus {
181
+ .saooti-copy {
182
182
  cursor: pointer;
183
183
  align-self: center;
184
184
  }
@@ -100,7 +100,7 @@ export default defineComponent({
100
100
 
101
101
  watch: {
102
102
  playerHeight(): void {
103
- this.$emit('hide', 0 === this.playerHeight ? true : false);
103
+ this.$emit('hide', 0 === this.playerHeight);
104
104
  },
105
105
  },
106
106
 
@@ -16,8 +16,8 @@
16
16
  v-if="!playerError"
17
17
  :title="$t('Play')"
18
18
  :class="{
19
- 'saooti-play2-bounty': isPaused,
20
- 'saooti-pause-bounty': isPlaying,
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-bounty"
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-cross"
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-bounty"
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-play2-bounty': isPaused,
59
- 'saooti-pause-bounty': isPlaying,
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-forward2"
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-arrow_down"
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);